Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
Kết hợp mạng perceptron đa tầng và phân tích
tương quan cơng suất tiêu thụ trong đánh giá
bảo mật đối với mã mật AES-128
Hoàng Văn Phúc, Đỗ Ngọc Tuấn, Lê Văn Nam và Lưu Văn Tuấn
Viện Tích hợp hệ thống, Học viện Kỹ thuật Quân sự
Số 236 Hoàng Quốc Việt, Quận Bắc Từ Liêm, Hà Nội
Email:
Tóm tắt— Ứng dụng trí tuệ nhân tạo trong lĩnh vực bảo
mật phần cứng đang trở thành một xu hướng nghiên cứu
trên thế giới. Trong bài báo này, nhóm tác giả đề xuất
mơ hình mạng perceptron đa tầng thực hiện tấn công
không lập mẫu trong đánh giá bảo mật phần cứng cho
mã mật AES-128. Đồng thời, chúng tôi đề xuất giải pháp
sử dụng kỹ thuật phân tích tương quan công suất tiêu
thụ trong xây dựng tập dữ liệu cho mạng perceptron đa
tầng. Kết quả thực nghiệm, phân tích trên phần cứng mã
hóa giúp khẳng định tính khả thi cao của các đề xuất
trong việc ứng dụng trí tuệ nhân tạo cho đánh giá bảo
mật phần cứng.
lượng nhỏ vết năng lượng (power trace), so sánh các
khóa dự đốn với mẫu đã lập và xác định key với mẫu
nào giống nhất. Về lý thuyết, tấn công lập mẫu được
coi là tấn công hiệu quả khi chỉ cần một lượng nhỏ
power trace. Tuy nhiên, tấn cơng lập mẫu thường khó
áp dụng trên thực tế khi mà người tấn cơng chỉ có duy
nhất thiết bị mục tiêu và lượng power trace ghi được bị
giới hạn. Ngược lại, với tấn công không lập mẫu, ví dụ
như tấn cơng phân tích vi sai cơng suất tiêu thụ (DPA:
Differential Power Analysis) [2], hoặc tấn công phân
tích tương quan cơng suất (CPA: Correlation Power
Analysis) [3], người tấn công chỉ cần sử dụng thiết bị
mục tiêu để ghi lại power trace và dùng các kỹ thuật
thống kê để tìm ra khóa bí mật.
Trong những năm gần đây, dưới sự phát triển
khơng ngừng của trí tuệ nhân tạo (AI: Artificial
Intelligence), các ứng dụng của nó đang ngày càng trở
nên thiết thực và quan trọng mà điển hình là kỹ thuật
học máy (ML: Machine Learning) hay kỹ thuật học sâu
(DL: Deep Learning). Trong đó, Perceptron đa tầng
(MLP: Multilayer Perceptron) là một mơ hình mạng
thuộc kỹ thuật học sâu, mơ hình này được tạo ra dựa
trên việc mơ phỏng các kết nối đa tầng của các tế bào
thần kinh (Nơ-ron) trong bộ não người. Từ các dữ liệu
đầu vào, trải qua q trình huấn luyện của mạng MLP,
máy tính hồn tồn có thể phân tích và phân loại các dữ
liệu ở đầu ra một cách nhanh chóng và chính xác.
Chính vì vậy, ứng dụng trí tuệ nhân tạo trong lĩnh vực
bảo mật đang trở thành một xu hướng nghiên cứu trên
thế giới.
Trong các công bố [4], [5], mạng MLP được ứng
dụng để tìm ra khóa bí mật của mã hóa AES. Đặc biệt,
bài báo [5] đã chứng minh mạng MLP khơng chỉ áp
dụng trong tấn cơng lập mẫu mà cịn có thể áp dụng rất
tốt với tấn cơng khơng lập mẫu. Tuy nhiên, các công bố
ở trên chỉ áp dụng với dữ liệu có số mẫu đầu vào nhỏ.
Trên thực tế với dữ liệu đầu vào là các power trace, số
lượng mẫu là rất lớn, thường là vài nghìn cho đến chục
nghìn mẫu. Trong khi đó, số lượng mẫu đầu vào cho
mạng MLP ảnh hưởng rất nhiều đến quá trình xử lý và
tính tốn của mạng. Vì vậy, trong bài báo này, chúng
tơi sẽ giới thiệu mơ hình mạng MLP nhằm thực hiện
tấn công mã mật AES không lập mẫu, kết hợp giải
pháp sử dụng kỹ thuật phân tích tương quan cơng suất
Từ khố- Mạng perceptron đa tầng, phân tích tương
quan công suất, tấn công không lập mẫu, tấn công kênh
bên, mã hóa AES
I.
GIỚI THIỆU
Trong thời đại kỹ thuật số ngày nay, các thiết bị mã
hoá sẽ thực hiện biến bản tin rõ thành bản tin được mã
hoá để bảo vệ dữ liệu. Tuy nhiên, trong quá trình thực
thi mã hố hoặc giải mã thì các thiết bị này ln có sự
rị rỉ thơng tin nhất định và được gọi là thơng tin kênh
kề, ví dụ thời gian thực hiện, bức xạ điện từ trường,
công suất tiêu thụ điện. Từ các nguyên lý kỹ thuật căn
bản về cấu tạo của các vi mạch điện tử, chúng ta nhận
định rằng công suất tiêu thụ của thiết bị mã hố khơng
phải là một tham số ngẫu nhiên mà nó phụ thuộc rất
nhiều vào quá trình thiết bị xử lý dữ liệu, đặc biệt là
thực hiện tính tốn trong thời gian đủ lớn. Do đó, thơng
tin về cơng suất tiêu thụ khơng mong muốn này được
chính kẻ tấn cơng lợi dụng nhằm phân tích và đánh cắp
các khố bí mật.
Tấn cơng kênh bên thường được chia thành hai
hướng tiếp cận đó là tấn công lập mẫu (Profile attack)
và không lập mẫu (Non-profile attack). Đối với tấn
cơng lập mẫu, điển hình là Template attack [1], người
tấn công cần thực hiện hai bước quan trọng. Thứ nhất
là lập mẫu, người tấn cơng phải có một thiết bị có chức
năng và cấu tạo giống hệt như thiết bị mục tiêu và có
đầy đủ quyền thực thi trên thiết bị. Sau đó người tấn
cơng sẽ phải thực hiện mã hóa và ghi lại một lượng lớn
power trace của mỗi từ khóa dự đốn. Thứ hai là áp
dụng mẫu đã có lên thiết bị mục tiêu. Người tấn cơng
thực hiện mã hóa trên thiết bị mục tiêu, ghi lại một
ISBN: 978-604-80-5076-4
55
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
tiêu thụ cho việc xây dựng tập dữ liệu. Kỹ thuật này
thực hiện tách ra các mẫu có giá trị tương quan cao
nhất để đưa vào mơ hình huấn luyện. Nhóm tác giả
cũng nhận thấy giải pháp xây dựng tập dữ liệu này giúp
mạng MLP trở nên đơn giản hơn cho phân loại kết quả
đầu ra.
Phần tiếp theo bài báo được tổ chức như sau. Đề
xuất giải pháp xây dựng tập dữ liệu cho mạng MLP
được trình bày trong phần II. Phần III sẽ giới thiệu kiến
trúc mạng MLP đề xuất. Các kết quả khảo sát phân tích
khóa bí mật được trình bày trong phần IV. Phần V là
kết luận hiệu quả của giải pháp xây dựng tập dữ liệu và
tính khả thi của kiến trúc mạng đề xuất.
được sử dụng để tính tốn giá trị trung gian HW theo
cơng thức (1), giá trị h sau đó được dùng để gán nhãn
cho các tập power trace tương ứng với plaintext cho
giá trị h=3,4,5 . Sau đó cơng thức (2) sẽ được sử dụng
để tính tốn hệ số tương quan từ 256 giá trị khóa dự
đốn (k=[0;255])
k ,i
(
hn ,k − hk
)(t
2 N
n ,i
) (
− ti
)
tn ,i − ti
n=1
)
(2)
2
Sau khi đã xác định được 50 điểm có hệ số tương
quan cao nhất, chúng tơi thực hiện phân loại toàn bộ
số power trace theo ba giá trị trung gian là HW= 3,4,5.
Thực hiện tương tự với các byte khóa con cịn lại, kết
quả thu được là 16 thư mục tương đương với 16 byte
khóa con. Trong mỗi thư mục là 256 thư mục con
tương ứng được tạo ra từ 256 giá trị khóa dự đốn.
Trong mỗi thư mục con này, ba thư mục có tên HW3,
HW4, HW5 được tạo ra, đây cũng chính là nhãn được
sử dụng để phân loại trong mạng MLP. Cuối cùng,
ứng với mỗi thư mục nhãn, toàn bộ power trace sẽ
được phân loại tương ứng. Hình 1 mơ tả cấu trúc của
tập dữ liệu dựa trên kỹ thuật đề xuất.
Dataset1
Key_0
HW3
Power trace 1
Power trace N1
5000 Power traces
HW4
Power trace 1
Power trace N2
Key_255
Dataset16
HW5
Power trace 1
Power trace N3
Hình 1. Cấu trúc tập dữ liệu đề xuất: 5000 power trace ban
đầu (5000 mẫu/power trace) được tính tốn và phân loại
trong 3 nhóm có tên tương ứng với giá trị trung gian (HW3,
HW4 và HW5). Mỗi nhóm chứa N1, N2, N3 power trace.
Mỗi power trace chứa 50 mẫu có giá trị tương quan cao nhất.
(1)
Chúng tơi sử dụng N bản tin ngẫu nhiên cho việc
mã hóa, sau đó N power trace sẽ được ghi lại. Mỗi
power trace sẽ chứa L mẫu. Kí hiệu tn,i là giá trị của
mẫu thứ i trong power trace n, i và n thỏa mãn điều
kiện (1
( B {1;16} ) trong bản tin thứ n. Để có thể thu thập
được 50 mẫu có hệ số tương quan cao nhất từ power
traces, chúng tôi sử dụng một nửa số lượng power
trace ban đầu cho việc tính tốn, kỹ thuật này đã được
nhóm tác giả thực hiện trong [6] và có hiệu quả lớn về
mặt thời gian thay vì tính tốn tồn bộ số power trace.
Trong trường hợp này, hàm S-Box của thuật toán AES
ISBN: 978-604-80-5076-4
N
− hk
Trong đó hk và ti lần lượt là trung bình của mơ
hình cơng suất dự đốn và cơng suất tiêu thụ thực tế
tại mẫu i.
Power trace là những vector biểu diễn các giá trị tỉ
lệ với công suất tiêu thụ của mạch mục tiêu sau khi
chuyển đổi ADC. Các power trace thường có hàng
nghìn mẫu. Như đã nhắc đến ở phần I, số lượng mẫu
này sẽ rất lớn khi áp dụng mạng MLP. Với kỹ thuật
phân tích tương quan cơng suất tiêu thụ (CPA) , toàn
bộ các mẫu trên một power trace sẽ được tính giá trị
tương quan với một mơ hình cơng suất tiêu thụ dự
đốn. Tuy nhiên, chỉ có một số ít các mẫu trong một
power trace sẽ liên quan đến mơ hình đã xây dựng.
Những mẫu này thường sẽ cho giá trị tương quan với
mơ hình cơng suất dự đốn cao hơn các điểm cịn lại.
Nhận thấy, nếu tách các mẫu có giá trị tương quan cao
làm đầu vào, số chiều dữ liệu sẽ giảm xuống rất nhiều.
Đồng thời chúng ta hồn tồn có thể xây dựng một mơ
hình học máy để phân loại các power trace theo các
nhóm có độ tương quan khác nhau. Chính vì thế,
nhóm tác giả đề xuất sử dụng kỹ thuật phân tích tương
quan cơng suất để có thể giảm số lượng mẫu đầu vào.
Cụ thể, 50 vị trí mẫu có giá trị tương quan lớn nhất sẽ
được lấy ra để tạo thành tập dữ liệu đầu vào cho MLP.
Để thực hiện điều này, chúng tôi sử dụng hệ số tương
quan Pearson. Phương pháp này đã được tác giả trong
bài báo [5] sử dụng, tuy nhiên điểm đặc biệt trong đề
xuất của chúng tôi là chỉ sử dụng 3 giá trị HW=3,4,5
thay vì sử dụng 9 giá trị HW. Điều đó dẫn đến việc số
lượng power trace cần để tính tốn có thể giảm 30%.
Key )
=
n ,k
n =1
n=1
II. XÂY DỰNG TẬP DỮ LIỆU CHO MẠNG MLP
h = HW (SubByte ( PlainText
(h
N
III.
ĐỀ XUẤT KIẾN TRÚC MẠNG MLP CHO
TẤN CÔNG KHÔNG LẬP MẪU
Mạng MLP đã được chứng minh hiệu quả trong
việc áp dụng cho phân tích khóa bí mật của AES [5].
Ngun lý chính của áp dụng mạng MLP trong phân
tích khóa bí mật AES là sử dụng các tham số của mơ
hình trong quá trình huấn luyện. Bằng việc xây dựng
tập dữ liệu dựa trên giá trị tương quan cao nhất giữa
power trace và giá trị trung gian HW. Chúng ta đã tạo
ra được mối liên hệ giữa đầu vào (50 mẫu) và giá trị
56
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020)
đầu ra (HW). Vì vậy, khi áp dụng mạng MLP, ứng với
khóa dự đốn là chính xác, mạng MLP có thể dễ dàng
huấn luyện và phân loại đơn giản với 3 nhãn. Điều này
dẫn đến các tham số của mạng MLP trong quá trình
huấn luyện như độ chính xác (accuracy) sẽ tăng dần
hoặc giá trị của hàm mất mát (loss function) sẽ giảm
dần. Ngược lại, với khóa dự đốn là sai, giá trị trung
gian cũng sẽ bị tính tốn sai, dẫn đến mạng MLP
không thể huấn luyện được. Điều này dẫn đến các
tham số nêu trên sẽ giữ nguyên hoặc thay đổi không
đáng kể qua mỗi epoch huấn luyện. Đây chính là yếu
tố chính để ứng dụng mạng MLP nói riêng hay các kỹ
thuật học sâu khác vào phân tích khóa AES khơng cần
lập mẫu. Tuy nhiên, nhược điểm là mỗi mơ hình chỉ có
thể huấn luyện dự dốn cho một giá trị khóa, vì vậy
với 256 giá trị khóa dự đốn, chúng ta cần chạy 256
mơ hình mạng MLP để tìm ra khóa nào đúng.
Để chứng minh hiệu quả của việc ứng dụng mạng
MLP cho phân tích khóa AES khơng lập mẫu, nhóm
tác giả đã xây dựng mơ hình mạng MLP bao gồm có
thành phần lớp nhận giá trị đầu vào, các lớp ẩn và cuối
cùng là lớp đầu ra như thể hiện trong Hình 2.
suất của các power trace ứng với các HW. Chi tiết
tham số của mơ hình mạng được mô tả trong Bảng I.
Về tập dữ liệu huấn luyện, chúng tôi phân loại tập
dữ liệu ban đầu một cách ngẫu nhiên theo tỉ lệ 80%
cho tập huấn luyện (Tranning set) và 20% cho tập
kiểm thử (Test set).
Bảng I. CÁC THAM SỐ THIẾT LẬP MẠNG MLP.
Tên lớp
Input
Hiden 1
Hiden 2
Hiden 3
Hiden 4
Hiden 5
Hiden 6
Output
IV.
Hình 2. Cấu trúc mạng MLP được sử dụng.
(3)
Trong đó a là giá trị đầu ra, b là bias của lớp thứ l,
W là ma trận trọng số. Hàm f(.) trên được gọi là một
hàm kích hoạt (activation function). Trong thiết kế đề
xuất, để có được hiệu quả trong tính tóan, chúng tơi sử
dụng hàm eLU (Exponential Linear Unit) cho tất cả
các nút trong lớp ẩn, đây là một hàm có hiệu quả tốt
hơn so với hàm thơng dụng ReLU, đồng thời giúp
mạng tránh được hiện tượng vanishing gradients. Hàm
eLU được biểu diễn như sau:
eLU ( z ) =
z
if z
0
(4)
[ exp( z ) − 1] otherwise
Với mục đích là thực hiện phân loại các power
trace ứng với các giá trị HW, nhóm tác giả sử dụng lớp
Softmax Regression là lớp đầu ra cho việc tính xác
ISBN: 978-604-80-5076-4
Hàm kích hoạt
eLU
eLU
eLU
eLU
eLU
eLU
Softmax
KẾT QUẢ KHẢO SÁT
Nhóm tác giả thực hiện khảo sát mơ hình đề xuất
bằng power trace thu được từ board mạch CW1173
ChipWhisperer-Lite [7]. Đây là một dự án mã nguồn
mở cung cấp phần cứng và mã nguồn cho nghiên cứu
tấn công kênh bên. Phiên bản mà tác giả sử dụng có
chứa mạch mục tiêu là vi điều khiển Atmel AVR
Xmega128 8-bit, vi điều khiển này thực thi thuật tốn
mã hóa AES-128 [8]. ChipWhisperer cung cấp khả
năng thiết lập để ghi các power trace thơng qua chip
ADC tích hợp sẵn trên board. Thiết lập này cho phép
người sử dụng có thể nạp chương trình từ máy tính,
gửi bản tin cần mã hóa, khóa bí mật xuống mạch mục
tiêu và gửi các giá trị đo cơng suất tiêu thụ thơng qua
ADC tích hợp trên mạch mục tiêu về máy tính.
Để xây dựng tập dữ liệu cho khảo sát mơ hình
mạng MLP đề xuất, nhóm tác giả thực hiện thu thập
5000 power trace, mỗi power trace chứa 5000 mẫu
tương đương quá trình thực thi vịng mã hóa thứ nhất
của thuật tốn AES. Trong tấn cơng khơng lập mẫu,
chúng tơi thực hiện giữ khóa bí mật cố định, bản tin
cần mã hóa sẽ được lấy ngẫu nhiên 5000 bản tin.
Trong tất cả các khảo sát về phân tích mã AES, chỉ
vịng mã hóa thứ nhất được sử dụng. Tiếp theo, chúng
tôi thực hiện huấn luyện và thực hiện phân loại sử
dụng 80% tập dữ liệu đã xây dựng, số còn lại dùng để
thực hiện kiểm tra.
Tồn bộ chương trình xây dựng tập dữ liệu và mơ
hình mạng MLP đề xuất được viết trên MATLAB. Chi
tiết tham số kết quả chạy mơ hình MLP đề xuất cùng
tập dữ liệu được thể hiện trong Hình 3 và Hình 4. Dễ
dàng nhận thấy rằng, các tham số về độ chính xác và
tham số hàm mất mát của khóa dự đốn đúng và khóa
dự đốn sai là phân biệt hồn tồn. Q trình huấn
luyện, chúng tơi cho mạng MLP thực hiện 30 epoch.
Hình 4 cho thấy, sau 10 epoch đầu tiên tham số độ
chính xác và hàm mất mát bắt đầu có sự thay đổi rõ
ràng, thể hiện mạng MLP đề xuất có thể huấn luyện
được từ tập dữ liệu mà nhóm tác giả đã xây dựng. Đối
Lớp đầu vào của mạng MLP đề xuất sử dụng 50
nút tương ứng với dữ liệu đầu vào là 50 mẫu. Lớp ẩn
gồm có 6 lớp được thiết kế với số lượng nút được mô
tả trong Bảng I. Cuối cùng là lớp đầu ra với 3 nút. Mơ
hình mạng được minh họa trong Hình 3. Mỗi đầu ra
của một nút (trừ các nút của lớp đầu vào) được tính
dựa trên cơng thức:
a (l ) = f (W (l )T a ( l −1) + b( l ) )
Số nút của một lớp
50
150
300
600
300
100
25
3
57
Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2020)
với khóa dự đốn sai được minh họa trong Hình 3, các
tham số huấn luyện gần như không thay đổi, thể hiện
rằng mạng MLP không thể học được các dữ liệu từ tập
dữ liệu đã tạo.
5000 power trace. Trong các nghiên cứu tiếp theo,
chúng tơi sẽ khảo sát, đánh giá các khố bí mật có độ
dài lớn hơn, nhiều mẫu hơn cũng như việc cải thiện
mơ hình thuật tốn đảm bảo cho việc giảm thời gian
tính tốn và tăng độ chính xác.
Hình 3. Các tham số quan sát được của khóa giả thiết sai.
a) Khóa sai
Hình 4. Các tham số quan sát được của khóa giả thiết đúng.
b) Khóa đúng
Ngồi ra, việc phân biệt khóa đúng hay sai cịn có
thể sử dụng confusion matrix như Hình 5. Đối với
khóa sai sự phân bố của các điểm thực sự thuộc về một
nhãn sẽ tập trung vào HW4, ngược lại, với khóa đúng,
các điểm thực sự thuộc vào các nhãn có tỉ lệ phần trăm
cao, thể hiện mơ hình được huấn luyện và tiến hành
phân loại tốt. Các giá trị này sẽ phân bố đều ra cả ba
nhãn HW tạo thành một đường chéo. Từ đây, thông
qua trực quan hoặc sử dụng lập bảng và tìm giá trị lớn
nhất của tham số độ chính xác, chúng ta có thể tìm
được tồn bộ khóa bí mật AES.
Hình 5. Confusion matrix cho các trường hợp khóa đúng và
khóa sai.
V.
TÀI LIỆU THAM KHẢO
[1]
[2]
[3]
KẾT LUẬN
[4]
Trong bài báo này, nhóm tác giả đã xây dựng thành
cơng mơ hình mạng MLP cho tấn công không lập mẫu
mã mật AES thực thi trên CW1173. Nhóm tác giả đã
sử dụng kỹ thuật phân tích tương quan cơng suất tiêu
thụ để xây dựng tập dữ liệu đầu vào cho mạng MLP.
Kết quả khảo sát phân tích khóa bí mật đã chứng minh
được tính khả thi của mơ hình mạng MLP đề xuất.
Dựa vào hai tham số của mạng trong quá trình huấn
luyện và kiểm thử thì việc phân loại tìm ra được khóa
đúng là chính xác. Bằng việc xây dựng tập dữ liệu sử
dụng 3 nhãn HW3, HW4 và HW5, nhóm tác giả chỉ
cần sử dụng khoảng 3000 power trace trên tổng số
ISBN: 978-604-80-5076-4
[5]
[6]
[7]
[8]
58
S. Chari, J. R. Rao, and P. Rohatgi, “Template attacks,” in
Cryptographic Hardware and Embedded Systems - CHES
2002, B. S. Kaliski, c¸. K. Koc¸, and C. Paar, Eds. Berlin,
Heidelberg: Springer Berlin Heidelberg, 2003, pp. 13–28.
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
E. Brier, C. Clavier, and F. Olivier, “Correlation power
analysis with a leakage model,” in Cryptographic Hardware
and Embedded Systems - CHES 2004, M. Joye and J.-J.
Quisquater, 2004, pp. 16–29
Emmanuel Prouff and Remi Strullu and Ryad Benadjila and
Eleonora Cagli and Cecile Dumas, “Study of Deep Learning
Techniques for Side-Channel Analysis and Introduction to
ASCAD Database." Cryptology ePrint Archive, Report
2018/053, 2018. />B. Timon, “Non-profiled deep learning-based side-channel
attacks with sensitivity analysis,” IACR Transactions on
Cryptographic Hardware and Embedded Systems, vol. 2019,
no. 2, pp. 107–131, Feb. 2019. [Online]. Available:
/>Đỗ Ngọc Tuấn, Trần Trung Kiên, Đỗ Thành Qn và Hồng
Văn Phúc, “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ạp chí Khoa học và
cơng nghê quân sự, số Đặc san Viện điện tử, 9-2020
/> />