YOMEDIA
ADSENSE
Thực thi bộ tạo số ngẫu nhiên thực sử dụng hàm băm mật mã
9
lượt xem 2
download
lượt xem 2
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài viết "Thực thi bộ tạo số ngẫu nhiên thực sử dụng hàm băm mật mã" trình bày kiến trúc chung của một bộ tạo số ngẫu nhiên thực, giới thiệu về hàm băm Keccak và ứng dụng của bộ hàm băm Keccak hậu xử lý cho bộ tạo số ngẫu nhiên thực, đánh giá kết quả số ngẫu nhiên sinh ra. Mời các bạn cùng tham khảo!
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Thực thi bộ tạo số ngẫu nhiên thực sử dụng hàm băm mật mã
- Hội nghị Quốc gia lần thứ 26 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2023) THỰC THI BỘ TẠO SỐ NGẪU NHIÊN THỰC SỬ DỤNG HÀM BĂM MẬT MÃ Lê Văn Hoan1, Nguyễn Văn Sáng2 Viện Vũ Khí 1 Hải đoàn Biên phòng 18, Bộ đội Biên phòng 2 Email: hoanle@aiots.vn; binphon198@gmail.com; Abstract— Trong bài báo này, tác giả sử dụng hàm số ngẫu nhiên ở đầu ra phụ thuộc chặt chẽ vào đại băm mật mã Keccak thực hiện hậu xử lý cho bộ tạo số lượng entropy ở khối này. Song, trong thực tế, các bộ ngẫu nhiên thực (TRNG) giúp tăng cường ứng dụng bảo sinh số ngẫu nhiên vật lý chưa thể đạt được sự hoàn mật cho hệ thống IoT (Internet of Thing). Keccak là hàm hảo về các đặc tính thống kê cho các bit ở đầu ra [6]. băm mới và mạnh được sử dụng trong SHA3, giúp cải Vì bản chất của tín hiệu nhiễu vật lý (dạng analog) sau thiện các đặc tính thống kê: giảm độ lệch xác suất xuất khi được số hóa có thể suy giảm, bởi: Entropy của hiện các số 0 và 1, giảm độ tương quan giữa các số ngẫu nguồn nhiễu không được duy trì đủ cao; hoặc entropy nhiên được sinh ra bởi bộ tạo TRNG. Bài báo này trình cao nhưng kỹ thuật trích xuất không chính xác dẫn tới bày kiến trúc chung của một bộ tạo số ngẫu nhiên thực, trị tương quan lớn giữa các bit trích xuất ra. Do đó, cần giới thiệu về hàm băm Keccak và ứng dụng của bộ hàm băm Keccak hậu xử lý cho bộ tạo số ngẫu nhiên thực, gia công cho các bit dữ liệu thô (ở sau khối trích bit) đánh giá kết quả số ngẫu nhiên sinh ra. bằng cách thực hiện hậu xử lý (post-processing) để cải thiện các đặc tính thống kê của số ngẫu nhiên sinh ra Keywords- Bảo mật, Hậu xử lý, Keccak, SHA3, TRNG. [5]. I. GIỚI THIỆU Ý tưởng chung của hậu xử lý là hy sinh một lượng bit nào đó để đạt được tập bit nhỏ hơn nhưng ngẫu Gần đây, với sự phát triển nhanh chóng của nhiên hơn. Có các kỹ thuật hậu xử lý cơ bản như: dùng Internet, yêu cầu về bảo mật thông tin trong các lĩnh cơ chế hiệu chỉnh (XOR, Von-Neumann, …), sử dụng vực khác nhau ngày càng cao hơn và vấn đề bảo mật bằng mã tuyến tính, dùng hàm băm mật mã (SHA-1, ngày càng được quan tâm [1], [2]. Trong lĩnh vực bảo SHA-2, Keccak, …) [6]. Nhược điểm của các phương mật thông tin, thuật toán mã hóa và tạo khóa là những pháp cơ chế hiệu chỉnh, bằng mã tuyến tính là tốc độ yếu tố quan trọng của hệ thống mã hóa; chúng phải là bit bị giảm quá lớn sau quá trình hậu xử lý, chính vì không thể đoán trước được [3], [4]. Trong hầu hết các vậy trong bài báo này, tác giả lựa chọn hàm băm thuật toán mật mã, số ngẫu nhiên là thành phần không Keccak (Một hàm băm mới, mạnh, đã chiến thắng thể thiếu và bộ tạo số ngẫu nhiên (RNG) có những ứng trong cuộc thi tuyển chọn hàm băm SHA-3 do NIST tổ dụng quan trọng trong lĩnh vực bảo mật thông tin [4]. chức) để sử dụng cho khối hậu xử lý cho bộ tạo TRNG, Có 2 phương pháp cơ bản để xây dựng các bộ tạo giúp cải thiện các đặc tính thống kê: giảm độ lệch xác số ngẫu nhiên, đó là: bộ tạo số giả ngẫu nhiên (PRNG) suất xuất hiện các số 0 và 1, giảm độ tương quan giữa và bộ tạo số ngẫu nhiên vật lý thực (TRNG) [5], [6]. các số ngẫu nhiên được sinh ra bởi bộ tạo TRNG; Sau Bộ tạo số giả ngẫu nhiên được ứng dụng rộng rãi trong đó đánh giá chất lượng số ngẫu nhiên sinh ra tiêu chuẩn các hệ thống mật mã hiện đại, tạo ra một chuỗi số gần SP 800-90B [7], một công bố đặc biệt của Viện NIST như ngẫu nhiên, nhưng không thực sự ngẫu nhiên; bộ (National Institute for Standards and Technology) và tạo này hoạt động tuân theo thuật toán cho thông lượng Tiêu chuẩn an toàn thông tin của Liên bang Đức (BSI – cao và dễ thực thi, nhưng đầu ra lại mang tính thống kê German Federal Office for Information Security) cũng tất định. Các bộ tạo PRNGs không hiệu quả về mặt an đã công bố một tài liệu để đánh giá an toàn dạng thức toàn, vì vẫn có khả năng dự đoán được trạng thái ở đầu các bộ tạo số ngẫu nhiên, được gọi là AIS-31 [8]. ra tiếp theo của nó dựa trên trạng thái hiện tại, nếu kẻ tấn công truy cập được vào thiết kế và nhất là khi xác II. CƠ SỞ LÝ THUYẾT định được giá trị của mầm khóa [5]. A) Bộ tạo số ngẫu nhiên thực Bộ tạo TRNG giúp khắc phục những nhược điểm của bộ tạo số giả ngẫu nhiên, nguồn ngẫu nhiên có độ bất định cao dựa trên các hiện tượng vật lý thực không Nguồn bất Lấy mẫu Số hóa Xử lý sau Kiểm tra cho phép dự đoán trạng thái kế tiếp. Để sinh đầu ra định hoàn toàn ngẫu nhiên, TRNG phải khai thác tính chất bất định được bắt nguồn từ các tiến trình vật lý ngẫu Hình 1: Kiến trúc chung của bộ tạo TRNG nhiên, không thể dự đoán được trạng thái kế tiếp. Hình 1 thể hiện cấu trúc bộ TRNG điển hình và có Nguồn ngẫu nhiên chứa các tiến trình vật lý thực đóng thể được chia thành năm khối: (1) Nguồn bất định; (2) vai trò trọng tâm của bộ tạo TRNG, bởi chất lượng các Lấy mẫu; (3) Số hóa; (4) Hậu xử lý; (5) Kiểm tra [9]. ISBN 978-604-80-8932-0 450
- Hội nghị Quốc gia lần thứ 26 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2023) Nguồn bất định là tín hiệu ngẫu nhiên tương tự tham số l : nr = 12 + 2l . Bảng sau đây biểu thị số được lấy từ nguồn entropy và sau đó được lấy mẫu. vòng ứng với chiều rộng trạng thái: Module số hóa cần chuyển các tín hiệu tương tự này thành dạng số hóa. Đầu ra của nguồn nhiễu số được Chiều rộng trạng thái b (bit) Số vòng (nr) gọi là các số ngẫu nhiên thô. Các số ngẫu nhiên này 25 12 sẵn sàng phục vụ cho khả năng kiểm tra bên trong. 50 14 Module hậu xử lý được ứng dụng để các số ngẫu nhiên 100 16 thô chưa lý tưởng cải thiện các đặc tính thống kê và an 200 18 toàn của chúng [9]. 400 20 B) Hàm băm Keccak 800 22 1600 24 Keccak là hàm băm đã chiến thắng trong cuộc thi Có thể biểu diễn trạng thái đầu vào và đầu ra của tuyển chọn hàm băm SHA-3 do NIST tổ chức [10]. phép hoán vị là các chuỗi b bit và biểu diễn trạng thái Keccak thực thi kiến trúc sủi bọt Sponge. Hàm Sponge đầu vào và đầu ra của các ánh xạ con là một mảng bit đơn giản là một hàm băm có thể nhận bất kỳ đầu vào 5×5×w (với w = 2 ). Quy ước thành phần của mảng l có độ dài tùy ý và tạo ra đầu ra có độ dài tùy ý. Hàm hoạt động trong hai giai đoạn: Giai đoạn đầu là giai theo nhiều chiều và quy ước theo tạo độ được thể hiện đoạn hấp thụ (Absorb), trong đó một khối thông báo như hình dưới: được XOR vào trạng thái. Khi tất cả các khối thông báo đã được hấp thụ, chuyển sang giai đoạn thứ hai. Z Đây là giai đoạn nén (Squeeze) trong đó số lượng bit thích hợp được trả về từ trạng thái, tạo ra đầu ra [11]. 2 1 Z Y 0 M 4 3 3 4 0 1 2 pad l X Hình 4: Quy ước tọa độ Các biến đổi thành phần trong hàm Keccak-f [11]: Theta (θ): 0 f f f f f f C x = A x,0 A x,1 A x, 2 A x,3 A x, 4 , ( 0 x 4 ) 0 (1) D x = C x − 1 ROT ( C x + 1 ,1) , ( 0 x 4 ) absorbing squeezing Sponge A x, y = A x , y D x , ( 0 x , y 4 ) Hình 2: Cấu tạo hàm Sponge Rho (ρ) và Pi (π): B y, 2 x + 3 y = ROT ( A x, y , r x, y ), ( 0 x, y 4 ) (2) Hàm Keccak-f là phần chính của thuật toán băm và được sử dụng trong cả hai giai đoạn của cấu trúc Chi (χ): Sponge (Hình 2). Cấu trúc bên trong của Keccak – f A x, y = B x, y ((NOT B x + 1, y ) AND B x + 2, y ), ( 0 x, y 4 ) (3) được thể hiện như Hình 3. Iota (ι): r r A 0,0 = A 0,0 RC (4) f c c Hằng số RC được cho trong bẳng dưới đây [11]. RC[ 0] 0x0000000000000001 RC[12] 0x000000008000808B r Round 1 b ... b Round n r b r RC[ 1] 0x0000000000008082 RC[13] 0x800000000000008B c c RC[ 2] 0x800000000000808A RC[14] 0x8000000000008089 RC[ 3] 0x8000000080008000 RC[15] 0x8000000000008003 RC[ 4] 0x000000000000808B RC[16] 0x8000000000008002 Ɵ ρ π χ ι b b RC[ 5] 0x0000000080000001 RC[17] 0x8000000000000080 Hình 3: Cấu trúc bên trong của Keccak – f RC[ 6] 0x8000000080008081 RC[18] 0x000000000000800A RC[ 7] 0x8000000000008009 RC[19] 0x800000008000000A Hàm bao gồm nr vòng và mỗi vòng được chia RC[ 8] 0x000000000000008A RC[20] 0x8000000080008081 thành năm bước là: Theta (θ), Rho (ρ) và Pi (π), RC[ 9] 0x0000000000000088 RC[21] 0x8000000000008080 Chi(Χ), Iota(i). Mỗi vòng có một đầu vào bao gồm RC[10] 0x0000000080008009 RC[22] 0x0000000080000001 b = r + c bit (với b = 25.2l ). Số vòng phụ thuộc vào RC[11] 0x000000008000000A RC[23] 0x8000000080008008 ISBN 978-604-80-8932-0 451
- Hội nghị Quốc gia lần thứ 26 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2023) III. THỰC THI BỘ TẠO SỐ NGẪU NHIÊN Phần cứng mạch ngẫu nhiên sẽ tạo ra nguồn bất định entropy từ nhiễu nhiệt điện tử, giống như nhiều A. Bộ tạo số ngẫu nhiên thực dựa trên modun nhân bộ tạo số ngẫu nhiên khác. Ở đây nhiễu nhiệt của các Entropy điện trở được khuếch đại trong một vòng lặp vô hạn để Kiến trúc mô-đun nhân entropy được Peter Allan tạo ra dữ liệu. Một bộ chuyển đổi A/D đo điện áp phát minh vào năm 1999, được ông gọi là Firebug tương tự và trả về một số kỹ thuật số đại diện cho điện [12]. Sau đó đã hoàn chỉnh lại nó vào năm 2013 bởi áp đó. Nó đặt một điện áp tham chiếu. Nếu điện áp đo Bill Cox. Bill Cox đã dựa trên những ý tưởng của được cao hơn điện áp tham chiếu, thì nó trả về 1, Peter Allan để thiết kế một thiết bị gọi là Redoubler. ngược lại nó trả về 0. Điều phân biệt nó với các TRNG Phương pháp mô-đun nhân Entropy thực hiện so sánh khác là kỹ thuật nhân entropy mô-đun [13]. tín hiệu điện áp với điểm giữa dải của nó ở tầng thứ 1, Dữ liệu xuất ra trên mỗi chu kỳ là kết quả của phép sau đó nhân đôi tín hiệu điện áp để đưa vào tầng thứ 2, các kết quả so sánh ở cả 2 tầng sẽ liên tục được thu so sánh giữa điện áp vào Vin với điện áp tham chiếu thập ở cả pha dương và pha âm của tín hiệu nhịp điều Vref , và nếu nó lớn hơn thì trừ Vref , sau đó nhân với khiển. Tùy thuộc vào kết quả so sánh (tầng 1 và tầng 2), các bit '0' hoặc bit '1' sẽ được xuất ra. Mạch dưới 2. đây thể hiện mô-đun nhân Entropy (MEM). Vin , (Vin Vref ) (5) Vout = 2. Vin − Vref , (Vin Vref ) Nếu mạch hoạt động hoàn toàn chính xác và điện áp tham chiếu hoàn toàn ổn định thì mạch sẽ xuất ra entropy ổn định. Tuy nhiên trên thực tế các linh kiện khó có thể hoạt động một cách chính xác, vì vậy entropy sẽ bị giảm xuống. Nếu E là entropy trên mỗi bit và K là độ khuếch đại vòng lặp ( 1 2 ), thì: Hình 5: Modun nhân Entropy E = LogK / Log 2 (6) Bộ tạo số ngẫu nhiên thực (TRNG) dưới đây dựa B. Tích hợp hàm băm Keccak hậu xử lý cho bộ tạo trên kỹ thuật mô-đun nhân entropy (modular entropy multiplier) liên tục lặp lại trên đầu ra ngẫu nhiên trước Dữ liệu đến từ bộ tạo số ngẫu nhiên thực sự không đó, thu thập ngẫu nhiên từ nhiễu của nhiều thành phần bao giờ là ngẫu nhiên 100%. Việc xử lý dữ liệu thô phần cứng bảng mạch để thành lập đầu ra ngẫu nhiên được yêu cầu trong mọi trường hợp trước khi đưa ra tiếp theo. Bằng phương pháp này cho phép tạo ra một dữ liệu phù hợp để sử dụng trong mật mã. mức entropy không đổi, có thể đo lường được. Tính Hầu hết các TRNG đều tích hợp khối hậu xử lý mở của việc triển khai giúp dễ dàng kiểm tra và xác vào phần cứng. Đây không phải là một hướng đi tốt vì minh thiết kế, đây cũng là yêu cầu quan trọng đối với ít nhất là người sử dụng khó kiểm soát được khối này. tất cả các phần cứng xử lý bảo mật thông tin. Bộ tạo số Một số sản phẩm TRNG nổi bật chẳng hạn như ngẫu nhiên cần được bảo vệ (miễn dịch) một cách tự OneRNG và Entropy Key có sử dụng hậu xử lý nhưng nhiên tránh những ảnh hưởng từ các tín hiệu bên không cung cấp quyền truy cập vào các luồng dữ liệu ngoài, chẳng hạn như nhiễu sóng vô tuyến và nhiễu thô để kiểm tra và phân tích luồng dữ liệu sinh ra. nguồn điện [13], … Hàm băm Keccak với trạng thái 1600bit được tích hợp vào khối hậu xử lý của bộ tạo TRNG để làm cho trạng thái sủi bọt Sponge không thể đoán định, nó được khởi tạo với 20.000bit dữ liệu trước khi bất kỳ bit dữ liệu nào được xuất ra. Sau đó, đọc số byte từ khối Sponge cho đến khi số byte entropy được nạp vào khối Sponge từ TRNG nhiều gấp đôi. Trước khi đưa vào hàm băm Keccak để thực hiện thì nhiễu từ bộ tạo số ngẫu nhiên sẽ được kiểm tra chất lượng để đảm bảo entropy trên mỗi bit không lệch khỏi so với lý thuyết trong khoảng 2 % (Theo lý thuyết là E = LogK/Log2) Hình 6: Mạch thiết kế ISBN 978-604-80-8932-0 452
- Hội nghị Quốc gia lần thứ 26 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2023) Các tiêu chuẩn của Bắt đầu p-value Kết quả NIST (SP-22) Longest run 0.3075 Pass Rank 0.4987 Pass FFT 0.6834 Pass Sinh nhiễu Non overlapping template 0.3797 Pass ngẫu nhiên Overlapping template 0.7482 Pass Serial 0.6374 Pass Approximate entropy 0.4483 Pass Kiểm tra No Cumulative sums 0.7476 Pass Entropy Random excursions 0.5884 Pass Random excursions 0.6371 Pass Yes variant Linear complexity 0.7253 Pass Keccak 1600 Universal 0.9696 Pass Bảng 3: Kiểm tra chất lượng theo chuẩn AIS-31 File dữ liệu ra Các phép Test Kết quả Test T0 Disjointness test Pass Test T1 Monobit test Pass Test T2 Poker test Pass Kết thúc Test T3 Run test Pass Test T4 Long Run test Pass Hình 7: Lưu đồ hoạt động Test T5 Autocorrelation test Pass Giống như các mạch tạo số ngẫu nhiên bằng dao Test T6 Uniform distribution test Pass động vòng, hệ số nhân nhiễu vô hạn khá chậm nhưng ít bị tấn công bởi sự tiêm nhiễm hơn các bộ tạo dao Test T7 Comparative multinomial Pass động vòng. test Test T8 Entropy test Pass Bảng 1: Thời gian sinh khóa Kích thước V. KẾT LUẬN Thời gian sinh Số lần sinh khóa ngẫu (s) Trong bài báo này, tác giả thực hiện nghiên cứu một nhiên (bit) bộ tạo số ngẫu nhiên vật lý dựa trên nhiễu nhiệt sử 1 50 0.1025 dụng kiến trúc modul nhân entropy, đồng thời tích hợp 2 100 0.1924 hàm băm Keccak 1600, kiểm tra, đánh giá chất lượng 3 500 0.8351 số ngẫu nhiên tạo ra. Kết quả số ngẫu nhiên sau khi đã 4 1000 1.5124 xử lý bằng hàm băm Keccak 1600 đáp ứng các tiêu 5 5000 7.4933 chuẩn của NIST và AIS-31. TÀI LIỆU THAM KHẢO IV. ĐÁNH GIÁ KẾT QUẢ [1] F. T. and F. Y. L. Zhou, “A Robust Synchronization-Based Trong phần này, tác giả thực hiện đánh giá kết quả Chaotic Secure Communication Scheme With Double- số ngẫu nhiên sinh ra bằng công cụ kiểm tra, đánh giá Layered and Multiple Hybrid Networks,” IEEE Systems chất lượng số ngẫu nhiên Random Numbers Analyser Journal, vol. 14, no. 2, pp. 2508–2519, 2020, doi: 10.1109/JSYST.2019.2927495. phát triển theo tiêu chuẩn của NIST và AIS – 31 đánh [2] Z. Xia, Z. Fang, F. Zou, and J. Wang, “Research on giá theo tiêu chuẩn của Liên bang Đức. Defensive Strategy of Real-Time Price Attack Based on Multiperson Zero-Determinant,” vol. 2019, 2019. Bảng 2: Kiểm tra chất lượng dãy sinh ra theo các tiêu [3] L. Y. Ke Gu, Keming Wang, “Traceable attribute-based chuẩn của NIST signature,” Journal of Information Security and Applications, vol. 49, p. 102400, 2019, doi: Các tiêu chuẩn của https://doi.org/10.1016/j.jisa.2019.102400. p-value Kết quả [4] L. W. Ke Gu, Xinying Dong, “Efficient traceable ring NIST (SP-22) signature scheme without pairings,” Advances in Mathematics Frequency 0.8268 Pass of Communications, vol. 14, no. 2, pp. 207–232, 2020, doi: Block frequency 0.4137 Pass https://doi.org/10.3934/amc.2020016. Runs test 0.2405 Pass [5] S. Shukla, A., Heller, L., Morshed, M. G., Rehm, L., Ghosh, A. W., Kent, A. D., & Rakheja, “A True Random Number ISBN 978-604-80-8932-0 453
- Hội nghị Quốc gia lần thứ 26 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2023) Generator for Probabilistic Computing using Stochastic on True Random Number Generators Based on Chaos,” vol. Magnetic Actuated Random Transducer Devices,” 2019, 2019. Proceedings of the 24th International Symposium on Quality [10] H. Function, A. Sideris, and T. Sanida, “High Throughput Electronic Design, ISQED 2023, vol. 2023-April, 2023, doi: Implementation of the Keccak,” pp. 1–14, 2020, doi: https://doi.org/10.1109/ISQED57927.2023.10129319. 10.3390/technologies8010015. [6] A. Teh, J.S., Teng, W., Samsudin, “A post-processing method [11] B. Guido, “implementation overview,” pp. 1–59, 2012. for true random number generators based on hyperchaos with [12] “FiReBuG - Fast Random Bit Generator”, [Online]. applications in audio-based generators,” Front. Comput. Sci., Available: http://apa.hopto.org/firebug/ vol. 14, p. 146405, 2020, doi: https://doi.org/10.1007/s11704- [13] D. Johnston, “Random Number Generators—Principles and 019-9120-2. Practices: A Guide for Engineers and Programmers,” Berlin, [7] E. Barker, K. A. Mckay, M. L. Baish, E. Barker, K. Mckay, Boston, 2018, [Online]. Available: and M. Boyle, “Recommendation for the Entropy Sources https://doi.org/10.1515/9781501506062 Used for Random Bit Generation NIST Special Publication 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation”. [8] W. Schindler, “A Proposal for Functionality Classes for Random Number Generators,” 2022. [9] F. Yu, L. Li, Q. Tang, S. Cai, Y. Song, and Q. Xu, “A Survey ISBN 978-604-80-8932-0 454
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn