Phát hiện trojan phần cứng sử dụng kỹ thuật phân tích đặc tính độ trễ đường truyền tín hiệu

Phát hiện Trojan phần cứng sử dụng kỹ thuật phân tích đặc tính độ trễ đường truyền tín hiệu Trần Thái Hà, Hoàng Văn Phúc và Đỗ Thành Quân Khoa Vô tuyến điện tử, Đại học Kỹ thuật Lê Quý Đôn, số 236 Hoàng Quốc Việt, Hà Nội Email: hathaitran@lqdtu.edu.vn Abstract— Trojan phần cứng (HT: Hardware Trojan) khi được chèn vào các mạch tích hợp có thể thực hiện nhiều tác vụ nguy hiểm như từ chối dịch vụ, gây mất hoặc sai lệnh thông tin. Vì vậy, phát hiện HT là một trong những nhiệm vụ quan

pdf5 trang | Chia sẻ: huong20 | Ngày: 20/01/2022 | Lượt xem: 334 | Lượt tải: 0download
Tóm tắt tài liệu Phát hiện trojan phần cứng sử dụng kỹ thuật phân tích đặc tính độ trễ đường truyền tín hiệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trọng của bảo mật phần cứng. Bài báo này trình bày một giải pháp phát hiện HT sử dụng kỹ thuật phân tích kênh bên dựa trên việc xác định tần số ứng với trễ đường truyền tín hiệu. Kết quả khảo sát chỉ ra rằng giải pháp được đề xuất cho phép phát hiện HT có kích thước bằng 0,2% so với thiết kế chính với độ phân biệt về tần số là 0,016 MHz. Keywords- Kỹ thuật phân tích kênh bên, Trojan phần cứng, trễ đường truyền tín hiệu. I. GIỚI THIỆU Trojan phần cứng (HT: Hardware Trojan) là một loại phần cứng độc hại được nhúng vào các mạch tích hợp bởi một số cổng logic và hoạt động khi điều kiện kích hoạt được thỏa mãn. Khác với gián điệp phần mềm có thể tiến hành gỡ bỏ, làm sạch khi bị phát hiện, thì HT chỉ có thể bị loại bỏ bởi công nghệ xử lý, sửa chữa hoặc cài đặt lại phần cứng trên thiết bị bị nhiễm, tuy nhiên đây là những phương pháp có chi phí rất lớn [1, 2]. Trong các phương pháp phát hiện HT, kỹ thuật phân tích kênh bên (SCA: Side Channel Analysis) đã và đang được tập trung nghiên cứu do có nhiều ưu điểm nổi bật so với các phương pháp khác. SCA dựa trên phân tích kênh bên và thực hiện so sánh tham số trong mô hình có HT với mô hình tham chiếu gốc (không có HT). Các tham số có thể quan sát được chia thành hai nhóm: năng lượng (dòng điện, điện năng tiêu thụ, năng lượng phát xạ...) và độ trễ của đường truyền tín hiệu. Ưu điểm của SCA dựa trên độ trễ đường truyền tín hiệu là khả năng phát hiện được HT ngay cả trong trường hợp mà HT chưa được kích hoạt. HT có kích thước càng lớn thì phương pháp này càng hiệu quả và đơn giản hóa được quá trình kiểm tra [3]. Trong [4], nhóm tác giả xây dựng “vân tay” (“fingerprint”) của vi mạch bằng cách tạo vector kiểm tra để đo đạc các trễ đường truyền, với HT có diện tích chiếm 0,36% tổng diện tích của mạch thì tỉ lệ phát hiện Trojan là 36%. Nhược điểm của kỹ thuật này là việc đo đạc tất cả các trễ đường truyền đối với mạch có thiết kế phức tạp, nhiều cổng vào/ra là rất khó khăn và đòi hỏi thời gian xử lý. Một phương án khác được đề xuất là dựa trên báo cáo phân tích trễ đường truyền tín hiệu sử dụng các công cụ trong gói phần mềm thiết kế chuyên dụng [5], ở đây k đường truyền ngắn nhất sẽ làm căn cứ so sánh giữa hai mô hình. Kết quả chỉ ra rằng, với việc sử dụng 20 đường truyền với sai số là 0,01 ns, tỉ lệ phát hiện Trojan là 80 %. Tuy nhiên, trong báo cáo phân tích chỉ cung cấp các thông tin trễ từ đầu vào đến đầu ra [6]. Do vậy, phương pháp chưa có tính mềm dẻo, đặc biệt là những thiết kế có sử dụng đến các giao thức truyền và nhận dữ liệu. Trong bài báo này, chúng tôi đề xuất áp dụng một giải pháp phát hiện Trojan phần cứng, đó là kỹ thuật phân tích đặc tính trễ đường truyền tín hiệu. Ở đây, giải pháp sẽ tính đến ảnh hưởng do sự sai khác nhau về khoảng cách giữa các điểm trên đường truyền. Thông thường, tần số của hệ thống (xung nhịp clk) được lựa chọn sao cho không phát sinh lỗi trong quá trình làm việc. Tuy nhiên, trong chế độ kiểm tra, khi điều chỉnh clk theo hướng tăng dần, sẽ thu được giá trị tới hạn mà ở đó bắt đầu xuất hiện lỗi. Thực hiện so sánh giá trị tới hạn này với tham chiếu gốc đã được đo kiểm và lưu trong cơ sở dữ liệu, đây sẽ là cơ sở để phát hiện HT trong thiết kế đang sử dụng. Phần còn lại của bài báo được tổ chức như sau: Nguyên lý hoạt động của thiết kế đề xuất được trình bày trong phần II. Nội dung phần III sẽ giới thiệu các bước xây dựng cơ sở dữ liệu dùng để phát hiện Trojan phần cứng. Các kết quả khảo sát được tổng hợp trong phần IV. Cuối cùng, phần V là kết luận về tính khả thi của giải pháp được đề xuất. II. THIẾT KẾ ĐỀ XUẤT A. Nguyên lý hoạt động của thiết kế đề xuất Trong giải pháp đề xuất, yêu cầu cơ bản nhất là thao tác trích xuất dữ liệu, theo dõi được quá trình thay đổi mức logic của các thanh ghi có trong thiết kế. Các bộ phần mềm hỗ trợ thiết kế của các hãng nổi tiếng như Xilinx, Altera... đều có các lõi (core) hỗ trợ chức năng này, tuy nhiên quá trình sử dụng hầu như mới ở dạng giao diện người dùng. Chẳng hạn, lõi ILA (Integrated Logic Analyzer: Phân tích logic tích hợp) được nghiên cứu và tích hợp sẵn trong công cụ ChipScope của Xilinx, phù hợp với những thiết kế yêu cầu kiểm tra, đánh giá sự thay đổi logic theo từng điểm riêng biệt. Hạn chế của ILA là không thể điều khiển và truy xuất dữ liệu thông qua ngôn ngữ TCL giống các core khác trong ChipScope như CseJtag, CseFpga, CseCore, CseVIO [7]. Chính vì vậy, trong mô hình đề xuất, nhóm tác giả sẽ sử dụng ILA_tiny bằng cách thiết kế lại ILA với các tính năng được rút gọn so với nguyên gốc trên công cụ ChipScope của Xilinx. Quá trình truyền nhận dữ liệu sử dụng giao thức UART. 29 Hình 1 thể hiện các thiết bị sử dụng trong mô hình đánh giá tính khả thi của phương pháp. PC giữ vai trò điều khiển trung tâm, thay đổi mức và tần số của máy phát sóng chuẩn, đồng thời nhận các dữ liệu mong muốn được gửi từ bo mạch kiểm tra. Board kiểm tra Máy phát sóng chuẩn Máy tính/ PC Hình 1. Các thiết bị sử dụng trong mô hình đánh giá. Hình 2 minh họa sơ đồ liên kết tín hiệu của thiết kế được đề xuất, trong đó thiết kế chính (Main design) là bộ mã hóa AES 128 bit. Các tín hiệu yêu cầu cần phải có đối với ILA bao gồm: - Conditions: 1n - bits, điều kiện kiểm tra ( 0,1, ...,127n = ); - TriggerPorts: 1n - bits, các điểm tham chiếu; - DataPorts: 1m - bits, các điểm lấy dữ liệu cần khảo sát. Dữ liệu mong muốn là giá trị DataPorts tại thời điểm khi điều kiện sau được thỏa mãn: TriggerPorts Condititons= (1) tx_out rx_in FPGA clk_ext clk_int UART_interface UART_RX RX_Serial RX_DV RX_Byte g_CLKS_PER_BIT UART_TX clk TX_Active TX_DV TX_Byte g_CLKS_PER_BIT TX_Serial TX_Done clk clk_int Key_AES Msg_AES 128 128 Cipher_AES 128 AES_128 (MainDesign) UART_control cl k_ ex t ILA_tiny TriggerPort DataPort conditions 128 captureData 128 128 Capture_done enableconditions clk_int cl k_ ex t clear RX_DV RX_Byte TX_Active TX_Done TX_Byte TX_DV Hình 2. Sơ đồ liên kết tín hiệu trong thiết kế đề xuất. Do sự khác nhau về xung nhịp làm việc giữa UART_control (tần số cố định clk_int) và ILA_tiny (tần số thay đổi clk_ext từ máy phát sóng chuẩn, trùng tần số làm việc của thiết kế chính), các tín hiệu liên kết giữa hai components phải được mở rộng xung trước khi truyền sang khối còn lại. Các byte dữ liệu và điều khiển từ PC truyền nối tiếp qua rx_in, được xử lý trên UART_RX rồi gửi sang UART_control. Quá trình ngược lại, các dữ liệu mong muốn sẽ được phân tách thành từng byte, từ UART_TX truyền nối tiếp qua tx_out đến PC. Điều kiện trong phương trình (1) chỉ được kiểm tra khi tín hiệu đầu vào enable từ UART_control đưa đến có mức tích cực cao. Tại đầu ra của ILA_tiny, tín hiệu capture_done được đưa lên mức cao để UART_control thực hiện truyền dữ liệu mong muốn capture_data. Kết thúc quá trình truyền, dựa trên tín hiệu xóa clear, ILA_tiny được đưa về trạng thái khởi tạo sẵn sàng cho chu trình tiếp theo. B. Lưu đồ thuật toán chương trình khảo sát Lưu đồ thuật toán Chương trình khảo sát được minh họa trên Hình 3. Các tham số khởi tạo ban đầu bao gồm: m : tổng số điểm cần kiểm tra, ở đây 128m = ; i : số điểm đã được kiểm tra, mặc định 0i = ; j : số điểm kiểm tra tức thời, mặc định 0j = ; 0f : tần số bắt đầu quá trình kiểm tra, chắc chắn chưa xuất hiện lỗi; 0fD : giá trị bước thay đổi tần số lớn nhất, mặc định 0 4,096f MHzD = ; fD : bước thay đổi tần số trong quá trình khảo sát fd : giá trị bước thay đổi tần số nhỏ nhất, mặc định 0,016f MHzd = True m, Δf = Δf0 f=f0 , i = 0 i = m ? INIT BEGIN END False Save to file Check Points (result: i , j) Change Freq. (result: f, Δf ) RF_OUT fout = f Hình 3. Lưu đồ thuật toán Chương trình khảo sát. 30 Chương trình khảo sát được phân chia thành 3 chương trình con như sau: - Change_Freq là chương trình thay đổi tần số, xác định cặp giá trị tần số phát và bước tần thay đổi ( ,f fD ). Căn cứ vào j (số điểm kiểm tra tức thời), chương trình con này sẽ lựa chọn bước tần tương ứng với quá trình điều chỉnh thô (Coarse_step) hoặc điều chỉnh tinh (Fine_step). Giá trị thể hiện tần số phát được đưa đến chương trình RF_OUT. - RF_OUT là chương trình điều khiển máy phát sóng chuẩn. Sau khi kết nối với máy phát sóng chuẩn (phụ thuộc giao thức và gói kết nối được hỗ trợ), giá trị thể hiện tần số và mức tín hiệu được gửi từ PC đến máy phát. - Check Points là chương trình phát hiện lỗi. Ở mỗi một tần số, PC sẽ gửi lệnh capture_en, sau đó nhận đủ số bít của dữ liệu mong muốn capture_data. Thao tác này được lặp lại 20 lần. Thực hiện so sánh lần lượt từng bit (từng điểm) của capture_data với dữ liệu tham chiếu, nếu có trên 10 lần khác nhau và đang trong quá trình điều chỉnh tinh thì quyết định điểm kiểm tra bị lỗi. Sau khi toàn bộ m điểm được kiểm tra, các kết quả đo sẽ được lưu vào cơ sở dữ liệu để sử dụng cho quá trình phát hiện Trojan phần cứng. III. XÂY DỰNG CƠ SỞ DỮ LIỆU Thiết kế chính được đánh giá là bộ mã hóa AES 128 bit (AES_128) [8] như trong Hình 4. AES_128 sử dụng Key để thực hiện mã hóa bản rõ Msg, sau 10 vòng (round) sẽ nhận được giá trị bản mã Cipher ở đầu ra. Quá trình khảo sát sẽ đánh giá sự sai khác nhau về khoảng cách giữa các điểm trong quá trình truyền lan tín hiệu ở một trong các vòng. Lựa chọn vòng để khảo sát hoàn toàn ngẫu nhiễn, trong mô hình đề xuất nhóm tác giả thực hiện đánh giá vòng 1. Khi đó tín hiệu đầu vào và đầu ra của vòng 1 được khảo sát là S0 và S1. Để đảm bảo tính đồng nhất quá trình chuyển đổi mức tín hiệu, Key sẽ được giữ cố định, Msg được lựa chọn là cặp giá trị Msg_0 và Msg_1 tương ứng với đầu ra của S1 là toàn bộ bit 0 hoặc toàn bộ bit 1 (Bảng 1). Msg_0 dùng để thiết lập giá trị khởi tạo cho các thanh ghi và tín hiệu có bên trong bộ mã hóa AES. Đối với ILA_tiny, đầu vào Conditions có giá trị bằng đúng Msg_1. Như vậy, khi thay đổi Msg_0 sang Msg_1 thì điều kiện trong phương trình (1) được thỏa mãn. Sau đó 2 xung nhịp, S2 sẽ chứa toàn bộ bit 1 - đây chính là dữ liệu mong muốn capture_data. Các đầu vào AES được lựa chọn như sau: Key = "00112233445566778899aabbccddeeff" Msg_0= "5aa6044e28ec2d1596cae34557eac82c" Msg_1= "f8a89d615fe23b9a3ca0223df0615106" Tần số giới hạn ứng với từng bit của S1 được lưu lại sau mỗi phép đo. Biểu diễn với mô hình trong toán học, kết quả này được thể hiện dưới dạng một vector hàng, mỗi phần tử là tần số tương ứng với mỗi bit của S1. Quá trình khảo sát được thực hiện trong N lần. Cuối cùng, bảng số liệu tập hợp các kết quả đo được thể hiện dưới dạng một ma trận f có kích thước 128N ´ . Bảng 1. Quá trình biến đổi trong vòng 1. Trạng thái Sử dụng Msg_0 Sử dụng Msg_1 Msg (Trạng thái khởi tạo) 5a 28 96 57 a6 ec ca ea 04 2d e3 c8 4e 15 45 2c f8 5f 3c f0 a8 e2 a0 61 9d 3b 22 51 61 9a 3d 06 Key (Khởi tạo khóa) 00 44 88 cc 11 55 99 dd 22 66 aa ee 33 77 bb ff 00 44 88 cc 11 55 99 dd 22 66 aa ee 33 77 bb ff S0 (Đầu vào của Round 1) 5a 6c 1e 9b b7 b9 53 37 26 4b 49 26 7d 62 fe d3 f8 1b b4 3c b9 b7 39 bc bf 5d 88 bf 52 ed 86 f9 Đầu ra bước SubBytes be 50 72 14 a9 56 ed 9a f7 b3 3b f7 ff aa bb 66 41 af 8d eb 56 a9 12 65 08 4c c4 08 00 55 44 99 Đầu ra bước ShiftRows be 50 72 14 56 ed 9a a9 3b f7 f7 b3 66 ff aa bb 41 af 8d eb a9 12 65 56 c4 08 08 4c 99 00 55 44 Đầu ra bước MixColumns c0 84 0c c0 39 6c f5 28 34 52 f8 16 78 0f b4 4b 3f 7b f3 3f c6 93 0a d7 cb ad 07 e9 87 f0 4b b4 Đầu ra bước AddRoundkey c0 84 0c c0 39 6c f5 28 34 52 f8 16 78 0f b4 4b c0 84 0c c0 39 6c f5 28 34 52 f8 16 78 0f b4 4b S1 (Đầu vào của Round 2) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff AES_128 clk state key 128 128 s0 k0 expand_key_128 a1 Final_round sout 128 + k0 8'h1 k0b k1 a9 k8 8'h1b k8b k9 a10 k9 8'h36 k9b one_round r1 k0b s0 s1 r9 k8b s8 s9 r10 k9b s9 out s1_out 128 Hình 4. Sơ đồ khối bộ mã hóa AES_128. 0 0.0 0.1 0.127 1.0 1.1 1.1271 N 1.0 N 1.1 N 1.1271N f f f f f f f f f - - - - é ù é ù ê ú ê ú ê ú ê ú = = ê ú ê ú ê ú ê ú ë û ë û f f f f (2) 31 Trong đó: if : vector hàng kích thước 1 128´ , kết quả đo ở lần khảo sát thứ i .i jf : phần tử hàng i , cột j thể hiện tần số giới hạn ứng với bit thứ j của S1 trong lần khảo sát thứ i . Từ bảng số liệu, xác định các tham số thống kê của phép đo. Cặp giá trị ( ,j jm s ) cho từng điểm riêng biệt là cơ sở để phát hiện tính toàn vẹn của thiết kế, ở đây: - Giá trị kỳ vọng: [ ]0 1 127m m m=μ (3) 1 . 0 1 N j i j i f N m - = = å (4) - Giá trị phương sai: 2 2 2 2 0 1 127s s sé ù= ë û σ (5) ( ) 1 22 . 0 1 N j i j j i f N s m - = = - å (6) IV. KẾT QUẢ KHẢO SÁT Trong kỹ thuật phân tích kênh bên SCA, tham số được đánh giá ở mô hình có HT sẽ được so sánh với mô hình tham chiếu gốc (không có HT). Như vậy, quá trình thực thi HT vào trong thiết kế gốc phải đảm bảo được yêu cầu sự khác biệt là nhỏ nhất có thể. Chip Planner trong bộ phần mềm Quartus II hay FPGA Editor có trong ISE/Vivado là hai công cụ cho phép thực thi HT mà không làm thay đổi việc định tuyến. Để thuận tiện trong việc tra cứu các bước trong quy trình thiết kế FPGA, nhóm tác giả sẽ giữ nguyên các thuật ngữ tiếng Anh. Dưới đây là 4 bước chính để thực thi HT sử dụng công cụ FPGA Editor: 1) Synthesize, Translate, Map, Place & Route đối với mạch nguyên gốc. 2) Thu nhận file NCD chứa các thông tin định tuyến và các tài nguyên logic được sử dụng trong thiết kế ở mô hình tham chiếu gốc. 3) Mở và thay đổi file NCD trên công cụ FPGA Editor, thực thi HT bằng các LUT và slice chưa sử dụng của chip FPGA, các thao tác có thể thực hiện thủ công hoặc bằng các câu lệnh. 4) Tạo file cấu hình cho hai trường hợp có hoặc không có HT bằng FPGA Editor. Trong trường hợp thực thi HT làm sai lệch thông tin, việc phát hiện HT sẽ tương đối đơn giản dựa vào việc kiểm tra các bit của S1 không đồng nhất bằng 1. Tuy nhiên, việc phát hiện HT sẽ khó khăn hơn rất nhiều với trường hợp các HT có kích thước nhỏ, trong quá trình kiểm tra lại không bị kích hoạt. Sử dụng FPGA Editor thay đổi thiết kế nguyên gốc sẽ tập trung vào trường hợp thứ hai. Thực thi HT trong bước thứ 3 được cụ thể hóa như sau: - Lựa chọn ngẫu nhiên một LUT chưa được sử dụng, ký hiệu là LUT_A; - Lựa chọn ngẫu nhiên các dây tín hiệu liên quan tới Round 1, giả sử chọn net_1 và net_2 đưa đến in_1 và in_2 của LUT_A; - Thay đổi biểu thức hàm logic của LUT_A sao cho với tổ hợp có thể có của in_1 và in_2 không làm cho HT bị kích hoạt khi kiểm tra, tín hiệu đầu ra out_A sẽ là tổ hợp logic của net_1, net_2; - Lựa chọn ngẫu nhiễu một LUT đã được sử dụng trong Round 1 còn dư chân đầu vào, ký hiệu là LUT_B và chân chưa được sử dụng là in_B (Hình 5); - Kết nối out_A với in_B, thay đổi biểu thức hàm logic của LUT_B sao cho không làm thay đổi giá trị của out_B. LUT_B in_B LUT_A in_1 in_2 net_1 net_2 out_A out_B Round 1 Hình 5. Thực thi HT sử dụng FPGA Editor. Ở đây, net_1 và net_2 được chọn là S0[126] và S0[125]. Hàm logic của LUT_A là cổng OR. Theo Bảng 1, với Msg_0 cặp giá trị (net_1; net_2) là (1; 0); tương ứng là (1; 1) trong trường hợp Msg_1. Như vậy in_B luôn nhận mức logic 1. Biểu thức hàm logic của LUT_B theo phương trình (7a): _ ( )out B f B= (7a) Khi có thêm tín hiệu vào in_B, để không làm thay đổi giá trị của out_B, biểu thức (7a) được điều chỉnh lại: _ ( ) _out B f B AND in B= (7b) Quá trình khảo sát sử dụng board kiểm tra là Sakura-G, máy phát sóng chuẩn SMBV100A của hãng Rohde&Schwarz [9, 10]. Chương trình kiểm tra được viết bằng ngôn ngữ Python. Dựa trên các thông tin về tài nguyên logic được sử dụng trong công cụ FPGA Editor, thiết kế gốc và thiết kế chứa HT có kích thước lần lượt là 626 và 627. Như vậy, HT chiếm 0,2% kích thước so với mạch gốc. Bảng 2 và 3 là kết quả về các tần số giới hạn đối với 4 trong 128 bit của S1 sau 10 lần thử. Lưu ý rằng, trong mỗi lần thử, tại mỗi tần số sẽ thực hiện 20 phép đo để nhận dữ liệu mong muốn. Thực hiện so sánh lần lượt từng bit (từng điểm) của capture_data với dữ liệu tham chiếu, nếu có trên 10 lần khác nhau và đồng thời đang trong quá trình điều chỉnh tinh thì quyết định đây là tần số giới hạn cần tìm. Dựa trên các kết quả tính toán từ công thức (4) và (6), thực hiện so sánh cặp giá trị ( ,j jm s ) của tần số giới hạn với các giá trị trong cơ sở dữ liệu, khi có bất kỳ sự khác biệt nào thì kết luận rằng trong thiết kế đang kiểm tra đã bị chèn HT. Các kết quả minh họa trên Hình 6, cho thấy khả năng phát hiện HT của phương án được đề xuất, tuy nhiên sự khác biệt về tần số giới hạn là tương đối nhỏ. Do đó, để tăng khả năng 32 phân biệt thì cần yêu cầu bước thay đổi trong chương trình điều khiển tần số của máy phát sóng chuẩn phải đủ nhỏ. Một tiêu chí khác cần quan tâm, đó là chi phí chung khi tích hợp thêm ILA_tiny sẽ không cố định, phụ thuộc vào thiết kế chính được sử dụng. Với AES_128, chi phí chung khoảng 8% là mức tương đối phù hợp [11]. Tăng khả năng phân biệt và giảm chi phí chung là những hướng phát triển tiếp theo của nghiên cứu này. a) b) Hình 6. Hàm phân bố của tần số giới hạn tương ứng với trễ đường truyền tín hiệu. Bảng 2. Tần số giới hạn đối với S1[0] và S1[1] (MHz). Lần thử S1[0] S1[1] Không có HT Có HT Không có HT Có HT 1 416,970 417,513 418,438 418,902 2 417,225 417,587 418,311 418,960 3 417,102 417,442 418,444 418,991 4 417,098 417,472 418,183 419,115 5 417,095 418,066 418,433 419,329 6 416,960 417,882 418,492 419,320 7 417,630 418,002 419,035 419,376 8 417,789 417,834 419,068 419,110 9 416,971 417,852 418,265 419,081 10 417,500 417,404 419,107 418,760 jm 417,234 417,705 418,577 419,094 js 0,282 0,234 0,334 0,189 Bảng 3. Tần số giới hạn đối với S1[126] và S1[127] (MHz). Lần thử S1[126] S1[127] Không có HT Có HT Không có HT Có HT 1 356,569 357,119 358,808 359,357 2 356,319 357,097 358,619 359,365 3 357,156 357,100 359,267 359,433 4 356,513 357,150 358.813 359,390 5 356,514 357,482 358.813 359,717 6 356,568 357,409 358.742 359,582 7 357,409 357,381 359.615 359,760 8 357,281 357,378 359.487 359,645 9 357,005 357,474 359.162 359,618 10 356,622 357,059 358.972 359,248 jm 356.795 357.264 359.029 359.511 js 0.36 0.164 0.319 0.164 V. KẾT LUẬN Các kết quả khảo sát đã thể hiện tính khả thi của giải pháp được đề xuất sử dụng kỹ thuật SCA dựa trên xác định tần số ứng với trễ đường truyền tín hiệu. Tuy nhiên, cần lưu ý một yêu cầu khi sử dụng kỹ thuật SCA, đó là điều kiện tiến hành khảo sát phải giữ nguyên hoặc biến đổi vô cùng nhỏ, chẳng hạn nguồn cung cấp, nhiệt độ thí nghiệm, độ ổn định tần số... Trong nghiên cứu tiếp theo, chúng tôi sẽ khảo sát các yếu tố này để đạt hiệu quả cao hơn trong phát hiện Trojan phần cứng. TÀI LIỆU THAM KHẢO [1] Swarup Bhunia,Mark M. Tehranipoor, “The Hardware Trojan War: Attacks, Myths, and Defenses,” Springer, pp. 15-51, 2018. [2] Xuan-Thuy Ngo, Van-Phuc Hoang and Han Le Duc, “Hardware Trojan threat and its countermeasures,” NAFOSTED Conference on Information and Computer Science, pp. 36-51, 2018. [3] Hao Xue, Saiyu Ren, “Hardware Trojan detection by timing measurement theory and implementation,” Microelectronics Journal, vol. 77 , pp. 16-25, 2018. [4] Y. Jin and Y. Makris, “Hardware Trojan detection using path delay fingerprint,” IEEE Int. Workshop Hardware-Oriented Security and Trust, 2008, pp. 51-57, IEEE, 2008. [5] A. Amelian and S.E. Borujeni, “A Side-Channel Analysis for Hardware Trojan detection based on Path Delay Measurement,” Journal of Circuits, Systems, and Computers Vol. 27, No. 9, (2018). [6] Xilinx, “Timing Closure User guide,” UG612 (v13.3) October 19, 2011 [7] Xilinx, LogiCORE IP ChipScope Pro Integrated Logic Analyzer (ILA) (v1.04a), DS299, June 2011. [8] Trojan Benchmarks, AES-T1500, https://www.trust-hub.org/resource /benchmarks/AES/AES-T1500.zip. [9] Sakura-G specification ver 1.0, /hardware/SAKURA-G_Spec_Ver1.0_English.pdf [10] Rohde&Schwarz, R&S SMBV100A Vector Signal Generator Operating Manual, 2017. [11] L. Jie, J. Lach, “At-speed delay characterization for IC authentication and Trojan Horse detection,” IEEE Int. Workshop Hardware-Oriented Security and Trust, 2008, pp. 8-14, IEEE, 2008. 33

Các file đính kèm theo tài liệu này:

  • pdfphat_hien_trojan_phan_cung_su_dung_ky_thuat_phan_tich_dac_ti.pdf