Quy trình thực thi tấn công VMD-CPA

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG PHÂN TÍCH ĐIỆNNĂNG TIÊU THỤ HIỆU QUẢ SỬ DỤNG KỸ THUẬT XỬLÝ TÍN HIỆU VÀ HỌC MÁY (Trang 61)

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 (adsbygoogle = window.adsbygoogle || []).push({});

- -

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)

- (adsbygoogle = window.adsbygoogle || []).push({});

-

Đ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 ��

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 (adsbygoogle = window.adsbygoogle || []).push({});

�� 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 (adsbygoogle = window.adsbygoogle || []).push({});

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ớnnhấ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 (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG PHÂN TÍCH ĐIỆNNĂNG TIÊU THỤ HIỆU QUẢ SỬ DỤNG KỸ THUẬT XỬLÝ TÍN HIỆU VÀ HỌC MÁY (Trang 61)