Tháng 10/2010, Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) công bố “Các phép kiểm tra thống kê đối với các bộ tạo số ngẫu nhiên và giả ngẫu nhiên cho các ứng dụng mật mã” [1]. Kể từ đó, tài liệu này đã được cộng đồng mật mã quan tâm và sử dụng. Chỉ tính trên , từ đầu năm 2022 cho tới ngày 14/2/2022 đã có 4 bài báo viết về tài liệu này [2 - 5].
Theo đó, NIST đã công bố bản chỉnh sửa là NIST SP 800-22 r1a [6]. 15 phép kiểm tra thống kê được mô tả trong đó là:
15 phép kiểm tra nhận đầu vào là một chuỗi các bit, thường là 1.000.000 bit và tạo ra các P - giá trị dựa trên thông tin đó, nó dẫn đến chỉ số PASS/FAIL (với tỷ lệ dương tính giả rất cao).
Ngày 12/01/2022, NIST đã thông báo đề xuất sửa đổi SP 800-22 r1a [7] với mục đích giải quyết các vấn đề xuất kỹ thuật và các điểm không thống nhất giữa SP 800-22 và loạt SP 800-90. Bên cạnh đó, thông báo cũng làm dễ hiểu hơn cách sử dụng các phép kiểm tra ngẫu nhiên thống kê, đồng thời cải tiến công cụ phần mềm và nâng cao chất lượng biên tập của tiêu chuẩn.
Ngày 14/2/2022, [4] được công bố như là các ý kiến đối với Đề xuất giải quyết [7]. Tên của bài báo có thể dịch là “Bộ kiểm tra và GM/T 0005-2012: Rõ ràng đã lỗi thời, có thể có hại”. Trong tên của bài báo có nhắc đến GM/T 0005-2012, đó là Tiêu chuẩn công nghiệp mật mã của Trung quốc về kiểm tra tính ngẫu nhiên [8], nó cũng gồm 15 phép kiểm tra rất giống với [6].
Tác giả của [4] là Markku-Juhani O. Saarinen. Từ tháng 9/2018, ông tham gia vào PQShield Ltd (được tách ra từ Đại học Oxford) và nghiên cứu về
Markku-Juhani O. Saarinen trình bày báo cáo mời tại Hội nghị CTCrypt’16 (Cộng hòa Liên bang Nga)
Đánh giá theo kiểu hộp đen và đã bị lỗi thời bởi bộ SP 800-90
Trong các năm 2015-2021, NIST đã công bố các tài liệu SP 800-90A, SP 800-90B và SP 800-90C [9 - 11], đó cũng là các tài liệu về tính ngẫu nhiên. Trong phiên bản 3 của tài liệu “Các yêu cầu an toàn cho các moule mật mã” [12], NIST đã áp dụng phương pháp luận mạnh hơn của bộ SP 800-90 thay cho . SP 800-22 cũng không thực sự được sử dụng và không nên được sử dụng trong các quy trình xác nhận tất định của NIST (DRBG) và (ENT) [13].
SP 800-90B cũng là cơ sở cho Báo cáo Đánh giá Entropy (Entropy Assessment Report) của Hiệp hội Bảo đảm thông tin Quốc gia, được sử dụng trong Chiến lược an ninh quốc gia của và Hồ sơ Bảo vệ tiêu chí chung [14, 15].
Tài liệu SP 800-22 chủ yếu được sử dụng bởi các nhà mật mã nghiệp dư và các nhà cung cấp các hệ thống không an toàn, vì nó tầm thường hóa việc xác nhận bộ tạo bit ngẫu nhiên bằng kiểm tra thống kê kiểu hộp đen. Việc sử dụng nó làm bằng chứng bảo mật thường báo hiệu rằng các chuyên gia có năng lực đã không tham gia vào việc thiết kế và phân tích bộ tạo bit ngẫu nhiên.
Một vấn đề mang tính hệ thống: độ bảo mật không được xem xét
Các phép kiểm tra SP 800-22 dựa trên giải thích thống kê thuần túy về tính ngẫu nhiên đều và độc lập. Các định nghĩa và mục tiêu đã nêu của các phép kiểm tra không liên quan đến tính không thể phân biệt được về mặt tính toán hoặc khái niệm độ an toàn mật mã liên quan khác.
Từ "thám mã - cryptanalysis" phân tích mật mã có thể được tìm thấy trong phần tóm tắt của SP 800-22 r1a ba lần nhưng không một lần có trong phần nội dung của tài liệu. Tuy nhiên, một số phép kiểm tra đã được đưa vào cho có hương vị thám mã. Như một ví dụ minh họa, "phép kiểm tra độ phức tạp tuyến tính" được đưa vào là do "LFSR" ( - linear feedback shift register) quá ngắn kéo theo tính không ngẫu nhiên”. Mọi nhà phân tích mật mã đều biết rằng, một LFSR thuần túy không bao giờ là một bộ tạo giả ngẫu nhiên an toàn.
Việc đánh giá độ an toàn của bộ tạo số giả ngẫu nhiên cần phải làm tương tự như đối với các cấu trúc mật mã khác. Tức là phải dựa vào: Phân tích mật mã, Chứng minh độ an toàn và Đánh giá thiết kế (Cryptanalysis, Security Proofs, and Design Reviews). Trên thực tế, người ta muốn chứng minh (thông qua các lập luận toán học) rằng việc phá vỡ một bộ tạo giả ngẫu nhiên (DRBG) ngụ ý việc phá vỡ một thuật toán mật mã đã được xem xét chặt chẽ cơ như AES hoặc SHA-2/3.
Độ an toàn của các nguồn entropy vật lý chủ yếu được đánh giá thông qua việc xem xét và kiểm tra các quy trình sản xuất entropy (các mô hình ngẫu nhiên) và độ tin cậy của cài đặt chúng. Đây là những khía cạnh quan trọng hơn nhiều so với tính đều thống kê của đầu ra cuối cùng, cái này có thể được đảm bảo với điều chỉnh (hậu xử lý) trong mọi trường hợp.
Cần kiểm tra cài đặt, không phải kiểm tra phân phối đều
Mục 4 của [6] gợi ý rằng 15 phép kiểm tra thống kê được áp dụng cho các bộ tạo bit ngẫu nhiên dựa trên các hàm băm mật mã và mật mã khối. Thế nhưng ngay cả với nguyên liệu mầm được lấy một cách khá tùy ý, thì các bộ tạo số giả ngẫu nhiên này vẫn qua được các tiêu chuẩn thống kê.
Động lực hợp lý duy nhất của việc sử dụng các phép kiểm tra thống kê đối với bộ tạo bit giả ngẫu nhiên sẽ là để phát hiện ra các sai sót trong việc cài đặt chúng. Sẽ hữu ích hơn nhiều nếu xác nhận rằng một hàm băm mật mã hoặc mật khối được cài đặt đúng với mô tả chuẩn hơn là xác minh chất lượng thống kê của chúng.
Rõ ràng, một phép kiểm tra thống kê là một cách tồi để xác minh rằng một thuật toán tất định đã được thực hiện một cách chính xác. Thông thường, ít nhất người ta sẽ chạy DRBG với các đầu vào đã biết hoặc đã được chọn và sử dụng Phép kiểm tra câu trả lời đã biết (KATs-Known Answer Tests) với các vectơ kiểm tra tham chiếu. Đây là một trong những việc mà Chương trình xác nhận thuật toán mật mã của NIST đã làm.
Cần chú ý tới Mô hình ngẫu nhiên
Có một khía cạnh thống kê của việc tạo bit ngẫu nhiên mà việc thay thế SP 800-22 có thể giải quyết: Mô hình Thống kê Nguồn Entropy. Trong khi các mô hình ngẫu nhiên được đề cập đến ở mục 3.2.2 của [10] thì việc tạo ra các mô hình ngẫu nhiên không thực sự được đề cập trong loạt SP 800-90 hiện tại.
Vấn đề "Mô hình ngẫu nhiên" đã được giải quyết tốt trong [16] sẽ có lợi cho cả các nhà cung cấp và các phòng thí nghiệm nếu các yêu cầu của NIST và Văn phòng Liên bang về bảo mật trong CNTT của Đức (Bundesamt für Sicherheit in der Informationstechnik - BSI) được hòa đồng hơn nữa. Định nghĩa của một mô hình ngẫu nhiên cho một nguồn entropy (hoặc TRNG) trong hai tài liệu rất giống nhau.
Mô hình ngẫu nhiên là một mô tả toán học (về các thuộc tính có liên quan) của một nguồn entropy bằng cách sử dụng các biến ngẫu nhiên. Mô hình ngẫu nhiên (sử dụng để phân tích nguồn entropy) được sử dụng để hỗ trợ ước tính entropy của dữ liệu số hóa và cuối cùng là của dữ liệu thô. Đặc biệt, mô hình này nhằm cung cấp một họ các phân bố, mà có chứa phân bố đúng (nhưng chưa biết) của các đầu ra nguồn nhiễu. Hơn nữa, mô hình ngẫu nhiên nên cho phép hiểu về các yếu tố có thể ảnh hưởng đến entropy. Phân bố của nguồn entropy cần phải được duy trì trong họ các phân bố, ngay cả khi chất lượng của dữ liệu số hóa đi xuống. [10, Phụ lục B, Trang 65].
Trong thực tế, người ta nghiên cứu nguồn nhiễu và xác định các quá trình ngẫu nhiên tạo ra entropy. Việc hiểu quá trình tạo entropy cho phép phát triển một mô hình ngẫu nhiên, phân phối đầu ra và các ước tính min - entropy. Nó cũng giúp tìm ra các thông số ngưỡng bác bỏ (failure threshold) cho các phép kiểm tra thể chất (health test) theo yêu cầu của SP 800-90B. Mô hình ngẫu nhiên cũng có thể có các thành phần môi trường (ví dụ, nhiệt độ, điện áp,…).
Việc kiểm tra giả thuyết thống kê (trong xác nhận nguồn entropy) chủ yếu liên quan đến việc kiểm tra xem một nguồn entropy vật lý có hoạt động như dự đoán của mô hình ngẫu nhiên của nó hay không.
Phân tích các bộ tạo tham khảo trong Phụ lục D của SP 800-22.
Phụ lục D của SP 800-22 có đưa ra 10 bộ tạo số giả ngẫu nhiên tham khảo với mục đích để thử nghiệm 15 phép kiểm tra thống kê, bao gồm:
Bộ tạo đồng dư tuyến tính (LCG)
Trong [4] đã trình bày các lý do mà các bộ tạo số ngẫu nhiên trên là không an toàn do mắc phải một hoặc nhiều trong số các yếu điểm sau: do có cửa hậu, do có điểm yếu trong thiết kế, do sử dụng nguyên thủy mật mã yếu, không kháng được ,…
Trong [5] Markku-Juhani O. Saarinen đã trình bày các quan điểm của mình về NIST SP 800-22. Ông đưa ra ý kiến: trái với sự mong đợi của nhiều nhà mật mã, SP 800-22 không bị thu hồi mà sẽ được sửa đổi thay thế. Đó là do các bộ yếu nhất trong số các cũng dễ dàng vượt qua các phép kiểm tra của SP 800-22, điều này thúc đẩy sự tin tưởng sai lầm vào các hệ thống không an toàn.
Theo quan điểm cá nhân, những ý kiến của Markku-Juhani O. Saarinen là xác đáng. Tuy nhiên, vẫn cần dùng một hệ tiêu chuẩn kiểm tra thống kê để đánh giá về tính ngẫu nhiên mà một thuật toán mật mã cần có. Tuy nhiên, đó chỉ là công việc ban đầu trong việc đánh giá độ an toàn mật mã (điều kiện cần thiết tối thiểu cần vượt qua). Ngày nay đã có nhiều lý thuyết toán học được sử dụng để nghiên cứu mật mã chứ không chỉ có xác suất thống kê.
Chúng ta cần quan tâm theo dõi phiên bản cập nhật của SP 800-22 xem nó đạt được bao nhiêu mục tiêu đã đạt ra trong [7] cũng như [4]. Có thể nói, mật mã là khoa học về tính ngẫu nhiên, trong khi SP 800-90A [9] đã có bản chỉnh sửa lần thứ nhất thì SP 800-90C mới chỉ có bản dự thảo.
TÀI LIỆU THAM KHẢO
|
Trần Duy Lai
23:00 | 02/09/2022
10:00 | 17/02/2023
12:00 | 12/08/2022
10:00 | 14/06/2022
07:00 | 20/05/2022
09:00 | 01/10/2024
Nhân dịp tham dự các hoạt động của Tuần lễ cấp cao Đại hội đồng Liên Hợp Quốc Khoá 79 và làm việc tại Hoa Kỳ, chiều 22/9 (theo giờ địa phương), tại New York, Tổng Bí thư, Chủ tịch nước Tô Lâm đã dự buổi tọa đàm với chủ đề Tăng cường hợp tác Việt Nam - Hoa Kỳ trong phát triển ngành công nghiệp bán dẫn và trí tuệ nhân tạo (AI).
16:00 | 13/09/2024
Công nghệ Trí tuệ nhân tạo (AI) với khả năng xử lý và phân tích khối lượng lớn, đa dạng dữ liệu đã tạo nên những ứng dụng giúp phát hiện sớm, chính xác các mối đe dọa an ninh mạng, tự động hóa trong ứng phó, đánh giá rủi ro góp phần bảo vệ an ninh mạng trong kỷ nguyên số. Ngoài những mặt tích cực mà AI mang lại, công nghệ này cũng phải đối mặt với những nguy cơ, thách thức mà ở đó cần kết hợp với tư duy và sự giám sát của con người.
10:00 | 19/08/2024
Để phòng, chống lừa đảo trực tuyến, trong thời gian tới Bộ Thông tin và Truyền thông (TT&TT) sẽ tập trung vào quản lý xác thực người dùng, rà soát thông tin trên mạng để quản lý không gian mạng, chung tay cùng các bộ, ngành khác đẩy lùi vấn nạn lừa đảo trực tuyến.
10:00 | 05/06/2024
Vừa qua, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã bổ sung lỗ hổng có định danh là CVE-2023-43208 - một lỗ hổng thực thi mã từ xa không được xác thực vào danh mục Các lỗ hổng bị khai thác đã biết (KEV). Lỗ hổng này đã ảnh hưởng đến sản phẩm Mirth Connect của phần mềm chăm sóc sức khỏe NextGen Healthcare.