Phương pháp sinh số ngẫu nhiên đóng vai trò quyết định trong mật mã hiện đại. Sự an toàn của máy mã nói riêng và hệ thống nhúng nói chung, phụ thuộc rất lớn vào chất lượng ngẫu nhiên của các số được tạo ra. Theo nguyên lý Kerckhoff thì một bộ tạo số ngẫu nhiên dùng trong mật mã phải đạt yêu cầu: cho dù biết mọi yếu tố về bộ tạo đó (thuật toán, mạch thiết kế,...) thì nó vẫn sinh ra các bit không thể dự đoán được [1]. Trong Hình 1, bộ tạo TRNG phổ biến sẽ gồm có khối nguồn bất định; mô-đun thực hiện số hóa (gọi là nguồn nhiễu số); mô-đun xử lý sau; mô-đun kiểm tra nhúng thực hiện kiểm tra lỗi nguồn (total test) và mô-đun kiểm tra trực tuyến (online tests) nhằm giám sát chất lượng các số ngẫu nhiên thô (raw random numbers). Các số ngẫu nhiên được sinh ra từ nguồn bất định, nguồn này chứa các tiến trình ngẫu nhiên dưới dạng các tín hiệu liên tục. Mô-đun số hóa cần chuyển các tín hiệu liên tục này thành dạng tín hiệu số, gọi chung là số ngẫu nhiên thô. Các số ngẫu nhiên này sẵn sàng phục vụ cho các kiểm tra nhúng bên trong. Thông thường, các số ngẫu nhiên thô liên quan đến các khiếm khuyết thống kê, như kiểm tra độ lệch so với tần suất lý tưởng của các số ngẫu nhiên, giá trị tương quan lớn của các bit ở đầu ra. Mô-đun xử lý sau được ứng dụng để các số ngẫu nhiên thô chưa lý tưởng cải thiện tốt các đặc tính thống kê ngẫu nhiên và an toàn cho bộ tạo. Ngay khi, nguồn bất định được số hóa, các tính chất ngẫu nhiên của tín hiệu số sẽ phải được kiểm tra nhằm mục đích thiết lập bộ tạo TRNG đạt chất lượng.
Hình 1. Sơ đồ khối TRNG thực
Các HT là các biến thể của mạch điện gây hại cố ý đối với hoạt động của thiết bị. Tuy nhiên, các biến thể không mong muốn này thường chưa được xác định từ phía nhà cung cấp phần cứng, chúng gây những rò rỉ phá hoại chức năng với các đặc điểm như: cố ý giả mạo, tránh bị phát hiện và hiếm khi kích hoạt [1, 8]. Mục đích của Trojan luôn nhất quán: thực hiện một hành vi bất thường để thỏa hiệp tính bí mật, tính toàn vẹn hoặc tính xác thực của thiết bị. Sự thỏa hiệp có thể xuất hiện dưới dạng làm giảm tuổi thọ của vi mạch hoặc gây ra lỗi “làm rối” (obfuscation) chức năng của hệ thống khi Trojan kích hoạt. Điều này cho phép kẻ tấn công nhận được quyền truy cập bất hợp pháp vào phần cứng (truy cập từ xa qua backdoor) hoặc sự rò rỉ thông tin (khóa bí mật truyền trên Bus hệ thống). Các HT bắt nguồn từ các Trojan mềm, được phát triển phi pháp trong các bộ công cụ CAD (Computer aided design) để hỗ trợ thiết kế các mạch điện chuyên dùng, trong suốt quá trình tổng hợp theo luồng thiết kế hoặc bị chèn cố ý gây ra xung đột giữa các thành phần tại các tiến trình khác nhau trong vòng đời của phần cứng thiết bị [8].
Với vai trò quan trọng của các bộ tạo TRNG trong thiết kế hệ thống bảo mật, nên cần khuyến nghị kiểm tra xuyên suốt quá trình sinh các số ngẫu nhiên ở đầu ra. Thông thường, các kiểm tra nhúng được dùng để cảnh báo khi đầu ra của bộ tạo không đáp ứng các ngưỡng thống kê. Một số kiểm tra hay dùng để đánh giá chất lượng đầu ra của bộ tạo TRNG là AIS-31 [2] và NIST [3].
Có 4 đặc trưng của HT trong thiết kế bộ tạo TRNG, gồm: tải tin, kiểu kích hoạt trojan, công suất tiêu thụ và vị trí chèn Trojan.
Khối tải tin (payload) sẽ thực hiện hành động gây hại do kích thích ác ý như: tấn công DoS; tấn công làm thay đổi chức năng; gây rò rỉ thông tin; hoặc làm giảm hiệu suất. HT tấn công DoS hoặc làm thay đổi chức năng dễ bị phát hiện khi nó được kích hoạt, bởi vì khi thực hiện các kiểm tra trực tuyến để giám sát chất lượng ngẫu nhiên ở đầu ra của bộ tạo TRNG, sẽ thấy rõ hoạt động tải tin của kiểu HT này. HT gây rò rỉ thông tin bí mật thông qua kênh kề. Do đó, trong thiết kế bộ tạo TRNG, thông tin rò rỉ này chính là các số ngẫu nhiên được dùng làm khóa mật mã hoặc làm giá trị nonce hay các véc-tơ khởi tạo IV (Initialization Vector) cho giao thức bảo mật. Trojan này rất khó bị phát hiện trong trường hợp tấn công cố ý gây rò rỉ thông tin ngay tại đầu ra của nó (khối giao tiếp trong Hình 1, do đó cần phải thu thập lượng lớn thông tin về ngữ cảnh sử dụng các số ngẫu nhiên mới có thể phát hiện ra sự can thiệp vào mạch TRNG. Sự suy giảm về hiệu suất của bộ tạo TRNG cũng cần được xem xét theo 2 khía cạnh: thứ nhất là suy giảm vật lý do hiệu ứng già hóa của linh kiện điện tử; thứ hai là hiệu suất sinh số ngẫu nhiên ở đầu ra thấp (các số ngẫu nhiên không vượt qua ngưỡng thống kê).
HT này sẽ không hoạt động liên tục, tức là nó hiếm bị kích hoạt. Hơn nữa, nó chỉ tấn công vào đầu ra của bộ tạo TRNG tại những thời điểm xác định, khi các thông tin quan trọng được tạo ra (khóa sinh ra). Do vậy, T4RNG cần được phân lớp chi tiết theo từng kiểu kích hoạt của HT. Bài báo sẽ xem xét cả lược đồ kích hoạt ở bên trong và bên ngoài bộ tạo TRNG. Về nguyên tắc, bộ tạo TRNG sẽ chứa một số phần tử mạch tương tự để làm nguồn bất định và phải giao tiếp với môi trường thực. Vì vậy, để có thể kích hoạt Trojan T4RNG từ phía ngoài thì phải chèn vào một số thành phần “lạ” trong thiết kế TRNG.
Đặc tính quan trọng khác của T4RNG là công suất tiêu thụ (Power consumption). Khi kích thích T4RNG ở phía ngoài sẽ đòi hỏi thêm các thành phần bổ sung vào mạch TRNG. Do đó, kích thước tổng thể của thiết kế TRNG khi có Trojan so với thiết kế nguyên bản khi IC chưa bị thay đổi, đóng vai trò quyết định để tránh bị phát hiện nên phải xem xét toàn bộ thiết kế của bộ tạo (Hình 1). Hơn nữa, công suất tiêu thụ của mạch Trojan T4RNG phải đủ nhỏ so với tổng công suất tiêu thụ của bộ tạo. Bộ tạo TRNGs khai thác Jitter của các tín hiệu xung nhịp lấy từ vòng dao động RO (Ring oscillators) [5], vòng tự định thời STR (Self-timing ring oscillators) [6] hoặc các mạch vòng khóa pha PLL (Phase lock loop) [8] làm nguồn bất định thì yêu cầu này không khó bởi chúng tiêu thụ công suất rất lớn khi hoạt động. Do đó, công suất tiêu thụ của phần mạch T4RNG trở nên rất nhỏ và hầu như không thể phân biệt trong toàn bộ tiến trình biến đổi của các vệt năng lượng.
Thiết kế T4RNG thành công sẽ liên tục làm giảm chất lượng ở đầu ra của bộ tạo TRNG, song vẫn liên tục vượt qua các kiểm tra thống kê được nhúng vào thiết kế bộ tạo. Tác động của Trojan kéo theo nguồn bất định có thể suy giảm hoặc bị phát hiện trước các kiểm tra nhúng. Trojan T4RNG tấn công vào khối hậu xử lý
sẽ khó khăn hơn, bởi nó phải vượt qua được các kiểm tra nhúng. Hơn nữa, các thuật toán hậu xử lý cũng khử bỏ tác động của HT. Do đó, có 2 điểm thuận lợi mà Trojan T4RNG thực hiện tấn công tại đầu ra của bộ tạo: thứ nhất là nó tránh gây ra tín hiệu cảnh báo và thứ hai là dễ vượt qua kiểm tra trực tuyến.
Thiết kế Trojan T4RNG thỏa mãn các đặc tính kỹ thuật ở trên sẽ gồm có: 2 mạch PLL lệch pha nhau; 1 cổng XOR; và 1 cổng AND (Hình 2).
Hình 2. Thiết kế Trojan T4RNG tấn công bộ tạo TRNG
a.Mạch định tuyến không Trojan b.Mạch định tuyến có Trojan
Hình 3. Bộ tạo TNRG sau khi được định tuyến
Theo thiết kế Hình 2, Trojan T4RNG tấn công vào bộ tạo TRNG (được cấu tạo gồm 9 cổng logic INV) bằng cách chèn tín hiệu có tần số cưỡng bức tại cổng AND2S [8]. Ở đây, pha của tín hiệu VOUT của mạch PLL2 sau khi được tổng hợp trong chip FPGA Spartan 3AN-1000 sẽ cho phép tinh chỉnh bằng cách cấp sóng Sine vào chân 6 (VIN). Do đó, mạch này thực hiện giống khối kích hoạt T4RNG. Đồng thời, khi không kích hoạt Trojan, các đầu ra bù nhau của 2 tín hiệu VOUT được cộng XOR với nhau để tạo thành một mức logic “1” ổn định.
Trong trường hợp này, đầu ra “Random_out” của bộ tạo TRNG sẽ không thay đổi, bởi cổng AND2S chỉ thay đổi khi đầu ra của cổng XOR2S có mức logic “0”.
Trường hợp khi kích hoạt Trojan T4RNG, thì 2 mạch PLL1 và PLL2 sẽ tạo ra 2 tín hiệu VOUT cùng pha nhau, do đó cộng XOR 2 đầu ra này với nhau sẽ tạo thành mức logic “0”. Vì vậy, đầu ra của bộ tạo TRNG bị tấn công bởi T4RNG. Hình 3 thể hiện mạch TRNG sau khi được định tuyến đối với các trường hợp không và có HT, sau khi tổng hợp thiết kế cho thấy mạch Trojan ác ý chiếm một phần nhỏ diện tích thiết kế so với tổng thể thực thi bộ tạo TRNG.
Thực thi bộ tạo để thu tệp đầu ra và lưu lại với tên “ketqua.bin”. Điểm quan trọng T4RNG chỉ tác động vào một vài bit nên đầu ra của bộ tạo vẫn vượt qua các kiểm tra thống kê.
Nhóm tác giả cũng mô phỏng bộ tạo này trong môi trường Simulink MathLab R2019a (Hình 4). Các mạch vòng dao động PLL được mô phỏng bằng các khối tạo xung, còn bộ tạo TRNG được giả lập bằng khối nguồn ngẫu nhiên (Random Source) để thu thập các số ngẫu nhiên lưu thành tệp “dulieu.bin” phục vụ đánh giá kiểm tra thống kê qua công cụ NIST SP-22A.
Hình 5 thể hiện dòng bit không đổi được sinh ra bởi khối nguồn ngẫu nhiên trong Simulink. Sự tác động của T4RNG thể hiện rõ ở đường chéo phụ. Tuy nhiên, độ lệch này lại không bị phát hiện trước phép kiểm tra thống kê: đầu ra của bộ tạo sau khi bị tấn công vẫn vượt qua các kiểm tra trực tuyến.
Hình 4. Mô phỏng Trojan T4RNG
a.Kích hoạt b.Không kích hoạt
Hình 5. Dòng bit ngẫu nhiên mô phỏng trong Simulink
Bài báo thực thi thiết kế bộ tạo TRNG dựa vào các cổng đảo (INV) chạy trong chip FPGA Xilinx Spartan 3AN-1000. Bộ tạo TRNG đã được đề xuất trong công bố [8], nhằm minh chứng cho sự xuất hiện một trọng số rất nhỏ khi bị tấn công bởi T4RNG.
Các HT là nguy cơ hiện hữu đối với an toàn phần cứng và các mạch tích hợp tin cậy. Các biến thể giả mạo này gây hiểm họa an ninh đối với mọi hệ thống điện tử, làm cho nền tảng phần cứng không còn được coi là nguồn cội tin cậy. Các Trojan có thể duy trì trạng thái không kích hoạt và không bị phát hiện trong nhiều năm, chờ đợi tình huống chỉ định để tấn công, do đó chúng có thể phát ra những rò rỉ ác ý. Để chống lại nguy cơ của các Trojan, cần phải bảo đảm chính xác hóa các mô hình tấn công và các dấu hiệu kích hoạt. Các kỹ thuật phát hiện và ngăn chặn cũng cần được thực thi cùng với các mô hình này. Tuy nhiên, vẫn chưa có kỹ thuật bảo vệ nào đảm bảo an toàn 100%, các nghiên cứu tương lai trong lĩnh vực này giúp khẳng định các lược đồ bảo vệ trước các biến thể tấn công dùng HT.
TÀI LIỆU THAM KHẢO 1. Bohan Yang, "True Random Number Generators for FPGAS", 2018; 2. W. Killmann and W. Schindler, "AIS 31: Functionality Classes and Evaluation Methodology for True (Physical) Random Number Generators, Version 3.1". Tech. Rep., Sept. 2001. 3. NIST, Special Publication 800-22,"A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-22r1a.pdf, 2010; 4. Bernard, F., Fischer, V., and Valtchanov, B. "Mathematical model of physical RNGs based on coherent sampling". Tatra Mountains Mathematical Publications, 1 (2010); 5. Cherkaoui, A., Fischer, V., Aubert, A., and Fesquet, L. "A self-timed ring based true random number generator". In Proceedings - International Symposium on Asynchronous Circuits and Systems (may 2013), IEEE, pp. 99–106; 6. Baudet, M., Lubicz, D., Micolod, J., and Tassiaux, A. "On the security of oscillator-based random number generators". Journal of Cryptology 24, 2 (Apr 2011); 7. David Johnston, "Random Number Generators - Principles and Practices: A Guide for Engineers and Programmers", 2018; 8. Swarup Bhunia, Mark Tehranipoor, "Hardware Secuirity: A Hands-on Learning Approach", Copyright © 2019 Elsevier Inc. All rights reserved, 2019. |
TS. Nguyễn Đức Công, Trần Thị Ngà (Học viện Kỹ thuật mật mã)
14:00 | 09/12/2022
14:00 | 09/12/2022
09:00 | 21/04/2022
16:00 | 13/02/2023
HTTP/3 là phiên bản chính thức thứ ba của Giao thức truyền siêu văn bản (HTTP), khác với những phiên bản trước đó sử dụng TCP, HTTP/3 sẽ chạy trên một giao thức mạng lớp vận chuyển gọi là QUIC, sử dụng UDP làm lớp truyền tải. Từ đánh giá về hiệu suất và độ tin cậy, HTTP/3 có một số ưu điểm nổi bật với các lợi ích bảo mật và quyền riêng tư, được coi là sự lựa chọn phù hợp cho tương lai, bên cạnh đó cũng có một số thách thức đáng chú ý. Bài viết này sẽ cung cấp đến độc giả về các lợi ích do HTTP/3 mang lại cùng một số lưu ý về bảo mật cần được xem xét.
09:00 | 12/09/2022
Active Directory – AD được biết đến là một dịch vụ thư mục của Windows cho phép các cán bộ, quản trị viên công nghệ thông tin (CNTT) có thể quản lý quyền truy cập người dùng, ứng dụng, dữ liệu và nhiều khía cạnh khác trong mạng của các tổ chức/doanh nghiệp (TC/DN). Tuy nhiên, bởi AD chứa rất nhiều dữ liệu quan trọng nên đây chính là đối tượng thường được các tin tặc khai thác để thực hiện các cuộc tấn công chiếm quyền điều khiển và các hành vi độc hại khác. Bài báo này sẽ gửi tới quý độc giả 11 bước tăng cường bảo vệ dịch vụ AD trong môi trường mạng doanh nghiệp.
14:00 | 08/08/2022
Kiểm thử tấn công lừa đảo nhằm kiểm tra độ mạnh của các yếu tố con người trong chuỗi an ninh bên trong tổ chức. Hình thức này được sử dụng để làm tăng mức độ nhận thức an ninh trong nhân viên và tổ chức.
21:00 | 14/07/2022
Nhà thông minh là một xu hướng đang rất thịnh hành hiện nay. Việc lắp đặt các thiết bị điện, điện tử có thể được điều khiển tự động hoặc bán tự động giúp cho cuộc sống trở nên tiện nghi, dễ dàng và hiệu quả hơn. Tuy nhiên đi kèm với những tiện ích này là những nguy cơ mất an toàn thông tin tiềm ẩn. Điều này không có nghĩa là người dùng cần hạn chế sử dụng các thiết bị công nghệ, mà phải hiểu và đảm bảo cho các thiết bị này luôn được an toàn khi sử dụng.
Ngày 5/7/2022, Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (National Institute of Standards and Technology - NIST) đã hoàn thành vòng thứ 3 của quá trình chuẩn hóa mật mã hậu lượng tử, nhằm chọn ra các thuật toán mật mã khóa công khai để bảo vệ thông tin khi máy tính lượng tử ra đời và công bố 4 thuật toán sẽ được chuẩn hóa của mật mã hậu lượng tử cùng với 4 ứng cử viên cho vòng tuyển chọn thứ 4 [1].
12:00 | 12/08/2022
Trong bối cảnh ngày càng xuất hiện nhiều hơn các cuộc tấn công mã độc tống tiền nhắm đến người dùng cuối, với các thủ đoạn vô cùng tinh vi, các tin tặc đang tích cực phát triển nhiều biến thể mã độc tống tiền nâng cao nhằm đạt được những mục đích nhất định như mã hóa dữ liệu, đòi tiền chuộc,… Bài viết này gửi đến độc giả hướng dẫn một số phương thức bảo vệ dữ liệu máy tính trên Windows 10, bao gồm cả cách sử dụng công cụ phòng chống mã độc tống tiền được tích hợp trên hệ thống.
09:00 | 27/03/2023