Các điều kiện cần để người tấn công VMD-CPA thực thi tấn công khôi phục được khóa đúng của thiết bị bao gồm:
(1) Có thiết bị cần tấn công Đây là thiết bị có cài đặt thuật toán mật mã AES-128 ở chế độ sách mã điện tử (ECB)
(2) Có khả năng điều khiển được thiết bị hoạt động mã hóa với một tập bản rõ đầu vào được sinh ra ngẫu nhiên
(3) Có khả năng đo được các vết điện năng tiêu thụ trong quá trình thiết bị thực thi mã hóa
Gọi �� là tập gồm � bản rõ, mỗi bản có 16 byte, sinh ngẫu nhiên, mô tả bởi
(2 13) được người tấn công sử dụng để tấn công lên một thiết bị mật mã cài đặt thuật toán AES-128 bằng phương pháp VMD-CPA như mô tả trên Hình 2 2 Thiết bị tấn
công sử dụng 16 byte khóa ký hiệu{�1, � 2, … , �16} để mã hóa Kết quả của tấn công
là các giá trị của 16 byte khóa này
��= [��,� ]; = 1: � � �; = 1: 16 (2 13)
Các bước thực thi tấn công VMD-CPA dựa trên các bước tấn công CPA truyền thống và được thêm vào một bước tiền xử lý các vết điện năng tiêu thụ bởi kỹ thuật VMD như được mô tả trên Hình 2 4 với hai pha chính là:
Pha 1: Xây dựng điện năng tiêu thụ giả định của thiết bị cần tấn công
Tập bản rõ
Thiết bị cần VMD-CPA Khóa thiếtbị sử dụng
tấn công
Hình 2 3 Tấn công VMD-CPA
Đầu vào tấn công
Tập bản rõ
Bước H1:
Chọn byte khóa tấn công
Bước H2:
Xây dựng tập giá trị trung gian giả định
Thiết bị cần tấn công Bước A1: Xây dựng tập vết điện năng tiêu thụ thực tế Bước A2: Tiền xử lý các tập vết điện năng tiêu thụ bởi VMD
Khóa thiết bị Bước H2:
Xây dựng tập điện năng tiêu thụ giả định
Pha 1: Xây dựng tập điện năng tiêu thụ giả định
Bước A3:
Quyết định khóa đúng
Pha 2: Tấn công tìm khóa
sử dụng
Hình 2 4 Quy trình thực hiện tấn công VMD-CPA
a Các bước thực hiện trong Pha 1: Bước H1: Chọn byte khóa cần tấn công
- -
Giả sử byte khóa thứ nhất, ký hiệu là �1 được chọn để tấn công Như vậy các
khóa giả thiết của byte khóa này là: ��1 {0,1,2, … ,255}∈
Khi tấn công cho byte khóa nào thì người tấn công sử dụng bản rõ tương ứng đề phục vụ tính toán trong các bước tiếp theo Ví dụ, khi byte khóa thứ nhất
được tấn công, tập bản rõ sử dụng là ��� = [��,� ]; �ớ� � = 1: � �; = 1 Đây
��� = [�� ], = 1: � �
Bước H2: Tính toán tập giá trị trung gian giả định
(2 14)
-
- -
Trong bước này, người tấn công phải lựa chọn một giá trị trung gian của thuật toán cần tấn công Giá trị này phải là kết quả của một phép toán mà thuật toán thực hiện với các giá trị liên quan đến bản rõ đầu vào và khóa Đối với thuật
toán AES giá trị trung gian tại lối ra của Sbox là ��,� thường được sử dụng bởi
��,� = ����(�� ⊕ ��1)
Tính tất cả các giá trị trung gian của thuật toán khi thực hiện với từng khóa giả thiết của byte khóa cần tấn công và tập bản rõ tương ứng
Gọi �� là tập giá trị trung gian giả định khi tấn công byte khóa thứ nhất, ��
được xác định như sau:
�� = [��,� ] = ����(�� ⊕ �� ); = 1: ; = 1: 256 � � �
Bước H3: Tính tập điện năng tiêu thụ giả định
(2 15)
-
-
Sử dụng một mô hình điện năng tiêu thụ (Bảng 1 1) để ánh xạ giá trị trung gian giả định thành điện năng tiêu thụ giả định Trong phương pháp này, luận án chọn mô hình điện năng tiêu thụ là mô hình trọng số Hamming, ký hiệu là HW
Kết quả bước này là ma trận �� mô tả điện năng tiêu thụ giả định của thiết bị
Mỗi cột của ma trận �� mô tả điện năng tiêu thụ giả định của thiết bị đối với
một khóa giả thiết
�� = [ℎ�,� ] = [��(��,� )]; = 1: � � �, = 1: 256
b Các bước thực hiện trong Pha 2:
Bước A1: Xây dựng tập vết điện năng tiêu thụ thực tế
(2 16)
-
-
Điều khiển thiết bị thực thi thuật toán mật mã với tập bản rõ đầu vào �� và
khóa bí mật gồm 16 byte được lưu sẵn trong thiết bị Do tập bản rõ gồm �
bản rõ, nên thiết bị sẽ thực hiện mã hóa � lần Trong quá trình thiết bị thực
thi mã hóa với từng bản rõ, thu và lưu lại các vết điện năng tiêu thụ của thiết bị
Kết quả bước này người tấn công có được một ma trận T mô tả điện năng tiêu
thụ thực tế của thiết bị gồm � hàng, mỗi hàng là giá trị của một vết điện năng
− ℎ̅� )
√∑� (ℎ�,� ∑� (��,� � ̅
̂̅
�= [��,� ]; = 1: � � �; = 1: �
Bước A2: Tiền xử lý tập vết điện năng tiêu thụ bởi VMD
(2 17)
- - -
Lựa chọn các tham số : , � số VMD mode và , hằng số phạt cho VMD bởi
Thuật toán 2 2
Xác định VMD mode (thứ �) chứa thông tin điện năng tiêu thụ của phần mạch
điện thực thi thuật toán mật mã sử dụng Thuật toán 2 3
Sử dụng kỹ thuật VMD để phân tách từng vết điện năng tiêu thụ trong tập �
được phân tách thành � VMD mode với các tham số ở trên Sắp xếp VMD
mode thứ � của tất cả các vết theo đúng thứ tự của các vết trong tập T thành
ma trận �� có kích thước(� � × )
�� = [��,� ]; = 1: � � �; = 1: �
Bước A3: Quyết định khóa đúng
(2 18)
-
-
Nguyên tắc quyết định khóa đúng: so sánh điện năng tiêu thụ của tất cả các khóa giả thiết với tập vết điện năng tiêu thụ thực tế Tương quan giữa điện năng tiêu thụ giả định của một khóa giả thiết với tập điện năng tiêu thụ thực tế được gọi là một vết tương quan Khóa giả thiết được quyết định là khóa đúng nếu trên vết tương quan của nó chứa giá trị lớn nhất trong tất cả các vết tương quan của các khóa giả thiết
Xác định các vết tương quan của tất cả các khóa giả thiết ��,� ; �ớ� � =
1: 256 à = 1: � � � bởi biểu thức (2 19) vớiℎ�,� là các phẩn tử trong ma trận
�� vàℎ̅� là trung bình củaℎ�,� theo � ��,� = ∑�=1(ℎ�,� − ℎ̅� ) (��,� − �� )
2
�=1 =1 � − �� ) 2
; = 1: 256 à = 1: � � � � (2 19)
- Xác định khóa đúng (� � ) và thời điểm (�∗) thiết bị thực thi khóa này bởi biểu
thức sau:
(� � , �∗) = ������(��,� )
�,� (2 20)
2 3 2 Thực nghiệm tấn công VMD-CPA
Phần thực nghiệm này trình bày các kết quả thực hiện tấn công VMD-CPA theo quy trình mục 2 3 1 để kiểm chứng khả năng khôi phục khóa của tấn công và đánh giá hiệu quả của VMD-CPA với tấn công CPA
Bước H1: Tập
bản rõ (���)
Bước H2: Tập các giá trị trung
gian giả định (��)
Bước H3: Tập điện năng tiêu
thụ giả định (��)
Tấn công sử dụng bộ dữ liệu ACT-TRACES đã mô tả ở mục 1 5 1 chứa tập bản rõ và các vết điện năng tiêu thụ tương ứng của thẻ thông minh Atmega8515 thực thi
thuật toán AES-128 ở chế độ ECB với khóa được sử dụng là: “63 28 119 197 168
110 90 241 25 164 7 63 81 253 174 167” Mục tiêu của tấn công là tìm được các giá trị này từ tập các bản rõ và vết điện năng tiêu thụ
2 3 2 1 Kiểm chứng khả năng khôi phục khóa của của VMD-CPA
Khả năng khôi phục khóa đúng của phương pháp tấn công CPA lên thuật toán AES-128 được cài đặt trên các bộ vi điều khiển được công bố trong [34] [35] cỡ khoảng từ 200 đến 300 vết điện năng tiêu thụ Do đó, để thực hiện tấn công VMD- CPA trước hết luận án sử dụng 300 bản rõ tương ứng với 300 vết điện năng tiêu thụ trong bộ dữ liệu ACT-TRACES
Kế t quả c ủa pha 1:
Tấn công đầu tiên được thực hiện đối với byte thứ nhất của khóa Trong pha 1 của quy trình tấn VMD-CPA, một phần kết quả của các bước H1, H2 và H3 cho bởi
Bảng 2 2 Kết quả cuối của pha 1 là tập điện năng tiêu thụ giả định (��) của tất cả
các khóa giả thiết khi tấn công cho byte thứ nhất Điện năng tiêu thụ giả định được tính từ các giá trị trung gian giả định theo mô hình trọng số Hamming
Kế t quả c ủa pha 2:
Trong pha 2, ở Bước A1, người tấn công phải thu thập 300 vết điện năng tiêu thụ tương ứng khi thiết bị thực thi 300 bản rõ đã được sử dụng ở pha 1 Như đã trình bày ở trên, tập bản rõ và các vết điện năng tiêu thụ đã được xây dựng sẵn trong bộ dữ liệu ACT-TRACES
Sau bước A1, các vết điện năng tiêu thụ sẽ được thực hiện xử lý bởi kỹ thuật VMD ở bước A2 Trước hết, VMD được sử dụng để phân tách các vết gốc thành các
VMD mode Khi thực hiện VMD, hai tham số (� , ) được xác định thông qua Thuật
toán 2 2 cho kết quả � = 5 và = 1000 đối với tập dữ liệu ACT-TRACES Một vết
gốc và các VMD mode được biểu biễn trên Hình 2 5 Như chúng ta mong đợi, các VMD mode chứa các thành phần khác nhau của trace gốc ở các dải tần số khác nhau Để xác định VMD mode nào chứa lượng phần điện năng tiêu thụ có ích, một quy
trình lựa chọn VMD mode theo Thuật toán 2 3 được thực hiện Hình 2 6 mô tả
spectrogram của tất cả các VMD mode, và VMD mode 1 có chứa tần số clock của mạch điện thực thi thuật toán mật mã cần tấn công nên nó được lựa chọn để thực thi quá trình tấn công
Bước cuối cùng trong pha 2 là xác định các vết tương quan của các khóa giả thiết của byte thứ nhất và quyết định khóa đúng Các vết tương quan được tính theo (2 19) và được biểu diễn bởi Hình 2 7 Từ kết quả này thấy rằng, trong 256 vết tương quan
của các khóa giả thiết, chỉ có vết tương quan tương ứng với khóa 63 xuất hiện gai có
giá trị tương quan 0 63, tại vị trí mẫu thứ 8759, còn các vị trí khác trên vết tương quan
này và các vết tương quan của các khóa khác có giá trị tương quan khá đồng đều Do
đó, có thể quyết định khóa đúng của byte khóa thứ nhất là 63 dựa trên quan sát các
vết tương quan này hoặc theo luật quyết định khóa đúng ở biểu thức (2 20)
Để tấn công lên các byte khóa khác, lặp lại các bước ở pha 1 và bước A3 này ở pha tấn công để có được biểu đồ tương quan của các khóa giả thiết và quyết định khóa đúng Hình 2 8 mô tả các vết tương quan khi tấn công đối với các byte thứ 2, 5,
10 và 16 Kết quả có được tương tự với tấn công ở byte thứ nhất, đó là vết tương quan của khóa đúng xuất hiện gai, ở các vị trí tương ứng khi thiết bị thực thi giá trị trung
gian ở lối ra Sbox với các giá trị của các byte khóa này
Hình 2 5 Các VMD mode của vết điện năng tiêu thụ trong bộ dữ liệu ACT- TRACES
Bảng 2 3 tổng hợp kết quả của tấn công đối với toàn bộ 16 byte khóa Tất cả các khóa tìm được đều đúng với khóa của thiết bị sử dụng Gai trên vết tương quan của khóa đúng xuất hiện tại các thời điểm khác nhau Điều này là phù hợp bởi thiết bị xử lý lần lượt các byte khóa Hệ số tương quan của khóa đúng khá lớn khi so sánh với các khóa sai Do đó, việc quan sát giữa vết tương quan của khóa đúng và khóa sai là
rõ ràng Điều này khẳng định rằng các khóa được xác định từ phương pháp VMD- CPA chính là khóa mà thiết bị sử dụng
Hình 2 7 Các vết tương quan của 256 khóa giả thiết và khóa đúng
Byte tấn công Khóa tìm được Vị trí có tương quan lớn ∗ nhất (� ) Hệ số tương quan lớn nhất Đúng/Sai Khóa đúng Khóa sai Độ lệch Byte #1 63 8759 0 63 0 21 0 42 Đúng Byte #2 28 15060 0 56 0 21 0 35 Đúng Byte #3 119 19611 0 47 0 22 0 25 Đúng Byte #4 197 24163 0 49 0 21 0 28 Đúng Byte #5 168 28714 0 56 0 21 0 35 Đúng Byte #6 110 33266 0 48 0 21 0 27 Đúng Byte #7 90 40914 0 52 0 22 0 30 Đúng Byte #8 241 45518 0 61 0 22 0 39 Đúng Byte #9 25 46921 0 47 0 22 0 25 Đúng Byte #10 164 50421 0 48 0 21 0 27 Đúng Byte #11 7 54972 0 52 0 22 0 30 Đúng Byte #12 63 63724 0 65 0 21 0 44 Đúng Byte #13 81 65126 0 52 0 21 0 31 Đúng Byte #14 253 69678 0 61 0 21 0 40 Đúng Byte #15 174 73178 0 50 0 21 0 29 Đúng Byte #16 167 78780 0 60 0 21 0 39 Đúng
Bảng 2 3 Tổng hợp kết quả tấn công VMD-CPA cho 16 byte khóa
2 3 2 2 Thực nghiệm tấn công VMD-CPA trên các VMD mode
Trong tấn công VMD-CPA trình bày ở phần thực nghiệm trên sử dụng VMD mode 1 bởi nó là mode chứa phần thông tin rò rỉ kênh kề tối đa từ vết điện năng tiêu thụ Việc lựa chọn mode này cho tấn công bởi nó chứa tần số clock của mạch điện xử lý mật mã Để kiểm chứng mode này chứa thông tin kênh kề tối đa, luận án thực hiện
tấn công VMD-CPA trên tất cả các mode và kết quả tấn công được cho bởi Hình 2 9 Quan sát hình này thấy rằng, tấn công trên VMD mode 1 và 2 cho kết quả khóa đúng, còn đối với các VMD mode khác thì tấn công không thành công Tuy nhiên, hệ số tương quan có được khi tấn công trên VMD mode 1 là lớn hơn khi tấn công trên VMD mode 2 Do đó, VMD mode 1 chứa tối đa thông tin có ích từ vết điện năng tiêu thụ Điều này một lần nữa khẳng định phương pháp lựa chọn VMD mode như đề xuất bởi Thuật toán 2 3 phù hợp với kết quả thực nghiệm Và do đó, khi người tấn công không biết được tần số clock của mạch điện xử lý mật mã, thì việc lựa chọn VMD mode có thể được thực hiện bằng cách thực thi tấn công VMD-CPA trên tất cả các VMD mode, và mode được lựa chọn là mode mà tấn công tìm được khóa đúng với hệ số tương quan lớn nhất
Hình 2 9 Kết quả tấn công VMD-CPA trên tất cả các VMD mode
2 3 2 3 So sánh hiệu quả tấn VMD-CPA với CPA
Để so sánh hiệu quả của VMD-CPA với CPA, luận án thực hiện các tấn công này cho byte thứ nhất, trong 03 trường hợp:
(1) Tấn công trên các vết điện năng tiêu thụ gốc;
(2) Tấn công trên các vết được thêm nhiễu trắng có ���1 = 10��
(3) Tấn công trên các vết được thêm nhiễu trắng có ���1 = 5��
Với mỗi trường hợp, 1000 tấn công với các vết điện năng tiêu thụ thay đổi từ 1 đến 1000 được thực hiện và ghi lại giá trị hệ số tương quan của khóa đúng và sai khóa
sai tại thời điểm xuất hiện tương quan lớn nhất của khóa đúng �∗ = 8759 tìm được ở
Hình 2 10 So sánh CPA và VMD-CPA
Hình 2 11 So sánh VMD-CPA và CPA với ���1 = 10
Thêm nhiễu vào CPA VMD-CPA
Vết gốc 91 79
���1 = 10�� 203 81
���2 = 5�� N/A 165
Hình 2 10, Hình 2 11, và Hình 2 12 biểu diễn kết quả tấn công trong 3 trường hợp trên Từ kết quả này có thể nhận xét rằng, khi số vết được sử dụng cho các tấn công tăng lên thì:
(1) Có sự hội tụ của hệ số tương quan của các khóa (cả khóa đúng và sai) về một một giá trị Hệ số tương quan của khóa đúng lớn hơn khóa sai và có thể phân biệt được khi sử dụng một số lượng vết điện năng tiêu thụ nhất định Điều này
có thể giải thích bởi khi số vết điện năng tiêu thụ tăng, các véc-tơ cột của H và