Tải bản đầy đủ (.pdf) (5 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (269.33 KB, 5 trang )

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

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

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.

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

Máy phát
sóng chuẩn


Board kiểm tra

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 m 128 ;
i : số điểm đã được kiểm tra, mặc định i 0 ;
j : số điểm kiểm tra tức thời, mặc định j 0 ;

Máy tính/ PC

f 0 : tần số bắt đầu quá trình kiểm tra, chắc chắn chưa xuất
hiện lỗi;
'f 0 : giá trị bước thay đổi tần số lớn nhất, mặc định
'f 0 4,096 MHz ;
'f : bước thay đổi tần số trong quá trình khảo sát
G f : giá trị bước thay đổi tần số nhỏ nhất, mặc định
G f 0, 016 MHz

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: n  1 bits, điều kiện kiểm tra
( n 0, 1, ..., 127 );
- TriggerPorts: n  1 bits, các điểm tham chiếu;
- DataPorts: m  1 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:
(1)
TriggerPorts
Condititons

BEGIN

m, Δf = Δf0
f=f0 , i = 0

FPGA
Key_AES

INIT

UART_interface

128
Msg_AES

AES_128

UART_RX

128

(MainDesign)

RX_DV
Cipher_AES


RX_DV
RX_Byte

128

i=m?

rx_in
RX_Byte

RX_Serial

clk_ext

conditions

False

clk
128
TriggerPort

conditions

enable

g_CLKS_PER_BIT

UART_control


TX_Active

Change Freq.
(result: f, Δf )

UART_TX
TX_Active

Capture_done
DataPort

ILA_tiny

128

TX_Done

TX_Done
tx_out

TX_Byte
captureData

TX_Byte

TX_Serial

TX_DV
128


RF_OUT
fout = f

TX_DV

clear

clk

clk_ext

g_CLKS_PER_BIT

clk_ext

clk_int

True

clk_int

clk_int

Check Points
(result: i , j)

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.

Save to file

END

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 , 'f ). 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.

Bảng 1. Quá trình biến đổi trong vòng 1.
Trạng thái

Sử dụng Msg_0
5a
a6
04
4e
00
11
22
33
5a
b7
26
7d
be

a9
f7
ff
be
56
3b
66
c0
39
34
78
c0
39
34
78
00
00
00
00

Msg
(Trạng thái
khởi tạo)
Key
(Khởi tạo khóa)
S0
(Đầu vào của
Round 1)
Đầu ra bước
SubBytes

Đầu ra bước
ShiftRows
Đầu ra bước
MixColumns

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:

Đầu ra bước
AddRoundkey

S1
(Đầu vào của
Round 2)
state
128

+

96
ca
e3
45
88
99
aa
bb
1e
53
49
fe
72
ed
3b
bb
72
9a
f7
aa
0c
f5

f8
b4
0c
f5
f8
b4
00
00
00
00

57
ea
c8
2c
cc
dd
ee
ff
9b
37
26
d3
14
9a
f7
66
14
a9
b3

bb
c0
28
16
4b
c0
28
16
4b
00
00
00
00

f8
a8
9d
61
00
11
22
33
f8
b9
bf
52
41
56
08
00

41
a9
c4
99
3f
c6
cb
87
c0
39
34
78
ff
ff
ff
ff

5f
e2
3b
9a
44
55
66
77
1b
b7
5d
ed
af

a9
4c
55
af
12
08
00
7b
93
ad
f0
84
6c
52
0f
ff
ff
ff
ff

3c
a0
22
3d
88
99
aa
bb
b4
39

88
86
8d
12
c4
44
8d
65
08
55
f3
0a
07
4b
0c
f5
f8
b4
ff
ff
ff
ff

f0
61
51
06
cc
dd
ee

ff
3c
bc
bf
f9
eb
65
08
99
eb
56
4c
44
3f
d7
e9
b4
c0
28
16
4b
ff
ff
ff
ff

AES_128

s0


key
128

28
ec
2d
15
44
55
66
77
6c
b9
4b
62
50
56
b3
aa
50
ed
f7
ff
84
6c
52
0f
84
6c
52

0f
00
00
00
00

Sử dụng Msg_1

k0
expand_key_128
k0
8'h1

a1

k8
8'h1b

a9

k9
8'h36

a10

one_round
k0b
k1

k0b

s0

r1

k8b
s8

r9

s1

k8b
k9

s1_out
128

clk

s9

Final_round

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

k9b
s9

k9b

r10

out

sout
128

Hình 4. Sơ đồ khối bộ mã hóa AES_128.

f

31

ª f0 º
«
»
« f1 »
«
»
«

»
¬f N 1 ¼

ª f 0.0
« f
« 1.0
«
«
¬ f N 1.0

f 0.1.1
f1.1.1
f N 1.1

f 0.0.127 º
f1.1.127 »»
»
»
f N 1.127
1.1 ¼

(2)


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

Trong đó:

f i : vector hàng kích thước 1 u 128 , kết quả đo ở lần khảo
sát thứ i
f i. j : 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ị ( P j , V j ) 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:
μ

> P0

1
N

Pj
- Giá trị phương sai:
σ 2 ª¬V 02

V 2j
IV.

1

N

P12
127 @

P1
N 1

¦f

N 1

¦ f
i 0

i. j

(3)

net_2

(4)

i. j

LUT_A

in_1
out_A
in_2


i 0

2
º
V12
127 ¼

V12

net_1

 Pj


2

(5)

LUT_B

in_B

(6)
Round 1

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;

out_B

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):
(7a)
out _ B f ( B)
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:
(7b)
out _ B f ( B) AND in _ B
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ị ( P j , V j ) 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.

Bảng 3. Tần số giới hạn đối với S1[126] và S1[127] (MHz).
Lần
thử
1
2
3
4
5
6

7
8
9
10

Pj

Vj

a)

S1[126]
Không có

HT
HT
356,569
357,119
356,319
357,097
357,156
357,100
356,513
357,150
356,514
357,482
356,568
357,409
357,409
357,381

357,281
357,378
357,005
357,474
356,622
357,059
356.795
357.264
0.36

0.164
V.

S1[127]
Không có

HT
HT
358,808
359,357
358,619
359,365
359,267
359,433
358.813
359,390
358.813
359,717
358.742
359,582

359.615
359,760
359.487
359,645
359.162
359,618
358.972
359,248
359.029
359.511
0.319

0.164

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

b)
[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, />/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.

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ử
1

2
3
4
5
6
7
8
9
10

S1[0]
Không có

HT
HT
416,970
417,513
417,225
417,587
417,102
417,442
417,098
417,472
417,095
418,066
416,960
417,882
417,630
418,002
417,789

417,834
416,971
417,852
417,500
417,404

S1[1]
Không có

HT
HT
418,438
418,902
418,311
418,960
418,444
418,991
418,183
419,115
418,433
419,329
418,492
419,320
419,035
419,376
419,068
419,110
418,265
419,081
419,107

418,760

Pj

417,234

417,705

418,577

419,094

Vj

0,282

0,234

0,334

0,189

33



×