Tài liệu Tấn công phân tích điện năng tiêu thụ lên aes-128: Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 57
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, ...
6 trang |
Chia sẻ: quangot475 | Lượt xem: 382 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Tấn công phân tích điện năng tiêu thụ lên aes-128, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 57
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ụ.
Công nghệ thông tin & Khoa học máy tính
T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.” 58
2. MÔ HÌNH ĐIỆN NĂNG TIÊU THỤ
Hầu hết các thiết bị mật mã hiện đại dựa trên công nghệ CMOS. Các NMOS và PMOS
được kết hợp với nhau theo các cách khác nhau để tạo thành các phần tử logic. Điện năng tiêu
thụ của một mạch, bằng tổng điện nay tiêu thụ của các phần tử logic, nó bao gồm hai phần
chính: tĩnh và động [2]. Phần điện năng tiêu thụ tĩnh do dòng rò trong mạch gây nên và thường
rất nhỏ. Trong PAA, việc mô hình điện năng tiêu thụ, hay chính là phần điện năng tiêu thụ
động, của thiết bị cần tấn công là cần thiết. Tùy thuộc vào mức độ hiểu biết của người tấn công
về thiết bị, độ chính xác của mô hình điện năng tiêu thụ sẽ thay đổi. Trong hầu hết các trường
hợp, thông tin về thuật toán sử dụng và phần nào đó kiến trúc tổng quan của thiết bị là đủ để
xác định điện năng tiêu thụ giả định theo lý thuyết dựa vào mô hình điện năng tiêu thụ của thiết
bị [5]. Những thông tin này, có thể có trong datasheet của thiết bị và được công khai.
Phần điện năng tiêu thụ động, đóng vai trò quan trọng trong điện năng tiêu thụ của
mạch, nó phụ thuộc vào hoạt động của mạch [2]. Khi xem xét mạch tại mức các lệnh thi
hành, số lệnh được sử dụng có thể là thước đo điện năng tiêu thụ động. Khi thực thi các hệ
mật mã công khai như ECC và RSA, các thao tác như cộng và nhân được điều khiển bởi
các bít khóa riêng biệt [15]. Trong những trường hợp này, số các lệnh thực thi thay đổi, do
đó, điện năng tiêu thụ cũng thay dổi.
Tại mức truyền thanh ghi (RTL: Register Transfer Level), số lần đảo giá trị từ 0 thành 1 và
ngược lại là một thước đo chính của điện năng tiêu thụ. Như đã được phân tích trong [2], điện
năng tiêu thụ của logic CMOS phụ thuộc vào sự chuyển trạng thái từ 0 →1 và 1→0. Mô hình
dựa vào việc đếm số lần chuyển trạng thái như trên còn được gọi là mô hình khoảng cách
Hamming (HD). Mô hình HD được sử dụng thành công trong thực hiện DPA trong [7]. Một
mô hình cũng được sử dụng phổ biến ở mức RTL là trọng số Hamming (HW). Mô hình HW
đếm số logic 1 của dữ liệu xử lý. Trong công trình đầu tiên công bố về DPA, Kocher [8] và các
đồng nghiệp sử dụng mô hình HW đối với 1 bít và sử dụng một hàm lựa chọn để tính kết quả
trung gian của 1 bít. Dựa vào giá trị trung gian này, Kocher, chia các vết điện năng tiêu thụ
thành hai tập và rồi tìm ra khóa thông qua vi sai của hai tập đó. Trên thực tế, mô hình này hoạt
động là bởi năng lượng sử dụng để lưu trữ logic 1 khác so với logic 0. Mô hình HW một bít
chỉ quan tâm đến điện năng tiêu thụ sai khác do một bít của dữ liệu đang được xử lý tạo ra, và
đã được sử dụng để thực hiện DPA trên thuật toán DES thực thi trên một thẻ thông minh [8].
Tuy nhiên, để tăng sự phụ thuộc của điện năng tiêu thụ vào dữ liệu đang được xử lý, có thể sử
dụng mô hình HW của tất cả các bít đang được xử lý, hay HW nhiều bít [17][5]. Sự hiệu quả
của tấn công phân tích điện năng tiêu thụ dựa trên mô hình HW nhiều bít so với mô hình HW
một bít được thể hiện ở sự tương quan giữa điện năng tiêu thụ và dữ liệu xử lý lớn hơn và sẽ
được trình bày ở bài báo này thông thực nghiệm.
3. QUÁ TRÌNH THỰC HIỆN CPA
Tấn công CPA là một phương pháp hiệu quả để tìm khóa của thiết bị mật mã và là một
trong những hiểm họa lớn đến tính an toàn của thiết bị mật mã. CPA khai thác sự tương
quan giữa dữ liệu và điện năng tiêu thụ tức thời của thiết bị. Khi sự tương quan này nhỏ
vẫn có thể khám phá được khóa nhờ sử dụng các công cụ thống kê. Trong quá trình CPA,
người tấn công sử dụng mô hình lý tuyết của thiết bị cần tấn công, sau đó phân tích thống
kê sự tương quan của điện năng tiêu thụ của thiết bị thực tế với điện năng tiêu thụ giả định,
được xác định qua mô hình lý thuyết, để tìm ra khóa.
CPA sử dụng để tìm ra khóa bí mật của thiết bị mật mã. Độ dài của khóa bí mật phụ
thuộc vào thuật toán thực thi trong thiết bị. Trong CPA, chỉ một phần của khóa được tìm ra
tại một thời điểm, chứ không phải toàn bộ khóa. Phần khóa này, thường được gọi là khóa
con trong thuật ngữ sử dụng với CPA. Việc lựa chọn khóa con phụ thuộc vào thuật toán,
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 59
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à
'
1,1 ,2 ,( , ,..., )i i i Tt t t 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 1 2( , ,..., )Kk k k k 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:
, ( , ) 1, 2,..., ; 1, 2,...,i j i jv f d k i D k 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 ,i jh . 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:
, ,
1
,
2 2
, ,
1 1
( ).( )
( ) . ( )
D
d i i d j j
d
i j D D
d i i d j j
d d
h h t t
r
h h t t
(2)
ih là giá trị điện năng tiêu thụ giả thiết, còn jt 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.
4. THỰC NGHIỆM TẤN CÔNG CPA LÊN AES-128.
4.1. Sơ đồ thực hiện
Trong Hình 1, DUA (Device Under Attack) là thiết bị mã cần tấn công. Trong bài báo
này đó là một card, thành phần chính trên đó là một vi xử lý họ 8051, thuật toán AES-128
được thực thi trên đó, có giao diện RS-232 để kết nối với máy tính (PC). Các bước thực
hiện như sau:
(1) PC cấu hình, cũng như đặt chế độ cho máy hiện sóng.
(2) PC gửi bản rõ tới DUA và yêu cầu mã hóa.
Công nghệ thông tin & Khoa học máy tính
T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.” 60
(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.
Hình 1. Sơ đồ thực hiện CPA.
4.2. Quá trình tấn trên thuật toán AES 128
Chọn điểm trung gian cần tấn công là lối ra của S-Box ở vòng thứ nhất. Tiếp theo, ghi
lại giá trị điện năng tiêu thụ khi cho DUA chạy thuật toán AES với 200 bản rõ, cho ta ma
trận các vết T (200x5000). Mỗi vết có độ dài 5000. Sau đó, xây dựng ma trận V với các
phần tử được tính theo (1). Sử dụng mô hình điện năng tiêu thụ là HW một bít của ,i jv để
tính ,i jh , cụ thể là , ,( )i j i jh LSB v , bít có trọng số thấp nhất của ,i jv . Kết quả tính toán
cho ma trận H (200x256). Bước cuối cùng là tính toán ma trận R với các số hạng tính theo
(2) và biểu diễn nó thông qua biểu đồ. Kết quả đạt được, ta có 256 biểu đồ tương ứng với
256 khóa giả thiết.
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.
Máy hiện sóng
DUA
AES-128 PC
(1) Thiết lập tham số
(2)
(3) - Trigger
(4)
Mật mã
dữ liệu
(5) – Đo
điện áp
(6) –
Gửi kết
quả đo
(7)
(8) – Lặp: (2) – (7)
(9) – Phân tích kết
quả
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 61
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 ,i jv , 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.
Công nghệ thông tin & Khoa học máy tính
T. N. Quý, “Tấn công phân tích diện năng tiêu thụ lên AES-128.” 62
[7]. E. Brier, C. Clavier và F. Olivier, “Correlation Power Analysis with a Leakage
Model”, Cryptographic Hardware and Embedded Systems - CHES 2004: 6th
International Workshop. 2004.
[8]. Paul C. Kocher, J. Jaffe, Benjamin Jun, “Differential Power Analysis”, CRYPTO
'99, 1999.
[9]. E. Peeters, F.-X. Standaert, and J.-J.Quisquater, “Power and electromagnetic
analysis: Improved model, consequences and comparisons,” Integration, the VLSI
Journal, Elsevier, vol. 40, 2007, pp. 52–60, 2007.
[10]. T.H. Le, C. Canovas, and J. Clédière, “An overview of side channel analysis
attacks,” Proceedings of the 2008 ACM symposium on Information, computer and
communications security (ASIACCS 2008) , pp. 33-43, 2008.
[11]. N. Benhadjyoussef, M. Machhout and R. Tourki, “Optimized power trace
numbers in CPA attacks,” 8th International Multi-Conference on Systems, Signals
& Devices, 2011.
[12]. S. Mangard, E. Oswald, F.-X. Standaert, “One for all – all for one: unifying
standard differential power analysis attacks”, IEEE transactions on instrumentation
and measurement, vol.61, no.10, 2012.
[13]. E.Oswald, “On Side-Channel Attacks and the Application of Algorithmic
Countermeasures,” Ph.D Dissertation, IAIK, University of Technology Graz,
Austria, 2003
[14]. K.Tiri and I.Verbauwhede, “Simulation models for side – channel information
leaks,” in DAC'05: Proceedings of the 42nd annual conference on Design
automation. NewYork, NY, USA: ACM, 2005, pp.228 - 233.
[15]. V.S.Miller, “Use of elliptic curves in cryptography,” in CRYPTO 85, 1985
[16]. Oscar Reparaz, Benedikt Gierlichs, Ingrid Verbauwhed, “Selecting time samples for
multivariate DPA”, C 2012 - Leuven, Belgium2012.
[17]. T. S. Messerges, E. A. Dabbish, R. H. Sloan: Investigations of Power Analysis
Attacks on Smartcards. In proceedings of the USENIX Workshop on Smart Card
Technology 1999.
ABSTRACT
POWER COMSUMPTION ANALYSIS ATTACK ON AES-128
Power comsumption analysis attack, a side-channel attacks, are based on
analyzing the power comsumption of cryptographic devices. CPA attacks, a power
consumption analysis attacks, is a powerful and efficient cryptoanalytic technique.
It exploits the linear relation between predicted power consumption and the real
power consumption of cryptographic devices in order to recover the correct key.The
prediction of power comsumption is determined by a fit power comsumption model.
This paper presents the power comsumption models of cryptographic devices and
the implementation of CPA on AES-128 by using one of power comsumption model.
Keywords: DPA, CPA, Power Analysis Attacks, Correlation Power Analysis, Differiential Power Analysis.
Nhận bài ngày 06 tháng 8 năm 2015
Hoàn thiện ngày 31 tháng 8 năm 2015
Chấp nhận đăng ngày 22 tháng 10 năm 2015
Địa chỉ: Học viện Kỹ thuật mật mã – Ban Cơ yếu Chính phủ.
* Email: quyhvm@gmail.com.
Các file đính kèm theo tài liệu này:
- 08_quy_4673_2149197.pdf