Mật mã đường cong elliptic và mật mã hạng nhẹ

15:07 | 21/12/2015

Bài báo giới thiệu một số vấn đề trong mật mã hiện đại là mật mã đường cong elliptic và mật mã hạng nhẹ. Tuy nhiên, đây là lĩnh vực đầy thách thức, có nhiều ứng dụng thực tế và là xu hướng phát triển của mật mã hiện đại.

MẬT MÃ ĐƯỜNG CONG ELLIPTIC

Trong vài thập kỷ gần đây, đường cong elliptic đóng vai trò quan trọng đối với lý thuyết số và mật mã. Mật mã đường cong elliptic (ECC) được giới thiệu lần đầu vào năm 1991 bởi các công trình nghiên cứu độc lập của Neals Koblitz và Victor Miller. Độ an toàn của ECC dựa vào bài toán logarit rời rạc trên nhóm các điểm của đường cong elliptic (ECDLP). Đối với bài toán logarit rời rạc trên trường hữu hạn hoặc bài toán phân tích số, tồn tại các thuật toán dưới dạng dạng hàm mũ để giải các bài toán này (tính chỉ số hoặc sàng trường số). Tuy nhiên, đối với bài toán ECDLP cho đến nay vẫn chưa tìm được thuật toán dưới hàm mũ để giải. Nhà toán học nổi tiếng J. Silverman cũng như nhiều nhà thám mã khác đã nghiên cứu các thuật toán tương tự, như thuật toán tính chỉ số để áp dụng cho ECDLP nhưng đều không thành công. Hiện nay, thuật toán tốt nhất để giải bài toán ECDLP là Pollard với độ phức tạp cỡ, trong đó G là nhóm điểm đường cong elliptic [1]. Điều này đã tạo ra những ưu việt của hệ mật ECC so với các hệ mật khóa công khai khác. 

Mật mã ECC cung cấp tính an toàn tương đương với các hệ mật khóa công khai truyền thống, trong khi độ dài khóa nhỏ hơn nhiều lần. Người ta đã ước lượng rằng cỡ khoá 3248 bit của hệ mật RSA cho cùng một độ an toàn như 256 bit của hệ mật ECC. Điều đó có nghĩa là việc cài đặt ECC sử dụng tài nguyên hệ thống ít hơn, năng lượng tiêu thụ nhỏ hơn.... Với ưu thế về độ dài khóa nhỏ, ECC đang được ứng dụng rộng rãi trong nhiều lĩnh vực.

Từ những năm 2000, các nước Mỹ, Nga, Nhật Bản, Hàn Quốc và một số nước Châu Âu đã đầu tư nghiên cứu về hệ mật ECC và đưa vào các hệ thống tiêu chuẩn như ISO, ANSI, IEEE, SECG, FIPS. Một trong những quốc gia sử dụng mật mã elliptic nhiều nhất là Liên bang Nga. Năm 2001, Nga đã đưa ra chuẩn chữ ký số GOST R34-10-2001 sử dụng mật mã elliptic với độ dài khóa 256 bit. Phiên bản mới nhất của Nga về chữ ký số là GOST R34-10 năm 2012 với độ dài khóa cho hệ mật ECC là trong khoảng từ 256 bit đến 512 bit.

Có hai vấn đề trọng tâm cần nghiên cứu về mật mã ellipitc là tiêu chuẩn an toàn tham số và các giao thức, thuật toán ECC an toàn.
 
Về tiêu chuẩn an toàn cho tham số mật mã Elliptic, không phải cứ tuân thủ theo các tiêu chuẩn đã đưa ra là đảm bảo an toàn. Bằng chứng thứ nhất là năm 2006, Jung Hee Cheon đã đưa ra một tấn công hiệu quả hơn hẳn thuật toán Pollard sử dụng giả thuyết Diffie-Hellman mạnh. Tấn công này áp dụng đối với các lược đồ mật mã mà tạo ra một bộ tiên đoán có thể trả về lũy thừa khóa bí mật của nó với một đầu vào bất kỳ (ví dụ như lược đồ chữ ký số mù sử dụng trong an toàn giao dịch điện tử). Đến năm 2009, tấn công này mới được xem xét đưa vào chuẩn ISO và FIPS. Các chuẩn khác như ANSI hoặc SECG không được cập nhật về tấn công. Ngay cả trong chuẩn ISO và FIPS, các điều kiện đưa ra đối với tiêu chuẩn chống tấn công này cũng có những điểm khác nhau cơ bản. Năm 2012, sử dụng giả thuyết Diffi-Hellman, Masaya Yasuda và các cộng sự [4] đã đưa ra một bằng chứng phá vỡ mật mã elliptic dựa trên cặp (pairing-based cryptography) với độ dài khóa là 160 bit (độ dài khóa 131 bit hiện vẫn chưa giải được theo các công bố công khai, 160 bit là độ an toàn mà hầu hết các chuẩn trên thế giới đưa ra).

Bằng chứng thứ hai thuyết phục hơn, liên quan đến các tham số đường cong elliptic cụ thể được khuyến nghị trong chuẩn của Mỹ. Năm 2013, tờ New York Times [2] tiết lộ rằng bộ sinh số ngẫu nhiên tất định dựa trên đường cong elliptic (Dual_EC_DRBG, trong tiêu chuẩn quốc gia NIST SP800-90A), đã tồn tại một điểm yếu cố ý trong thuật toán, cũng như các đường cong elliptic được NIST đề nghị sử dụng. Các tài liệu rò rỉ từ Edward Snowden cho rằng NSA và RSA Security đã có một hợp đồng với kinh phí khá lớn để đưa thuật toán Dual_EC_DRBG vào sản phẩm B-SAFE của hãng. Tháng 9/2013, RSA Security đã phải công khai ban hành một khuyến nghị các khách hàng của mình không tiếp tục sử dụng bất kỳ sản phẩm nào của hãng dựa trên Dual_EC_DRBG (hãng RSA biện minh rằng mình đã bị lừa dối).

Các chuyên gia mật mã bày tỏ sự lo ngại về Dual_EC_DRBG, coi như là “một bẫy bí mật của NSA”, cũng như về sự an toàn của các đường cong elliptic do NIST đề nghị trong chuẩn FIPS 186-3. 

Như vậy, vấn đề đặt ra là cần phải thường xuyên cập nhật thông tin, nghiên cứu phân tích và đánh giá về các tiêu chuẩn an toàn, các tấn công đối với hệ mật để có đủ cơ sở lý thuyết, cơ sở toán học vững chắc, đưa ra các tiêu chuẩn an toàn riêng cho tham số mật mã elliptic.

MẬT MÃ HẠNG NHẸ

Hiện nay, với sự phát triển của khoa học - công nghệ, đa số thiết bị công nghệ thông tin có cấu hình khá cao. Điều này cho phép dễ dàng triển khai các thuật toán mật mã truyền thống. Tuy vậy, nhiều loại thiết bị thông tin khác (như các thẻ thông minh, các thiết bị truyền tin sóng ngắn, bộ đàm...) lại sử dụng các bộ vi điều khiển hoặc vi xử lý có khả năng tính toán hạn chế, phục vụ cho những bài toán chuyên dụng. Ví dụ, chip Atmel Mega 128L là bộ vi điều khiển 8 bit, 4Mhz, được dùng trong các thiết bị bộ đàm sóng vô tuyến của nhiều hãng sản xuất thiết bị đầu cuối Trunking với 4KB SRAM là quá nhỏ.

Bởi vậy, thiết kế các thuật toán mật mã hạng nhẹ (Lightweight Cryptography) đang là bài toán mở để giải quyết nhu cầu bảo mật cho các thiết bị có tài nguyên hạn chế. Poschmann đã mượn câu “nhẹ tựa lông công và rắn tựa vẩy rồng” trong tiểu thuyết “Chúa tể của những chiếc nhẫn” để ví mật mã hạng nhẹ với kim loại hư cấu Mithril. Một mặt, mục tiêu của mật mã hạng nhẹ giống như tên gọi của nó được ví với hình ảnh “nhẹ tựa lông công”, nhưng mặt khác nó vẫn phải đảm bảo mức độ an toàn cần thiết. Thực tế, vấn đề chính của mật mã hạng nhẹ là “thỏa hiệp” một cách tối ưu giữa độ an toàn và việc cài đặt thuật toán mật mã. “Rắn tựa vẩy rồng” là hình tượng cho mức độ an toàn đủ lớn bên cạnh các tối ưu hóa lý thuyết (Hình 1).


Hình 1: Sự "thỏa hiệp" trong thiết kế mật mã hạng nhẹ

CÁC YÊU CẦU TRONG THIẾT KẾ MẬT MÃ HẠNG NHẸ

Về độ an toàn, mục tiêu xây dựng các hệ mã hạng nhẹ là thiết kế một hệ mật không quá yếu (và không với mục đích thay thế các thuật toán mã truyền thống khác), nhưng phải đủ an toàn (tất nhiên không thể kháng lại được các đối phương có đủ mọi điều kiện), chi phí (cài đặt, sản xuất) thấp và một yêu cầu quan trọng đối với các thiết bị kiểu này là tính gọn nhẹ “on-the-fly”. Tóm lại, cần xây dựng một hệ mật không phải tốt nhất, mà phải cân bằng giữa giá thành, hiệu suất và độ an toàn. 

Về hiệu quả trong cài đặt, thường được đánh giá qua các độ đo sau: diện tích bề mặt (Area), Số chu kỳ xung nhịp (cycles), Thời gian, Thông lượng (throughout), Nguồn (power), Năng lượng (energy), Dòng điện (current). Tính hiệu quả là tỷ lệ thông lượng với diện tích, được dùng làm độ đo cho tính hiệu quả phần cứng (Bảng 1).


Bảng 1: So sánh các mã khối hạng nhẹ

BA NỘI DUNG CẦN NGHIÊN CỨU CỦA MẬT MÃ HẠNG NHẸ

- Thuật toán đối xứng trước đây thường tập trung xây dựng các hệ mã khối có độ an toàn cao, cũng như các thuật toán mật mã phi đối xứng, thường phức tạp và khó cài đặt trên các thiết bị có tài nguyên hạn chế. Cần nghiên cứu, xây dựng hệ mã khối, mã dòng hạng nhẹ, các thuật toán mật mã khóa công khai hạng nhẹ cũng như các nguyên thủy mật mã hạng nhẹ tương ứng (hàm băm, sinh số ngẫu nhiên, dẫn xuất khóa...).

- Việc nghiên cứu thành phần mật mã phù hợp được sử dụng trong các nguyên thủy mật mã hạng nhẹ cần được đầu tư chuyên sâu và liên tục cập nhật. Chẳng hạn về cấu trúc mã, các bộ tham số S-hộp, tầng tuyến tính đối với mã khối hạng nhẹ.

- Nghiên cứu cài đặt cứng hóa tối ưu cần được đầu tư nhiều hơn, nhằm đạt được hiệu quả tốt nhất khi đưa thuật toán vào thiết bị. Chẳng hạn, đã có những kết quả nghiên cứu cho thuật toán GOST 28147-89 với cài đặt cứng hóa được công bố chỉ cần 651 GE và kích cỡ mã nhỏ thực sự phù hợp với các thiết bị chuyên dụng.

KẾT LUẬN

Nghiên cứu mật mã đường cong elliptic và mật mã hạng nhẹ là vấn đề mới và khó về lý thuyết, là một lĩnh vực đầy thách thức. Bên cạnh các kiến thức toán học để xây dựng một hệ mật an toàn theo lý thuyết, cần phải có đầy đủ những kiến thức về lập mã/thám mã để đảm bảo hệ mật đó an toàn dưới các mô hình tấn công của người mã thám.