Đôi nét về bộ tiêu chuẩn NIST SP 800-90
Năm 2012, NIST đã công bố các bản dự thảo SP 800-90 [1-3], cung cấp hướng dẫn xây dựng và đánh giá các bộ sinh bit ngẫu nhiên (Random Bit Generators (RBGs)) có dạng bộ sinh bit ngẫu nhiên tất định (Deterministic Random Bit Generators (DRBGs)) hoặc bộ sinh bit ngẫu nhiên không tất định (Non-deterministic Random Bit Generators (NRBGs)) mà có thể được sử dụng trong các ứng dụng mật mã. Dự thảo SP 800-90B [2] mô tả cách thiết kế và đánh giá các nguồn entropy mà có thể được sử dụng bởi RNG (Random Number Generators). Dự thảo SP 800-90A mô tả cấu trúc của các cơ chế sinh bit ngẫu nhiên tất định được phê chuẩn. Năm 2015 dự thảo này đã được rút lại do có một lỗ hổng bảo mật trong thuật toán Dual_ EC_DRBG được mô tả trong bản dự thảo này.
Năm 2016, NIST đã cập nhật bản dự thảo này và loại bỏ thuật toán Dual_EC_DRBG, cùng với đó cập nhật lại dự thảo SP 800-90B, và SP 800-90C. Đến tháng 1/2018, NIST đã công bố bản cập nhật cuối cùng cho chuẩn SP 800-90B [4]. Dự thảo SP 800-90C mô tả cấu trúc các bộ sinh bit ngẫu nhiên từ các cơ chế trong SP 800-90A và các nguồn entropy trong SP 800-90B. Các khuyến nghị này cung cấp một cơ sở cho việc phê chuẩn bởi chương trình phê chuẩn thuật toán mật mã (Cryptographic Algorithm Validation Program (CAVP)) và chương trình phê chuẩn mô-đun mật mã (Cryptographic Module Validation Program (CMVP)) của NIST.
Entropy và mô hình nguồn entropy
Entropy được định nghĩa như một độ đo mức độ bất định của một biến ngẫu nhiên. Nếu ξ là một biến ngẫu nhiên rời rạc được xác định trên không gian xác suất (Ω, F, P) và giả sử các giá trị x1,x2,...,xk, với phân bố xác suất {pi | i = 1,2,...,k}; pi = P {ξ = xi}, khi đó entropy được xác định bởi công thức:
Độ đo này còn được biết đến là entropy Shannon, nó đưa ra độ đo entropy trường hợp trung bình cho một phân bố độc lập của các biến ngẫu nhiên. Theo chuẩn SP 800-90B của NIST [4], một độ đo entropy tốt hơn được sử dụng đó là min-entropy, còn được biết đến là entropy Rényi. Minentropy của một biến ngẫu nhiên rời rạc độc lập X mà nhận các giá trị từ tập A = {x1,x2,…,xk} với xác suất Pr(X = xi) = pi với i = 1,...,k được định nghĩa là
Trong mật mã, tính không thể dự đoán được của các giá trị bí mật (chẳng hạn như các khoá mật mã) là rất cần thiết. Xác suất mà một giá trị bí mật được dự đoán chính xác trong lần thử đầu tiên có liên quan đến min-entropy của phân bố mà giá trị bí mật đó được tạo ra. Nếu X có min-entropy là H, thì xác suất của việc thu được một giá trị bất kỳ của X là không lớn hơn 2-H. Giá trị lớn nhất có thể cho min-entropy của một biến ngẫu nhiên với k giá trị phân biệt là log2k , đạt được khi biến ngẫu nhiên có một phân bố xác suất đều, tức là p1 = p2 = ... = pk = 1/k.
Trong SP 800-90B, NIST đã đưa ra một mô hình nguồn entropy tổng quát bao gồm: một nguồn nhiễu (noise source), một thành phần điều chế (conditioning) (tuỳ chọn) và một thành phần kiểm tra chất lượng (health test).
Hình 1. Mô hình nguồn entropy
- Nguồn nhiễu: Nguồn nhiễu là gốc rễ của độ an toàn cho nguồn entropy và cho toàn bộ RBGs. Đây là thành phần chứa hoạt động cung cấp entropy không tất định, chịu trách nhiệm về tính bất định trong các xâu bit đưa ra bởi nguồn entropy.
Các nguồn nhiễu có thể chia thành 2 loại: Các nguồn nhiễu vật lý (Physical noise sources) sử dụng phần cứng chuyên dụng để tạo ra tính ngẫu nhiên; trong khi các nguồn nhiễu phi-vật lý (Nonphysical noise sources) sử dụng dữ liệu hệ thống (chẳng hạn như đầu ra của các hàm giao diện chương trình ứng dụng, dữ liệu RAM hoặc thời gian hệ thống) hoặc đầu vào bởi con người (ví dụ các di chuyển chuột) để tạo ra tính ngẫu nhiên.
Nếu nguồn nhiễu không tạo ra các đầu ra ngẫu nhiên, thì không có thành phần nào khác trong RBGs có thể bù đắp cho việc thiếu entropy; do đó, không thể đảm bảo an toàn cho ứng dụng dựa trên RBGs.
- Thành phần điều chế: Thành phần điều chế (tùy chọn) là một hàm tất định chịu trách nhiệm cho việc giảm độ lệch và/hoặc tăng tỷ lệ entropy của các bit đầu ra thu được.
Có nhiều lựa chọn khác nhau cho thành phần điều chế. Các nhà phát triển nên xem xét các thành phần điều chế được sử dụng và các biến thể trong trạng thái của nguồn nhiễu có thể ảnh hưởng đến tỷ lệ entropy của đầu ra như thế nào. Khi chọn phương pháp cài đặt, nhà phát triển có thể chọn triển khai thuật toán mã hóa được liệt kê chi tiết trong SP 800-90B.
- Kiểm tra chất lượng: Đây là một thành phần quan trọng của nguồn entropy nhằm phát hiện sai lệch so với trạng thái dự kiến của nguồn nhiễu càng nhanh càng tốt và với xác suất cao. Nguồn nhiễu có thể dễ hỏng, và do đó có thể bị ảnh hưởng bởi những thay đổi trong điều kiện vận hành của thiết bị, chẳng hạn như nhiệt độ, độ ẩm hoặc điện trường, và có thể dẫn đến trạng thái không mong muốn.
Kiểm tra chất lượng của nguồn nhiễu thường dựa trên đầu ra kỳ vọng khi lỗi hoặc phát hiện sai lệch so với đầu ra kỳ vọng trong quá trình vận hành chính xác nguồn nhiễu. Kiểm tra chất lượng dự kiến sẽ báo động trong ba trường hợp:
1) Khi có sự sụt giảm đáng kể entropy của đầu ra
2) Khi xảy ra lỗi nguồn nhiễu
3) Khi phần cứng bị lỗi và cài đặt không hoạt động chính xác
Các kiểm tra chất lượng có thể chia thành 3 loại: các kiểm tra khởi động, các kiểm tra liên tục (chủ yếu trên nguồn nhiễu) và các kiểm tra theo yêu cầu.
Đánh giá nguồn entropy
Việc đánh giá nguồn entropy là rất cần thiết để đạt được sự đảm bảo rằng nguồn entropy sẽ cung cấp đủ tính ngẫu nhiên làm đầu vào cho các bộ sinh bit ngẫu nhiên tất định. NIST đã đưa ra một quy trình chuẩn nhằm đánh giá nguồn entropy. Cụ thể, một nguồn entropy có thể được gửi lên một phòng thí nghiệm đã được công nhận cho việc kiểm tra đánh giá. Nguồn entropy này có thể là của các nhà phát triển hoặc một tổ chức hoặc cá nhân bất kỳ mong muốn đánh giá nguồn entropy đó. Sau khi nguồn entropy được đệ trình cho việc đánh giá, các phòng thí nghiệm sẽ kiểm tra tất cả tài liệu và chứng minh lý thuyết được đệ trình. Các phòng thí nghiệm sẽ đánh giá các khẳng định đó, và có thể yêu cầu làm rõ hơn các chứng minh. Quy trình đánh giá một nguồn entropy gồm 4 giai đoạn chính và 1 giai đoạn bổ sung nếu nguồn entropy có sử dụng thành phần điều chế:
Giai đoạn 1: Thu thập dữ liệu
Người đệ trình sẽ cung cấp các dữ liệu sau cho việc ước lượng entropy, theo các yêu cầu được trình bày trong SP 800-90B.
Hình 2. Chiến lược ước lượng entropy
1. Một tập dữ liệu mẫu cho việc đánh giá gồm tối thiểu 1.000.000 giá trị liên tiếp được thu trực tiếp từ nguồn nhiễu (tức là dữ liệu thô).
2. Nếu nguồn entropy bao gồm các thành phần điều chế không được liệt kê đầy đủ thì một tập dữ liệu liên tiếp đã được điều chế với tối thiểu 1.000.000 đầu ra của thành phần điều chế sẽ được thu thập để đánh giá.
3. Đối với các kiểm tra khởi động lại, nguồn entropy phải được khởi động lại tối thiểu là 1000 lần; đối với mỗi lần khởi động lại, 1000 mẫu liên tiếp sẽ được thu thập trực tiếp từ nguồn nhiễu. Dữ liệu này được lưu trong một ma trận khởi động M kích thước 1000x1000, trong đó M[i][j] biểu diễn mẫu thứ j từ lần khởi động thứ i.
Giai đoạn 2: Xác định đường (track) dữ liệu - đường IID và đường non-IID
Một ưu điểm của chuẩn SP 800-90B đó là việc đánh giá entropy không cần bất kỳ giả thiết nào về phân bố của tập dữ liệu. Cụ thể, chuẩn SP 800-90B sẽ ước lượng entropy đối với hai trường hợp đối với các mẫu của nguồn nhiễu: một đường phân bố đồng nhất và độc lập (independent and identically distributed (IID)) và một đường non-IID. Đường IID được sử dụng cho nguồn nhiễu mà sinh các mẫu có phân bố đồng nhất và độc lập, trong khi đường non-IID được sử dụng cho các nguồn nhiễu mà không tạo ra các mẫu IID.
NIST đã sử dụng 2 kiểu kiểm tra để kiểm định giả thiết IID: Kiểm tra hoán vị và Kiểm tra X2.
Giai đoạn 3: Ước lượng entropy khởi tạo
Người đệ trình sẽ cung cấp một ước lượng entropy cho nguồn nhiễu dựa trên các phân tích đối với nguồn nhiễu. Ước lượng này được ký hiệu là Hsubmitter.
Sau khi xác định đường để ước lượng entropy, một ước lượng min-entropy trên mẫu, được ký hiệu là Horiginal, đối với tập dữ liệu tuần tự được tính sử dụng các phương pháp sau:
Đối với đường IID: sử dụng một bộ ước lượng duy nhất
Đối với đường non-IID: sử dụng 10 bộ ước lượng
Nếu tập dữ liệu không phải nhị phân, thì một ước lượng entropy bổ sung (trên bit), được ký hiệu là Hbitstring, được ước lượng.
Giai đoạn 4: Các kiểm tra khởi động lại
Ước lượng entropy của nguồn nhiễu, được tính từ một dãy đầu ra dài duy nhất, có thể cung cấp một ước lượng vượt quá nếu nguồn nhiễu tạo ra các dãy có tương quan sau khi khởi động lại. Do đó, một kẻ tấn công sẽ truy cập vào nhiều dãy đầu ra của nguồn nhiễu sau khi khởi động lại có thể dự đoán dãy đầu ra tiếp theo với tỷ lệ thành công tốt hơn ước lượng entropy đề xuất. Các kiểm tra khởi động lại nhằm đánh giá lại ước lượng entropy cho nguồn nhiễu sử dụng các đầu ra khác nhau từ nhiều lần khởi động lại nguồn nhiễu. Các kiểm tra đó được thiết kế nhằm đảm bảo rằng:
- Các đầu ra của nguồn nhiễu được tạo ra sau một lần khởi động lại là được rút từ cùng một phân bố như các đầu ra khác.
- Phân bố của các mẫu trong một chuỗi khởi động lại là độc lập với vị trí của nó trong chuỗi khởi động lại.
- Tri thức về các chuỗi khởi động lại khác không đưa ra một lợi thế nào trong việc dự đoán chuỗi khởi động lại tiếp theo.
Giai đoạn 5: Ước lượng entropy cho các nguồn entropy sử dụng thành phần điều chế
Thành phần điều chế có thể được thiết kế theo nhiều cách khác nhau. SP 800-90B đã cung cấp danh sách các thuật toán/hàm mật mã đã được kiểm tra để điều chỉnh các đầu ra của nguồn nhiễu. Người đệ trình được phép sử dụng các thành phần điều chế khác; tuy nhiên, quá trình đánh giá entropy sẽ khác với trường hợp sử dụng một thành phần điều chế đã được kiểm tra.
Kết luận
Mô hình nguồn entropy và chiến lược đánh giá nguồn entropy đã được đề xuất trong chuẩn SP 800-90B [4] của NIST hướng đến việc xây dựng và đánh giá nguồn entropy để sử dụng cho các bộ sinh số ngẫu nhiên – một thành phần không thể thiếu trong các ứng dụng bảo mật thông tin. Theo đó, một mô hình nguồn entropy bao gồm 3 thành phần chính: nguồn nhiễu, thành phần điều chế (tuỳ chọn) và các kiểm tra chất lượng. Và quan trọng nhất đó là quá trình đánh giá nhằm ước lượng chính xác entropy của một nguồn entropy. Hiện nay, các phương pháp nhằm ước lượng chính xác min-entropy vẫn đang được các chuyên gia của NIST tiếp tục nghiên cứu, cập nhật và phát triển.
Tài liệu tham khảo [1]. Barker, E. and Kelsey, J., NIST special publication 800-90A: Recommendation for random number generation using deterministic random bit generators. 2012 [2]. Barker, E. and Kelsey, J., NIST DRAFT Special Publication 800-90b recommendation for the entropy sources used for random bit generation. 2012 [3]. Barker, E. and Kelsey, J., Recommendation for Random Bit Generator (RBGS) Constructions (DRAFT NIST Special Publication 800-90C). National Institute of Standards and Technology, 2012 [4]. Barker, E. and Kelsey, J., NIST Special Publication 800-90b: Recommendation for the Entropy Sources Used for Random Bit Generation. 2018, National Institute of Standards and Technology. |
Hoàng Đình Linh - Viện Khoa học-Công nghệ mật mã
15:34 | 27/09/2012
13:00 | 12/05/2021
22:00 | 02/05/2022
14:00 | 19/05/2021
15:00 | 24/01/2019
09:00 | 24/01/2019
13:00 | 17/02/2021
07:00 | 08/04/2024
Thiết bị truyền dữ liệu một chiều Datadiode có ý nghĩa quan trọng trong việc bảo đảm an toàn thông tin (ATTT) cho việc kết nối liên thông giữa các vùng mạng với nhau, đặc biệt giữa vùng mạng riêng, nội bộ với các vùng mạng bên ngoài kém an toàn hơn. Khi chủ trương xây dựng Chính phủ điện tử, Chính phủ số của Quân đội được quan tâm, đẩy mạnh phát triển. Việc liên thông các mạng với nhau, giữa mạng trong và mạng ngoài, giữa mạng truyền số liệu quân sự (TSLQS) và mạng Internet, giữa các hệ thống thông tin quân sự và cơ sở dữ liệu (CSDL) quốc gia về dân cư, bảo hiểm y tế và các CSDL dùng chung khác yêu cầu phải kết nối. Bài báo sẽ trình bày giải pháp truyền dữ liệu một chiều Datadiode cho phép các ứng dụng giữa hai vùng mạng kết nối sử dụng giao thức Webservice/RestAPI.
10:00 | 02/01/2024
Trong hệ mật RSA, mô hình hệ mật, cấu trúc thuật toán của các nguyên thủy mật mã là công khai. Tuy nhiên, việc lựa chọn và sử dụng các tham số cho hệ mật này sao cho an toàn và hiệu quả là một vấn đề đã và đang được nhiều tổ chức quan tâm nghiên cứu. Trong bài viết này, nhóm tác giả đã tổng hợp một số khuyến nghị cho mức an toàn đối với độ dài khóa RSA được Lenstra, Verheul và ECRYPT đề xuất.
09:00 | 27/12/2023
Với sự phát triển mạnh mẽ của công nghệ thông tin hiện nay, các ứng dụng giải trí, nhắn tin, gọi điện đang dần trở nên phổ biến. Những dịch vụ truyền thông được cung cấp trực tiếp đến người xem thông qua Internet (Over The Top - OTT) trở thành một trong những mục tiêu bị tin tặc tấn công nhiều nhất. Bài báo đưa ra thực trạng sử dụng dịch vụ ứng dụng OTT tại Việt Nam và những thách thức trong công tác bảo đảm an ninh, an toàn thông tin trên các thiết bị di động và dữ liệu cá nhân trong thời gian qua. Từ đó, đưa ra các giải pháp nhằm nâng cao hiệu quả bảo đảm an ninh, an toàn thông tin cho dữ liệu cá nhân người dùng ứng dụng OTT trên nền tảng Internet trong thời gian tới.
09:00 | 09/03/2023
D2D (Device-to-Device) là phương tiện liên lạc trực tiếp giữa các thiết bị mà không qua nút trung gian, nó giúp mở rộng phạm vi phủ sóng di động và tăng cường tái sử dụng tần số vô tuyến trong mạng 5G [1]. Đồng thời, D2D còn là công nghệ lõi của liên lạc giữa thiết bị với vạn vật IoT. Tuy nhiên, truyền thông D2D trong mạng 5G là kiểu mạng thông tin di động có nhiều thách thức bao gồm ẩn danh, nghe lén, đánh cắp quyền riêng tư, tấn công tự do… Những thách thức này sẽ khó giảm thiểu hơn do tính chất hạn chế tài nguyên của các thiết bị IoT. Do đó, việc sử dụng mật mã hạng nhẹ vào bảo mật hệ thống D2D nhằm đáp ứng yêu cầu về năng lượng tiêu thụ, tài nguyên bộ nhớ, tốc độ thực thi bảo mật xác thực trong 5G IoT là đặc biệt quan trọng. Bài báo đi phân tích các bước trong mô hình bảo mật D2D cho mạng 5G IoT. Từ đó, đề xuất thuật toán có thể sử dụng để bảo mật liên lạc D2D cho các thiết bị 5G IoT.
Lược đồ chữ ký số dựa trên hàm băm là một trong những lược đồ chữ ký số kháng lượng tử đã được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) chuẩn hóa trong tiêu chuẩn đề cử FIPS 205 (Stateless Hash Based Digital Signature Standard) vào tháng 8/2023. Bài báo này sẽ trình bày tổng quan về sự phát triển của của lược đồ chữ ký số dựa trên hàm băm thông qua việc phân tích đặc trưng của các phiên bản điển hình của dòng lược đồ chữ ký số này.
09:00 | 01/04/2024
Mới đây, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã phát hành phiên bản mới của hệ thống Malware Next-Gen có khả năng tự động phân tích các tệp độc hại tiềm ẩn, địa chỉ URL đáng ngờ và truy tìm mối đe dọa an ninh mạng. Phiên bản mới này cho phép người dùng gửi các mẫu phần mềm độc hại để CISA phân tích.
13:00 | 17/04/2024