Thứ tư, 04/12/2024 13:57

Quá trình chuẩn hóa mật mã hậu lượng tử

Đặng Tuấn Anh, Phạm Quốc Hoàng

Học viện Kỹ thuật mật mã

Bảo mật thông tin là một trong những vấn đề cơ bản và cấp bách trong kỷ nguyên chuyển đổi số. Các thuật toán chữ ký số và kỹ thuật mật mã đã được áp dụng để bảo vệ và xác thực thông tin nhạy cảm. Tuy nhiên, với sự ra đời của máy tính lượng tử và các thuật toán lượng tử, kỹ thuật mật mã cổ điển có nguy cơ sụp đổ vì máy tính lượng tử có thể giải quyết các bài toán phức tạp trong thời gian đa thức. Vì vậy, các nhà nghiên cứu trên toàn thế giới đã đẩy mạnh nghiên cứu về các thuật toán hậu lượng tử để chống lại sự tấn công của máy tính lượng tử. Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ đã phát động một cuộc thi để lựa chọn ứng cử viên tốt nhất cho tiêu chuẩn dự kiến. Trong bài báo này, các tác giả khảo sát các nghiên cứu trong những năm gần đây về mật mã hậu lượng tử (Post-Quantum Cryptography - PQC), bao gồm cái nhìn tổng quan về tài liệu, tình trạng triển khai hiện tại và thảo luận về công việc trong tương lai.

Tổng quan về mật mã hậu lượng tử

Sự phát triển vượt bậc của máy tính lượng tử đang đặt ra những thách thức nghiêm trọng đối với các hệ thống mật mã hiện tại. Với sự xuất hiện của các thuật toán lượng tử như Shor và Grover, máy tính lượng tử có khả năng phá vỡ các hệ mật mã khóa công khai hiện tại trong thời gian đa thức, từ đó đe dọa an ninh của các hệ thống thông tin trên toàn cầu. Để ứng phó với nguy cơ này, cộng đồng mật mã quốc tế đã nhanh chóng chuyển hướng sang nghiên cứu và phát triển các thuật toán mật mã có khả năng chống lại tấn công từ máy tính lượng tử, được gọi là PQC. Mục tiêu của các thuật toán này là cung cấp mức độ bảo mật tương đương hoặc cao hơn so với các hệ mật mã cổ điển, ngay cả khi máy tính lượng tử đạt đến hiệu suất vượt trội. Các thuật toán PQC thường dựa trên các bài toán khó lượng tử như mã hóa dựa trên lưới, mã hóa dựa trên mã và lý thuyết đa thức.

Máy tính lượng tử là loại máy tính sử dụng các nguyên lý của cơ học lượng tử để thực hiện các phép tính. Không giống như máy tính cổ điển sử dụng các bit có thể là 0 hoặc 1, máy tính lượng tử sử dụng các bit lượng tử hoặc qubit, có thể ở nhiều trạng thái cùng một lúc, cho phép máy tính lượng tử thực hiện một số loại phép tính nhanh hơn nhiều, như bài toán phân tích thừa số các số nguyên lớn. Máy tính lượng tử vẫn đang trong giai đoạn thử nghiệm và chưa được phổ biến rộng rãi. Tuy nhiên, những tiến bộ đáng kể trong những năm gần đây đã được thực hiện trong việc xây dựng các nguyên mẫu và chứng minh khả năng tiềm tàng của chúng.

Công trình quan trọng đầu tiên về PQC bắt đầu vào cuối những năm 1990. Vào thời điểm đó, các nhà toán học và nhà khoa học máy tính nhận ra rằng máy tính lượng tử có thể phá vỡ các hệ thống mật mã được sử dụng rộng rãi như Rivest-Shamir-Adleman (RSA) và mật mã trên đường cong ellip (ECC), dựa trên các bài toán có thể được giải quyết hiệu quả bằng máy tính lượng tử. Một trong những thuật toán PQC sớm nhất được đề xuất là hệ thống mật mã McEliece, được Robert McEliece giới thiệu vào năm 1978 và dựa trên lý thuyết về mã sửa lỗi. Hệ thống mật mã McEliece được biết đến với khả năng chống lại các cuộc tấn công dựa trên lượng tử, nhưng nó vẫn chưa được áp dụng rộng rãi do kích thước khóa lớn. Ngoài các thuật toán PQC dựa trên các bài toán khó, mật mã dựa trên hàm băm là một loại PQC dựa trên các hàm băm, là các hàm toán học lấy dữ liệu đầu vào có độ dài tùy ý và tạo ra đầu ra có độ dài cố định với ưu điểm là tương đối dễ triển khai và không yêu cầu kích thước khóa lớn. Mật mã đa biến là một cách tiếp cận khác đối với PQC, dựa trên độ khó của việc giải các hệ phương trình đa thức đa biến, được biết đến với kích thước khóa nhỏ nhưng dễ bị một số loại tấn công nhất định.

Trong những năm gần đây, đã có nhiều nghiên cứu và phát triển đáng kể về PQC. Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) đã bắt đầu một cuộc thi công khai vào năm 2016 để phát triển các tiêu chuẩn PQC mới. Cuộc thi đã thu hút hơn 80 bài dự thi từ các nhà nghiên cứu trên toàn thế giới và vòng chung kết đầu tiên đã được công bố vào năm 2019. Mục tiêu của cuộc thi là xác định các thuật toán mật mã mới có thể chống lại các cuộc tấn công của máy tính lượng tử và có thể được sử dụng để bảo mật thông tin nhạy cảm trong tương lai. Do đó, các thuật toán chính trong họ PQC dựa trên mã với khả năng mã hóa và giải mã nhanh, tỷ lệ lỗi giải mã thấp, nhưng thường có kích thước khóa rất lớn để đảm bảo an ninh, được sử dụng cho thuật toán mã hóa khóa công khai/cơ chế bọc khóa (PKE/KEM). Các thuật toán dựa trên lưới có ưu điểm là kích thước khóa và văn bản mã hóa ngắn, triển khai đơn giản và hiệu suất tốt, mặc dù kích thước chữ ký thường rất lớn. Các thuật toán dựa trên hàm băm rất phù hợp với các lược đồ chữ ký số.

Trong nghiên cứu này, nhóm tác giả trình bày tổng quan quá trình chuẩn hóa PQC do NIST khởi xướng, bao gồm các giai đoạn đánh giá và lựa chọn, các tiêu chí đánh giá, và các ứng viên hàng đầu trong cuộc thi này. Các tác giả cũng sẽ phân tích chi tiết về tình trạng triển khai thực tiễn của các thuật toán, những thách thức kỹ thuật đang đối mặt và hướng phát triển trong tương lai. Việc chuẩn hóa PQC không chỉ có ý nghĩa quan trọng trong việc đảm bảo an ninh mạng trong kỷ nguyên máy tính lượng tử mà còn mở ra nhiều cơ hội nghiên cứu và ứng dụng mới trong ngành mật mã.

Chuẩn hóa của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ

Sau khi mật mã đã trải qua nhiều giai đoạn phát triển khác nhau, NIST đã nảy ra ý tưởng vào những năm 1970 là chọn một mật mã để trở thành chuẩn chung cho cả nước, từ đó thuật toán chuẩn mã hóa dữ liệu (DES) được giới thiệu, với kích thước khóa tương đối nhỏ. Sau khi bị phá vỡ vào năm 1997 vì nhược điểm đó, NIST lại tiếp tục kêu gọi đề xuất về mã khối mới và nhận được 50 thuật toán dự thi. Đến năm 2000, thuật toán AES đã được chọn và hiện đang được sử dụng rộng rãi như một chuẩn cho mã hóa đối xứng. Tuy nhiên, sự ra đời của máy tính lượng tử và thuật toán mật mã lượng tử đã đe dọa sự tồn tại của các mật mã dựa trên độ khó toán học. Do đó, vào năm 2016, NIST tiếp tục kêu gọi đề xuất về các thuật toán hậu lượng tử để tìm ra các thuật toán có thể chống lại sức mạnh của điện toán lượng tử. Hiện tại, quá trình chuẩn hóa của NIST đang ở vòng thứ tư. Ở vòng thứ tư, bốn ứng viên được chọn để triển khai chuẩn hóa cho PKE/KEM đã vượt qua vòng thứ ba. Trong quá trình tuyển chọn, thuật toán ứng viên SIKE đã bị Wouter Castryck và Thomas Decru phá vỡ bằng máy tính cổ điển. Do đó, chỉ còn lại ba ứng viên cho vòng PKE/KEM dựa trên mã này. Từ ngày 29/11/2022 đến ngày 1/12/2022, NIST đã tổ chức hội nghị trực tuyến thứ tư về PQC. Tại hội nghị này, NIST và các nhà nghiên cứu đã thảo luận về các thuật toán ứng viên và các phản hồi có giá trị để đi đến kết luận, và các ứng viên cũng có thể trình bày các bản cập nhật của họ cho thuật toán. Sau bảy phần, các báo cáo đề xuất các bản cập nhật và triển khai phần cứng của các thuật toán đề cử và các ứng dụng của chúng. Từ những kết quả tích cực của hội nghị, NIST có cơ sở để lựa chọn thuật toán phù hợp cho quá trình chuẩn hóa trong thời gian ngắn.

Như vậy, sau bốn vòng tuyển chọn, ba vòng đã hoàn thành và vòng chung kết đã diễn ra; ba thuật toán ứng viên còn lại cho chuẩn hóa PKE/KEM. Chỉ có bốn thuật toán PKE/KEM và ba lược đồ chữ ký số được chọn trong số 69 ứng viên hợp lệ ở vòng đầu tiên. Trong số bảy thuật toán ứng viên được chọn, một thuật toán PKE/KEM và ba lược đồ chữ ký số sẽ được chuẩn hóa, trong khi ba thuật toán PKE/KEM còn lại sẽ được chọn thêm khi chọn một thuật toán chuẩn cho PKE. Quá trình tuyển chọn kết thúc vào năm 2023 và NIST đã thông báo rằng tiêu chuẩn đầu tiên sẽ được công bố vào năm 2024.

Ở vòng thứ 5: Hội nghị chuẩn hóa PQC lần thứ 5 từ ngày 10-12/4/2024, tại Rockville, Maryland. Mục tiêu của hội nghị là thảo luận về các khía cạnh khác nhau của các thuật toán (bao gồm cả những thuật toán đã được chọn và đang được đánh giá) và thu thập các phản hồi có giá trị nhằm hỗ trợ quyết định chuẩn hóa. Các nhóm sẽ được mời đề xuất cho các thuật toán BIKE, Classic McEliece, Falcon và HQC để cung cấp cập nhật về các thuật toán của các nhóm nghiên cứu. Ngoài ra, NIST đang kêu gọi các bài nghiên cứu, bài thảo luận, khảo sát, bài thuyết trình, nghiên cứu điển hình, đề xuất cho các buổi hội thảo và sự tham gia từ tất cả các bên quan tâm, bao gồm các nhà nghiên cứu, kiến trúc sư hệ thống, nhà phát triển, nhà cung cấp và người sử dụng.

Các tiêu chuẩn mới được thiết kế cho hai nhiệm vụ thiết yếu mà mã hóa thường được sử dụng: mã hóa chung, được sử dụng để bảo vệ thông tin được trao đổi qua mạng công cộng; và chữ ký số, được sử dụng để xác thực danh tính. NIST đã công bố lựa chọn bốn thuật toán - CRYSTALS-Kyber, CRYSTALS-Dilithium, Sphincs+ và Falcon - dự kiến ​​sẽ chuẩn hóa vào năm 2022 và đã phát hành các phiên bản dự thảo của ba trong số các tiêu chuẩn này vào năm 2023. Bản dự thảo tiêu chuẩn thứ tư dựa trên Falcon dự kiến ​​sẽ ra mắt vào cuối năm 2024.  

Mặc dù không có thay đổi đáng kể nào được thực hiện đối với các tiêu chuẩn kể từ các phiên bản dự thảo, NIST đã thay đổi tên của các thuật toán để chỉ định các phiên bản xuất hiện trong ba tiêu chuẩn xử lý thông tin liên bang (FIPS) đã hoàn thiện và một bản dự thảo tiêu chuẩn được phát hành đang được nghiên cứu được thể hiện trong bảng 1. FIPS 203 được coi là tiêu chuẩn chính cho mã hóa chung. Trong số các ưu điểm của nó là các khóa mã hóa tương đối nhỏ mà hai bên có thể dễ dàng trao đổi, cũng như tốc độ hoạt động của nó. Tiêu chuẩn này dựa trên  thuật toán CRYSTALS-Kyber, đã được đổi tên thành ML-KEM, viết tắt của Module-Lattice-Based Key-Encapsulation Mechanism.

Bảng 1. Các tiêu chuẩn xử lý thông tin liên bang của NIST.

FIPS 203

FIPS 204

FIPS 205

FIPS 206

- Tiêu chuẩn chính cho mã hóa chung

- Tiêu chuẩn dựa trên CRYSTALS-Kyber

- Tiêu chuẩn chính để bảo vệ chữ ký số

- Tiêu chuẩn sử dụng CRYSTALS-Dilithium

- Thiết kế cho chữ ký số

- Tiêu chuẩn sử dụng SPHINCS+

- Dự thảo tiêu chuẩn  xây dựng dựa trên Falcon

 

FIPS 204 được coi là tiêu chuẩn chính để bảo vệ chữ ký số. Tiêu chuẩn này sử dụng thuật toán CRYSTALS-Dilithium, đã được đổi tên thành ML-DSA, viết tắt của Thuật toán chữ ký số dựa trên mô-đun-mạng lưới.

FIPS 205 cũng được thiết kế cho chữ ký số. Tiêu chuẩn này sử dụng thuật toán SPHINCS+, đã được đổi tên thành SLH-DSA, viết tắt của Stateless Hash-Based Digital Signature Algorithm. Tiêu chuẩn này dựa trên một phương pháp toán học khác với ML-DSA và được coi là phương pháp dự phòng trong trường hợp ML-DSA có thể dễ bị tấn công.

Tương tự như vậy, khi bản dự thảo tiêu chuẩn FIPS 206 được xây dựng xung quanh Falcon sẽ phát hành, thuật toán sẽ được gọi là FN-DSA, viết tắt của FFT (biến đổi Fourier nhanh) trên Thuật toán chữ ký số dựa trên lưới NTRU.

Hình 1. Các vòng chuẩn hóa mật mã hậu lượng tử của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ.

Một số nghiên cứu liên quan đến mật mã hậu lượng tử

Năm 2019, Banerjee và cộng sự đã thực hiện trên chip TSMC 40 nm LP CMOS và đánh giá kết quả đối với thuật toán CRYSTALS-Kyber với ba bộ tham số, Kyber-512, Kyber-768 và Kyber-1024, tương ứng với các mức độ an ninh 1, 3 và 5. Việc đánh giá kết quả dựa trên các tiêu chí số chu kỳ xung nhịp, mức tiêu thụ năng lượng và công suất, đánh giá ba bước trong giao thức bao gồm tạo khóa, mã hóa và giải mã. Kết quả của nghiên cứu này được so sánh với các nghiên cứu trước đó thực hiện trên Cortex-M4. Kết quả cho thấy số chu kỳ thực thi trên chip giảm từ 3 đến 16 lần và năng lượng tiêu thụ giảm từ 10 đến 20 lần, tùy thuộc vào bước trong giao thức, so với các nghiên cứu trước.

Trong nghiên cứu của Nannipieri và cộng sự (2021) đánh giá và phân tích các chức năng của Kyber trên RISC-V. Các bộ tham số bao gồm ba bộ với các mức độ an ninh 1, 3 và 5, đồng thời đánh giá các bước tạo cặp khóa, mã hóa và giải mã. Nghiên cứu đã đề xuất cấu trúc của bộ xử lý hậu lượng tử (PQ ALU) để thực hiện các hàm toán học dựa trên việc mở rộng tập lệnh. Sau đó, nghiên cứu được thực hiện trên việc triển khai một hệ thống trên chip (SoC) cơ bản trên bo mạch Xilinx ZCU106 và tiến hành đánh giá về tài nguyên, mức tiêu thụ năng lượng và hiệu suất. Kết quả cho thấy rằng, việc sử dụng cấu trúc PQ ALU với tập lệnh mở rộng hiệu quả hơn về tốc độ và hiệu suất năng lượng.

Nghiên cứu của Y.M Kuo và cộng sự (2022) trình bày đã đề xuất các thay đổi trong tập lệnh (ISA) của RISC-V để làm cho quá trình thực thi các biểu thức toán học trong quá trình mã hóa và giải mã nhanh hơn và hiệu quả hơn cho McEliece. Phần mở rộng K có hỗ trợ mật mã nhưng chỉ hỗ trợ các phần cứng hoặc thuật toán cụ thể, và không duy trì thực hiện mã hóa hậu lượng tử trên các trường không nhị phân. Với một phần mở rộng có tên Zbc, một triển khai phần cứng đã được thực hiện trên lõi RISC-V SweRV-EL2 v1.3 bằng Verilator v4.032. Sau đó, các đánh giá được tiến hành để đánh giá hiệu quả tính toán dựa trên các chu kỳ xung nhịp được sử dụng cho việc mã hóa và giải mã, cùng với số lượng tài nguyên cần thiết khi triển khai trên bo mạch Nexys A7 FPGA. Kết quả cho thấy rằng việc cải tiến ISA theo hướng tối ưu hóa quá trình tính toán giúp giảm hiệu quả số chu kỳ xung nhịp cần thiết và các yêu cầu về tài nguyên phần cứng. Việc cải thiện phần cứng cho các tính toán số học có thể mang lại hiệu quả đáng kể khi áp dụng cho mật mã dựa trên mã, vì phương pháp này chủ yếu dựa trên các phép tính toán học.

Nghiên cứu của S. Deshpande và cộng sự (2022) trình bày đã thực hiện triển khai HQC-PKE/KEM trên bo mạch Artix7 và sau đó đánh giá kết quả của sơ đồ này. Thuật toán băm trong triển khai này sử dụng SHAKE256. Kết quả đánh giá cho thấy, hai biến thể của HQC, bao gồm biến thể cân bằng và tốc độ cao với miền xung nhịp đơn (SC) và biến thể cân bằng và tốc độ cao với miền xung nhịp kép (DC). Kết quả cho thấy thời gian cho các giai đoạn trong sơ đồ được giảm thiểu, hoặc thời gian thực thi nhanh hơn so với các kết quả đã được công bố trước đó. Ngoài ra, bài báo cũng so sánh với các thuật toán ứng viên khác trong vòng 4, tập trung vào thiết kế phần cứng cho mức độ bảo mật thấp nhất, mang lại kết quả tương đương hoặc tốt hơn về thời gian thực thi của các giai đoạn trong sơ đồ quy trình.

Thuật toán Dilithium được U. Banerjee và cộng sự (2019) triển khai trên nền tảng ASIC, và kết quả được so sánh với các nghiên cứu trước đó. Ngoài các lược đồ khác, bài báo đã triển khai các lược đồ chữ ký số Dilithium với các mức bảo mật tăng dần: Dilithium-I, Dilithium-II, Dilithium-III và Dilithium-IV tương ứng. Các tham số đánh giá bao gồm số chu kỳ, công suất và năng lượng. Kết quả đo lường cho thấy rằng, trong cả ba giai đoạn của các lược đồ chữ ký số, cụ thể là keyGen (tạo khóa), sign (ký) và verify (xác minh), thiết kế này cho kết quả tốt hơn nhiều lần so với hiệu suất trên lõi Cortex-M4.

Thảo luận và công nghệ tương lai

Qua việc khảo sát nhiều công bố, bài báo nghiên cứu khoa học, nhóm tác giả nhận định rằng các nghiên cứu lý thuyết về PQC vẫn đang được cập nhật. Các ứng viên được chọn trong vòng 4 của NIST tiếp tục cập nhật công trình của họ thông qua các kết quả của hội nghị và những các góp ý công khai từ các nhà khoa học trên toàn thế giới. Qua kết quả khảo sát, nhiều nghiên cứu lý thuyết và thực tiễn tập trung vào các lược đồ dựa trên lưới (lattice-based) và dựa trên mã hóa (code-based), vì hầu hết các thuật toán ứng viên được chọn thuộc về hai nhóm này. Về mật mã dựa trên hàm băm, phần lớn nghiên cứu tập trung vào lược đồ chữ ký số SPHINCS+, vì đây là ứng viên duy nhất trong nhóm sử dụng hàm băm được chọn.

Đối với các nghiên cứu triển khai phần cứng, nhiều lược đồ đã được áp dụng vào nghiên cứu PQC. Các thuật toán với kích thước khóa, mức độ bảo mật, hoặc các thông số cấu hình khác được áp dụng cho từng lược đồ. ASIC cũng là một nền tảng tiềm năng cho nghiên cứu PQC, nhưng khó khăn với nền tảng này là để đạt được kết quả cần có mạch thực tế và các thiết bị đo lường hiện đại. Tuy nhiên, nếu phương pháp này thành công, kết quả sẽ rõ ràng và thuyết phục. Từ đó, việc đánh giá và so sánh với các nghiên cứu đã được công bố có thể thực hiện. Một số thuật toán ứng viên được triển khai rộng rãi như Kyber, Dilithium và SPHINCS+. Các thuật toán khác cũng được nghiên cứu và thực thi, nhưng số lượng nghiên cứu ít hơn. Do đó, đây cũng là các lĩnh vực cần được điều tra và nghiên cứu thêm. Các nền tảng thực thi cũng rất đa dạng nhưng chủ yếu tập trung vào hai nền tảng chính, RISC-V và FPGA. Lý do là RISC-V có cấu trúc linh hoạt, kiến trúc tập lệnh có thể được tùy chỉnh và hướng tới việc giải quyết các vấn đề cụ thể, đặc biệt là các phép toán phức tạp. Đối với FPGA, kiến trúc mở và dễ tiếp cận, công cụ đa dạng, có thể thực thi nhiều lược đồ khác nhau và đạt được kết quả ở cấp độ tổng hợp nhanh chóng, từ đó đánh giá hiệu quả của thuật toán một cách hiệu quả. Dễ dàng xác minh tính hiệu quả của các giải pháp cải tiến. Ngoài ra, FPGA cũng là phương tiện rất thuận tiện để thử nghiệm các cấu hình RISC-V trong nghiên cứu PQC.

Hiện nay, các thuật toán PQC đã được tích hợp vào một số thư viện mật mã phổ biến, như là OpenSSL, Pycryptodome, và đã được triển khai cho một số giao thức bảo mật mạng phiên bản mới nhất, như là TLS 1.3, Wireguard. Ứng dụng trong bảo mật kênh truyền các dịch vụ mạng. Tại Việt Nam vẫn chưa đưa sử dụng chữ ký số hậu lượng tử vào cơ sở hạ tầng khóa công khai ở lĩnh vực chuyên dùng công vụ cũng như mật mã dân sự.

Theo Viện Tiêu chuẩn quốc gia Hoa Kỳ (NIST) thì các chuẩn mật mã kháng lượng tử mới là ML-KEM, ML-DSA, SLH-DSA nên được ứng dụng trong bảo mật các thông tin nhậy cảm trong linh vực hoạt động của Chính phủ hoặc quân sự. Cũng theo NIST thì nên chuyển đổi các thuật toán mật mã truyền thống sang các thuật toán PQC tới 2033.

Kết luận

Kết quả thống kê về số lượng ấn phẩm từ các nguồn uy tín và tỷ lệ bài viết trong những năm gần đây cho thấy, PQC đang ngày càng trở thành xu hướng nghiên cứu trong mã hóa bảo mật. Bài viết cũng tóm tắt quá trình lựa chọn các thuật toán ứng viên PQC để chuẩn hóa các lược đồ PKE/KEM và chữ ký số trong vòng thứ tư. Từ thực tế là các ứng viên này đã được lựa chọn, bài viết tóm tắt các nghiên cứu gần đây về PQC, rút ra các khía cạnh mà các nhà phát triển an ninh mạng và các nhà phát triển phần cứng tập trung vào. Từ số liệu thống kê cho thấy, lĩnh vực PQC vẫn còn nhiều tiềm năng như một hướng đi đầy hứa hẹn cho quá trình nghiên cứu về mã hóa mật mã, đặc biệt là khi cuộc thi của NIST dự kiến sẽ kết thúc vào cuối năm nay.

 

 

 

Đánh giá

X
(Di chuột vào ngôi sao để chọn điểm)