Đề xuất thiết kế PUF bảo vệ bộ sinh số ngẫu nhiên thực

22:00 | 02/05/2022 | GIẢI PHÁP KHÁC
Hiện nay, nhu cầu ứng dụng các thiết bị xử lý an toàn thông tin là rất lớn, song đây không phải là một nhiệm vụ dễ dàng và vẫn còn nhiều thách thức do nguy cơ các Trojan phần cứng ngày càng tăng và tính chất quốc tế, chuyên môn hóa về sản xuất từng phần của vi mạch tích hợp. Bên cạnh đó, các cuộc tấn công vào thiết bị bảo mật, đặc biệt là những tấn công tinh vi có các đặc quyền truy cập vật lý vào thiết bị bị tấn công. Chức năng an toàn vật lý chống sao chép (physical uncloning function - PUF) là một lớp các nguyên thủy an toàn phần cứng mới, hứa hẹn mở ra sự đột phá trong mô hình thiết kế, chế tạo các hệ thống an toàn thông tin. Bài báo này giới thiệu về ứng dụng mạch PUF và một thiết kế tích hợp mạch PUF bảo vệ bộ sinh số ngẫu nhiên thực.

GIỚI THIỆU ỨNG DỤNG CỦA MẠCH PUF

Nguyên thủy an toàn vật lý (physical security primarities) ngày càng được quan tâm trong thiết kế và thực thi các giao thức bảo mật thông tin hiện đại. Trong đó PUF có chức năng khai thác khả năng dung sai để tạo ra các đáp ứng duy nhất của thiết bị, cho phép xác thực và định danh chính xác thiết bị trên cơ sở ràng buộc giữa phần mềm với nền tảng phần cứng. Hơn nữa, PUF còn cho phép tích hợp với các thuật toán mật mã và các giao thức chứng thực từ xa. Hiện nay, trên thị trường đã có các sản phẩm ứng dụng PUF nhằm chống làm giả sản phẩm nhờ dùng lõi IP và RFID [1-2].

Ở dạng khái quát, PUF được biểu diễn thành tập các cặp “thách thức/đáp ứng” [3]: khi một thách thức truy vấn thì đầu ra của PUF sẽ hình thành đáp ứng ngẫu nhiên và thống nhất theo thời gian. Tính an toàn của PUF phụ thuộc vào việc tạo ra các “biến thể” bên trong làm cho không thể đoán ra được đáp ứng của PUF. Hơn nữa, tri thức quan hệ giữa các cặp thách thức/đáp ứng khác nhau cũng không cho phép dự đoán được đầu ra của PUF trước những thách thức chưa xác định. Có nhiều cách triển khai ứng dụng PUF, trong đó tiêu biểu là tích hợp PUF điện tử để bảo vệ các thiết bị xử lý an toàn thông tin, như PUF trễ trong bộ điều phối (arbiter), PUF vòng sử dụng các tín hiệu dao động vòng trong vi mạch, các PUF nhớ khai thác tính không ổn định của trạng thái nhớ SRAM và các trạng thái chuyển đổi bất định của flip-flops,… 

Khác với hầu hết các nguyên thủy mật mã chịu ràng buộc chặt chẽ theo các tính chất trong xử lý bảo mật thông tin như tính đúng đắn, tính cân bằng, tính ngẫu nhiên, tính khuếch tán, tính thống nhất và tính tin cậy thì PUF được ứng dụng dựa trên các thuộc tính vật lý khác nhau. Các giải pháp an toàn dựa trên ứng dụng PUF hiện tại vẫn chưa nhất quán, các PUF trễ bị coi là yếu trước tấn công mô phỏng bằng một số phần mềm [4]. Kết quả này mâu thuẫn với yêu cầu không thể đoán ra đáp ứng của mạch PUF. Để giải quyết vấn đề này, phải bổ sung nguyên tắc ứng dụng PUF vào phần cứng thiết bị mật mã để “ẩn giấu” các đáp ứng ra. Vì các đáp ứng PUF vốn có tính chất nhiễu nên chúng phải được kết hợp với các cơ chế sửa lỗi, chẳng hạn như trình trích xuất mờ (fuzzy) để loại bỏ ảnh hưởng của nhiễu trước khi PUF được tích hợp vào một thuật toán mật mã. Thông thường, các thành phần mật mã và sửa sai cũng như các tín hiệu trên đường dẫn kết nối giữa chúng phải được PUF bảo vệ nhằm kháng lại tấn công xâm lấn thông qua các kênh kề.

Công nghệ PUF hứa hẹn trở thành nền tảng cho các giải pháp an toàn dựa trên phần cứng mới, giúp bảo vệ thiết bị trước các cuộc tấn công vật lý. Tính an toàn của PUF nằm ở chính những khó khăn gây ra trong việc tái tạo lại (nhân bản) các đáp ứng của một mạch tích hợp trong các thiết bị [4-5].

THIẾT KẾ TÍCH HỢP PUF BẢO VỆ BỘ SINH SỐ NGẪU NHIÊN THỰC TRNG

 Bộ sinh số ngẫu nhiên thực trong FPGA

Thực thi bộ tạo số ngẫu nhiên vật lý (true random number generator - TRNG) trong chip FPGA XC3SD1800A-4FGG676C cùng với Kit Nanoboard2 (Hình 1), sử dụng 2 vòng dao động RO đối xứng nhau. Sau khi tổng hợp dự án thiết kế trong môi trường Altium Designer sẽ thu được dãy bit ngẫu nhiên thực [4], do các yếu tố sau:

- Tín hiệu hình thành trong vòng RO dao động không ổn định do điện áp nguồn nuôi bị thăng giáng (glitch powers);

- Vòng dao động tổng hợp được bằng công nghệ FPGA chịu hiệu ứng luồng nhiệt trong chip dẫn đến mất đối xứng;

- Do sự già hóa của các linh kiện (điện trở, tụ điện, cuộn cảm và các linh kiện bán dẫn khác) được sử dụng trong bảng mạch điện.

Hình 1. Bộ tạo TRNG dựa vào 2 vòng dao động tổng hợp trong chip FPGA

Để kiểm tra chất lượng bit ngẫu nhiên thực, tiến hành đọc các bit ngẫu nhiên ở đầu ra của bộ tạo TRNG (Hình 1) qua cổng giao tiếp RS232 ra máy tính để đánh giá các số ngẫu nhiên theo các tiêu chí thống kê NIST SP-22 [6].

THIẾT KẾ TÍCH HỢP PUF CHO BỘ TẠO TRNG

Trong Hình 2, sử dụng 3 cổng logic đảo (INV) để thiết lập vòng dao động, cổng đảo thứ nhất được thực thi là cổng NAND để cho phép hoặc không cho phép tín hiệu dao động (bố trí trong bảng LUT 2-bit). Mỗi cổng logic đảo còn lại được đặt ràng buộc tương ứng vào trong bảng LUT 1-bit. Công cụ tổng hợp sẽ tự động định tuyến các đường dẫn tín hiệu phản hồi (Feedback) và tín hiệu ngẫu nhiên đầu vào (Random_in). Một Flip-flop T (Toggle) được đặt sau tín hiệu phản hồi để lật trạng thái tín hiệu dao động vòng theo từng chu kỳ xung nhịp (CLK). Sử dụng FF-T sẽ chia đôi tần số tín hiệu đầu vào (mạch tương đương của nó chính là FF-D có đầu ra Q phản hồi lại đầu vào D qua một cổng đảo). Ưu điểm của mạch PUF NAND là cho phép xử lý dãy bit ngẫu nhiên ở đầu vào có tần số cao bằng phần tử FF-D đạt độ chính xác cao và dễ tổng hợp bằng công nghệ logic FPGA. PUF trên Hình 2 chỉ có một thách thức (tín hiệu cho phép ở mức tích cực – Random_in) và một đáp ứng (Random_out). Sự xuất hiện của các hài vật lý (do các tiến trình vật lý biến động của chip bán dẫn) làm cho PUF tạo ra các đáp ứng khác nhau sau khi thực thi tổng hợp trong các chip FPGA khác nhau, các đáp ứng này được dùng làm “dấu hiệu” định danh duy nhất của phần cứng đối với mỗi lần thực thi bộ tạo kèm theo chức năng PUF NAND này.

Hình 2. Thiết kế mạch PUF NAND

CÁC KẾT QUẢ TỔNG HỢP THIẾT KẾ

Do cả trước và sau khi sử dụng PUF đều sử dụng thêm bộ giao tiếp ngoại vi nên để kiểm tra năng lượng trước và sau sử dụng PUF cho bộ tạo số ngẫu nhiên thì lượng năng lượng được sử dụng cho bộ giao tiếp ngoại vi cần được loại bỏ. Do đó, PUF giảm được 46.78% nguồn điện sử dụng.

Sau khi sử dụng PUF cho bộ tạo số ngẫu nhiên thời gian thực thì vẫn thu được kết quả là dãy số ngẫu nhiên, tiến hành kiểm tra chất lượng dãy sinh ra theo các tiêu chuẩn của NIST (đánh giá 1000 mẫu, mỗi mẫu lấy 1Mb) nhận được kết quả như Bảng 2 (giá trị p-value và tỷ lệ số mẫu vượt qua ngưỡng kiểm tra lý thuyết cho trước).

                                                                                     a) Trước khi tích hợp PUF                                                              b) Sau khi tích hợp PUF

Hình 3. Giám sát năng lượng tiêu thụ trước và sau khi tích hợp PUF

Bảng 1. So sánh năng lượng tiêu thụ trước và sau khi tích hợp PUF

Bảng 2. Kiểm tra chất lượng dãy sinh ra theo các tiêu chuẩn của NIST

Kết quả thực nghiệm cho thấy, khi sử dụng mạch PUF tích hợp cho bộ tạo khóa ngẫu nhiên thì đáp ứng tốt thời gian xử lý các bit đầu vào (bằng phần tử FF-D tại đầu ra của mạch PUF) và lượng năng lượng tiêu thụ giảm do FF-T chia đôi tần số nhịp CLK, dẫn đến giảm thông lượng sinh bit ngẫu nhiên, song nó giúp bảo vệ được bộ tạo TRNG trước các tấn công kênh kề [7-8], như SPA hoặc DPA/CPA nhằm cố gắng khai thác thông tin rò rỉ từ nguồn điện tiêu thụ.

KẾT LUẬN

Chức năng PUF thuộc một trong các lớp nguyên thủy an toàn vật lý, chúng cho phép nhúng vào các thiết kế phần cứng kỹ thuật số của các thiết bị mật mã, đặc biệt là các bộ tạo và lưu trữ khóa an toàn. Các kết quả đạt được sau khi tích hợp PUF vào bộ tạo số ngẫu nhiên thực TRNG trong bài báo cho thấy PUF có khả năng giảm thiểu các cuộc tấn công kênh kề.

Bài báo đã thể hiện khả năng ứng dụng các PUF dựa vào kiến trúc vòng dao động kết hợp cổng NAND để bảo vệ cho bộ tạo TRNG. Tuy nhiên, một số khía cạnh trong triển khai PUF cũng cần phải được nghiên cứu chi tiết hơn như: thực thi và so sánh giữa các kiểu mạch PUF (Arbiter/SRAM/Optical) với nhau, nguồn bất định của bộ tạo cần phải được kiểm tra lại (khi không thực thi theo định tuyến tự động), xác định giá trị tương quan giữa các tín hiệu vòng dao động của PUF, đánh giá trực tuyến các bit sinh ra ngay sau mạch PUF.

TÀI LIỆU THAM KHẢO

1. Konstantinos Markantonakis, Keith Mayes, “Secure Smart Embedded Devices, Platforms and Applications”., Springer Science - New York 2014.

2. Basel Halak, “Physically Unclonable Functions From Basic Design Principles to Advanced Hardware Security Applications”., Springer International Publishing AG - 2018.

3. Roel Maes, “Physical Unclonable Function Construction, Properties and Application”., Springer-Verlag Berlin Heidelberg - 2013.

4. Holger Boche, Georg Sigl, Walter Stechele, “Highly Efficient Implementation of Physical Unclonable Functions on FPGAs”., Stefan Gehrer-2017.

5. S. Devadas, E. Suh, S. Paral, R. Sowell, T. Ziola, and V. Khandelwal, “Design and implementation of PUFbased “unclonable” RFID ICs for anti-counterfeiting and security applications”, in Proceedings of the IEEE International Conference on RFID, April 2008, pp. 58–64.

6. Rukhin, A., Soto, J., Nechvatal, J., Smid, M., Barker, E., Leigh, S., Levenson, M., Vangel, M., Banks, D., Heckert, A., Dray, J., and Vo, S. A statistical test suite for random and pseudorandom number generators for cryptographic applications., Special-Pub:800-22, NIST.

7. Mariana Safta, “Design and Setup of Power Analysis Attacks”., IEEE 22nd International Symposium for Design and Technology in Electronic Packaging - 2016.

8. Swarup Bhunia, Mark Tehranipoor, “Hardware Security: A hand-on Learning Approach”., Morgan Kaufmann-2019.

Nguyễn Đức Công, Nguyễn Văn Sáng, Lê Tuấn Quang

Tin cùng chuyên mục

Tin mới