Tài liệu Nghiên cứu hai hệ mật mã hạng nhẹ giành chiến thắng trong cuộc thi caesar.

  • Số trang: 86 |
  • Loại file: PDF |
  • Lượt xem: 135 |
  • Lượt tải: 0

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHUẤT QUANG DUY NGHIÊN CỨU HAI HỆ MẬT MÃ HẠNG NHẸ GIÀNH CHIẾN THẮNG TRONG CUỘC THI CAESAR ACORN VÀ ASCON LUẬN VĂN THẠC SĨ Ngành: Khoa học máy tính HÀ NỘI - 2019 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHUẤT QUANG DUY NGHIÊN CỨU HAI HỆ MẬT MÃ HẠNG NHẸ GIÀNH CHIẾN THẮNG TRONG CUỘC THI CAESAR ACORN VÀ ASCON Ngành: Khoa học máy tính Chuyên ngành: Khoa học máy tính Mã số: 8480101.01 LUẬN VĂN THẠC SĨ Ngành: Khoa học máy tính CÁN BỘ HƯỚNG DẪN TS. Lê Phê Đô HÀ NỘI - 2019 i TÓM TẮT Tóm tắt: Mật mã có xác thực và mật mã nhẹ đang là những chủ đề nóng trong cộng đồng mật mã những năm gần đây. Nhu cầu về mật mã nhẹ, có xác thực xuất phát từ sự phát triển bùng nổ của hệ thống vạn vật kết nối (Internet of Things – IoT), nơi mà rất nhiều thiết bị nhỏ gọn, năng lực tính toán thấp và giới hạn về tài nguyên được kết nối với nhau. Cùng với đó là sự xuất hiện của các lỗ hổng bảo mật trên các giao thức phổ biến hiện nay. Một số cuộc tấn công thực tế được đưa vào các giao thức (bao gồm SSL/TLS) là do thiếu xác thực và kiểm tra tính toàn vẹn của dữ liệu. Do đó, cần có những tiêu chuẩn mật mã mới để đảm bảo được tính xác thực dữ liệu, đồng thời có khả năng thực thi trên những thiết bị hạn chế về tài nguyên. Cuộc thi CAESAR nhằm kêu gọi cộng đồng mật mã thiết kế các chương trình mật mã có xác thực mới đã được khởi xướng năm 2013. Trong đó có rất nhiều ứng viên là các hệ mật mã nhẹ. Luận văn này sẽ tập trung nghiên cứu hai ứng viên giành chiến thắng ở hạng mục mật mã nhẹ của cuộc thi CAESAR là ACORN và Ascon. Phân tích, đánh giá các đặc trưng an toàn và hiệu suất của các thuật toán. Đồng thời cài đặt thực nghiệm những thuật toán này trên điện thoại thông minh chạy hệ điều hành Android. Từ khóa: mật mã nhẹ, mật mã có xác thực, ACORN, Ascon, CAESAR ii LỜI CẢM ƠN Đầu tiên, tôi muốn gửi lời cảm ơn chân thành nhất tới tiến sĩ Lê Phê Đô, người đã luôn tận tình hướng dẫn tôi nghiên cứu đề tài này. Nếu không có sự định hướng, những lời dạy bảo của thầy thì luận văn này tôi rất khó có thể hoàn thiện được. Tôi xin cảm ơn Khoa công nghệ thông tin, Trường Đại học Công nghệ đã tạo điều kiện, môi trường thuận lợi cho học viên trong quá trình học tập, nghiên cứu và hoàn thiện luận văn thạc sĩ. Tôi xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới các thầy, cô, bạn bè trong khoa Công nghệ thông tin, ngành Khoa học máy tính, đã luôn nhiệt tình giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu. Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình, người thân, những người luôn quan tâm, động viên để giúp tôi có động lực học tập, nghiên cứu và hoàn thiện đề tài nghiên cứu này. Bước đầu đi vào nghiên cứu, tìm hiểu các vấn đề về An toàn thông tin với kiến thức còn hạn chế, do vậy tôi không tránh khỏi những thiếu sót trong luận văn này. Tôi rất mong nhận được những ý kiến đóng góp của các thầy cô và bạn bè để hoàn thiện luận văn hơn nữa. Tôi xin chân thành cảm ơn! iii LỜI CAM ĐOAN Tôi xin cam đoan các kết quả trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của tiến sĩ Lê Phê Đô. Tất cả các tham khảo từ những nghiên cứu liên quan đều được trích dẫn nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong luận văn. Luận văn không sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về mặt tài liệu tham khảo. Các kết quả thực tế của luận văn đều được tiến hành thực nghiệm. Nếu phát hiện có bất kỳ sự gian lận nào, tôi xin hoàn toàn chịu trách nhiệm trước hội đồng, cũng như kết quả luận văn tốt nghiệp của mình. Hà Nội, ngày tháng Học viên năm , iv MỤC LỤC TÓM TẮT .........................................................................................................................i LỜI CẢM ƠN ................................................................................................................. ii LỜI CAM ĐOAN ........................................................................................................... iii MỤC LỤC ....................................................................................................................... iv DANH MỤC HÌNH VẼ...................................................................................................vi DANH MỤC BẢNG BIỂU ............................................................................................vii DANH MỤC VIẾT TẮT .............................................................................................. viii MỞ ĐẦU .......................................................................................................................... 1 Chương 1: TỔNG QUAN ................................................................................................. 3 1.1. Mật mã nhẹ .......................................................................................................... 3 1.1.1. Khái niệm ..................................................................................................... 3 1.1.2. Nguyên lý thiết kế ......................................................................................... 3 1.1.3. Quá trình phát triển ....................................................................................... 5 1.2. Mã hóa có xác thực .............................................................................................. 6 1.2.1. Khái niệm ..................................................................................................... 6 1.2.2. Nguyên lý thiết kế ......................................................................................... 7 1.2.3. Quá trình phát triển ....................................................................................... 8 1.3. Cuộc thi CAESAR ............................................................................................. 10 Chương 2: HAI HỆ MẬT MÃ HẠNG NHẸ GIÀNH CHIẾN THẮNG TRONG CUỘC THI CAESAR: ACORN VÀ ASCON ............................................................................ 16 2.1. Hệ mã ACORN ................................................................................................. 16 2.1.1. Tổng quan về thuật toán .............................................................................. 16 2.1.2. Các đặc trưng an toàn trong thiết kế của thuật toán ..................................... 23 2.1.3. Một số cuộc tấn công lên hệ mã ACORN .................................................... 26 2.1.4. Hiệu suất của thuật toán .............................................................................. 32 2.2. Hệ mã Ascon ..................................................................................................... 32 2.2.1. Tổng quan về thuật toán .............................................................................. 32 2.2.2. Các đặc trưng an toàn của thuật toán ........................................................... 40 2.2.3. Một số cuộc tấn công lên hệ mã Ascon ....................................................... 44 v 2.2.4. Hiệu suất của thuật toán .............................................................................. 50 Chương 3: CÀI ĐẶT THỰC NGHIỆM TRÊN THIẾT BỊ ANDROID ........................... 53 3.1. Mô tả bài toán .................................................................................................... 53 3.2. Cài đặt ............................................................................................................... 53 3.2.1. Môi trường thực nghiệm ............................................................................. 53 3.2.2. Cài đặt thuật toán ACORN (v3), Ascon-128 (v1.2) và AES-128-GCM ....... 54 3.2.3. Ứng dụng truyền dữ liệu đa phương tiện ..................................................... 56 3.3. Kết quả và đánh giá ........................................................................................... 59 3.3.1. Thời gian thực thi ........................................................................................ 60 3.3.2. Kích thước bộ nhớ RAM sử dụng ............................................................... 61 3.3.3. Truyền video trong thời gian thực ............................................................... 62 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 63 TÀI LIỆU THAM KHẢO............................................................................................... 65 vi DANH MỤC HÌNH VẼ Hình 1.1: Nguyên lý thiết kế của mật mã nhẹ .................................................................... 4 Hình 1.2: Số lượng mật mã nhẹ đối xứng tính đến 2017.................................................... 6 Hình 1.3: Mã hóa có xác thực ........................................................................................... 7 Hình 1.4: Nguyên lý thiết kế mật mã có xác thực .............................................................. 7 Hình 2.1: Kiến trúc thanh ghi dịch của ACORN [19] ...................................................... 16 Hình 2.2: Lược đồ mã hóa của ACORN [20] .................................................................. 20 Hình 2.3: Cơ chế hoạt động của Ascon [32] .................................................................... 34 Hình 2.4: Cấu trúc từ thanh ghi trạng thái của Ascon [32] ............................................... 37 Hình 2.5: Cấu trúc lớp thay thế của Ascon [32]............................................................... 38 Hình 2.6: Triển khai bitsliced của S-box 5 bit S(x) [32] .................................................. 39 Hình 2.7: Lớp khuếch tán tuyến tính của Ascon, trộn các bit trong các từ thông qua hàm ∑𝑖 (𝑥𝑖 ) [32]...................................................................................................................... 40 Hình 3.1: Java Native Interface trong Android ................................................................ 56 Hình 3.2: Kiến trúc ứng dụng CryptoCamera .................................................................. 57 Hình 3.3: Giao tiếp socket thông qua giao thức UDP ...................................................... 58 Hình 3.4: Ứng dụng CryptoTest để đánh giá thời gian thực thi ....................................... 59 Hình 3.5: Ứng dụng CryptoCamera truyền video mã hóa thời gian thực ......................... 60 Hình 3.6: Thời gian thực thi của các thuật toán ............................................................... 61 Hình 3.7: Kích thước bộ nhớ RAM bị chiếm khi thực hiện mã hóa – giải mã.................. 62 vii DANH MỤC BẢNG BIỂU Bảng 1.1: Số lượng ứng viên tham dự CAESAR............................................................. 11 Bảng 1.2: Các ứng viên bị loại và rút khỏi cuộc thi ......................................................... 11 Bảng 1.3: Một số cuộc tấn công trên các ứng viên của CAESAR .................................... 13 Bảng 2.1: Sự khác nhau giữa ACORN-v1 và ACORN-v2,v3 .......................................... 19 Bảng 2.2: Một số cuộc tấn công lên hệ mã ACORN ....................................................... 26 Bảng 2.3: Tốc độ (cpb) của ACORN với các độ dài bản rõ khác nhau ............................ 32 Bảng 2.4: Các tham số cài đặt đề xuất cho Ascon [32] .................................................... 33 Bảng 2.5: Hằng số vòng sử dụng trên các hoán vị pa và pb [32] ....................................... 37 Bảng 2.6: S-box 5 bit của Ascon [32] ............................................................................. 38 Bảng 2.7: Tuyến bố bảo mật của Ascon [32] ................................................................... 40 Bảng 2.8: Đặc trưng vi sai của S-box trong Ascon. [32].................................................. 41 Bảng 2.9: Đặc trưng tuyến tính của S-box trong Ascon [32] ........................................... 42 Bảng 2.10: Số lượng S-box hoạt động trong 4 vòng của hoán vị ..................................... 44 Bảng 2.11: Vi sai không thể trên 5 vòng của Ascon [32] ................................................. 44 Bảng 2.12: Một số cuộc tấn công lên Ascon ................................................................... 45 Bảng 2.13: Độ lệch đầu ra x0[i+1] tương ứng với vi sai ở bit đầu vào x3[i] và x4[i] của Sbox [41] .......................................................................................................................... 48 Bảng 2.14: Hiệu suất phần mềm (cycles per byte - cpb) trong trường hợp....................... 51 viii DANH MỤC VIẾT TẮT Dạng đầy đủ Ký hiệu AES Advanced Encryption Standard: là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa GCM Galois/Counter Mode: là một chế độ điều khiển trong mã hóa khối khóa đối xứng IoT Internet of Things – Vạn vật kết nối: Một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính CAESAR Competition for Authenticated Encryption: Security, Applicability and Robustness: cuộc thi lựa chọn một thuật toán mã hóa có xác thực đảm bảo ba yếu tố là tính bảo mật, khả năng ứng dụng và độ mạnh RFID Radio Frequency Identification: Hệ thống nhận dạng bằng tần số của sóng vô tuyến RAM Random Access Memory: một loại bộ nhớ khả biến cho phép truy xuất đọc-ghi ngẫu nhiên đến bất kỳ vị trí nào trong bộ nhớ dựa theo địa chỉ bộ nhớ PC Personal Computer: máy tính cá nhân NIST National Institute of Standards and Technology: Viện tiêu chuẩn và Công nghệ ix của Mỹ AE Authenticated Encryption: mã hóa có xác thực AEAD Authenticated encryption with associated data: mã hóa có xác thực với dữ liệu liên kết MAC Message authentication code: Mã xác thực thông báo SSL/TLS Secure Sockets Layer/Transport Layer Security: là các giao thức mật mã được thiết kế để cung cấp truyền thông an toàn qua một mạng máy tính IND-CPA Indistinguishability under chosen-plaintext attack: định nghĩa về an toàn cho hệ khóa công khai WPA Wifi Protected Access: Phương thức được liên minh Wifi đưa ra để thay thế WEP WEP Wired Equivalent Privacy: Cơ chế bảo mật được định nghĩa trong tiêu chuẩn 802.11 được thiết kế để tạo sự liên kết toàn vẹn của mạng không dây tương đương như mạng có dây Ethernet Một công nghệ mạng cục bộ nhằm chuyển thông tin giữa các máy tính với tốc độ từ 10-100 triệu bít một giây (Mbps) OpenVPN Một phần mềm mạng riêng ảo mã nguồn mở dành cho việc tạo các đường ống (tunnel) điểm-tới-điểm được mã hóa giữa các máy chủ x LUTs Lookup table - bảng tra cứu GE Gate equivalence: Cổng tương đương - một đơn vị đo lường cho phép xác định độ phức tạp độc lập về công nghệ sản xuất của các mạch điện tử kỹ thuật số UDP User Datagram Protocol: giao thức giúp chương trình trên mạng máy tính có thể gửi những dữ liệu ngắn tới máy khác. UDP không cung cấp sự tin cậy và thứ tự truyền nhận MSB Most significant bit: bit có trọng số cao nhất LSB Least significant bit: bit có trọng số thấp nhất 1 MỞ ĐẦU 1. Cơ sở khoa học và tính thực tiễn của đề tài Trong thời đại phát triển bùng nổ của cuộc cách mạng công nghiệp 4.0, nhu cầu về kết nối và trao đổi thông tin ngày càng trở nên mạnh mẽ. Đi cùng với đó là yêu cầu về vấn đề đảm bảo an toàn thông tin. Hiện nay, phương pháp chủ yếu được sử dụng để đảm bảo được tính bí mật và an toàn cho thông tin là mã hóa dữ liệu. Tuy nhiên, trong nhiều trường hợp, mã hóa đơn thuần là không đủ mạnh trước các cuộc tấn công phát lại, hay tấn công người đứng giữa (man-in-the-middle). Đòi hỏi cần có cơ chế xác thực để chống lại các dạng tấn công này. Kể từ năm 2017, AES-GCM đã trở thành thuật toán mã hóa được sử dụng phổ biến với mục đích đảm bảo đồng thời tính bí mật và tính xác thực cho dữ liệu. Tuy nhiên những lỗ hổng bảo mật được phát hiện gần đây đã đặt ra yêu cầu định nghĩa một tiêu chuẩn mật mã có xác thực mới. Bên cạnh vấn đề về tăng cường bảo mật thông qua các hệ mật mã có xác thực, yêu cầu về các hệ mật mã nhẹ cũng phản ánh nhu cầu của thời đại. Trong bối cảnh mạng kết nối vạn vật IoT đang phát triển ngày càng nhanh, không chỉ những thiết bị truyền thống với khả năng xử lý mạnh mẽ như PC, laptop, điện thoại di động, mà còn có rất nhiều các thành phần khác, với khả năng tính toán và cơ sở phần cứng hạn chế được kết nối vào các mạng IoT (như các cảm biến, thẻ thông minh, thiết bị y tế, …). Do đó, cần xây dựng những mật mã có khả năng thực thi trên môi trường tài nguyên giới hạn trong khi vẫn đảm bảo được độ an toàn cần thiết. Mật mã có xác thực và mật mã nhẹ là những chủ đề mới đang thu hút sự quan tâm của cộng đồng mật mã. Hiện nay, vẫn chưa có những tiêu chuẩn được đặt ra cho các dạng mật mã này. Các cuộc thi được tổ chức ở thời điểm hiện tại mới chỉ nhằm mục đích thúc đẩy cộng đồng xây dựng những hệ mật mã mới, lựa chọn ra các mật mã xuất sắc nhất để tạo tiền đề cho các quá trình tiêu chuẩn hóa. Trong bối cảnh đó, luận văn lựa chọn nghiên cứu về hai hệ mật mã có xác thực hạng nhẹ ACORN và Ascon. Phân tích, đánh giá và cài đặt thực nghiệm, so sánh với mật mã đang được sử dụng phổ biến hiện nay là AES-GCM. 2 Từ đó, đưa ra những kết quả về tính khả thi cũng như ưu điểm trong việc ứng dụng các hệ mật mã mới này. 2. Nội dung nghiên cứu Nội dung chính của luận văn được trình bày trong 3 chương: Chương 1: Giới thiệu tổng quan về mật mã nhẹ, mật mã có xác thực (một số khái niệm, nguyên lý thiết kế, quá trình phát triển) và cuộc thi CAESAR. Chương 2: Nghiên cứu hai hệ mật mã nhẹ giành chiến thắng trong cuộc thi CAESAR: ACORN và Ascon. Trình bày tổng quan thuật toán. Đánh giá các thuật toán trên phương diện đặc trưng an toàn và hiệu suất trong cài đặt. Chương 3: Cài đặt và so sánh hiệu suất của các thuật toán ACORN, Ascon và AESGCM trên điện thoại thông minh chạy hệ điều hành Android. Xây dựng và đánh giá tính khả thi của ứng dụng truyền video thời gian thực sử dụng các thuật toán mã hóa nói trên. 3 Chương 1: TỔNG QUAN 1.1. Mật mã nhẹ 1.1.1. Khái niệm Hiện nay, vẫn chưa có một định nghĩa chính thức nào về mật mã nhẹ được công bố bởi các hệ thống đánh giá mật mã tiêu chuẩn. Tuy nhiên, trong nhiều nghiên cứu, mật mã nhẹ có thể được hiểu là những thuật toán và giao thức mật mã được thiết kế để phù hợp cho việc cài đặt trên các môi trường bị hạn chế về tài nguyên như các thẻ RFID, cảm biến, thẻ thông minh, các hệ thống nhúng, … Các đặc trưng của mật mã nhẹ được mô tả trong tiêu chuẩn ISO/IEC 29192 [1]. Theo đó, độ an toàn tối thiểu của mật mã nhẹ là 80 bit. Đặc tính “nhẹ” phụ thuộc vào nền tảng cài đặt. Đối với triển khai phần cứng, đặc tính này được tính toán và đo lường thông qua diện tích chip và năng lượng tiêu thụ. Đối với triển khai phần mềm, kích thước mã nguồn, kích thước RAM lại là các tiêu chí đánh giá. Ngoài ra, một số đặc trưng khác như hiệu suất đối với bản tin ngắn hay độ trễ cũng được sử dụng để đánh giá các mật mã nhẹ. 1.1.2. Nguyên lý thiết kế Có nhiều cách tiếp cận trong việc tìm kiếm giải pháp để giải quyết các vấn đề cần đến mật mã nhẹ: - Sử dụng các mật mã truyền thống, nếu có thể - Điều chỉnh các mật mã truyền thống để thích nghi với các thành phần phần cứng và những giới hạn của hệ thống với chi phí thấp. - Xây dựng, phát triển các giải pháp, thuật toán mới, chuyên dụng trên cả phần cứng và phần mềm. Cho đến nay, hầu hết các nghiên cứu đều tập trung vào hướng tiếp cận thứ 3 và đã đạt được những kết quả tốt. Tuy nhiên việc xây một thuật toán mật mã thực thi được trên cơ sở phần cứng hạn chế cũng có thể phải đánh đổi bằng độ bảo mật hoặc độ bền tổng thể suy giảm. Do đó, để thiết kế được một thuật toán mật mã nhẹ trong khi vẫn đảm bảo mức độ an toàn cần thiết, người thiết kế phải cân đối giữa 3 tiêu chí: an toàn, hiệu suất và chi phí (Hình 1.1) 4 An toàn 48 vòng 256 bit Kích thước khóa Số vòng 80 bit 8 vòng Chi phí Hiệu suất Kiến trúc Nối tiếp Song song Hình 1.1: Nguyên lý thiết kế của mật mã nhẹ Trên thực tế, có thể dễ dàng đạt được hai trong số ba mục tiêu thiết kế. Trong khi đảm bảo được cả ba mục tiêu lại là một nhiệm vụ khá khó khăn. Ví dụ, có thể thiết kế được một thuật toán có độ an toàn và hiệu suất tốt, nhưng để thực thi thuật toán lại yêu cầu phần cứng với diện tích mạch lớn, dẫn đến tăng chi phí. Một số phương pháp thường được các nhà mật mã học sử dụng để đạt được các mục tiêu trong thiết kế mật mã nhẹ: - Giảm kích thước các tham số chính của thuật toán: kích thước khối dữ liệu, kích thước khóa, hay kích thước trạng thái của thuật toán. - Bù đắp sự mất mát không mong muốn về độ an toàn do thiết kế của thuật toán, dựa trên các nghiên cứu đáng tin cậy đã có. Thông thường được thực hiện bởi các chuyển đổi tuyến tính/phi tuyến cơ bản. - Lựa chọn những kỹ thuật đơn giản nhưng vẫn đạt hiệu quả tốt, ví dụ như các bit điều khiển hoán vị (lựa chọn hoán vị phù hợp phụ thuộc vào giá trị của bit điều khiển), hay các thanh ghi dịch. 5 - Sử dụng các phép biến đổi (transformations) phù hợp với tài nguyên của từng bộ mã hóa cụ thể (ví dụ: yêu cầu giảm bộ nhớ nhưng phải trả giá bằng tốc độ mã hóa và ngược lại). 1.1.3. Quá trình phát triển Nhu cầu về mật mã nhẹ xuất phát từ một thực tế rằng mạng lưới kết nối vạn vật (IoT) ngày càng phát triển mạnh. Số lượng lớn thiết bị được kết nối với nhau đồng nghĩa với việc những rủi ro về bảo mật sẽ tăng lên. Hơn nữa, không phải chỉ những thiết bị truyền thống với khả năng xử lý mạnh mẽ như PC, laptop, điện thoại di động, mà còn có rất nhiều các thành phần khác, với khả năng tính toán và cơ sở phần cứng hạn chế được kết nối vào các mạng IoT (như các cảm biến, thẻ thông minh, thiết bị y tế, …). Do đó, yêu cầu đặt ra là cần xây dựng những mật mã có khả năng thực thi trên môi trường tài nguyên giới hạn trong khi vẫn đảm bảo được được độ an toàn cần thiết. Nghiên cứu về mật mã nhẹ trở nên phát triển từ năm 2004 với dự án đầu tiên được chọn làm chủ đề cho Chương trình Khung (Framework Programmes) lần thứ 6 và 7 của Liên minh Châu Âu. Quá trình tiêu chuẩn hóa vẫn đang được hoàn thiện, bao gồm tiêu chuẩn ISO/IEC 29192, trong đó định nghĩa các thuật toán mật mã nhẹ cho từng lĩnh vực kỹ thuật và ISO/IEC 29167, mô tả công nghệ mật mã nhẹ cho các thiết bị nhận dạng tần số vô tuyến (RFID). Viện Tiêu chuẩn và Kĩ thuật Quốc gia (NIST) Hoa Kỳ cũng đã tổ chức những hội thảo về mật mã nhẹ từ năm 2015 và chính thức phát động chương trình “Lightweight Cryptography” để thu hút, đánh giá và chuẩn hóa mật mã nhẹ vào năm 2017 [2]. Trong vòng 25 năm qua, đặc biệt từ năm 2011, rất nhiều thuật toán mã hóa theo khuynh hướng “nhẹ” đã ra đời. Dưới đây là thống kê số lượng mật mã nhẹ đối xứng tính đến năm 2017 (Hình 1.2) [3] 6 Hình 1.2: Số lượng mật mã nhẹ đối xứng tính đến 2017 Tháng 4/2019, NIST đã công bố danh sách 56 thành viên (trên tổng số 57 yêu cầu được gửi đến) cho vòng đầu tiên của dự án “Lightweight Cryptography” [2]. Chương trình hứa hẹn sẽ tìm ra được những ứng viên chiến thắng, trở thành tiêu chuẩn mật mã nhẹ và được sử dụng rộng rãi trên toàn bộ thị trường. 1.2. Mã hóa có xác thực 1.2.1. Khái niệm Cũng tương tự như mật mã nhẹ, mã hóa có xác thực đang là một hướng đi mới trong cộng đồng mật mã hiện nay. Trong các nghiên cứu được công bố, nhìn chung mã hóa có xác thực (AE – Authenticated Encryption) có thể được hiểu là một hình thức mã hóa đảm bảo đồng thời tính bảo mật, tính toàn vẹn và tính xác thực của dữ liệu. Biến thể phổ biến nhất của AE là mã hóa có xác thực với dữ liệu liên kết (AEAD – Authenticated encryption with associated data). AEAD gắn dữ liệu liên kết (AD) với bản mã và bối cảnh nơi nó xuất hiện, do đó giúp phát hiện và ngăn chặn những nỗ lực “cắt và dán” (copy-and-paste) bản mã hợp lệ sang một ngữ cảnh khác. 7 Bản rõ Khóa Dữ liệu liên kết Mã hóa có xác thực Nonce Bản mã Dữ liệu liên kết Thẻ xác thực Hình 1.3: Mã hóa có xác thực 1.2.2. Nguyên lý thiết kế Cách tự nhiên nhất để xây dựng các lược đồ mã hóa xác thực là kết hợp các nguyên thủy mã hóa hiện có. Phương pháp này được gọi là “generic composition” [4]. Có ba cách tiếp cận chính, bao gồm: Encrypt-and-MAC, Encrypt-then-MAC và MAC-then-Encrypt. Bản rõ Bản rõ Bản rõ Khóa Hàm băm Mã hóa Khóa 1 Mã hóa Khóa Hàm băm Bản rõ Hàm băm Bản mã MAC a) EtM Khóa 2 MAC Mã hóa Bản mã MAC b) E&M Hình 1.4: Nguyên lý thiết kế mật mã có xác thực Bản mã c) MtE 8 Encrypt-and-MAC (E&M) MAC được tạo ra dựa vào bản rõ và bản rõ được mã hóa mà không cần MAC. MAC và bản mã được gửi đi cùng nhau. Cách tiếp cận này được sử dụng trong lớp vận chuyển (transport layer) của SSH Encrypt-then-MAC (EtM) Đầu tiên, bản rõ được mã hóa, sau đó MAC được sinh ra dựa trên bản mã kết quả. Bản mã và MAC được gửi đi cùng nhau. Cách tiếp cận này được sử dụng trong giao thức IPsec. MAC-then-Encrypt (MtE) MAC được tạo ra dựa vào bản rõ. Sau đó bản rõ và MAC cùng được mã hóa để thu được bản mã. Bản mã (chứa MAC đã mã hóa) được gửi đi. MtE được sử dụng trong giao thức SSL/TLS Thông qua nghiên cứu của mình, Ballare và Namprempre cũng đã chứng minh rằng mã hóa một bản tin, sau đó áp dụng MAC vào bản mã (EtM) là tối ưu hơn so với hai phương pháp còn lại [4]. Ngoài các cách tiếp cận tự nhiên như trên, cũng có nhiều cách khác để xây dựng mật mã có xác thực. Trong những năm qua , nhiều lược đồ mã hóa xác thực hiệu quả hơn đã được xây dựng bằng các kỹ thuật khác nhau [5, 6], bao gồm hoán vị không sử dụng khóa (keyless permutations) [7] và mật mã dòng [8]. Những cách tiếp cận mới này đã thay đổi hiểu biết của các nhà mật mã học về AE từ việc pha trộn các nguyên thủy mật mã sang xây dựng một một khối thống nhất ngay từ đầu. 1.2.3. Quá trình phát triển Nhu cầu về mã hóa xác thực được hình thành từ việc chúng ta nhận thấy rằng một số cuộc tấn thực tế được đưa vào các giao thức (bao gồm SSL/TLS) là do thiếu xác thực và kiểm tra tính toàn vẹn của dữ liệu. Giao thức Needham-Schroeder được Roger Needham và Michael Schroeder phát minh vào năm 1978, là một giao thức vận chuyển hướng tới sử dụng trên các mạng không an toàn. Bao gồm giao thức Needham-Schoroeder khóa đối xứng, nhằm mục đích thiết
- Xem thêm -