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
5 trang |
Chia sẻ: huong20 | Ngày: 20/01/2022 | Lượt xem: 367 | Lượt tải: 0
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:
- phat_hien_trojan_phan_cung_su_dung_ky_thuat_phan_tich_dac_ti.pdf