Nghiên cứu và ứng dụng thuật toán mật mã bảo vệ thiết kế FPGA

44 43 0
Nghiên cứu và ứng dụng thuật toán mật mã bảo vệ thiết kế FPGA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƢ N N LÊ ÌN N ÙN NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN MẬT MÃ BẢO V THIẾT KẾ FPGA LUẬN V N T S N N N NT – 2017 -V NT N TRƢ N N LÊ ÌN N ÙN NGHIÊN CỨU VÀ ỨNG DỤNG THUẬT TOÁN MẬT MÃ BẢO V THIẾT KẾ FPGA g nh ng nghệ iện tử - Viễn thông Chuyên ng nh ỹ thuật điện tử Mã số: 60520203 LUẬN V N T NGƢ Ƣ N S N N N O NT -V NT PGS.TS TRẦN XUÂN TÚ N – 2017 N L M O N T i xin cam đoan Bản luận văn tốt nghiệp cơng trình nghiên cứu thực cá nhân tôi, thực dựa sở nghiên cứu lý thuyết, thực tế đạt giới, hướng dẫn PGS.TS Trần Xuân Tú, thầ cô môn, khoa, bạn thực nghiệm thân Tôi không chép tài liệu hay cơng trình nghiên cứu người khác để làm luận văn n Hà nội, Ngày … tháng … năm 2017 Người cam đoan Lê Đình Hùng L ẢM ƠN Tơi xin chân th nh cảm ơn PGS.TS Trần Xuân Tú tận tình giúp đỡ, ảo hướng dẫn tơi suốt thời gian thực luận văn tốt nghiệp.T i c ng xin gửi lời cảm ơn đến thầ , c giáo bạn bè lớp K21 Kỹ thuật điện tử, Khoa iện Tử – Viễn Thông, Trường ại Học Công Nghệ, ại Học uốc ia Nội c nh ng nhận xét, góp ý cho luận văn uối c ng t i xin gửi lời cảm ơn đến gia đình t i, quan t i c ng tác, nh ng người tạo u kiện cho học tập, nghiên cứu ho n th nh luận văn n Tôi xin chân th nh cảm ơn! MỤC LỤC MỤC LỤC BẢNG VIẾT TẮT DANH SÁCH BẢNG .7 DANH SÁCH HÌNH TÓM TẮT LUẬN V N MỞ ẦU .10 ƢƠN M T SỐ P ƢƠN P ÁP TẤN CÔNG VÀ BẢO V THIẾT KẾ FPGA 12 Một số phƣơng pháp công 12 1.1 1.1.1 Nhân bản, dán nhãn sai sản xuất vượt số lượng 12 1.1.2 Kỹ thuật đảo ngược 13 1.1.3 Kỹ thuật c ng đọc lại 14 Một số phƣơng pháp ả 1.2 .15 1.2.1 Mã hóa bitstream 16 1.2.2 Xác thực itstream 19 d ng 1.2.3 t 1.3 xác thực .20 ận hƣơng 21 ƢƠN 2.1 Lự 2.2 Thi t 2.3 Thi t 2.4 Thi t ẢI PHÁP BẢO V THIẾT KẾ FPGA BẰNG IC XÁC THỰC 22 h n th nh phần 22 giải pháp 23 ần bảo v ộ -bit .25 i thự 25 2.4.1 Bộ tạo số ngẫu nhiên .25 Thuật toán 26 ấu trúc ản tin sử d ng để xác thực 27 2.4.4 Giao thức 1-wire 28 ưu đ thuật toán chương trình ch nh 29 2.5 t ả .29 2.6 t ận 30 ƢƠN ẢI PHÁP MÃ HÓA THIẾT KẾ FPGA 31 3.1 Giải pháp thực hi n 31 3.2 Thuật toán GOST 28147-89 .31 3.2.1 Ký hiệu .31 3.2.2 Phép biến đổi Sbox 33 3.2.3 Các biến đổi .33 3.2.4 Thuật tốn lược đ khóa 34 3.2.5 Thuật toán mã h a ản 34 3.3 Xây dựng phần mềm mã hóa 35 3.4 Thi t k giải mã 36 3.5 Thi t k lõi mật mã GOST 28147-89 37 3.6 Mô thử nghi m 38 3.7 K t luận 40 KẾT LUẬN 41 TÀI LI U THAM KHẢO 42 BẢNG VIẾT TẮT hi ngh Ti ng Anh ngh Ti ng Vi t AE Authenticated Encryption Mã hóa chứng thực AES Advanced Encryption Standard Chuẩn mã hóa tiên tiến ASIC Application Specific Integrated Circuit Mạch tích hợp chuyên d ng AXI Advanced eXtensible Interface Giao tiếp mở rộng tiên tiến BRAM Block Random Access Memory Khối nhớ truy cập ngẫu nhiên CMAC Cipher-based MAC Mã xác thực dựa mã hóa CPLD Complex Programmable Logic Device Linh kiện logic lập trình CRC Cyclic Redundancy Check mã kiểm tra dư thừa tuần hoàn EEPROM Electrically Erasable Programmable Read-Only Memory Bộ nhớ đọc xóa điện FIPS Federal Information Processing Standards Tiêu chuẩn xử lý thông tin liên bang FPGA Field Programmable Gate Array Mảng cổng lập trình HDL Hardware Description Language Ngơn ng mơ tả phần cứng IC Integrated Circuit Mạch tích hợp ICAP Internal Configuration Access Port Cổng cấu hình IO Input Output Cổng vào LFSR Linear Feedback Shift Register Thanh ghi dịch phản h i tuyến tính LUT Look-Up Table Bảng tra MAC Message Authentication Code Mã tin xác thực PCB Printed Circuit Board Bảng mạch in RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên RNG Random Number Generator Bộ tạo số ngẫu nhiên DANH SÁCH BẢNG ảng - ác h m f sử d ng thuật toán ảng - hối d liệu sử d ng để t nh giá trị Bảng 2-3: Thông số tài nguyên sử d ng sau tổng hợp -1 25 26 29 DANH SÁCH HÌNH ình u trình từ HDL đến bitstream 13 ình ết hợp trình mã hoá v xác thực itstream 19 ình hình phương thức sử d ng xác thực 21 ình Thiết kế l i xác thực v ứng d ng 23 ình uá trình hoạt động l i xác thực 24 ình Thiết kế ch nh ộ đếm it 25 ình Thiết kế ộ tạo số ngẫu nhiên 25 ình iản đ s ng giao thức -Wire 28 ình ưu đ thuật toán lu ng u khiển ch nh 29 Hình 3.3 Phần m m mã hóa tệp cấu hình FPGA 36 Hình 3.4 Giải thuật thực phần m m 36 Hình 3.5 Cấu trúc giải mã tệp cấu hình 37 Hình 3.6 Giải thuật thực Microblaze 37 Hình 3.7 Cấu trúc lõi mật mã GOST 28147-89 38 ình ng g i P lõi mật mã GOST 28147-89 sử d ng Xilinx Vivado 38 Hình 3.9 Mơ thử nghiệm lõi mật mã GOST 28147-89 39 Hình 3.10 Thử nghiệm sau nạp thiết kế cộng 40 M8 page_data28 page_data29 page_data30 page_data31 M9 scratchpad2 scratchpad3 M10 0x40 0x33 M11 0xFF 0xFF serial_num0 serial_num1 serial_num2 serial_num3 serial_num4 serial_num5 M12 secret4 secret5 secret6 secret7 M13 scratchpad4 scratchpad5 scratchpad6 0x80 M14 0x00 0x00 0x00 0x00 M15 0x00 0x00 0x01 0xB8 ể tiến h nh t nh toán giá trị ph c v cho xác thực, d liệu cần thiết ghép với th nh khối d liệu it, sau đ đệm thêm byte để đủ 448 bit, thêm it k ch thước khối để tạo thành khối 512 bit D liệu tổ chức ảng 2.2 2.4.4 Giao thức 1-wire 1-Wire chuẩn bus giao tiếp với thiết bị ngoại vi thiết kế Dallas Semiconductor Corp Chuẩn cung cấp việc truy n d liệu tốc độ thấp ngu n nuôi qua chân tín hiệu đơn Thiết bị chủ thực khởi tạo v u khiển trình trao đổi thông tin với nhi u thiết bị giao thức u khiển mô tả Hình 2.5 nh 2.5: iản ng gi thứ 1-Wire (https://mysite.du.edu/~etuttle/electron/elect74.htm ) 28 2.4.5 Lƣ th ật t án hƣơng t nh h nh Bộ vi xử lý m m Picoblaze trung tâm lõi xác thực, thực u khiển trao đổi thông tin với DS28E01 qua bus 1-Wire, tính tốn giá trị để thực xác thực Chương trình để Pico la e lập trình theo giải thuật có lưu đ miêu tả Hình 2.6 T IT O RESET DS28E01 & C ID U C CD T M NV U A DS28E01 NG RESET DS28E01 & C ID KHÔNG CHO T NH T T NG C RESET DS28E01 & C ID C Ả T NH MAC T T NH Sai U NHIÊN 8-BIT SO TR MAC NH T Ả ng GHI Sai < BYTE? nh 2.6 Lƣ 2.5 t CHO P U NHIÊN V O DS20E01 TT ng th ật t án PT ồng iề T Y NH C hi n h nh ả Thiết kế lõi xác thực dựa pico la e tổng hợp công nghệ FPGA Spartan (XC6SLX9) công c thiết kế ISE hãng Xilinx Tài nguyên Flip-Flop LUT phần cứng chip FP sử d ng cho thực lõi xác thực Bảng 2-3, với tỷ lệ sử d ng tương ứng 1% 3% Với lượng tài nguyên sử d ng thấp vậy, khả thi thiết kế sử d ng vi mạch FPGA có tài nguyên au tổng hợp, thiết kế ánh xạ, triển khai v nạp v o o mạch thử nghiệm v thiết kế chạ ổn định hi m -đun xác thực gắn o mạch, sau tiến h nh xác thực, ộ đếm 29 tiến h nh đếm v hiển thị kết dã đ n led hi m -đun tháo khoá thiết kế ị tha đổi, ộ đếm kh ng hoạt động Bảng 2-3 Thông số tài nguyên sử d ng sau tổng hợp Loại tài nguyên Tài nguyên sử dụng 2.6 Tài nguyên có sẵn Tỷ l sử dụng Flip-Flop 121 11440 1% LUT 199 5720 3% t ận Trong chương n , luận văn trình chi tiết thiết kế l i xác thực thiết kế Thiết kế đạt số cầu giá th nh rẻ v l i xác thực sử d ng t t i ngu ên linh kiện Tu nhiên, thiết kế n số hạn chế Thiết kế kh ng c khả chống lại c ng phân t ch ngược kh ng c chế mã hoá lu ng d liệu cấu hình Thiết kế đơn giản nên kh ng c khả phát mã ngu n chương trình ị tha đổi chưa ộ tạo số ngẫu nhiên chưa kiểm tra đánh giá v độ ngẫu nhiên 30 hƣơng GIẢI PHÁP MÃ HÓA THIẾT KẾ FPGA 3.1 Giải pháp thực hi n Toàn hệ thống thiết kế chia làm hai phần: thiết kế cần bảo vệ lõi giải mã hư nêu chương trước, thiết kế cần bảo vệ sử d ng chủ yếu ph c v m c tiêu thử nghiệm cho giải pháp bảo vệ, nên tác giả chọn cộng để làm thiết kế giả định D liệu cấu hình thiết kế thực mã hóa thuật tốn GOST 28147-89 Thiết kế cần bảo vệ cấu hình sau q trình giải mã thành cơng Bộ giải mã thực nhiệm v giải mã thiết kế thiết kế nhận Sau đ , n cấu hình thiết bị FPGA phần tài nguyên định trước thiết bị Thiết kế l i giải mã xây dựng dựa vi xử lý Microblaze lõi thuật tốn GOST 28147-89 Quy trình thực hiện: ước 1: Xây dựng thiết kế lập trình, tổng hợp thiết kế, triển khai thiết kế FPGA tạo tệp cấu hình thiết kế cần bảo vệ ước 2: Sử d ng phần m m mã hóa tệp cấu hình thiết kế cần bảo vệ, lưu v o thiết bị nhớ flash, thẻ sd hay NVRAM ước 3: Khởi tạo thiết bị với lõi giải mã xác thực thiết kế ước 4: Tải thiết kế mã hóa, giải mã xác thực tệp cấu hình au đ tiến hành cấu hình FPGA vượt qua q trình xác thực 3.2 Thuật tốn GOST 28147-89 Thuật toán tựa T l thuật toán mã h a dựa chuẩn thuật toán GOST 28147- na chu ển th nh chuẩn mã h a chuẩn T 34.12-2015 [14 ) Thuật toán thiết kế dựa cấu trúc Feistel với k ch thước khối it, độ d i kh a l its v c số vòng l vòng 3.2.1 Ký hi u Trong chuẩn n ký hiệu sau sử d ng V* Tập hợp tất chuỗi nhị phân độ d i h u hạn, g m chuỗi trống Vs Tập tất chuỗi nhị phân độ d i s, đ s l số ngu ên kh ng âm việc đánh số chuỗi v th nh phần chuỗi thực từ phải qua trái đầu từ 31 UW T ch thẳng đ -các) tập U v tập W; |A| ố th nh phần độ d i) chuỗi A  V* A – chuỗi trống, |A| = 0); A||B ối hai chuỗi A, B  V*, tức l chuỗi từ V|A| + |B|, đ chuỗi c ng th nh phần c số lớn từ V|A| tr ng với chuỗi A v chuỗi c ng với th nh phần c số nhỏ từ V|B| tr ng với với chuỗi B; A

Ngày đăng: 11/11/2019, 00:01

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan