Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ

Tóm tắt: Tấn công phân tích công suất là một dạng của tấn công kênh bên dựa

trên việc phân tích công suất tiêu thụ của thiết bị mã hóa. Trong đó, phân tích

tương quan công suất tiêu thụ (CPA: Correlation power analysis) là một kỹ thuật

tấn công hiệu quả. Kỹ thuật này khai thác mối quan hệ tuyến tính giữa mô hình

công suất dự đoán và công suất tiêu thụ thực tế của một thiết bị mã hóa, từ đó có

thể lấy ra được khóa bí mật. Tuy nhiên, việc phân tích cần thực hiện trên số lượng

rất lớn các mẫu thu công suất tiêu thụ, dẫn đến thời gian cần cho việc thực hiện

phân tích là rất rất lớn. Vì vậy, bài báo này đề xuất một giải pháp giúp giảm thời

gian phân tích, tăng hiệu quả việc đánh giá bảo mật phần cứng đối với mã mật

AES. Kết quả khảo sát, phân tích trên phần cứng mã hóa AES giúp khẳng định tín

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 1

Trang 1

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 2

Trang 2

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 3

Trang 3

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 4

Trang 4

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 5

Trang 5

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 6

Trang 6

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 7

Trang 7

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 8

Trang 8

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 9

Trang 9

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ trang 10

Trang 10

pdf 10 trang baonam 11660
Bạn đang xem tài liệu "Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ

Phương pháp phân tích kênh bên với mã mật aes sử dụng dữ liệu đo công suất tiêu thụ
Kỹ thuật điện tử 
Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên  đo công suất tiêu thụ.” 186 
PHƢƠNG PHÁP PHÂN TÍCH KÊNH BÊN VỚI MÃ MẬT AES 
SỬ DỤNG DỮ LIỆU ĐO CÔNG SUẤT TIÊU THỤ 
Đỗ Ngọc Tuấn1, Trần Trung Kiên2, Đỗ Thành Quân3, Hoàng Văn Phúc1*
Tóm tắt: Tấn công phân tích công suất là một dạng của tấn công kênh bên dựa 
trên việc phân tích công suất tiêu thụ của thiết bị mã hóa. Trong đó, phân tích 
tương quan công suất tiêu thụ (CPA: Correlation power analysis) là một kỹ thuật 
tấn công hiệu quả. Kỹ thuật này khai thác mối quan hệ tuyến tính giữa mô hình 
công suất dự đoán và công suất tiêu thụ thực tế của một thiết bị mã hóa, từ đó có 
thể lấy ra được khóa bí mật. Tuy nhiên, việc phân tích cần thực hiện trên số lượng 
rất lớn các mẫu thu công suất tiêu thụ, dẫn đến thời gian cần cho việc thực hiện 
phân tích là rất rất lớn. Vì vậy, bài báo này đề xuất một giải pháp giúp giảm thời 
gian phân tích, tăng hiệu quả việc đánh giá bảo mật phần cứng đối với mã mật 
AES. Kết quả khảo sát, phân tích trên phần cứng mã hóa AES giúp khẳng định tính 
khả thi cao của phương pháp này so với CPA truyền thống. 
Từ khóa: Phân tích kênh bên; Phân tích tương quan công suất tiêu thụ; Mã hóa AES; Khoảng cách Hamming; 
Trọng số Hamming. 
1. GIỚI THIỆU 
Các vi mạch điện tử thực hiện mã hóa đang được sử dụng rộng rãi trong hệ 
thống nhúng. Những thiết bị này thực hiện lưu trữ các khóa bí mật, cũng như thực 
hiện các thuật toán mã hóa và giải mã. Thuật toán mã hóa được thiết kế để thực hiện 
chống lại các tấn công bằng thuật toán vào một hệ thống mã hóa. Nhưng thuật toán 
lại được thực hiện trên hệ thống phần cứng, điều này dẫn đến việc chúng có thể bị 
phân tích dựa trên dữ liệu rỏ rỉ như công suất tiêu thụ, từ trường, âm thanh phát ra 
trong quá trình thực hiện mã hóa, giải mã. Phân tích công suất tiêu thụ khai thác 
mối quan hệ giữa thông tin ẩn chứa bên trong thiết bị và công suất tiêu thụ thực tế 
của thiết bị mã hóa. Phân tích công suất đơn giản (SPA: Simple power analysis) [1] 
là một ví dụ cơ bản nhất của phân tích công suất tiêu thụ, kỹ thuật này dựa trên cơ 
sở hiểu biết về thuật toán mã hóa và khảo sát trực quan công suất tiêu thụ để đoán ra 
khóa bí mật. Phân tích vi sai công suất tiêu thụ (DPA: Differential power analysis) 
[2] là một kỹ thuật mạnh hơn so với SPA và cũng yêu cầu hiểu biết ít hơn về cách 
thức thực hiện của thuật toán mã hóa. Kỹ thuật này sử dụng phương pháp phân tích 
thống kê để có thể trích xuất ra thông tin liên quan đến khóa bí mật. Năm 2004, kỹ 
thuật phân tích tương quan công suất tiêu thụ (CPA: Correlation power analysis) 
được Brier và các đồng nghiệp đề xuất [3]. Kỹ thuật CPA khai thác mối tương quan 
giữa công suất tiêu thụ thực tế và một mô hình tiêu thụ công suất suy ra từ thuật 
toán mã hóa, từ đó có thể đoán ra được khóa bí mật. 
Trong bài báo này, nhóm tác giả thực hiện phân tích đối với phần cứng thực thi 
mã hóa AES sử dụng kỹ thuật CPA và sử dụng mô hình công suất tiêu thụ dựa trên 
trọng số Hamming. Bên cạnh đó, nhóm tác giả đề xuất một giải pháp CPA cải tiến, 
có thể thực hiện phân tích mã hóa AES hiệu quả. Nhóm tác giả đã thực hiện phân 
tích và lấy khóa thành công mã AES chạy trên chip XMEGA của bo mạch 
Chipwhisperer CW1173. Kết quả thực thi phương pháp đề xuất cũng trên phần cứng 
này cho kết quả tối ưu về thời gian hơn nhiều so với kỹ thuật CPA thông thường. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 187 
Phần tiếp theo bài báo được tổ chức như sau. Thuật toán mã hóa AES, kỹ thuật 
phân tích tương quan công suất được trình bày trong phần II. Phần III sẽ giới thiệu 
một đề xuất nâng cao hiệu quả của CPA và kết quả khảo sát, phân tích trên bo 
mạch CW1173. Phần IV là kết luận tính khả thi và ưu điểm của phương pháp đề 
xuất với kỹ thuật CPA thông thường. 
2. PHÂN TÍCH MÃ MẬT AES DỰA TRÊN KỸ THUẬT CPA 
2.1. Thuật toán mã hóa AES 
Mã hóa AES là một dạng mã khối xử lý dữ liệu theo các khối với khóa bí mật 
có độ dài là 128 bit, 192 bit và 256 bit [4]. Mỗi khối dữ liệu vào được phân chia 
thành các khối sắp xếp theo mảng byte 4x4, chúng được gọi là State. Thuật toán 
AES là một thuật toán thực hiện theo dạng vòng lặp. Số vòng mã hóa sẽ phụ thuộc 
vào độ dài của khóa, ví dụ như số vòng là 10, 12 hoặc 14 tương ứng với độ dài 
khóa 128, 192 hoặc 256. Trong mã hóa, mỗi vòng mã hóa (trừ vòng cuối) sẽ thực 
hiện các công việc sau: cộng khóa vòng (AddRoundKey), thế byte (SubByte), dịch 
hàng (ShiftRow) và trộn cột (MixColumn). Vòng cuối sẽ không thực hiện biến đổi 
MixColumn. Khóa được sử dụng trong mỗi vòng là khác nhau, tuy nhiên, các khóa 
này có mối quan hệ với nhau vì đều được sinh ra từ khóa chính. Quá trình tạo ra 10 
khóa con này được thực hiện bởi một module riêng biệt, chuyên cho việc khởi tạo 
và phân chia khóa cho các vòng. Trong bài báo này, thuật toán mã hóa AES với độ 
dài khóa bí mật 128 bit, thực hiện 10 vòng mã hóa được sử dụng trong tất c ... PA 
3.1. Thực hiện phân tích CPA thông thƣờng trên dữ liệu của CW1173 
Từ những vấn đề đã phân tích ở trên, CPA được thực hiện qua những bước 
như sau: 
+ Xác định mô hình tiêu thụ công suất thỏa mãn một số đặc điểm: Thứ nhất, mô 
hình này liên quan trực tiếp dữ liệu đầu vào hoặc đầu ra, nhằm mục đích dễ dàng 
cho việc xây dựng mô hình; Thứ hai, mô hình này sử dụng vị trí trong thuật toán 
thể hiện sự tương quan giữa công suất tiêu thụ ứng với từng giá trị của dữ liệu (vị 
trí rò rỉ dữ liệu công suất). Từ những đặc điểm trên, nhóm tác giả lựa chọn sử dụng 
vị trí thực hiện biến đổi Subbyte (Sbox) kết hợp với trọng số Hamming tại vòng 
mã hóa đầu tiên, các đặc điểm thỏa mãn điều kiện được mô tả ở hình 1. Đầu ra sau 
đó được thực hiện tính trọng số Hamming bằng (1). 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 189 
Hình 1. Vòng mã hóa số 1 thích hợp cho xây dựng mô hình tiêu thụ công suất. 
+ Thu thập power trace (N mẫu/trace) từ thiết bị cần phân tích với một số lượng 
D bản tin cùng mã hóa trên một key. Giá trị D này phải đủ lớn để thực hiện phân 
tích cũng như nhằm loại bỏ nhiễu thông qua phân tích thống kê. Quá trình này 
được mô tả trong phần dưới đây. 
+ AES thực hiện thuật toán theo từng Byte, vì vậy, CPA thực hiện phân tích 
theo từng phần nhỏ của khóa bí mật. Với mã mật AES-128, độ dài từ khóa là 128 
bit và được chia thành 16 byte. Chính vì vậy, việc phân tích sẽ thực hiện trên từng 
byte này. Xét lần lượt từng Byte khóa, áp dụng tính hệ số tương quan theo (3) 
tương ứng với tất cả các điểm trong power trace. Việc cuối cùng là xác định thành 
phần dự đoán nào của khóa đã cho giá trị hệ số tương quan lớn nhất, đó chính là 
thành phần khóa đúng. Lặp lại thao tác với tất cả các Byte, ta sẽ thu được khóa bí 
mật đầy đủ. 
Quá trình khảo sát và phân tích sử dụng các power trace thu thập từ bo mạch 
ChipWhisperer (CW). CW là một dự án mã nguồn mở, cung cấp nhiều công cụ 
cho nghiên cứu, đánh giá bảo mật dựa trên kỹ thuật phân tích công suất, tấn công 
lỗi xung đồng hồ và một số kỹ thuật phổ biến khác [6]. Ngày nay, CW được ứng 
dụng như một công cụ nghiên cứu bảo mật phổ biến, được sử dụng trong nhiều bài 
báo khoa học. Trong nghiên cứu này, nhóm tác giả sử dụng phiên bản CW1173, 
gồm 2 phần chính: một mạch đọc phân tích và điều khiển sử dụng chip FPGA 
Spartan-6, phần còn lại là mạch mục tiêu. Mạch mục tiêu sử dụng vi điều khiển 
XMEGA của Atmel, chạy chương trình mã hóa AES 128 bit mã nguồn mở 
(TINYAES128C [7]). Quá trình thực hiện thu thập power trace từ CW1173 được 
mô tả như hình 2. Dữ liệu máy tính nhận về là một tập hợp gồm nhiều file dữ liệu 
có dạng file.npy được liệt kê trong bảng 1. 
Kỹ thuật điện tử 
Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên  đo công suất tiêu thụ.” 190 
Bảng 1. Các file lưu kết quả CW1173 trả về phục vụ cho phân tích trên Matlab. 
TT Tên file Nội dung dữ liệu 
1 *_keylist.npy Khóa bí mật (16 byte cố định) 
2 *_textin.npy N bản tin cho mã hóa (N×16 byte ngẫu nhiên) 
3 *_textout.npy N bản tin đầu ra đã được mã hóa 
4 *_traces.npy 
Mảng dữ liệu về tỉ lệ giá trị điện áp đo được trong quá 
trình mã hóa N bản tin 
Thuật toán 1: 
Đầu vào sau khi đo: N trace (Ti)1<i<N , mỗi trace có L mẫu (sample), và N bản tin 
tương ứng (di)1<i<N , các trường hợp có thể có của khóa bí mật là {0;255}. Chia bản 
tin và khóa bí mật thành 16 byte tương ứng. 
Input: di,B, ti,j (1≤j≤L),L, N 
for (1;16)B do 
 for (0;255)KEY do 
1 ,
( , )
1 1
( ( ))
,
j
i N i B
N N
h i t i j
i i
h HW SubByte d Key
mean h mean t
 
  
 for (1; )j N do 
,
 * 
1 1 * 
2 2 .*
i h
i j t
hdiff
tdiff t
sum sum hdiff tdiff
sum sum hdiff hdiff
sum sum tdiff tdiff
h mean
mean
 end for 
 , abs( . / ( 1.* 2));KEY L sum sqrt sum sum 
 end for 
 ,arg max( )KEY KEY L 
 BSubbyte KEY 
end for 
Để thực hiện thuật toán 1, nhóm tác giả sử dụng 50 power trace, mỗi power 
trace 5000 mẫu thu thập từ CW1173. Kết quả đầu ra chương trình đã phân tích 
được chính xác 16 byte của khóa bí mật ở dạng thập phân như sau: 
43-136-21-22-40-174-210-166-171-247-21-136-9-207-79-60 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 191 
Bản tin cần mã hóa
Bản mã 128 bit
Thế Byte
Dịch hàng
Trộn cột
Thế Byte
Dịch hàng
Khóa gốc
Khóa con (i)
9
 v
ò
n
g
Khóa con (10)
Bộ tạo 
khóa
Khóa 
gốc
Chƣơng trình nạp 
bản tin, điều khiển 
ghi lại power trace
 Giá trị điện áp sau 
chuyển đổi ADC, 
Bản tin đã mã hóa
Biểu diễn giá trị tỉ lệ 
điện áp dƣới dạng 
biểu đồ
Giá trị điện áp, bản 
tin đã mã hóa
Bản tin cần mã hóa
Chân nguồn 
qua điện trở
Mạch chạy mã hóa AES Mạch đọc giá trị điện áp và điều khiển 
Hình 2. Quá trình thu thập power trace trên CW1173. 
3.2. Kỹ thuật xác định điểm phân tích, nâng cao hiệu quả phân tích 
Từ thuật toán 1 và hình 3 nhận thấy, để phân tích được khóa bí mật, cần xác 
định được byte khóa (dự đoán) nào cho giá trị hệ số tương quan Pearson lớn nhất. 
Để xác định được giá trị này, theo kỹ thuật phân tích CPA thông thường, người 
phân tích cần thực hiện tính toán độ lệch chuẩn giữa tất cả sample(j) trong power 
trace (t) so với giá trị trung bình (meant) theo (3), điều này dẫn đến việc phải phân 
tích một số lượng lớn các điểm trong một power trace, đặc biệt với những power 
trace có mật độ lên đến hàng chục nghìn sample (mẫu), kết quả này lại được tính 
trung bình trên hàng nghìn power trace, dẫn đến lượng thời gian thực hiện phân 
tích rất lớn. Để rút ngắn thời gian phân tích mà vẫn đảm bảo được độ chính xác 
của kỹ thuật, nhóm tác giả đề xuất một phương pháp phân đoạn để giảm số lượng 
điểm cần tính toán trong một power trace xuống rất nhỏ so với ban đầu. 
Hình 3. Giá trị hệ số tương quan giữa của tất cả các điểm trên power trace 
với mô hình công suất tiêu thụ Hamming weight. 
Kỹ thuật điện tử 
Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên  đo công suất tiêu thụ.” 192 
Với N power trace thu được từ mạch ChipWhisperer, thực hiện chia thành hai 
nhóm trace N1 và N2 (N1≤N2). Từ N1 power trace, thực hiện phân tích CPA thông 
thường, kết quả thu được α điểm có hệ số t,h lớn nhất. Giá trị α này sẽ được chọn 
là rất nhỏ so với số lượng sample trong một power trace. Với α điểm này, ta sẽ suy 
ra được α vị trí trên power trace có khả năng nhiều nhất có giá trị tương quan lớn 
nhất (hình 3). Lấy N2 power trace, thực hiện kỹ thuật CPA thông thường, nhưng 
chỉ áp dụng tính cho α vị trí vừa nêu trên. Tuy nhiên, với cả thuật toán ban đầu và 
thuật toán đề xuất nêu trên, điều kiện để thực hiện thành công đó là có số lượng 
power trace đủ lớn và tất cả các power trace này đều phải đồng bộ về mặt thời gian 
(thời điểm kích hoạt đo và thời điểm kết thúc đo giá trị điện áp), cả hai điều kiện 
này đều thỏa mãn khi sử dụng CW1173. 
 Thuật toán 2: 
Đầu vào sau khi đo: N traces (Ti)1<i<N, mỗi Trace có L sample, và N bản tin 
tương ứng (di)1<i<N, các trường hợp có thể có của khóa bí mật là {0; 255}. Chia bản 
tin và khóa bí mật thành 16 byte tương ứng. 
Input: di,B, ti,j (1≤i≤N, 1≤j≤L) , L, N1, N ( 1
1
2
N N ) 
for (1;16)B do 
 // Giai đoạn 1: Thực hiện tính hệ số tương quan, tìm ra α điểm POI có giá 
trị lớn nhất 
 for (0;255)KEY do 
 1 1
1 ,
,
1 1
( ( ))
,
j
i N i B
N N
h i t i j
i i
h HW SubByte d KEY
mean h mean t
 
  
 for 1(1; )i N do 
,
1
1
 1_1 1_1 1 * 1
1_ 2 1_ 2 1 * 1
1_ 3 1_ 3 1.* 1
i h
i j t
h
u
h mean
m
dif
tdif t
sum sum hdif tdif
sum s m hdif hdif
sum sum tdif tdi
ea
f
n
 end for 
,
abs( 1_1 . / ( 1_ 2.* 1_3));
KEY L
sum sqrt sum sum 
 end for 
 for (1; )i do 
' , ' 1
argmax( )
L KEY L L
, ' , 'i L i L
N N 
 end for 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 193 
 // Giai đoạn 2: Sử dụng α điểm, tính giá trị hệ số tương quan trên toàn bộ 
power trace còn lại tìm giá trị lớn nhất. 
 for (0;255)KEY do 
' , '
1 1
,
L
N N
h i t i L
i i
mean h mean t
   
 for (1: )i N do 
', '
2
2
 2 _1 2 _1 2 * 2
2 _ 2 2 _ 2 2 * 2
2 _ 3 2 _ 3 2.* 2
L
i h
ti L
h
m
h mean
m
dif
tdif t
sum sum hdif tdif
sum su den hdif hdif
sum sum d
e
t
a
den t if di
n
f
 end for 
, '
abs( 2_1 . / ( 2_ 2.* 2_3));
KEY L
sum sqrt sum sum 
 end for 
, '
argmax( )KEY KEY L 
 BSubyte KEY 
end for 
3.3. Khảo sát sử dụng thuật toán đề xuất 
Để đánh giá hiệu quả thuật toán đề xuất, nhóm tác giả thực hiện nhiều khảo sát 
khác nhau với hai tiêu chí chính, đó là độ chính xác của kết quả phân tích (số byte 
khóa bí mật được phân tích thành công) và thời gian thực hiện phân tích (thời gian 
tìm được toàn bộ khóa bí mật). Power trace được thu thập từ CW1173 với số lượng 
power trace là 10.000. Mỗi power trace chứa 5.000 mẫu đo giá trị công suất. Trên 
thực tế, để phân tích thành công khóa bí mật AES với kỹ thuật CPA thông thường, 
nhóm tác giả chỉ cần khoảng 50 power trace từ CW1173. Tuy nhiên, để đánh giá 
hiệu quả phân tích của thuật toán đề xuất, số lượng power trace phải nằm trong 
một dải rộng và đủ lớn. Chính vì vậy, nhóm tác giả thực hiện thêm thành phần 
nhiễu Gauss vào power trace đã thu được, với giá trị độ lệch chuẩn nằm trong dải 
từ 0,1 đến 0,2, bước nhảy là 0,02 tương ứng với số lượng power trace phải sử dụng 
từ 1.000 đến 10.000. Toàn bộ các giá trị sử dụng cho đánh giá hiệu quả thuật toán 
được cung cấp chi tiết trong bảng 2. Ngoài ra, giá trị α(POI)=50 được sử dụng cố 
định cho tất cả các khảo sát. 
Hình 4.a thể hiện độ chính xác thuật toán đã đề xuất. Trong khảo sát này, nhóm 
tác giả đã thực hiện phân tích theo ba giá trị của N1={1/3N,1/4N,1/5N}. Dễ dàng 
nhận thấy rằng, với giá trị của N1 được chọn càng cao thì số lượng byte đúng thu 
được càng cao. Số lượng byte đúng cũng phụ thuộc rất nhiều vào giá trị độ lệch 
chuẩn của nhiễu Gauss thêm vào power trace. Theo hình 4.a, với độ lệch chuẩn là 
0,14, tỉ lệ phân tích số key đúng với N1=1/3N và N1=1/4N power trace là 100%. Vì 
vậy, để đánh giá hiệu quả về mặt thời gian của thuật toán đề xuất, nhóm tác giả lựa 
chọn N1=1/3 và N1=1/4, độ lệch chuẩn cao nhất là 0,14 cho việc khảo sát. 
Kỹ thuật điện tử 
Đ. N. Tuấn, , H. V. Phúc, “Phương pháp phân tích kênh bên  đo công suất tiêu thụ.” 194 
Bảng 2. Bảng giá trị sử dụng đánh giá hiệu quả thời gian của thuật toán đề xuất. 
Thứ tự 1 2 3 4 5 6 7 8 9 10 
N 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 
N1=1/3N 333 667 1000 1333 1667 2000 2333 2667 3000 3300 
N1=1/4N 250 500 750 1000 1250 1500 1750 2000 2250 2500 
Độ lệch 
chuẩn 
0,05 0,06 0,07 0,08 0,09 0,10 0,11 0,12 0,13 0,14 
T
ỉ 
lệ
 %
 B
y
te
 p
h
ân
 t
íc
h
 đ
ú
n
g
T
h
ờ
i 
g
ia
n
 p
h
ân
 t
íc
h
 (
g
iâ
y
)
Độ lệch chuẩn của nhiễu Gauss được thêm vào Số power trace sử dụng cho phân tích
a) b) 
Hình 4. Kết quả thực hiện phân tích mã AES với thuật toán đề xuất: a) Số byte của 
khóa bí mật được tìm đúng. b) Thời gian thực hiện phân tích thành công khóa AES. 
Kết quả khảo sát được minh họa trong hình 4.b, so với kĩ thuật CPA thông 
thường (thuật toán 1), thuật toán đề xuất thực hiện phân tích thành công tất cả các 
byte của khóa bí mật với N1=1/3N đã giảm hơn một nửa, và quá trình này duy trì 
liên tục khi phân tích số lượng power trace thay đổi từ 1.000 đến 10.000. Hơn nữa, 
nếu sử dụng N1=1/4N, kết quả khảo sát cho thấy thời gian phân tích của thuật toán 
đề xuất tốt hơn so với N1=1/3N, điều này chứng tỏ N1 càng nhỏ thì càng lợi về mặt 
thời gian phân tích. Tuy nhiên, trong hình 4.a cho thấy, N1 càng nhỏ thì tỉ lệ chính 
xác của quá trình phân tích cũng giảm theo. Vì vậy, trong nghiên cứu này, việc 
chọn lựa hệ số N1 là rất quan trọng và nó phụ thuộc vào giá trị của nhiễu tác động 
vào power trace thu được. 
4. KẾT LUẬN 
Bài báo đã trình bày những nội dung cơ bản về kỹ thuật phân tích tương quan 
công suất tiêu thụ, cũng như đề xuất giải pháp nâng cao hiệu quả phân tích về mặt 
thời gian, độ chính xác giữ nguyên. Kết quả thực thi và đánh giá được thực hiện 
trên bo mạch ChipWhisperer CW1173 đã minh chứng tính hiệu quả về thời gian 
phân tích cho giải pháp CPA đề xuất. Trong nghiên cứu tiếp theo, chúng tôi sẽ 
thực hiện đánh giá thêm về tham số điểm POI với hiệu quả thời gian phân tích, 
cũng như độ chính xác của thuật toán. Từ đó, áp dụng kỹ thuật này để đánh giá 
phân tích cho các các bo mạch khác sử dụng các kiến trúc vi xử lý khác nhau. 
Lời cảm ơn: Nghiên cứu này được Bộ Khoa học và Công nghệ tài trợ trong nhiệm vụ KH&CN 
cấp quốc gia mã số HNQT/TKCG/04.20. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020 195 
TÀI LIỆU THAM KHẢO 
[1]. P. Kocher, J. Jaffe, and B. Jun, “Introduction to differential power analysis 
and related attacks,” Cryptography Research, pp. 1–5, 1998. 
[2]. P. Kocher, J. Jaffe, and B. Jun, “Differential power analysis,” proceedings of 
CRYPTO’99, Lecture Notes in Computer Science, vol. 1666, Springer, Berlin, 
pp. 388–397, 1999. 
[3]. E. Brier, C. Clavier, and F. Olivier, “Correlation power analysis with a 
leakage model,” Cryptographic Hardware Embedded System-CHES 
2004, Lecture Notes in Computer Science, vol. 3156, Springer, Berlin, 
pp. 16–29, 2004. 
[4]. National Institute of Standards and Technology (NIST), “Advanced 
encryption standard (AES),” FIPS Publication 197, 
[5]. https://chipwhisperer.readthedocs.io/en/latest/tutorials.html#power-analysis 
[6]. https://wiki.newae.com/CW1173_ChipWhisperer-Lite 
[7]. https://github.com/kokke/tiny-AES-c. 
ABSTRACT 
SIDE CHANNEL ANALYSIS METHOD ON AES CRYPTOGRAPHY 
USING POWER CONSUMPTION DATA 
Power analysis attack is a type of side channel attack based on power 
consumption analysis of a cryptographic device. Among power analysis 
attack techniques, correlation power analysis (CPA) is an efficient attack 
method. This technique exploits the linear relationship between the power 
model and the real power consumption of an encryption device. However, 
the analysis implementation needs a larger number of power traces in order 
to extract the secret key so that the computation time becomes a serious 
problem. Therefore, this paper proposes a solutions to reduce analysis time, 
improve the efficiency of hardware security evaluation of AES cryptography. 
The experimental and analysis results with AES hardware implementation 
have clarified the efficiency of the proposed method compared with 
conventional method. 
Keywords: Side channel analysis; Correlation power analysis; AES cryptography; Hamming distance; 
Hamming weight. 
Nhận bài ngày 24 tháng 02 năm 2020 
Hoàn thiện ngày 12 tháng 8 năm 2020 
Chấp nhận đăng ngày 28 tháng 8 năm 2020 
Địa chỉ: 1Viện Tích hợp hệ thống, Học viện Kỹ thuật Quân sự; 
2Hệ V, Học viện Kỹ thuật Quân sự; 
3Khoa Chỉ huy tham mưu kỹ thuật, Học viện Kỹ thuật Quân sự; 
*Email: phuchv@mta.edu.vn. 

File đính kèm:

  • pdfphuong_phap_phan_tich_kenh_ben_voi_ma_mat_aes_su_dung_du_lie.pdf