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

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ụ

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 (1.07 MB, 10 trang )

Kỹ thuật điện tử

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.
186 Đ. 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ụ.”


Nghiên cứu khoa học công nghệ

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ả các
khảo sát.
2.2. Kỹ thuật phân tích tƣơng quan công suất CPA
Đối với phân tích CPA, đây là một dạng phân tích không cần xây dựng mô hình
mẫu để so sánh với mạch mục tiêu. CPA là một trong những hình thức phân tích có
khả năng ứng dụng thực tế cao nhất. Vì trong quá trình thực hiện, người tấn công
chỉ cần một mạch mục tiêu với lượng power trace đủ lớn. Ở đây, power trace là dữ
liệu biểu diễn theo thời gian về tỉ lệ công suất tiêu thụ tương ứng với dữ liệu xử lý
trên chip trong quá trình mã hóa.
Nguyên lý chung của kỹ thuật CPA là thực hiện đo và thu thập các dữ liệu về
công suất tiêu thụ của thiết bị mã hóa và được thể hiện dưới dạng biểu đồ biểu diễn
công suất theo thời gian thực thi mã hóa (power trace), sau đó là xác định sự tương
quan giữa dữ liệu vừa đo với các phép tính được thực hiện bởi thiết bị mã hóa tại
cùng một thời điểm. Kỹ thuật này yêu cầu cần phải có một mô hình về công suất
tiêu thụ dựa trên các toán tử hoặc phép tính mà thiết bị mã hóa thực hiện. Có rất
nhiều cách để thực hiện công việc này, trong bài báo tác giả sử dụng biến đổi
SubByte kết hợp với trọng số Hamming (HW: Hamming weight).
HW là một trong những mô hình cơ bản nhất của mô hình tiêu thụ công suất.
Mô hình này có khả năng ước lượng rất tốt lượng công suất tiêu thụ của thiết bị mã
hóa khi mà người tấn công có thể biết chính xác về các dữ liệu đi vào và ra trong
một phần thiết bị. Mô hình này coi các phần tử nhớ của thiết bị ở trạng thái 0 thì

không tiêu tốn công suất, ngược lại với bit 1 thì sẽ tiêu tốn một lượng đáng kể công
suất. Chính vì thế, trong mô hình này công suất tiêu thụ được cho là có mối quan
hệ tuyến tính với số lượng bit 1 tại thời điểm tính toán dữ liệu. Trong bài báo này,
mô hình công suất tiêu thụ được xây dựng dựa trên phép biến đổi thế byte và trọng
số HW, được xác định như sau:

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

187


Kỹ thuật điện tử

h  HW ( SubByte( PlainText  Key ))

(1)

Để có thể phân tích và lấy được khóa bí mật, người tấn công sẽ dựa trên mối
quan hệ giữa power trace thu được và mô hình công suất tiêu thụ. Một phương
pháp hiệu quả đề tính được sự tương quan này đó chính là sử dụng hệ số tương
quan Pearson. Đây là một trong những hệ số được sử dụng rộng rãi cho việc tính
toán mối quan hệ tuyến tính giữa các dữ liệu, và trong lĩnh vực đánh giá bảo mật,
đây chính là một công cụ vô cùng hiệu quả cho việc sử dụng kỹ thuật phân tích
thống kê, từ đó, có thể thực hiện phân tích mã khóa bí mật.
Giả sử thực hiện mã hóa D bản tin (Plaintext) với cùng một khóa (Key), ta thu
được D giá trị power trace (t). Hệ số Pearson biểu diễn mối quan hệ giữa công suất
tiêu thụ thực tế và mô hình công suất tiêu thụ như sau:

t , h 


cov(t , h)

(2)

 t h

Mỗi power trace t, có N điểm giá trị. Lúc này, ta sẽ biểu diễn giá trị của điểm
thứ j của trace thứ d như sau t(d,j) (1 ≤ d ≤ D, 0 ≤ j≤ N). Vì khóa được chia theo
byte nên khóa bí mật dự đoán sẽ có 256 giá trị. Vì vậy, chúng ta sẽ có trọng số
Hamming của key thứ i với công suất đo tại trace d là h(d,i) (1≤d ≤D, 0 ≤i ≤255).
Với dữ liệu trên, chúng ta sẽ tìm được mức độ phù hợp của key dự đoán i với
điểm dữ liệu thứ j của power trace. Chúng ta sẽ tính toán được mức độ phù hợp
này thông qua hệ số tương quan Pearson giữa t và h dựa trên D power trace [5]:

  h
D

i , j 

d ,i

d 1

h
D

d 1

d ,i


 hi   td , j  t j  

 hi 

2

 t
D

d 1

d, j

 tj 

(3)
2

Biểu thức (3) có thể dễ dàng thực hiện trên các ngôn ngữ lập trình, và phần còn
lại của bài báo, nó được thực hiện trên Matlab.
3. NÂNG CAO HIỆU QUẢ PHÂN TÍCH CHO KỸ THUẬT CPA
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).
188 Đ. 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ụ.”


Nghiên cứu khoa học công nghệ

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.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

189


Kỹ thuật điện tử

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)1tương ứng (di)1tin và khóa bí mật thành 16 byte tương ứng.
Input: di,B, ti,j (1≤j≤L),L, N
for B  (1;16) do
for KEY  (0; 255) do
h1i  N  HW ( SubByte(di , B  Key ))
N

N

i 1

i 1

meanh   hi , meant j   t(i , j )

for j  (1; N ) do


hdiff  hi  meanh
tdiff  ti , j  meant
sum  sum  hdiff * tdiff
sum1  sum1  hdiff * hdiff
sum2  sum2  tdiff .* tdiff
end for

 KEY , L  abs( sum . / sqrt ( sum1.* sum2));
end for

 KEY  arg max(  KEY , L )
SubbyteB  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
190 Đ. 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ụ.”


Nghiên cứu khoa học công nghệ
Bản tin cần mã hóa
Khóa gốc

Bộ tạo
khóa

Khóa
gốc


9 vòng

Thế Byte
Dịch hàng
Trộn cột

Khóa con (i)
Thế Byte

Biểu diễn giá trị tỉ lệ
điện áp dƣới dạng
biểu đồ

Dịch hàng

Khóa con (10)

Bản mã 128 bit

Chân nguồn
qua điện trở

Giá trị điện áp sau
chuyển đổi ADC,
Bản tin đã mã hóa

Chƣơng trình nạp
bản tin, điều khiển
ghi lại power trace


Giá trị điện áp, bản
tin đã mã hóa
Bản tin cần mã hóa
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.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

191


Kỹ thuật điện tử


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)1tương ứng (di)1tin và khóa bí mật thành 16 byte tương ứng.
1
Input: di,B, ti,j (1≤i≤N, 1≤j≤L) , L, N1, N ( N1  N )
2
for B  (1;16) 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 KEY  (0; 255) do
h1i  N  HW ( SubByte(di , B  KEY ))
N1

N1

i 1


i 1

meanh   hi , meant j   ti , j

for i  (1; N1 ) do

hdif 1  hi  meanh
tdif 1  ti , j  meant
sum1_1  sum1_1  hdif 1 * tdif 1
sum1_ 2  sum1_ 2  hdif 1 * hdif 1
sum1_ 3  sum1_ 3  tdif 1.* tdif 1
end for

KEY ,L  abs(sum1_1 . / sqrt (sum1_ 2.* sum1_ 3));
end for
for i  (1;  ) do

L '  arg max( KEY , L  L '1 )
N i , L '  Ni , L '
end for
192 Đ. 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ụ.”


Nghiên cứu khoa học công nghệ

// 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 KEY  (0; 255) do
N


N

i 1

i 1

meanh   hi , meantL '   ti , L '
for i  (1: N ) do
hdif 2  hi  meanh

tdif 2  ti , L '  meantL '
sum2 _1  sum2 _1  hdif 2 * tdif 2
sum2 _ 2  sumden2 _ 2  hdif 2 * hdif 2
sum2 _ 3  sumden2 _ 3  tdif 2.* tdif 2
end for

KEY ,L '  abs(sum2 _1 . / sqrt (sum2 _ 2.* sum2 _ 3));
end for

KEY  arg max( KEY , L ' )
SubyteB  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.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

193


Kỹ thuật điện tử

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

N

2


3

4

5

6

7

8

9

10

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

0,10

0,11

0,12


0,13

Tỉ lệ % Byte phân tích đúng

Thời gian phân tích (giây)

0,09

Độ lệch chuẩn của nhiễu Gauss được thêm vào
a)

Số power trace sử dụng cho phân tích
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.

194 Đ. 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ụ.”


Nghiên cứu khoa học công nghệ

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]. />[6]. />[7]. />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ự;
2
Hệ V, Học viện Kỹ thuật Quân sự;
3
Khoa Chỉ huy tham mưu kỹ thuật, Học viện Kỹ thuật Quân sự;
*Email:

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

195




×