intTypePromotion=1
ADSENSE

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

Chia sẻ: Lê Thị Thùy Linh | Ngày: | Loại File: PDF | Số trang:5

27
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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 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.

Chủ đề:
Lưu

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2