Lượt xem: 8388 | Gửi lúc: 31/03/2014 14:53:16
Bookmark and Share

Về cửa hậu của Bộ tạo số giả ngẫu nhiên dựa trên đường cong elipptic

Bộ tạo số giả ngẫu nhiên là thành phần không thể thiếu và rất quan trọng trong các hệ thống mật mã. Dual EC DBRG là một bộ tạo số ngẫu nhiên dựa trên đường cong elliptic, đã được đưa vào chuẩn SP 800-90 của Viện Tiêu chuẩn và công nghệ quốc gia Mỹ (NIST). Ứng dụng này đã có mặt trong một số sản phẩm, ví dụ như bộ công cụ BSafe của hãng RSA. Thế nhưng, theo tài liệu do Edward Snowden tiết lộ thì Cơ quan An ninh Quốc gia Mỹ (NSA) đã cài đặt một cửa hậu trong một ứng dụng của Dual EC DBRG.

Mở đầu
Dual EC DBRG (Dual Elliptic Curve Deterministic Random Bit Generator) là một bộ tạo số giả ngẫu nhiên được NIST coi là an toàn về mật mã. Nó dựa trên bài toán logarithm rời rạc đường cong elliptic (elliptic curve discrete logarithm problem-ECDLP) và là một trong bốn bộ tạo số giả ngẫu nhiên an toàn mật mã đã được chuẩn hóa trong tài liệu SP 800-90A của NIST. Không lâu sau khi NIST công bố tài liệu này, chuyên gia về mật mã Bruce Schneier dựa trên một số nghiên cứu của đồng nghiệp đã suy đoán rằng, bộ tạo số giả ngẫu nhiên này có thể chứa một cửa hậu có tính chất Kleptography của NSA. Kleptography là một chuyên ngành hẹp của mật mã học và Virus mật mã học (Cryptovirology), nghiên cứu việc đánh cắp thông tin một cách bí mật và tinh vi, được phát triển từ lý thuyết về các kênh ngầm của Gus Simmons (làm việc ở Phòng thí nghiệm tại Sandia National Sandria).
Độ an toàn
Mục tiêu để đưa Dual EC DRBG vào trong chuẩn NIST SP 800-90A là độ an toàn của nó dựa trên một bài toán khó từ lý thuyết số, chẳng hạn như giả thuyết Diffie-Hellman quyết định (decisional Diffie–Hellman assumption) đường cong elliptic. Mặc dù tốc độ của bộ tạo số giả ngẫu nhiên này chậm hơn (3 lần) so với 3 thuật toán khác cũng đã được chuẩn hóa, nhưng do tầm quan trọng của các bộ tạo số ngẫu nhiên an toàn trong mật mã, nên trong một số trường hợp người ta vẫn phải sử dụng, theo nghĩa là “hy sinh” tốc độ xử lý vì độ an toàn.
Tiếp theo việc công bố thuật toán Dual EC BRBG, nhiều nhà nghiên cứu đã công bố vấn đề an toàn liên quan đến các tính chất của Dual EC BRBG như sau:
- Các giá trị trung gian mà nó tạo ra (một dãy các điểm trên đường cong elliptic, dưới các giả thuyết hợp lý nào đó, chẳng hạn như bài toán Quyết định Diffie-Hellman) sẽ là không phân biệt được với các điểm đường cong elliptic ngẫu nhiên đều.
- Dãy của các bit được tạo ra từ Dual EC DBRG, với các lựa chọn tham số nào đó, có thể phân biệt được với các bit ngẫu nhiên đều, làm cho đầu ra thô của nó không thích hợp để sử dụng như một mã pháp dòng.
- Độ an toàn của nó được thiết kế dựa trên một bài toán khó, chẳng hạn như Bài toán Diffie-Hellman tính toán (computational Diffie–Hellman problem), nhưng một trong những cấu hình đã được khuyến cáo của Dual EC DRBG đã cho phép tồn tại một khóa bí mật hỗ trợ để giải bài toán này.

Một số điểm còn vướng mắc
Bộ tạo số giả ngẫu nhiên Dual EC DRBG gây tranh cãi bởi vì nó đã được công bố trong một chuẩn của NIST. Nó được lựa chọn, mặc dù tốc độ xử lý chậm hơn các thuật toán đã được chuẩn hóa khác và chứa một số điểm yếu đã được nhận thấy từ khi chuẩn hóa nó.
Vào tháng 3/2006, nhà nghiên cứu mật mã Daniel Brown đã phát hiện ra một điểm yếu của bộ tạo này. Theo thiết kế, một tham số đầu vào của nó (Q) phải là ngẫu nhiên. Nếu Q không ngẫu nhiên, người ta có thể suy ra một tham số mật (d) của quá trình thực hiện thuật toán, như vậy có thể khôi phục được thông tin bí mật ban đầu từ giá trị đầu ra.
Tháng 8/2007, Dan Shumow và Niels Ferguson cũng đã phát hiện điểm yếu  của bộ tạo số giả ngẫu nhiên này có thể được sử dụng như một cửa hậu. Với các ứng dụng rộng rãi của bộ tạo số giả ngẫu nhiên trong mật mã, điểm yếu này có thể được sử dụng để phá hệ mật bất kỳ có sử dụng bộ tạo số giả ngẫu nhiên này. Thuật toán của bộ tạo này sử dụng một số hằng số để xác định đầu ra. Những hằng số này có thể được đưa vào một cách có chủ ý, cho phép người thiết kế dự đoán được đầu ra của nó.
Đáp lại mối quan tâm đó, tháng 9/2013, Phòng thí nghiệm công nghệ thông tin của NIST thông báo rằng, NIST đã phát hành lại tài liệu SP 800-90A như một tiêu chuẩn dự thảo và đưa ra hai tài liệu SP800-90B/C để lấy ý kiến góp ý công khai. Hiện nay, NIST lại đang “tích cực khuyến cáo” chống lại việc sử dụng Dual EC DBRG. Trong tuyên bố ngày 10/9/2013, giám đốc NIST đã khẳng định rằng “NIST không chủ ý làm yếu chuẩn mật mã”.

RSA Security sử dụng Dual  EC BRBG 
Các tài liệu bị rò rỉ bởi Edward Snowden được đăng trên NewYork Time  tháng 9/2013 chỉ ra rằng NSA đã tạo ra và phổ biến một công thức có lỗi sinh ra các số ngẫu nhiên để tạo ra một “cửa hậu” trong các sản phẩm mật mã. Hãng Reuters sau đó cũng đưa tin rằng, RSA trở thành nhà phân phối quan trọng nhất của công thức đó bằng cách nhúng nó trong một công cụ phần mềm gọi là BSafe, được sử dụng để nâng cao tính bảo mật trong các máy tính cá nhân và nhiều sản phẩm CNTT khác.
Như vậy, NSA đang hoạt động tích cực để “Cài các điểm yếu vào hệ thống mã hóa thương mại, các hệ thống công nghệ thông tin, các mạng và các thiết bị truyền thông đầu cuối được sử dụng bởi các mục tiêu cần theo dõi”. Đây được coi như một phần của chương trình do thám Bullrun. 
Tiêu chuẩn Dual EC BRBG đã được biết là chứa các lỗ hổng nghiêm trọng ngay sau khi NIST phát hành nó vào năm 2006, nhưng hãng bảo mật nổi tiếng RSA Security vẫn sử dụng chuẩn này như bộ tạo số ngẫu nhiên ngầm định và được khuyến cáo trong các sản phẩm Data Protection Manager và bộ công cụ BSafe của mình. Trong thời gian đó, RSA đã phủ nhận việc chèn một cách có chủ tâm một cửa hậu vào trong các sản phẩm của họ. Sau khi bị phát giác vào tháng 9/2013, lãnh đạo công nghệ của RSA security đã đưa ra những lời giải thích cho việc này, song tính chính xác về mặt kỹ thuật trong lời giải thích đã không được các nhà mật mã học chấp nhận.
Sự kiện RSA đã có một thỏa thuận đặt công thức của NSA như phương pháp được ưu tiên hoặc ngầm định để sinh số ngẫu nhiên trong phần mềm Bsafe đã khiến nhiều chuyên gia bảo mật máy tính ngạc nhiên. Là công ty có một lịch sử lâu dài đấu tranh cho quyền riêng tư và bảo mật, RSA đã đóng vai trò dẫn đầu trong việc ngăn chặn nỗ lực của NSA nhằm yêu cầu  cài một chip đặc biệt, cho phép bí mật theo dõi máy tính và sản phẩm truyền thông dân dụng vào những năm 1990.
Khi đó, NSA đã lo rằng không thể phá vỡ mật mã khóa công khai được thiết kế tốt. Chính phủ Mỹ đã đề nghị dùng chip Clipper như một thành phần bắt buộc trong các điện thoại và máy tính để tạo điều kiện cho một số cơ quan của Mỹ có thể giải mã khi được phép. 
RSA đã dẫn đầu một chiến dịch công khai chống lại nỗ lực này. Lập luận chính chống lại chip Clipper là việc những khách hàng nước ngoài sẽ “tẩy chay” các sản phẩm công nghệ Mỹ nếu chúng được cài thiết bị để phục vụ cho mục đích do thám.
Nhà Trắng từ bỏ chip Clipper và thay vào đó là dựa vào chính sách kiểm soát xuất khẩu để ngăn chặn các sản phẩm mật mã có khả năng bảo mật cao không được vượt qua biên giới Mỹ. Để đối phó, RSA một lần nữa củng cố lại việc kinh doanh bằng việc lập ra chi nhánh tại Úc để có thể xuất khẩu sản phẩm mật mã.
Sau những tiết lộ về cửa hậu vào tháng 9/2013, RSA đã đề nghị khách hàng của họ ngừng sử dụng bộ tạo số ngẫu nhiên Dual Elliptic Curve.
(Theo “Exclusive: Secret contact tied NSA and security industry pioneer”)

TS. Trần Duy Lai, Học viện Kỹ thuật Mật mã, Ban Cơ yếu Chính phủ