Professional Documents
Culture Documents
Tấn Công Phân Tích Điện Năng Tiêu Thụ Lên AES-128 (Download Tai Tailieutuoi.com)
Tấn Công Phân Tích Điện Năng Tiêu Thụ Lên AES-128 (Download Tai Tailieutuoi.com)
TẤN CÔNG PHÂN TÍCH ĐIỆN NĂNG TIÊU THỤ LÊN AES-128
Trần Ngọc Quý*
Tóm tắt: Tấn công phân tích điện năng tiêu thụ là một dạng của tấn công kênh
kề, dựa trên việc phân tích điện năng tiêu thụ của thiết bị mật mã. Tấn công phân
tích điện năng tiêu thụ tương quan (CPA-Correlation Power Analysis), một dạng
của tấn công phân tích điện năng tiêu thụ, là kỹ thuật thám mã có hiệu quả và sức
mạnh. Nó khai thác mối quan hệ tuyến tính giữa điện năng tiêu thụ giả định và điện
năng tiêu thụ thực tế của thiết bị mật mã để thể tìm ra khóa. Điện năng tiêu thụ giả
định của thiết bị mật mã được quyết định bằng cách sử dụng mô hình điện năng tiêu
thụ thích hợp. Trong bài báo này, một số mô hình điện năng tiêu thụ của thiết bị mật
mã được trình bày và việc áp dụng một mô hình điện năng tiêu thụ trong tấn công
CPA lên AES-128 cũng được trình bày chi tiết cùng với các kết quả đạt được.
Từ khóa: DPA, CPA, Phân tích điện năng tiêu thụ, Tấn công phân tích năng lượng tương quan, Tấn công
phân tích năng lượng vi sai.
1. GIỚI THIỆU
Các thiết bị mật mã được sử dụng để đảm bảo tính bí mật của thông tin. Các thiết bị
này thường lưu trữ khóa bí mật và được sử dụng cùng với một thuật toán mật mã. Các
thuật toán mật mã được phân tích và thiết kế đảm bảo chống lại các tấn công về phương
diện toán học. Một điều không may, thiết bị thực thi các thuật toán mật mã được xác nhận
an toàn về mặt toán học lại có thể rò rỉ một lượng thông tin nhất định, được gọi là thông
tin kênh kề, ví dụ như thời gian thực hiện [16], bức xạ điện từ trường [9], điện năng tiêu
thụ [5]. Các thông tin này có thể được sử dụng để khám phá ra khóa của thiết bị mật mã.
Tấn công phân tích điện năng tiêu thụ (PAA: Power Analysis Attacks) khai thác mối
quan hệ giữa thông tin bên trong và điện năng tiêu thụ của thiết bị mật mã. Tấn công phân
tích năng lượng đơn giản (SPA – Simple Power Analysis) [8], dựa trên những hiểu biết chi
tiết về thuật toán mật mã và quan sát hình ảnh của vết điện năng tiêu thụ của thiết bị mật
mã để qua đó tìm ra khóa bí mật. Tấn công phân tích năng điện năng tiêu thụ vi sai (DPA
– Differential Power Analysis) [8], có hiệu quả hơn, yêu cầu hiểu biết về thuật toán mật
mã được được cài đặt ít hơn, sử dụng phương pháp phân tích thống kê để khai thác mối
quan hệ giữa điện năng tiêu thụ thực tế và điện năng tiêu thụ giả định của thiết bị mật mã
qua đó tìm ra khóa. CPA [7], một biến thể của DPA, trong đó, hệ số tương quan được sử
dụng để so sánh điện năng tiêu thụ thực tế và điện năng tiêu thụ giả định.
Cơ sở lý thuyết của PAA dựa trên việc phân tích điện năng tiêu thụ của thiết bị mật mã
bởi điện năng tiêu thụ của mạch điện phụ thuộc vào dữ liệu mà nó xử lý [2]. Trong trường
hợp thuật toán mật mã thì đó là dữ liệu khóa và rõ. Và, nếu ta biết được dữ liệu rõ và điện
năng tiêu thụ của mạch điện thì có thể biết được dữ liệu khóa.
Hai yếu tố cơ bản trong quá trình PAA đó là đo điện năng tiêu thụ của thiết bị mật mã và mô
hình công suất tiêu thụ giả định của thiết bị mật mã. Điện năng tiêu thụ thực tế có được bằng
cách đo điện năng tiêu thụ tức thời của thiết bị mật mã trong khi nó hoạt động. Quá trình đo có
thể thực hiện bằng cách đo trực tiếp dòng điện qua dây nguồn hay đất, hay điện áp trên một điện
trở xác định. Một bước quan trọng trong DPA là người tấn công giả định điện năng tiêu thụ lý
thuyết của thiết bị từ kết quả trung gian thông qua mô điện năng tiêu thụ giả định. Điện năng tiêu
thụ giả định này được so sánh với điện năng tiêu thụ thực tế đo được để tìm ra khóa bí mật. Chất
lượng của mô hình điện năng tiêu thụ có ảnh hưởng lớn tới hiệu quả của quá trình tấn công [14].
Mục tiêu bài báo này là nghiên cứu một số mô hình điện năng tiêu thụ của thiết bị mật mã và
thực hiện tấn công CPA lên AES-128 dựa vào một mô hình điện năng tiêu thụ.
58 T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.”
Nghiên cứu khoa học công nghệ
kiến trúc của thiết bị và những hiểu biết của người tấn công về thiết bị. Nếu ta muốn tìm
toàn bộ khóa cùng một lúc, chi phí cho CPA giống với tấn công vét cạn. Tuy nhiên, nếu
tiến hành CPA cho từng khóa con, chi phí sẽ giảm đi rất nhiều [5].
Quá trình thực hiện một CPA đối với một mô-đun mật mã sẽ được trình bày dưới đây.
Thiết bị mật mã có chiều dài khóa bí mật là S và khóa con được lựa chọn cho CPA có độ
dài K bít. Quá trình được mô tả dưới đây giả sử người tấn công có thể điều khiển dữ liệu
vào của thiết bị và thiết bị đang thực hiện mã hóa.
Bước 1: Chọn điểm cần tấn công trong thuật toán mật mã. Điểm tấn công phải là nơi
mạch điện xử lý dữ liệu có liên quan tới dữ liệu rõ và khóa.
Bước 2: Đo điện năng tiêu thụ thực tế của thiết bị mật mã. Cho thiết bị mật mã thực thi
thuật toán mật mã với D khối dữ liệu từ d1 đến dD. Vết điện năng tiêu thụ ứng với khối dữ
'
liệu di là ti (t1,1 , ti ,2 ,..., ti ,T ) , với T là chiều dài của vết. Với D khối dữ liệu tương ứng
có ma trận vết là T có kích thước DxT.
Bước 3: Tính toán giá trị trung gian giả thiết. Gọi k (k1 , k2 ,..., kK ) là vector tất cả
các khóa con giả thiết. Với D lần thực hiện mã hóa với tất cả các khóa giả thiết, cùng với
hàm lựa chọn ( , ) ta có ma trận V (DxK) với mỗi phần tử được xác định bởi:
vi , j f ( d i , k j ) i 1, 2,..., D; k 1, 2,..., K (1)
Bước 4: Ánh xạ giá trị trung gian giả thiết thành điện năng tiêu thụ giả thiết. Lựa chọn
một mô hình điện năng tiêu thụ của thiết bị cần tấn công như HW, HD để chuyển , thành
điện năng tiêu thụ giả thiết hi , j . Kết quả, ta có ma trận điện năng tiêu thụ giả thiết H (DxK).
Bước 5. So sánh giá trị điện năng tiêu thụ giả thiết với điện năng tiêu thụ thực tế đo
được. Trong bước này, tất cả các cột của ma trận H được so sánh với các cột của ma trận
T. Kết quả, cho ta ma trận R (KxT), có phần tử được xác định bởi:
D
(h
d 1
d ,i hi ).(td , j t j )
ri , j (2)
D D
2 2
(h
d 1
d ,i hi ) . (t
d 1
d, j tj )
hi là giá trị điện năng tiêu thụ giả thiết, còn t j là điện năng tiêu thụ thực tế đo được. Nếu
cả hai cùng được tạo ra khi thiết bị xử lý đối với cùng một khóa thì chúng sẽ tương quan
mạnh với nhau, còn khi chúng được tạo ra từ các khóa khác nhau thì rất ít tương quan với
nhau. Vậy, ma trận R, được gọi ma trận hệ số tương quan, nó mô tả mối tương quan giữa
điện năng tiêu thụ giả định và điện năng tiêu thụ thực tế đo được.
(3) DUA gửi tín hiệu Trigger tới máy hiện sóng để bắt đầu thực hiện quá trình đo.
(4) DUA thực hiện quá trình mã hóa bản rõ.
(5) Máy hiện sóng thu dạng sóng biểu diễn điện áp thu được tại điểm tấn công.
(6) Máy hiện sóng gửi dữ liệu thu được tới PC để xử lý, phân tích.
(7) DUA gửi bản mã cho PC.
(8) Các bước từ 2 tới 7 được lặp lại với tất cả các bản rõ.
(9) Quá trình phân tích dữ liệu trên PC để tìm ra khóa bí mật.
(2)
(4) DUA
AES-128 PC
Mật mã
dữ liệu (7)
(9) – Phân tích kết
quả
(8) – Lặp: (2) – (7)
Hình 2. Biểu đồ tương quan với các khóa giả thiết 41,42,43,44
cho trường hợp mô hình HW cho một bít.
60 T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.”
Nghiên cứu khoa học công nghệ
Hình 2, biểu diễn các biểu đồ ứng với khóa giả thiết từ 41 đến 44. Chỉ có biểu đồ tương
ứng với khóa giả thiết là K =43 xuất hiện các đỉnh có hệ số tương quan lớn hơn tất cả các biểu
đồ còn lại, có hệ số tương quan nhỏ hơn 0,2. Điều này chứng tỏ K=43 là khóa giả thiết đúng
nhất. Sau khi tìm được byte khóa đầu tiên, lặp lại các bước trên để tìm 15 byte khóa còn lại.
Với cách thực hiện như trên, nhưng áp dụng mô hình H để tính HW cho toàn bộ các bít
của vi , j , ta có được biểu đồ ứng với các khóa giả thiết từ 41 đến 44 như trên Hình 3.
Hình 3. Biểu đồ tương quan với các khóa giả thiết 41,42,43,44
cho trường hợp mô hình HW cho nhiều bít.
Ở đây ta vẫn tìm được byte khóa là K=43, tuy nhiên ta dễ nhận biết hơn do các đỉnh
xuất hiện cao hơn với hệ số tương quan gần bằng 1. Điều này chứng tỏ mô hình HW cho
nhiều bít mô tả DUA tốt hơn so với mô hình HW áp dụng cho một bít.
5. KẾT LUẬN
Bài báo đã trình bày quá trình thực hiện tấn công CPA thành công lên thuật toán AES-
128 được thực thi trên hệ vi điều khiển với mô hình điện năng tiêu thụ HW. Với cùng một
tập các vết điện năng tiêu thụ thu thập được, mô hình HW áp dụng cho nhiều bít, cho kết
quả tính hệ số tương quan gần với 1 hơn, chứng tỏ sự hiệu quả hơn so với mô hình HW áp
dụng cho một bít. Điều này phù hợp với lý thuyết khi càng nhiều bít được xem xét, khả
năng mô tả điện năng tiêu thụ của thiết bị càng chính xác.
TÀI LIỆU THAM KHẢO
[1]. Nguyễn Hồng Quang, “Trace năng lượng trong DPA”, Tạp chí Nghiên cứu Khoa
học và Công nghệ quân sự, 2013.
[2]. Nguyễn Hồng Quang, “Phân tích tiêu thụ điện năng của thiết bị mật mã”, Tạp chí
Nghiên cứu Khoa học và Công nghệ quân sự, 2014
[3]. P. Kocher, J. Jaffe, B. Jun, “Introduction to differential power analysis,” J Cryptogr
Eng 2011.
[4]. W. Hnath, J. Pettengill, “Differential Power Analysis Side-Channel Attacks in
Cryptography”, Worcester Polytechnic Institute 2010.
[5]. Stefan Mangard, Elisabeth Oswald, Thomas Popp, “Power Analysis Attacks Re-
vealing the Secrets of Smart Cards”, Springer Science Business Media, LLC, 2007.
[6]. D. Suzuki, “DPA Leakage Models for CMOS Logic Circuits”, CHES ’05, Springer-
Verlag, 2005.
Địa chỉ: Học viện Kỹ thuật mật mã – Ban Cơ yếu Chính phủ.
*
Email: quyhvm@gmail.com.
62 T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.”