Bộ tạo mẫu ngẫu nhiên Beacon của NIST

15:49 | 18/09/2014

NIST đang cài đặt một nguồn nguyên mẫu ngẫu nhiên công cộng, sử dụng hai nguồn ngẫu nhiên sẵn có về mặt thương mại độc lập với nhau, mỗi nguồn đều có phần cứng tạp nguồn entropy độc lập và các thành phần đã được tài liệu SP800-90 của NIST chấp nhận.

Nguyên mẫu Beacon được thiết kế để cung cấp tính không dự đoán được (unpredictability), tính tự trị (autonomy) và tính nhất quán (consistency). Tính không dự đoán được có nghĩa là những người dùng không thể dự đoán bằng thuật toán các bit trước khi chúng được tạo ra hiện hữu bởi nguồn. Tính tự trị có nghĩa là nguồn kháng lại các nỗ lực bởi những người tham dự bên ngoài nhằm thay đổi phân phối của các bit ngẫu nhiên. Tính nhất quán có nghĩa là một tập những người dùng có thể truy cập nguồn theo một cách để họ tin chắc rằng tất cả họ nhận được cùng một chuỗi ngẫu nhiên.

Mô tả

Beacon sẽ truyền đi các chuỗi bit ngẫu nhiên có entropy đầy đủ theo các khối có 512 bit cách nhau 60 giây. Mỗi giá trị như vậy được gắn tem thời gian, được ký và bao gồm giá trị băm của giá trị trước đó (để liên kết dãy các giá trị cùng với nhau). Nó ngăn chặn tất cả, thậm chí nguồn, khỏi việc thay đổi gói đầu ra từ một thời điểm trong quá khứ trở về trước mà không bị phát hiện. Beacon giữ tất cả các gói đầu ra và để chúng luôn ở trạng thái sẵn sáng trực tuyến.

Cách sử dụng

Các bảng số ngẫu nhiên có thể được sử dụng cho nhiều mục đích, từ Thế kỷ 18. Bảng được công bố đầu tiên xuất hiện bởi nhà thống kê người Anh L. H. C. Tippett.

Trong kỷ nguyên số, các bộ tạo số ngẫu nhiên thuật toán đã thay đổi phần lớn các bảng này. Bộ tạo ngẫu nhiên Beacon của NIST mở rộng việc sử dụng tính ngẫu nhiên ra nhiều kịch bản mà trong đó có những phương pháp sau này không sử dụng được.

Các tính năng vượt trội của Beacon xuất phát chủ yếu từ 3 đặc điểm. Thứ nhất, các số do Beacon sinh ra không thể dự đoán được trước khi chúng được công bố. Thứ hai, bản chất công khai, gắn với thời gian, được xác thực của Beacon cho phép ứng dụng của người dùng chứng minh cho bất cứ ai rằng nó đã sử dụng các số ngẫu nhiên thực sự mà không được biết trước một thời điểm nào đó. Thứ ba, chứng minh này có thể được trình diễn không trực tuyến tại thời điểm bất kỳ trong tương lai. Ví dụ, chứng minh có thể được gửi thư cho bên tin cậy thứ ba, được mã hóa và được ký bởi ứng dụng, chỉ được mở khi cần thiết và được ủy quyền.

NIST khuyến khích một cách rộng rãi cộng đồng những người quan tâm nghiên cứu và công bố các cách mới mà công cụ này có thể được sử dụng trong đó. Một số ít các ứng dụng được đưa ra dưới đây:

- Lấy mẫu không dự đoán được (Unpredictable sampling)

- Các cơ chế xác thực an toàn mới (New secure authentication mechanisms)

- Tính toán nhiều bên an toàn (Secure multi-party Computation)

Thông tin chi tiết về các ứng dụng trên bạn đọc có thể tham khảo tại (http://www.nist.gov/itl/csd/ct/beacon-unpredict-sampling.cfm; http://www.nist.gov/itl/csd/ct/beacon-new-secure-auth-mechanisms.cfm; http://www.nist.gov/itl/csd/ct/beacon-secure-multi-party-computation.cfm). Tuy nhiên, cần chú ý rằng ngay ở trang web giới thiệu về Beacon (http://www.nist.gov/itl/csd/ct/nist_beacon.cfm), NIST có khuyến cáo “Cảnh báo: không sử dụng các giá trị được Beacon sinh ra như các khóa mật mã bí mật”.

Nguồn lượng tử

Các nguồn ngẫu nhiên vật lý dùng cho thương mại là thích hợp như các nguồn entropy cho các ứng dụng gần đây của Beacon. Tuy nhiên, các giá trị không dự đoán được một cách rõ ràng là không thể nhận được trong ngữ cảnh vật lý cổ điển bất kỳ. Căn cứ vào điều này, những người nghiên cứu về Beacon thuộc Phòng thí nghiệm Công nghệ thông tin do Rene Peralta đứng đầu đã cộng tác với những nhà vật lý học của NIST từ Phòng thí nghiệm Đo lường Vật lý. Mục tiêu là sử dụng các hiệu ứng lượng tử để sinh ra một dãy các giá trị ngẫu nhiên thực sự, được đảm bảo là không dự đoán được, thậm chí nếu kẻ tấn công được truy cập tới nguồn ngẫu nhiên. Từ tháng 8/2012, dự án này đã được tài trợ từ chương trình Các đổi mới trong Khoa học đo lường của NIST. 

Biểu đồ của phép thử Bell không có khe hở (loophole-free Bell test (http://www.nist.gov/pml/div684/random_numbers_bell_test.cfm), với thời gian tương ứng với trục tung và không gian tương ứng với trục hoành. Hai photon "rắc rối" được sinh bởi nguồn. Mỗi photon tiếp tục trên một đường riêng biệt tới các đích phát hiện khác nhau (tương ứng là Alice và Bob) được đặt cách xa vài trăm mét. Tại thời điểm nào đó trong khoảng thời gian từ lúc sinh ra mỗi photon cho đến khi khi nó đi đến bộ phát hiện, một lựa chọn ngẫu nhiên của cơ sở đo được thực hiện (ví dụ, sự phân cực). Lựa chọn này ảnh hưởng đến kết quả khi photon chạm vào bộ phát hiện của nó. Các đường xanh biếu diễn các hình nón ánh sáng: thể tích không gian-thời gian, trong đó một vật có thể tương tác với vật khác. Vị trí của các đường này chỉ ra rằng không thể để cho thông tin về lựa chọn cơ sở được làm trên photon của Alice, thậm chí nếu nó di chuyển với tốc độ ánh sáng, đạt tới photon của Bob trước khi nó bị phát hiện, và ngược lại. 

Cài đặt mẫu

Các cài đặt mẫu ngẫu nhiên Beacon hiện nay (https://beacon.nist.gov/home) được liệt kê ở dưới đây. Người dùng yêu cầu cung cấp thời gian sinh bản ghi ở dạng POSIX (số giây từ nửa đêm UTC, 1/1/1970 (xem http://en.wikipedia.org/wiki/Unix_time; http://www.epochconverter.com) để biết thông tin chi tiết và để chuyển tem thời gian trực tuyến).
Current Record (or next closest): https://beacon.nist.gov/rest/record/<timestamp>
Previous Record: https://beacon.nist.gov/rest/record/previous/<timestamp>
Next Record: https://beacon.nist.gov/rest/record/next/<timestamp>
Last Record: https://beacon.nist.gov/rest/record/last
Start Chain Record: https://beacon.nist.gov/rest/record/start-chain/<timestamp>

Sau đây là ví dụ một bản ghi của Beacon

Beacon Record
Version:Version 1.0 
Frequency:60 seconds 
Time:07/22/2014 9:38 pm (1406039880) 
Seed Value: 
0EDBECFCBB13904CD8B44BAFC3A1EFED07AC46A190874D14E5DB65D2BB22A383
41E3DD1EBBCE5F497E927D3799CBE711D2F03054A3E6C00EF9E58040551ECBFE
Previous Output: 
9E4617EC1322490097D98A6717642D7C772ED49E107129BD88F8385C89897D34
45869E41415F7D45CA898DEF8A2E772BDDB640416A57B1C65B86C1A440938CE4
Signature: 
B1D2B6B09518096F57C80747312AB748173BF308C06019482C3E24087BD48CDE
37B2C9836563A3E6D56EED9BE43E0B2559CD5153EE7BB2382B3E89AA3C7434F8
62491C18CEE91F62F666DEEE3E2034B64864EE860C11166D756F08E3077A2F02
500F29189AB9137F48A046408D3BA40EEA042C527341FAE2405F23D7EC27D6B4
750E3867A2BBC858CF09F6E21252A70DDB1BB2794236B54C9DE6A6218E087A09
4581E58DA9B4496C69D6D39430D9B3CFDCCC2A384F08D90E8D9F1540D22FCC7F
BEB7EC5DAD9FCE39059F86E372C7C40CB639A34E661F2C363A24D4F9EF2EA7A6
9103BDBCE6F659907F64AA18AB7738E940890935AB592896C10A0DD8A8631861
Output Value: 
9AA1AA44DACCEECA2B3042D17B392F8CE3F6649C315D99BAAEA723EB656EB6B5
E3D91F7AB0A6838302796738EDB11AA04B8D670FE490EF65B882CA0148C6005F
Status: 
0: Normal