Luận văn Nghiên cứu về mã hóa tốc độ cao ứng dụng cho các mạng cảm biến không dây

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KEOTHAVIXAY SOMNEUK NGHIÊN CỨU VỀ MÃ HÓA TỐC ĐỘ CAO Ứ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 - 2020 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KEOTHAVIXAY SOMNEUK NGHIÊN CỨU VỀ MÃ HÓA TỐC ĐỘ CAO Ứ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 Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 84 8

pdf66 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 339 | Lượt tải: 0download
Tóm tắt tài liệu Luận văn Nghiên cứu về mã hóa tốc độ cao ứng dụng cho các mạng cảm biến không dây, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
80 101 Người hướng dẫn khoa học: TS. Đỗ Thị Bắc THÁI NGUYÊN - 2020 I LỜI CÁM ƠN Trước tiên tôi bày tỏ lời cảm ơn chân thành đến các thầy, cô giáo đã giảng dạy, hướng dẫn và giúp đỡ tôi trong thời gian học tập và nghiên cứu hoàn thành luận văn này. Xin được bày tỏ lòng biết ơn sâu sắc tới cô giáo TS. Đỗ Thị Bắc đã tận tình hướng dẫn, giúp đỡ và đóng góp cho tôi nhiều ý kiến quý báu để hoàn thành luận văn này. Xin trân thành cảm ơn các thầy, cô giáo trường đại học công nghệ thông tin và truyền thông, đặc biệt là các thầy cô trong khoa công nghệ thông tin đã giảng dạy, giúp đỡ và tạo điều kiện thuận lợi cho tôi trong thời gian học tập tại trường. Cuối cùng, xin trân thành cảm ơn gia đình và bạn bè đã động viên, quan tâm, giúp đỡ tôi hoàn thành khóa học và luận văn. Thái Nguyên, Năm 2020 Học viên KEOTHAVIXAY Somneuk II LỜI CAM ĐOAN Tôi cam đoan luận văn này là do bản thân tự nghiên cứu và thực hiện theo sự hướng dẫn khoa học của TS. Đỗ Thị Bắc Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này. Thái Nguyên, Năm 2020 Học viên KEOTHAVIXAY Somneuk III MỤC LỤC LỜI CÁM ƠN ................................................................................................................ I LỜI CAM ĐOAN ......................................................................................................... II MỤC LỤC ................................................................................................................... III DANH MỤC CÁC BẢNG BIỂU ............................................................................... VI DANH MỤC CÁC HÌNH VẼ ................................................................................... VII MỞ ĐẦU ................................................................................................................. VIII CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ VÀ MÃ KHỐI. ..................................... 1 1.1 Giới thiệu ............................................................................................................... 1 1.2 Bảo vệ thông tin trong quá trình truyền trên mạng ............................................... 1 1.2.1. Các loại hình tấn công .................................................................................. 1 1.2.2 Yêu cầu của một hệ truyền thông tin an toàn và bảo mật .............................. 4 1.3 Vai trò của mật mã trong việc bảo mật thông tin trên mạng ................................. 5 1.4 Mã khối ................................................................................................................. 6 1.4.1 Khái niệm ....................................................................................................... 6 1.4.2 Phương pháp thiết kế mật mã khối ................................................................ 6 1.4.3 Tấn công mật mã khối ................................................................................. 11 1.4.4 Các phương thức hoạt động của mật mã khối. ............................................ 12 1.5 Tiểu luận chương 1 ............................................................................................. 17 CHƯƠNG 2 NGUYÊN LÝ THIẾT KẾ MÃ KHỐI TRÊN CSPN ........................ 18 2.1. Nguyên lý thiết kế CSPN ................................................................................... 18 2.1.1. Lớp phần tử nguyên thủy mật mã điều khiển được .................................... 18 2.1.2. Cấu trúc CSPN ............................................................................................ 22 2.2. Nguyên lý thiết kế thuật toán mật mã trên FPGA .............................................. 24 2.2.1 Chiến lược thiết kế ....................................................................................... 24 2.2.2. Cấu trúc thiết kế .......................................................................................... 24 2.2.3. Các thông số và mô hình đánh giá .............................................................. 25 2.3. Nguyên lý đánh giá độ an toàn của các thuật toán ............................................. 27 2.3.1. Đánh giá đặc trưng thống kê theo tiêu chuẩn NESSIE ............................... 27 2.3.2. Đánh giá độ an toàn theo đặc trưng vi sai .................................................. 30 2.4 Nguyên lý đánh giá hiệu quả tích hợp trên FPGA .............................................. 31 IV 2.4.1 Lưu lượng thông tin ..................................................................................... 31 2.4.2. Diện tích (Area) .......................................................................................... 31 2.4.3 Lưu lượng/diện tích ..................................................................................... 32 2.5. Tiểu luận chương 2 ............................................................................................ 32 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ..................................................................................................................... 33 3.1 Mạng cảm biến không dây .................................................................................. 33 3.1.1 Định nghĩa của mạng cảm biến không dây .................................................. 33 3.1.2 Cấu trúc của mạng cảm biến không dây ...................................................... 33 3.1.3 Đặc điểm của mạng cảm biến không dây .................................................... 34 3.2 Mô tả thuật toán mô phỏng ................................................................................. 35 3.2.1 Cấu trúc của các phần từ điều khiển được sử dụng ..................................... 36 3.2.2 Thuật toán mã khối BM-64 .......................................................................... 39 3.3 Đánh giá độ an toàn của BM-64 ......................................................................... 42 3.3.1 Đánh giá về đặc trưng thống kê của BM-64 theo chuẩn NESSIE ............... 42 3.3.2 Đánh giá về thám mã vi sai .......................................................................... 43 3.4. Cài đặt mô phỏng và đánh giá hiệu quả tích hợp của thuật toán ....................... 46 3.4.1 Công cụ cài đặt mô phỏng ........................................................................... 46 3.4.2 Kết quả đánh giá và so sánh hiệu suất trên FPGA ....................................... 48 3.4.2.1 Minh họa một số giao diện mô phỏng trền FPGA: ................................. 48 3.4.2.2 Kết quả đánh giá ...................................................................................... 53 KẾT LUẬN .................................................................................................................. 54 TÀI LIỆU THAM KHẢO ........................................................................................... 55 V DANH MỤC CHỮ VIẾT TẮT Chữ viết tắt Chữ đẩy đủ SPN Substitution Permutation Network SAC Strict Avalanche Criteria DDO Data Dependent Operation ECB Electronic Code Book CBC Cipher Block Chaining OFB Output Feed Back CFB Cipher Feed Back CTR Counter mode CSPN Controlled Substitution Permutation Network FPGA Field-programmable gate array NL Non Linearity IL Iterative Looping LU Loop Unrolling PP Pipeline CLB Configurable Logic Block LUT Look-Up Table IOB Input/Output Block New European Schemes for Signatures, Integrity and NESSIE Encryption LC Linear Cryptanalysis DC Differential Cryptanalysis Switchable Data Dependent Operation (data-driven SDDO operation) WSNs Wireless sensor networks ISE Design Integrated Synthesis Environment Design HDL Hardware Description Languages IDE Integrated Device Electronics GUI Graphical user interface ISE Integrated Synthesis Environment PLD Programmable Logic Device CAD Computer Aided Design MCF Maximum Clock Frequency LUT Look-Up Table CPLD Complex Programmable Logic Device AES Advanced Encryption Standard SHA Secure Hash Algorithm VHDL VHSIC Hardware Description Language PE Primitive Element VI DANH MỤC CÁC BẢNG BIỂU Y X V Bảng 3.1 XÁC XUẤT PR(IJK)=PR( I / J ,  K) CỦA ĐẶC TÍNH VI PHÂN CỦA F2/2. .... 37 -1 Bảng 3.2 Miêu tả các phép thế trong hộp S4x4 và S 4x4 ..................................... 39 Bảng 3.3 Lịch biểu sử dụng khóa trong thuật toán BM-64 với khóa mật 128 bits. ... 41 Bảng 3.4 Lịch biểu sử dụng khóa trong thuật toán BM-64 với khóa mật 192 bits. ... 42 Bảng 3.5 Lịch biểu sử dụng khóa trong thuật toán BM-64 với khóa mật 256 bits. ...................................................................................................................... 42 Bảng 3.6 Ảnh hưởng của bit dữ liệu và bit khóa trong thuật toán BM-64. ........ 43 Bảng 3.7 So sánh đặc trưng vi sai của một số mã hóa khối ................................ 46 Bảng 3.8 So sánh kết quả thực hiện các thuật toán khác nhau trên FPGA với BM-64 .. 53 VII DANH MỤC CÁC HÌNH VẼ Hình 1. 1 Xem trộm thông tin ............................................................................ 2 Hình 1. 2 Sửa thông điệp .................................................................................... 2 Hình 1. 3 Mạo danh ............................................................................................. 3 Hình 1. 4 Phát lại thông điệp .............................................................................. 4 Hình 1. 5 Mô hình bảo mật thông tin trên mạng ................................................... 5 Hình 1. 6 Cấu trúc mạng Feistel ............................................................................ 7 Hình 1. 7 Cấu trúc SPN ......................................................................................... 8 Hình 1. 8 Các chế độ hoạt động của mã khối ..................................................... 12 Hình 1. 9 Chế độ mã hóa ECB ........................................................................... 13 Hình 1. 10 Chế độ mã hóa CBC .......................................................................... 14 Hình 1. 11 Chế độ mã hóa s-bít CFB .................................................................. 15 Hình 1. 12 Chế độ mã hóa s-bít OFB .................................................................. 16 Hình 1. 13 Chế độ mã hóa CTR ......................................................................... 17 Hình 2.1 Cấu trúc biểu diễn của F2/1 ......................................................................... 19 Hình 2. 2 Cấu trúc biểu diễn của F2/2 ........................................................................ 21 -1 Hình 2. 3 Cấu trúc tổng quát của Fn/m (a) và F n/m (b) xây dựng từ F2/1 .............. 23 Hình 2. 4 Cấu trúc thiết kế mật mã khối trên FPGA, .......................................... 25 -1 Hình 3. 1 Cấu trúc của F4/8 (a) và F 4/8 (b). ....................................................... 38 -1 Hình 3. 2 Cấu trúc của F16/64 (a) và F 16/64(b) ................................................... 38 Hình 3. 3 Sơ đồ cấu trúc của thuật toán BM-64. a). Sơ đồ tổng quát. ................ 41 Hình 3. 4 Thông tin về vi sai sau vòng 2 của thuật toán BM-64. ....................... 45 Hình 3. 5 Sơ đồ thiết kế tổng thể của BM-64 trên FPGA (cấu trúc IL) ............. 50 Hình 3. 6 Sơ đồ thiết kế BM-64 trên FPGA (cấu trúc PP) ................................. 52 VIII MỞ ĐẦU Mật mã là một ngành khoa học công nghệ mà nhiều lĩnh vực ứng dụng phải dùng nhằm đảm bảo an ninh, tính bí mật, tính xác thực, chống từ chối và toàn vẹn thông tin. Nhất là trong thời đại công nghệ số, thời đại mà mọi hoạt động, mọi giao dịch của hầu hết các ngành nghề, lĩnh vực đều thông qua môi trường mạng. Mã khối là một giải pháp hiện đại trong lĩnh vực mật mã. Nhiều giải pháp đã được đưa ra thông qua các cuộc thi trên toàn thế giới. Như chuẩn mã hóa dữ liệu AES, SHA1, SHA2. Và ngay trong năm nay sẽ công bố kết quả của cuộc thi SHA3. Việc ứng dụng mạng hoán vị thay thế điều khiển được (CSPN) trong xây dựng và phát triển các thuật toán mã hóa khối hiện nay là hướng đi của hầu hết các nhà nghiên cứu với đề tài “ Nghiên cứu về mã hóa tốc độ cao ứng dụng cho các mạng cảm biến không dây ” Đây là chủ đề rộng lớn và phức tạp có sự phát triển rất mạnh được giới khoa học quan tâm, nên cũng là khó khăn cho nghiên cứu sinh. Mặc dù đã chuẩn bị kỹ nhưng không thể tránh được những khiếm khuyết. Em rất mong nhận được các ý kiến quý báu của các nhà khoa học và các thầy cô giáo để báo cáo của em hoàn thiện hơn. 1 CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ VÀ MÃ KHỐI. 1.1 Giới thiệu Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin (Information Security), chúng ta thường hay nghĩ đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn và bí mật. Chẳng hạn là các biện pháp như:  Đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được chuyển nguyên vẹn đến người nhận hay không.  Dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu được thông điệp. Phương pháp này thường được sử dụng trong chính trị và quân sự.  Lưu giữ tài liệu mật trong các két sắt có khóa, tại các nơi được bảo vệ nghiêm ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu. Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự phát triển của mạng Internet, ngày càng có nhiều thông tin được lưu giữ trên máy vi tính và gửi đi trên mạng Internet. Và do đó xuất hiện nhu cầu về an toàn và bảo mật thông tin trên máy tính. Có thể phân loại mô hình an toàn bảo mật thông tin trên máy tính theo hai hướng chính như sau:  Bảo vệ thông tin trong quá trình truyền thông tin trên mạng (Network Security). Các giải pháp mật mã được sử dụng.  Bảo vệ hệ thống máy tính, và mạng máy tính, khỏi sự xâm nhập phá hoại từ bên ngoài (System Security) 1.2 Bảo vệ thông tin trong quá trình truyền trên mạng 1.2.1. Các loại hình tấn công Để xem xét những vấn đề bảo mật liên quan đến truyền thông trên mạng, chúng ta hãy lấy một bối cảnh sau: có ba nhân vật tên là Alice, Bob và Trudy, trong đó Alice và Bob thực hiện trao đổi thông tin với nhau, còn Trudy là kẻ xấu, đặt thiết bị can thiệp vào kênh 2 truyền tin giữa Alice và Bob. Sau đây là các loại hành động tấn công của Trudy mà ảnh hưởng đến quá trình truyền tin giữa Alice và Bob: a. Xem trộm thông tin (Release of Message Content) Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho Bob, và xem được nội dung của thông điệp. Hình 1. 1 Xem trộm thông tin b. Thay đổi thông điệp (Modification of Message) Sửa thông diệp của Alice gửi cho Bob Hình 1. 2 Sửa thông điệp Trudy chặn các thông điệp Alice gửi cho Bob và ngăn không cho các thông điệp này đến đích. Sau đó Trudy thay đổi nội dung của thông điệp và gửi tiếp cho Bob. Bob nghĩ rằng nhận được thông điệp nguyên bản ban đầu của Alice mà không biết rằng chúng đã bị sửa đổi. 3 c. Mạo danh (Masquerade) Trong trường hợp này Trudy giả là Alice gửi thông điệp cho Bob. Bob không biết điều này và nghĩ rằng thông điệp là của Alice. Hình 1. 3 Mạo danh d. Phát lại thông điệp (Replay) Trudy sao chép lại thông điệp Alice gửi cho Bob. Sau đó một thời gian Trudy gửi bản sao chép này cho Bob. Bob tin rằng thông điệp thứ hai vẫn là từ Alice, nội dung hai thông điệp là giống nhau. Thoạt đầu có thể nghĩ rằng việc phát lại này là vô hại, tuy nhiên trong nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo thông điệp. Xét tình huống sau: giả sử Bob là ngân hàng còn Alice là một khách hàng. Alice gửi thông điệp đề nghị Bob chuyển cho Trudy 1000$. Alice có áp dụng các biện pháp như chữ ký điện tử với mục đích không cho Trudy mạo danh cũng như sửa thông điệp. Tuy nhiên nếu Trudy sao chép và phát lại thông điệp thì các biện pháp bảo vệ này không có ý nghĩa. Bob tin rằng Alice gửi tiếp một thông điệp mới để chuyển thêm cho Trudy 1000$ nữa. 4 Hình 1. 4 Phát lại thông điệp 1.2.2 Yêu cầu của một hệ truyền thông tin an toàn và bảo mật Phần trên đã trình bày các hình thức tấn công, một hệ truyền tin được gọi là an toàn và bảo mật thì phải có khả năng chống lại được các hình thức tấn công trên. Như vậy hệ truyền tin phải có các đặt tính sau: a) Tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem trộm thông điệp. b) Tính chứng thực (Authentication): Nhằm đảm bảo cho Bob rằng thông điệp mà Bob nhận được thực sự được gửi đi từ Alice, và không bị thay đổi trong quá trình truyền tin. Như vậy tính chứng thực ngăn chặn các hình thức tấn công sửa thông điệp, mạo danh, và phát lại thông điệp. c) Tính không từ chối (Nonrepudiation): xét tình huống sau: Giả sử Bob là nhân viên môi giới chứng khoán của Alice. Alice gởi thông điệp yêu cầu Bob mua cổ phiếu của công ty Z. Ngày hôm sau, giá cổ phiếu công ty này giảm hơn 50%. Thấy bị thiệt hại, Alice nói rằng Alice không gửi thông điệp nào cả và quy trách nhiệm cho Bob. Bob phải có cơ chế để xác định rằng chính Alice là người gởi mà Alice không thể từ chối trách nhiệm được. 5 Khái niệm chữ ký trên giấy mà con người đang sử dụng ngày nay là một cơ chế để bảo đảm tính chứng thực và tính không từ chối. Và trong lĩnh vực máy tính, người ta cũng thiết lập một cơ chế như vậy, cơ chế này được gọi là chữ ký điện tử. Hình 1. 5 Mô hình bảo mật thông tin trên mạng 1.3 Vai trò của mật mã trong việc bảo mật thông tin trên mạng Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản thiết yếu của bảo mật thông tin. Mật mã đáp ứng được các nhu cầu về tính bảo mật (confidentiality), tính chứng thực (authentication) và tính không từ chối (non- repudiation) của một hệ truyền tin. Mã hóa dữ liệu bao gồm mã hóa đối xứng và mã hóa bất đối xứng, chúng đóng vai trò quan trọng trong mật mã hiện đại. Mã khối là một hình thức của mã hóa đối xứng. Ngoài ra, hàm băm (hàm Hash) cũng là một công cụ bảo mật quan trọng mà có nhiều ứng dụng lý thú, trong đó có chữ ký điện tử. Trong khuôn khổ của đề tài nghiên cứu, sẽ đi sâu để nghiên cứu về mã khối và các mạng hoán vị thay thế điều khiển được để xây dựng các mã khối áp dụng trong các mạng truyền thông tốc độ cao. 6 1.4 Mã khối 1.4.1 Khái niệm Mật mã khối là phương thức cho phép mã hóa trên một nhóm các bit (khối) với độ dài nào đó, lần lượt mỗi khối được mã hoặc giải mã. Kích thước mỗi khối thường là 64 bit hoặc lớn hơn. Các tham số quan trọng của mã hóa khối là kích thước (độ dài) của mỗi khối, kích thước khóa, cấu trúc của vòng mã hóa cơ sở, ... Các mã khối đều được xây dựng dựa trên ý tưởng của Shannon đưa ra năm 1949. 1.4.2 Phương pháp thiết kế mật mã khối a. Cấu trúc thiết kế Xuất phát từ ý tưởng của Shannon, một số cấu trúc mã hóa khối cơ sở đã được đề xuất. Trong số đó, cấu trúc mạng Feistel (Feistel network) và mạng hoán vị thay thế (Substitution Permutation Network - SPN) là 2 cấu trúc mã hóa khối được sử dụng phổ biến trong việc phát triển các thuật toán mã hóa khối hiện nay. - Cấu trúc Feistel Horst Feistel đề xuất ra cấu trúc Feistel dựa trên mã tích nghịch đảo được, tức là kết hợp mã thay thế với mã hoán vị và qui trình mã/giải mã là giống nhau, quá trình giải mã chỉ cần thay đổi vai trò khối bản mã với khối bản rõ và thứ tự các khoá con được dùng. Từ khóa chính sẽ sinh ra cho mỗi vòng mã hóa một khóa con tương ứng. Quy trình thực hiện được mô tả như trong hình 1.6. 7 Bản rõ (2w bits) L0 R0 Vòng 1 K1 ˷ F L1 R1 Vòng 2 Ki ˷ F Li Ri Vòng n Kn ˷ F Ln Rn Ln+1 Rn+1 Bản mã (2w bits) Hình 1. 6 Cấu trúc mạng Feistel - Cấu trúc SPN Cấu trúc SPN là một trong các cấu trúc được sử dụng chung nhất trong các mã khối. Cấu trúc SPN được dựa trên các nguyên tắc của Shannon về tính hỗn loạn (confusion) và khuếch tán (diffusion). Các nguyên tắc này được được thực hiện thông qua việc sử dụng các phép thay thế và các phép hoán vị. Quy trình thực hiện được mô tả như trong hình 1.7 8 Khóa vòng K1 S1 S2 Sn Phép biến đổi tuyến tính Khóa vòng K2 S1 S2 Sn Khóa vòng Km S1 S2 Sn Hình 1. 7 Cấu trúc SPN b. Tiêu chuẩn thiết kế b1.Tiêu chuẩn thiết kế chung Các tiêu chuẩn chung sau được chấp nhận bởi phần lớn các nhà mật mã học. Nó bao gồm: độ an toàn, tính hiệu quả, tính linh hoạt của khóa và tính đa dụng. Ngoài ra còn một số các tiêu chuẩn khác như: tính đơn giản, tính đối xứng (gồm đối xứng qua các vòng, đối xứng trong biến đổi vòng, đối xứng trong hộp S, đối xứng giữa phép mã và giải mã), tính song song, tính mềm dẻo đối với thứ tự của các bước, độ dài khối thay đổi, lựa chọn một số phép toán số học. Tiêu chuẩn về độ an toàn và tính hiệu quả được áp dụng bởi tất cả các nhà thiết kế mật mã. Có một số trường hợp tính hiệu quả phải hy sinh để nhận 9 được một ngưỡng an toàn cao. Thách thức được đặt ra cho việc thiết kế mật mã là đề xuất một ngưỡng an toàn hợp lý trong khi tối ưu tính hiệu quả. Tiêu chuẩn về độ linh hoạt của khóa và tính đa dụng là ít vạn năng hơn. Trong một số trường hợp các tiêu chuẩn này là không thích đáng bởi vì mã pháp được ngụ ý cho một ứng dụng cụ thể và sẽ được cài đặt trên một nền tảng cụ thể. b2. Tiêu chuẩn khuếch tán. Hai nguyên tắc quan trọng đối với việc thiết kế mật mã khối đó là: Tiêu chuẩn thác lũ chặt (SAC: Strict Avalanche Criteria) và chiến lược vết rộng và số nhánh (The wide-trail strategy and the branch number). 1) Tiêu chí thác lũ chặt Về mặt lịch sử, SAC [3] được sử dụng trong các thiết kế mã khối đơn giản để mô tả sự khuếch tán của chúng. Theo đó, một hộp S được xác định như hàm logic hoặc như một tập của m hàm logic nhị phân , . Một hàm logic nhị phân thỏa mãn SAC nếu một bit của véc tơ đầu vào thay đổi thì có một nửa số bit của đầu ra thay đổi. Cụ thể hơn, f thỏa mãn SAC nếu là hàm logic cân bằng . 2) Chiến lược vết rộng và số nhánh Chiến lược vết rộng [25] là một phương pháp tiếp cận để thiết kế hàm vòng của thuật toán mật mã khối. Hàm này mang lại hiệu suất tổ hợp và chống lại các kỹ thuật thám mã. Trong chiến lược vết rộng, một lớp khuếch tán được xây dựng để cung cấp sự khuếch tán và giải pháp chính để đánh giá lớp khuếch tán là số nhánh. Tuy nhiên trong vấn đề này, cần hạn chế sự mở rộng số nhánh theo một phép biến đổi tuyến tính. b3. Tiêu chuẩn hỗn loạn Các hộp S thường là phần phi tuyến trong mã hóa khối và là phần quan trọng đầu tiên cho sự hỗn loạn. Các hộp S được xây dựng từ các hàm logic 10 phức tạp để làm mờ đi mối quan hệ giữa bản rõ, bản mã và khóa. Ta tập trung vào 3 tiêu chí cần thiết: tính phi tuyến, đặc trưng vi sai và bậc phi tuyến.  Tính phi tuyến Tính phi tuyến của hàm logic liên quan đến khoảng cách giữa hàm và tập tất cả các phép xấp xỉ tuyến tính của hàm này. Các phép xấp xỉ của các hộp S có thể giúp cho kẻ tấn công có khả năng đe dọa độ an toàn của thuật toán mã hóa khối. Định nghĩa 1.1 Gọi là hộp S. Khi đó, có thể có các phép xấp xỉ của hộp S này. Mỗi phép xấp xỉ có 1 xác suất nhất định p. Ta ký hiệu độ chênh lệch (hay sai số) của 1 phép xấp xỉ tuyến tính là và nó được tính bằng công thức: . Gọi là giá trị tuyệt đối của độ chênh lệch và là giá trị tuyệt đối của độ lệch xấp xỉ tuyến tính lớn nhất. Như thế, thông số phi tuyến của hộp S (ký hiệu là ) sẽ tương đương là .  Đặc trưng vi sai Do có thể ước đoán (xấp xỉ) hộp S bằng các hàm logic tuyến tính nên ta cũng có thể nghiên cứu sự lan truyền vi sai trong các hộp S. Định nghĩa 1.2 Cho hộp S dưới dạng hàm . Với hàm này ta có thể có giá trị vi sai đầu vào khác nhau và tương tự cũng có thể có giá trị vi sai đầu ra . Ta biểu diễn vi sai của hộp S như sau: , nó được hiểu là với vi sai đầu vào sẽ tạo ra vi sai đầu ra với xác suất p. Khi đó, thông số vi sai của một hộp S tương đương với xác suất của vi sai lớn nhất của nó.  Bậc phi tuyến Lars Knudsen là người đưa ra khái niệm bậc phi tuyến vào năm 1994 và khái niệm này dựa vào mức độ phức tạp đại số của hàm logic. Ta có thể coi đó là một khái niệm tổng quát của các khái niệm vi sai. 11 Định nghĩa 1.3. Cho là một hàm logic. Đạo hàm của f tại một điểm được định nghĩa như sau: Đạo hàm bậc i của f tại điểm: được định nghĩa: Định nghĩa 1.4 Bậc phi tuyến của , được kí hiệu là giá trị i lớn nhất mà không phải là một hằng. Ở đây, yêu cầu véc tơ là độc lập tuyến tính vào đạo hàm bậc i không có giá trị 0. 1.4.3 Tấn công mật mã khối Tấn công được xem là việc phân tích bản tin mã hóa để nhận được bản tin rõ trong điều kiện không biết trước khóa mã. Thực tế, công việc tấn công gặp nhiều khó khăn hơn khi không biết rõ hệ mật mã nào được sử dụng. Tuy nhiên, để đơn giản hóa, giả sử người tấn công đã biết rõ hệ mật mã được sử dụng khi tiến hành phân tích mã. Giả định này đặt ra với mục đích là thiết kế được một hệ mật mã an toàn bảo mật. Các mức độ tấn công có thể được phân loại như sau: tấn công chỉ biết bản mã (ciphertext-only) tức người tấn công chỉ có bản tin mã hóa; tấn công biết bản rõ (known plaintext) tức người thám mã có bản tin rõ và bản mã; tấn công chọn bản rõ (chosen plaintext) tức người thám mã tạm thời có quyền truy xuất tới bộ mã hóa, do đó người tấn công có khả năng chọn bản tin rõ và xây dựng bản mã tương ứng; tấn công chọn bản mã (chosen ciphertext) tức là người tấn công tạm thời có quyền truy xuất tới bộ giải mã, do đó có khả năng chọn bản mã và xây dựng lại bản tin rõ tương ứng Một số phương pháp phổ biến được sử dụng để tấn công vào mật mã khối được biết đến cho đến hiện nay bao gồm: - Tấn công bằng phương pháp vét cạn (brute force). - Tấn công dựa vào thám mã tuyến tính (linear cryptanalysis). 12 - Tấn công dựa vào thám mã lượng sai (differential cryptanalysis). Tuy nhiên trong số các phương pháp này, thám mã lượng sai được đánh giá là giải pháp hiệu quả hơn cả đối với mã khối nói chung và đặc biệt là mã khối tốc độ cao dựa trên các toán tử DDO ứng dụng trong các hệ thống truyền thông không dây. Các điểm yếu sau có thể áp dụng được cho một mã khối để thực hiện cuộc tấn công: 1. Tồn tại các tấn công khôi phục khóa nhanh hơn tìm kiếm vét cạn. Khả năng này thường được gọi là các tấn công đường tắt. 2. Các tính chất đối xứng nào đó trong mã khối (ví dụ như tính chất bù). 3. Sự có mặt của các lớp khóa yếu (như trong IDEA). 4. Các tấn công vào khóa liên kết. 1.4.4 Các phương thức hoạt động của mật mã khối. Với bản tin có độ dài vượt quá độ dài của một khối dữ liệu thì phương án mã hóa phải được tính đến. Đó chính là các chế độ hoạt động của mật mã khối. Trong mật mã khối, việc mã hóa chuyển các khối bản rõ thành các khối bản mã và ngược lại. Hình 1. 8 Các chế độ hoạt động của mã khối (a) Electronic Code Book (ECB). (b) Cipher Block Chaining (CBC). (c) Output Feed Back (OFB). (d) Cipher Feed Back (CFB). (e) Counter mode (CTR). 13 Đứng trên quan điểm thực hiện trên phần cứng, chúng ta có thể chia ra làm 2 loại chế độ hoạt động chính: Chế độ không hồi tiếp: bao gồm Electronic Code Book mode (ECB) và Counter mode (CTR). Chế độ có hồi tiếp: bao gồm Cipher Block Chaining mode (CBC), Cipher Feedback Mode (CFB), và Output Feedback Mode (OFB). Như vậy chỉ có ở chế độ không hồi tiếp mới có thể tận dụng hết khả năng thực thi mật mã bằng phần cứng. Xem xét các chế độ làm việc của các sơ đồ mã khối ta có thể nhận thấy một số vấn đề sau: Chế độ ECB (Chế độ chuyển mã điện tử- Chế độ bảng tra mã điện tử): là chế độ đơn giản nhất của mã khối, nó thường được sử dụng khi cần truyền an toàn một thông tin riêng (ví dụ, mã hóa khóa). Chế độ này có nhược điểm là mức độ an toàn không cao, vì rằng đối thủ có thể dựng lại các bản mã từ các bản mã gốc. Nhược điểm này không chỉ ảnh hưởng đến độ an toàn mà còn ảnh hưởng đến hiệu quả năng lượng của sơ đồ mã. Nhưng khi hoạt động ở chế độ này, sơ đồ mã có khả năng dùng lỗi chống lại lỗi của bản mã (chỗ các bits bị thay đổi) và lỗi đồng bộ hóa (chỗ các bits có thể được thêm vào hoặc mất đi). (a) Encryption (b) Decryption Hình 1. 9 Chế độ mã hóa ECB 14 Chế độ CBC (chế độ liên kết khối mã- Chế độ mã móc xích): là chế độ thường được sử dụng nhất của mã khối, nó thường được sử dụng khi truyền các khối dữ liệu hoặc dùng để xác thực. Khi làm việc ở chế độ này, các sơ đồ mã có nguy cơ bị lộ thông tin do kiểu tấn công “nghịch lý ngày sinh nhật”. Với khả năng chống lại lỗi bản mã thì một bits lỗi truyền sẽ chỉ ảnh hưởng đến việc giải mã của 2 khối tiếp sau. Chế độ này không có khả năng chống lại lỗi đồng bộ hóa. (a) Encryption (b) Decryption Hình 1. 10 Chế độ mã hóa CBC Chế độ CFB (chế độ phản hồi mã- Chế độ Mã phản hồi): thường được sử dụng khi truyền các dòng dữ liệu hoặc dùng để xác thực. Chế độ này có khả năng khôi phục chống lại lỗi bản mã và có khả năng khôi phục chống lại lỗi đồng bộ hóa sau khi truyền một số lượng nào đó các khối. 15 (a) Encryption (b) Decryption Hình 1. 11 Chế độ mã hóa s-bít CFB Chế độ OFB (chế độ phản hồi đầu ra- Chế độ mật mã kết quả phản hồi): thường được sử dụng khi truyền dòng dữ liệu trên các kênh có nhiễu. Với chế độ này lỗi trong một bản mã chỉ ảnh hưởng lên lỗi của bản rõ tương ứng. 16 (a) Encryption (b) Decryption Hình 1. 12 Chế độ mã hóa s-bít OFB Chế độ CTR (Chế độ mật mã con đếm): chế độ này giống như chế độ CBC, độ bảo mật của chế độ này không tồi hơn chế độ CBC. Sơ đồ của nó đơn giản, sự móc xích (feedback) giữa các khối đã được loại trừ hoàn toàn, làm cho CTR có những hiệu năng tính toán cao đáng mong

Các file đính kèm theo tài liệu này:

  • pdfluan_van_nghien_cuu_ve_ma_hoa_toc_do_cao_ung_dung_cho_cac_ma.pdf
Tài liệu liên quan