Quá trình chuẩn hóa mật mã sau lượng tử của NIST hiện đang ở giai đoạn thứ ba, có 7 ứng viên chính thức lọt vào vòng chung kết thứ ba và 8 ứng viên dự bị đang được xem xét để tiêu chuẩn hóa. NIST đã tổ chức trực tuyến Hội nghị Tiêu chuẩn hóa Mật mã Hậu lượng tử lần thứ ba vào ngày 7-9 tháng 6/2021 để thảo luận về các khía cạnh khác nhau của những ứng cử viên này và thu được những phản hồi có giá trị cho các lựa chọn cuối cùng. Mỗi nhóm mà đã đệ trình các thuật toán trong số 15 thuật toán lọt vào vòng chung kết được mời đưa ra một bản cập nhật ngắn về thuật toán của họ. Tất nhiên, trong hội nghị cũng còn một số báo cáo khác [1]. Bài viết này sẽ trình bày về tình trạng chứng minh hình thức của hai ứng cử viên, đó là Kyber và Saber.
Kyber là cơ chế bọc gói khóa (Key Encapsulation Mechanism - KEM) được chứng minh có độ an toàn IND-CCA2 dựa trên độ khó của việc giải bài toán learning-with-errors (LWE) trên lưới mô-đun. Bản đệ trình liệt kê ba bộ tham số khác nhau nhằm vào các mức an toàn khác nhau. Cụ thể, Kyber-512 hướng đến độ an toàn tương đương với AES-128, Kyber-768 hướng tới độ an toàn tương đương với AES-192 và Kyber-1024 hướng tới độ an toàn tương đương với AES-256.
Đối với những người dùng quan tâm đến việc sử dụng Kyber, có những khuyến cáo sau:
Kyber và Saber là hai ứng cử viện nặng ký cho mật mã hậu lượng tử. Những thông tin khá chi tiết về hai thuật toán này được đăng tải tại các trang web https://pq-crystals.org/kyber/ và https://www.esat.kuleuven.be/cosic/pqcrypto/saber/. Hai thuật toán này đã thu hút được sự quan tâm lớn của cộng đồng mật mã, có rất nhiều công trình nghiên cứu về hai thuật toán này. Trên trang web của Hiệp hội quốc tế những nhà nghiên cứu mật mã (eprint.iacr.org), chỉ tính riêng trong năm 2021 (cho tới ngày 9/11/2021) đã có 12 bài báo viết về Kyber (các bài số 1364, 1311, 1307, 1222, 1189, 986, 956, 874, 563, 561, 483 và 193) và có 8 bài viết về Saber (các bài số 1452, 1364, 1202, 995, 986, 902, 193 và 079).
Trước đây, các thuộc tính an toàn của các lược đồ mật mã đã được xác nhận bằng các chứng minh độ an toàn viết tay. Tuy nhiên, sự đổi mới và phát triển trong lĩnh vực mật mã đã dẫn đến sự gia tăng đáng kể trong độ phức tạp của các lược đồ mật mã. Do đó, các chứng minh độ an toàn viết tay về cơ bản trở nên rất khó khăn để được thực hiện một cách chuẩn xác. Trên thực tế, tồn tại nhiều trường hợp chứng minh độ an toàn, mặc dù chúng đã được xem xét kỹ lưỡng và được coi là chuẩn xác, nhưng thực tế lại bị lỗi. Thậm chí tệ hơn, trong một số trường hợp, lược đồ mật mã tương ứng cũng được phát hiện là không an toàn [2]. Những trường hợp này minh chứng rõ ràng tầm quan trọng và tính khó khăn của việc xây dựng một cách đúng đắn một lược đồ mật mã và chứng minh độ an toàn của nó.
Ngoài mối quan tâm ở trên, ngay cả khi một lược đồ mật mã được xác nhận độ an toàn của nó là hoàn toàn chính xác thì các lỗi cài đặt vẫn có thể làm mất hiệu lực của các thuộc tính và bảo đảm bất kỳ của lược đồ. Kết quả là, mặc dù lược đồ hoàn toàn mạnh ở mức thiết kế, nhưng không có độ an toàn nào có thể được đảm bảo. Tương tự như quan tâm trước, tồn tại nhiều ví dụ về cài đặt bị lỗi của các hệ thống mật mã mạnh dẫn tới các tổn thương độ an toàn [3]. Điều này cho thấy tầm quan trọng của việc cài đặt mật mã một cách hợp lý và an toàn.
Để khắc phục một phần các vấn đề nói trên, lĩnh vực mật mã có sự hỗ trợ của máy tính đã được sử dụng. Lĩnh vực nghiên cứu này tìm cách phát triển các tiếp cận khác nhau để đưa ra các thuật toán mật mã sử dụng máy tính có thể xác nhận và đảm bảo tính an toàn nhằm khẳng định tính chuẩn xác, hiệu quả và độ an toàn khi sử dụng hỗ trợ từ máy tính. Việc sử dụng máy tính theo cách này làm giảm đáng kể độ phức tạp của lao động thủ công trong việc chứng minh độ an toàn và tính chuẩn xác của một lược đồ và các cài đặt của nó, đồng thời cung cấp mức độ chặt chẽ cao một cách nhất quán. Điều này cho phép thu được mức tin cậy cao hơn về độ an toàn, tính chuẩn xác của một lược đồ mật mã và các cài đặt của nó.
Sự phát triển gần đây trong lĩnh vực mật mã có sự hỗ trợ của máy tính xác nhận rằng một quy trình xác nhận hình thức tổng quát có thể được áp dụng cho các hệ thống mật mã trong thế giới thực [4]. Đặc biệt, khi đã cho đặc tả của lược đồ và chứng minh độ an toàn (viết tay), quá trình này cho phép người ta xác nhận một cách hình thức bất kỳ lược đồ nào và các cài đặt của nó. Ngoài ra, quy trình không phụ thuộc vào bất kỳ công cụ cụ thể nào, miễn là chúng cho phép thực hiện nhiệm vụ xác nhận mong muốn. Tuy nhiên, việc lựa chọn công cụ có thể ảnh hưởng đáng kể đến độ khó của quá trình. V í dụ, tùy thuộc vào các thuộc tính được xác nhận hoặc kiểu chứng minh được sử dụng. Quá trình diễn ra được tóm tắt như sau. Đầu tiên, người ta hình thức hóa đặc tả của lược đồ, các thuộc tính độ an toàn.
Sau đó, lược đồ đã được chỉ ra sẽ được chứng minh là sở hữu các thuộc tính an toàn mong muốn. Sau đó, cài đặt của lược đồ có thể được kiểm tra là chuẩn xác về mặt chức năng đối với đặc tả của lược đồ. Do đó, cài đặt được chỉ ra là tương ứng với một đặc tả, đặc tả này đã được xác nhận sở hữu một số thuộc tính mong muốn nhất định, ngụ ý cài đặt cũng sở hữu các thuộc tính này. Cuối cùng, tùy thuộc vào các công cụ có sẵn và được sử dụng, một số thuộc tính khác của cài đặt có thể được xác nhận. Ví dụ về các thuộc tính như vậy là tính an toàn bộ nhớ và có thời gian chạy không đổi.
EasyCrypt là một công cụ chủ yếu nhằm để chứng minh một cách hình thức các thuộc tính an toàn của các cấu trúc mật mã [5]. Để đạt được mục đích này, công cụ áp dụng cách tiếp cận dựa trên mã lệnh cho độ an toàn chứng minh được. Nghĩa là, các thuộc tính độ an toàn và các giả thiết khó được mô hình hóa như các chương trình xác suất. Hơn nữa, logic bao quanh bậc cao hơn của công cụ, thư viện tiêu chuẩn và các cơ chế được tích hợp sẵn cho phép suy luận toán học mở rộng, các kiểu chứng minh khác nhau (ví dụ, chơi trò chơi và dựa trên mô phỏng) và xây dựng mô-đun của hệ thống mật mã.
Mặc dù được áp dụng thuận tiện hơn ở mức thiết kế, EasyCrypt có thể được sử dụng ở cả mức cài đặt. Đặc biệt là với sự phát triển của khung như Jasmin, việc sử dụng EasyCrypt để xác nhận tính đúng đắn về mặt chức năng và thuộc tính thời gian chạy không đổi của các cài đặt cụ thể được thực hiện ít phức tạp hơn đáng kể.
Jasmin là một khung được thiết kế cho cài đặt mật mã tốc độ cao và tin cậy cao [6]. Khung bao gồm ngôn ngữ lập trình, trình biên dịch và một số công cụ để xác nhận (một phần) tự động các thuộc tính chương trình mong muốn. Đặc biệt, các công cụ của khung hỗ trợ nhà phát triển chứng minh một cách hình thức một cài đặt Jasmin là an toàn về bộ nhớ, thời gian chạy không đổi và đúng chức năng. Ở đây, trái với công cụ để đảm bảo an toàn về bộ nhớ, các công cụ cho tính đúng đắn của chức năng và thời gian không đổi không hoàn toàn tự động. Do đó, việc xác nhận các thuộc tính này vẫn đòi hỏi một số lao động thủ công, mặc dù công sức này là tối thiểu đối với thuộc tính thời gian chạy không đổi. Cụ thể, khi đã cho một cài đặt Jasmin, các công cụ này tạo ra mã EasyCrypt nhằm xác nhận thuộc tính tương ứng của chúng. Sau đó, mã lệnh này có thể được sử dụng để xác nhận thực sự thuộc tính được xem xét trong EasyCrypt.
Bài thuyết trình [1] đã trình bày tiến trình của hai dự án xác nhận hình thức của các thí sinh lọt vào vòng chung kết cuộc thi PQC: một cho Kyber và một cho Saber. Mục tiêu cuối cùng của cả hai dự án là giống hệt nhau và có 2 mặt; cụ thể, cả hai dự án đều nhằm mục đích: (1) xác nhận một cách hình thức độ an toàn IND-CCA2 cho đặc tả của cơ chế bọc khóa; (2) xác nhận một cách hình thức tính đúng đắn về mặt chức năng, thuộc tính an toàn về bộ nhớ và thời gian chạy không đổi của một cài đặt mẫu và một cài đặt tối ưu của cơ chế bọc khóa. Với mục đích này, cả hai dự án đều sử dụng EasyCrypt và Jasmin.
Tại thời điểm 6/2021, tiến độ của cả hai dự án như sau. Đối với cả Kyber và Saber, một cài đặt mẫu và một cài đặt tối ưu đã được xây dựng trong Jasmin. Ngoài ra, dự án Kyber đã xác minh một cách hình thức thuộc tính IND-CPA và cận với độ chuẩn xác (1 - d) của đặc tả mã hóa khóa công khai, tính đúng đắn về chức năng và tính an toàn về bộ nhớ của cài đặt mẫu cũng như tính an toàn về bộ nhớ của cài đặt tối ưu hóa. Dự án Saber đã xác nhận một cách hình thức thuộc tính IND-CPA của lược đồ mã hóa khóa công khai và tính an toàn về bộ nhớ của cả hai cách cài đặt.
Mặc dù có vẻ không may là việc phân tích xem xét các đối thủ lượng tử vẫn chưa thể thực hiện được trong EasyCrypt, nhưng xác nhận hình thức trong thiết lập cổ điển đã cung cấp cái nhìn sâu sắc có giá trị về các lược đồ này và các thuộc tính của chúng. Nhưng trong công trình gần đây, Unruh đã xác nhận một cách hình thức độ an toàn hậu lượng tử của phép biến đổi Fujisaki-Okamoto trong công cụ qRHL [7]. Do đó, việc xác nhận các tính chất của các lược đồ Kyber và Saber trong thiết lập cổ điển cũng làm tăng độ tin tưởng vào tính đúng đắn và độ an toàn của các lược đồ này khi xem xét các đối thủ lượng tử.
TÀI LIỆU THAM KHẢO 1. Manuel Barbosa, Andreas Hülsing, Matthias Meijers and Peter Schwabe, Formal Verifcation of Post-Quantum Cryptography, https://csrc.nist.gov/CSRC/ media/ Events/third-pqc-standardization-conference/documents/ accepted-papers/meijers-formal-verification-pqc2021.pdf 2. N. Koblitz and A. Menezes, “Critical perspectives on provable security: Fifteen years of “another look” papers.” Cryptology ePrint Archive, Report 2019/1336, 2019. https://eprint.iacr.org/2019/1336. 3. D. Lazar, H. Chen, X. Wang, and N. Zeldovich, “Why does cryptographic software fail? a case study and open problems”, in Proceedings of 5th Asia-Pacifc Workshop on Systems, APSys ’14, (New York, NY, USA), Association for Computing Machinery, 2014. 4. M. Barbosa, G. Barthe, K. Bhargavan, B. Blanchet, C. Cremers, K. Liao, and B. Parno, “Sok: Computer-aided cryptography.” Cryptology ePrint Archive, Report 2019/1393, 2019. https://eprint.iacr.org/2019/1393. 5. G. Barthe, F. Dupressoir, B. Grégoire, C. Kunz, B. Schmidt, and P.-Y. Strub, EasyCrypt: A Tutorial, pp. 146– 166. Cham: Springer International Publishing, 2014. 6. J. B. Almeida, M. Barbosa, G. Barthe, A. Blot, B. Grégoire, V. Laporte, T. Oliveira, H. Pacheco, B. Schmidt, and P.-Y. Strub, “Jasmin: High-assurance and highspeed cryptography,” in Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, CCS ’17, (New York, NY, USA), p. 1807–1823, Association for Computing Machinery, 2017. 7. D. Unruh, “Post-quantum verifcation of FujisakiOkamoto,” in Advances in Cryptology – ASIACRYPT 2020 (S. Moriai and H. Wang, eds.), (Cham), pp. 321– 352, Springer International Publishing, 2020. |
TS. Trần Duy Lai
17:00 | 20/06/2022
08:00 | 12/11/2020
11:00 | 27/01/2023
10:00 | 17/11/2020
16:00 | 09/08/2022
15:35 | 03/02/2016
11:00 | 27/01/2023
Tháng 7/2020, Rainbow - một trong 3 thuật toán chữ ký số là ứng cử viên vào vòng 3 của quá trình tuyển chọn thuật toán hậu lượng tử của NIST. Tuy nhiên, vào tháng 2/2022, Ward Beullens đã phá được thuật toán này chỉ trong thời gian một dịp nghỉ cuối tuần trên một máy tinh xách tay. Vì thế, tháng 7/2022, trong danh sách các thuật toán chữ ký số hậu lượng tử sẽ được chuẩn hóa mà NIST công bố đã không có tên Rainbow.
17:00 | 15/11/2022
Giao thức SSL/TLS được sử dụng để bảo mật kênh truyền cho rất nhiều dịch vụ mạng hiện nay như: dịch vụ Web, Email, Database, VoIP... TLS 1.3 là phiên bản mới nhất của giao thức này với nhiều ưu điểm như tốc độ nhanh và độ an toàn cao hơn so với các phiên bản trước [1]. Bài viết này sẽ trình bày chi tiết về cách thức hoạt động và thuật toán mật mã được sử dụng trong TLS 1.3.
09:00 | 09/06/2022
Theo Trung tâm Xử lý tin giả Việt Nam (VAFC), qua xác minh đơn vị này xác định website “https://2.0840113vn.org” giả mạo Cổng Thông tin điện tử của Bộ Công an (http://bocongan.gov.vn) với mục đích lừa đảo nhằm chiếm đoạt tài sản.
08:00 | 18/01/2022
Không dưới 1.220 trang web lừa đảo Man-in-the-Middle (MITM) hiện nay đã bị phát hiện nhắm mục tiêu vào các dịch vụ trực tuyến phổ biến như Instagram, Google, PayPal, Apple, Twitter và LinkedIn nhằm mục đích đánh cắp thông tin đăng nhập của người dùng.