(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây(Luận văn thạc sĩ) Nghiên cứu về mã khối hạng nhẹ ứng dụng cho các mạng cảm biến không dây
1 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ÂU THẾ LINH NGHIÊN CỨU VỀ MÃ KHỐI HẠNG NHẸ ỨNG DỤNG CHO CÁC MẠNG CẢM BIẾN KHÔNG DÂY LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2021 LỜI CẢM ƠN Trước tiên em bày tỏ lời cảm ơn trân thành đến thầy, cô giáo trường đại học công nghệ thông tin truyền thông, đặc biệt thầy cô khoa công nghệ thông tin giảng dạy, giúp đỡ tạo điều kiện thuận lợi cho em thời gian học tập trường Em xin bày tỏ lịng biết ơn sâu sắc tới giáo TS Đỗ Thị Bắc tận tình hướng dẫn, định hướng nghiên cứu đóng góp cho em nhiều ý kiến quý báu để hoàn thành luận văn Cuối cùng, xin trân thành cảm ơn gia đình bạn bè động viên, quan tâm, giúp đỡ em hoàn thành khóa học luận văn Thái Nguyên, năm 2021 Học viên ÂU THẾ LINH LỜI CAM ĐOAN Em cam đoan luận văn thân tự nghiên cứu thực theo hướng dẫn khoa học TS Đỗ Thị Bắc Em hoàn toàn chịu trách nhiệm tính pháp lý q trình nghiên cứu khoa học luận văn MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH VẼ 10 MỞ ĐẦU 11 Chương 1: TỔNG QUAN VỀ AN NINH TRONG GIAO THỨC MẠNG KHÔNG DÂY 1.1 Giới thiệu 1.2 Tổng quan an ninh mật mã số mạng không dây 1.2.1 Công nghệ GSM 1.2.2 Công nghệ WAP 1.2.3 Công nghệ Bluetooth 1.2.4 Công nghệ WLAN 1.2.5 Công nghệ HIPERLAN 1.2.6 Công nghệ 3G 1.2.7 Công nghệ 4G 1.2.8 Công nghệ 5G mạng cảm biến không dây 1.3 Mạng cảm biến không dây yêu cầu thiết kế thuật tốn mã hóa 1.3.1 Mạng cảm biến không dây: 1.3.2 Đặc trưng mạng cảm biến không dây 1.3.3 Yêu cầu thiết kế thuật toán mật mã cho mạng không dây 1.4 Triển khai thực thuật toán mật mã mạng không dây 11 1.4.1 Phương pháp thực phần mềm 11 1.4.2 Phương pháp thực phần cứng 12 1.5 Lịch sử xu hướng thiết kế thuật toán mật mã 15 1.6 Định hướng nội dung triên khai nghiên cứu luận văn 17 1.7 Tiểu luận chương 17 Chương 2: NGUYÊN LÝ THIẾT KẾ MÃ KHỐI 18 2.1.Mật mã khối 18 2.1.1 Khái niệm chung 18 2.1.2 Phương pháp thiết kế mật mã khối 18 2.2 Nguyên lý thiết kế CSPN 23 2.2.1 Lớp phần tử nguyên thủy mật mã điều khiển 23 2.2.2 Cấu trúc CSPN 27 2.3 Chiến lược thiết kế thuật tốn mã hóa FPGA 29 2.4 Các thơng số mơ hình đánh giá 30 2.4.1 Thông lượng 30 2.4.2 Tài nguyên 31 2.5 Đánh giá độ an tồn thuật tốn 32 2.5.2 Đánh giá độ an toàn theo đặc trưng vi sai 32 2.5.1 Các tiêu chuẩn đánh giá đặc trưng thống kê theo NESSIE 32 2.6 Tiểu luận chương 35 CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 36 3.1 Mơ tả thuật tốn 36 3.2 Thiết kế thuật toán Crypt(BM)_64A FPGA CHIP Virtex6XC6VLX75T/FF484 38 3.2.1 Giới thiệu chip Virtex®-6 FPGA: 39 3.2.2 Giải pháp thực nghiệm 41 3.2.3 Kết triển khai thực đánh giá hiệu tích hợp 42 3.3 Tiểu luận chương 45 KẾT LUẬN 46 TÀI LIỆU THAM KHẢO 47 DANH MỤC CHỮ VIẾT TẮT Chữ viết Chữ đầy đủ tắt Ý nghĩa SPN Substitution Permutation Network Mạng hoán vị thay SAC Strict Avalanche Criteria Tiêu chuẩn thác lũ chặt DDO Data Dependent Operation Toán tử phụ thuộc liệu ECB Electronic Code Book Chế độ sách mã điện tử CBC Cipher Block Chaining Chế độ mã xích khối OFB Output Feed Back CFB Cipher Feed Back Chế độ mã phản hồi CTR Counter mode Chế độ mật mã đếm CSPN Chế độ mã hóa phản hồi đầu Controlled Substitution Permutation Mạng hoán vị thay điều khiển Network Mảng cổng lập trình FPGA Field-programmable gate array NL Non Linearity Phi tuyến IL Iterative Looping Chế độ lặp sở LU Loop Unrolling PP Pipeline Chế độ đường ống toàn phần CLB Configurable Logic Block Khối logic lập trình LUT Look-Up Table IOB Input/Output Block NESSIE New European dạng trường Khối vào/ra Schemes for Chuẩn Châu Âu cho chữ ký Signatures, Integrity and Encryption số, tính tồn vẹn mã hóa LC Linear Cryptanalysis Thám mã tuyến tính DC Differential Cryptanalysis Đặc trưng vi sai SDDO WSNs ISE Design Switchable Data Dependent Toán tử phụ thuộc liệu Operation (data-driven operation) chuyển mạch Wireless sensor networks Mạng cảm biến không dây Integrated Synthesis Environment Công cụ thiết kế ISE Design HDL Hardware Description Languages Ngôn ngữ mô tả phần cứng IDE Integrated Device Electronics Chuẩn giao tiếp liệu GUI Graphical user interface Giao diện đồ họa người dùng PLD Programmable Logic Device Thiết bị logic lập trình CAD Computer Aided Design Thiết kế đồ họa MCF Maximum Clock Frequency Tần số đồng hồ tối đa LUT Look-Up Table Bảng so sánh CPLD Complex Programmable Logic Thiết bị logic lập trình Device phức tạp AES Advanced Encryption Standard Chuẩn mã hóa tiên tiến SHA Secure Hash Algorithm Thuật tốn băm an tồn VHDL PE VHSIC Hardware Description Ngơn ngữ mô tả phần cứng Language VHSIC Primitive Element Phần tử nguyên thủy mật mã DANH MỤC CÁC BẢNG BIỂU Bảng Hiệu số thuật toán mã thực phần mềm 12 Bảng Hiệu số thuật toán mã thực phần cứng 14 Bảng Hiệu số thuật toán mật mã thực FPGA 16 Bảng Lược đồ khóa sử dụng Crypt(BM)_64A 38 Bảng Thông số kỹ thuật dịng thiết bị Virtex®-6 40 Bảng Các modul 41 Bảng Đánh giá hiệu tích hợp số thuật tốn 44 DANH MỤC CÁC HÌNH VẼ Hình 2.1 Cấu trúc mạng Feistel 19 Hình 2.2 Cấu trúc SPN 20 Hình 2.3 Cấu trúc biểu diễn F2/1; 24 Hình 2.4 Cấu trúc biểu diễn F2/2 26 Hình 2.5 Cấu trúc tổng quát Fn/m 29 Hình 2.6 Cấu trúc thiết kế mật mã khối FPGA 30 Hình 3.1 Sơ đồ thiết kế thuật toán Crypt(BM)_64A 37 Hình 3.2 Sơ đồ thiết kế thuật toán CHIP Vertex6 mã hiệu XC6VLX75T/FF484 42 Hình 3.3 Giao diện kết thực thuật toán Vertex6 mã hiệu XC6VLX75T/FF484 43 33 Theo NESSIE, đặc trưng thống kê thuật toán mật mã khối cần đánh giá theo tiêu chuẩn sau: Tiêu chuẩn Số lượng trung bình bit đầu thay đổi thay đổi bit đầu vào (kí hiệu dl) Tiêu chuẩn Mức độ biến đổi hoàn tồn (kí hiệu dc) Tiêu chuẩn Mức độ hiệu ứng thác lũ (kí hiệu da) Tiêu chuẩn Mức độ phù hợp hiệu ứng thác lũ chặt (kí hiệu dsa) Đồng thời, với mã khối xây dựng sở CSPN vấn đề quan trọng phải đánh giá ảnh hưởng bit khóa bit liệu đầu vào đến biến đổi bit liệu đầu Để rõ tiêu chuẩn, sử dụng cơng cụ tốn học minh họa cho đặc trưng thống kê Kí hiệu: u = (u1, u2, …, un) {0,1}n véc tơ nhị phân, kí hiệu u(i) {0,1}n véc tơ nhị phân nhận cách đảo ngược bit thứ i u (với i = n) Khi véc tơ nhị phân y = f(u(i)) Å f(u) gọi véc tơ thác lũ theo thành phần i Trọng số Hamming véc tơ u (kí hiệu w(u)) xác định số lượng thành phần khác không u Hàm f: {0,1}n{0,1}m hàm biến đổi n bit đầu vào thành m bit đầu Hàm coi có mức độ biến đổi hoàn toàn tốt, bit đầu phụ thuộc bit đầu vào, tức là: i = 1, 2, …, n j = 1, 2, …, m u {0,1}n với (f(u(i)))j (f(u))j Hàm f: {0,1}n{0,1}m coi có hiệu ứng thác lũ tốt, trung bình có ½ số bit đầu thay đổi có bit đầu vào thay đổi, tức là: m w( f (u (i ) ) f (u )) với i = n n u{0,1}n 34 Hàm f: {0,1}n{0,1}m phù hợp theo tiêu chuẩn thác lũ chặt, bit đầu thay đổi với xác suất bằng1/2 có bit đầu vào thay đổi, tức là: i = n j = m: Pr((f(u(i)))j (f(u))j) = ½ Ma trận phụ thuộc hàm f: {0,1}n{0,1}m ma trận A bậc n m phần tử aij, thể phụ thuộc bit thứ j véc tơ đầu vào bit thứ i véc tơ đầu vào, nói cách khác bit đầu vào thứ i thay đổi, kết làm thay đổi bit thứ j đầu ra, tức là: aij = u{0,1}n| (f(u(i))j ≠ f(u))j)} vớii = n j = m Ma trận khoảng cách hàm f: {0,1}n{0,1}m ma trận B bậc n (m + 1) phần tử bij, bij trọng số véctơ thác lũ, tức là: bij = u{0,1}n|w(f(u(i)) – f(u)) = j }với i = n;j = m Với U tập của{0,1}n chọn cách ngẫu nhiên thì: aij = uU ( f (u (i ) ) j f (u )) j vớii = n j = m bij = uU w( f (u (i ) ) f (u )) j với i = n j = m Để đánh giá ảnh hưởng khoá liệu đầu vào tới biến đổi liệu đầu ra, xét: U = X || K (X - rõ, K – khoá) Trong trường hợp xét ảnh hưởng liệu đầu vào tới biến đổi liệu đầu ra: aij = X ( f ( X (i ) , K )) j f ( X , K )) j với i = n j = m bij = X w( f ( X (i ) , K ) Å f ( X , K )) j với i = n j = m Còn trường hợp cần xét ảnh hưởng khoá tới biến đổi liệu đầu sử dụng cách tính sau: aij = X ( f ( X , K (i ) )) j f ( X , K )) j với i = n j = m bij = X w( f ( X , K (i ) ) Å f ( X , K )) j với i = n j = m 35 Việc xét ảnh hưởng khóa tới biên đổi đầu có ý nghĩa trường hợp thuật tốn sử dụng lịch biểu khóa đơn giản mà khơng sử dụng phép biến đổi khóa phức tạp Trong khái niệm thì, ma trận phụ thuộc sử dụng để đánh giá đặc trưng thống kê theo tiêu chuẩn 4, ma trận khoảng cách sử dụng để đánh giá đặc trưng thống kê theo tiêu chuẩn Các cơng thức tính tiêu chuẩn xem phụ lục D Theo quy định NESSIE, hàm f coi có đặc tính biến đổi tốt điều kiện sau xảy ra: dc = 1, da 1, dsa d1 ½ n 2.6 Tiểu luận chương Nội dung chương trình bày khái niệm nguyên lý thiết kế thuật tốn mã hóa khối Đưa định nghĩa nguyên ly thiết kế, chiến lược thiết kế, thơng số mơ hình đánh giá, đánh giá độ an toàn cua thuật toán Đây sở để thiết kế cài đặt thuật tốn mã hóa khối đưa chương luận văn 36 CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ Trên sở nghiên cứu chương 2, chương luận văn em lựa chọn thuật toán Crypt(BM)_64A, để thiết kế mô minh họa cài đặt thử nghiệm thuật tốn mã hóa hạng nhẹ phát triển với mục tiêu hướng đến nhằm ứng dụng cho mạng cảm biết không dây Đồng thời thử nghiệm tiến hành so sánh với hai thuật toán khác (RC6, RIJNDEAL) để đưa tính hiệu thuật tốn nghiên cứu luận văn 3.1 Mơ tả thuật tốn Crypt(BM)_64A thuật tốn phát triển nhóm tác giả Đỗ Thị Bắc Nguyễn Hiếu Minh [5-7] Đây thuật toán thiết kế nhằm hướng tới sử dụng mạng cảm biến không dây với nhiều ưu đa cơng bố trước độ an tồn khả thay đổi khóa phiên thường xun Crypt(BM)_64A thiết kế theo mơ hình song song vịng mã hóa sở CSPN thiết kế theo phương pháp đồng Crypt(BM)_64A có độ dài khối 64 bit, với 10 vòng biến đổi khóa có độ dài 128 bit 192 bit 256 bit Crypt(BM)_64A xây dựng sở phần tử nguyên thủy Q2/1 Sơ đồ vòng mã hóa sở Crypt(BM)_64A hình 3.1a Q trình thiết kế CSPN sử dụng thuật tốn mô tả sau: Q2/1 Q4/4 Q16/32 Chi tiết thiết kế phần tử thuật tốn mơ tả hình 3.1 Quá trình thực thuật tốn mơ tả sau: Thuật tốn Crypt(BM)_64A 64 bit liệu vào chia thành khối A B, khối có kích thước 32 bit For j = to {(A, B) Crypt(e)(A, B, Qj,Uj ); (A, B) (B, A)} {(A, B) Crypt(e)(A, B, Q10,U10 )} {(A, B) (A Å Q11, B Å U11) 37 A a) B 32 32 Uj Qj 32 32 I 16 16 16 16 32 Q 16 / 32 E 32 32 (4) S x 16 / 32 P Q -1 Q16/ 32 Q P I1 I1 -1 -1 (4) S x 32 16/ 32 32 Q E 16/ 32 32 Q -1 16/ 32 32 32 I c) 16 b) V1 Q V2 Q 2/1 2/1 Q Q 2/1 V2 2/1 V1 V1 V2 V3 V4 Q 4/4 Q 4/4 Q Q 4/4 Q 4/4 Q 4/4 4/4 16 Hình 3.1 Sơ đồ thiết kế thuật tốn Crypt(BM)_64A a)Vịng mã hóa sở, b) Q4/4 Q-14/4, c) Q16/32 F-116/32 Trong hình 3.1 hốn vị mơ tả sau: Q Q 4/4 V4 V3 V2 4/4 V1 38 I = (1) (2, 9) (3, 17) (4, 25) (5) (6, 13) (7, 21) (8, 29) (9,2) (10) (11, 18) (12, 26) (13, 6) (14) (15, 22) (16, 30) (17,3) (18,11) (19) (20, 27) (21, 7) (22,15) (23) (24, 31) (25,4) (26, 12) (27, 20) (28) (29,8) (30, 16) (31, 24) (32); I1 = (1,9) (2,13) (3,10) (4,14) (5,11) (6,15) (7,12) (8,16) (9,1) (10, 3) (11,5) (12,7) (13,2) (14, 4) (15,6) (16, 8); P = (1) (2,5) (3,9) (4,13) (5, 2) (6) (7,10) (8,14) (9, 3) (10, 7) (11) (12,15 (13, 4) (15, 12) (16) -Khối mở rộng E xây dựng sau: E(X) = (X, X