Bài viết 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.
Nội dung trích xuất từ 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ụ
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 ...