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

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 76 - 83)

Các điều kiện cần để người tấn công VMD-GSO-SVM thực thi tấn công khôi phục được khóa đúng của thiết bị cần tấn công bao gồm:

(1) Có được thiết bị mẫu giống với thiết bị cần tấn công, có toàn quyền kiểm soát Cụ thể là đối với thiết bị mẫu, người tấn công có thể thay đổi được khóa của nó và thu thập được các vết điện năng tiêu thụ khi nó hoạt động với các khóa khác nhau để phục vụ cho quá trình lập mẫu

(2) Có thiết bị cần tấn công và có khả năng điều khiển được thiết bị này thực thi mã hóa với một tập bản rõ đầu vào được sinh ra ngẫu nhiên, đồng thời đo được các vết điện năng tiêu thụ khi nó thực thi mã hóa

(3) Các thiết bị mẫu, và thiết bị cần tấn công được được sử dụng trong phần này cài đặt thuật mật mã AES-128 ở chế độ ECB

Pha lựa ch ọn POI

Lựa ch ọn POIs bởi VMD-GSO-

SVM

Ch ỉ số các POIs cho vết điện n ăng tiêu thụ

Pha lập m ẫu

Thiết b ị

Key Các giá trị trunggian Z1 Bản rõ mẫu Z2 Tập vết đ ược gán nhãn S-box Lối ra Sbox Zm theo trọng số Hamming của Zm Lựa ch ọn POIs cho tập vết Hu ấn luyện SVM Đo các vết đi ện năng tiêu th ụ Pha t ấn công Bản rõ Thiết bị

tấn công ks (chưabiết) Tập vết t ấn công (chưa được gán nhãn) Lựa ch ọn POIs cho v ết SVM đã được huấn luyện Quyết định khóa đúng Khóa đúng S-box Lối ra

Sbox Các giá trị xác suấtvết có nhãn cm

Đo các vết đi ện năng tiêu th ụ

Hình 2 13 Phương pháp tấn công mẫu cải tiến VMD-GSO-SVM

Quy trình tấn công VMD-GSO-SVM được thực hiện thông qua 03 pha chính được mô tả bởi Hình 2 13 cụ thể là:

Pha 1: là pha lựa chọn POIs từ các vết điện năng tiêu thụ Các POIs này sẽ được sử dụng cho các pha tiếp theo là pha lập mẫu và pha tấn công

Pha 2: là pha lập mẫu, được sử dụng để xây dựng mô hình điện năng tiêu thụ của thiết bị từ POIs được lựa chọn ở pha 1

Pha 3: là pha tấn công để xác định khóa đúng của thiết bị tấn công

2 4 1 1 Pha lựa chọn POIs dựa trên VMD, GSO và SVM

Các phương pháp lựa chọn POIs cho bài toán tấn công mẫu được đề xuất cho tới nay thường chỉ đánh giá hiệu quả trên các vết điện năng tiêu thụ gốc mà chưa đánh giá ảnh hưởng của nhiễu đến sự lựa chọn này Trong những điều kiện tấn công trên thực tế, nhiễu là nhân tố luôn tồn tại và do đó nó sẽ ảnh hưởng đến hiệu quả của tấn công Như đã phân tích phần đầu của chương, kỹ thuật VMD có thể được sử dụng để làm giảm nhiễu cho các vết điện năng tiêu thụ Do đó, trong phần này, luận án đề xuất phương pháp lựa chọn POIs dựa trên sự kết hợp giữa kỹ thuật VMD, GSO và SVM Trong đó, VMD sẽ được áp dụng trên các vết điện năng tiêu thụ và kỹ thuật GSO được sử dụng để lựa chọn các POIs tốt nhất từ một VMD mode thông qua việc đánh giá hiệu quả của nó khi được phân lớp bởi bộ phân lớp SVM Bằng việc áp dụng VMD cho các vết điện năng tiêu thụ, thành phần chứa thông tin có ích cho tấn công phân tích điện năng tiêu thụ được lựa chọn, nhiễu trên các vết điện năng tiêu thụ cũng được loại bỏ Do đó, phương pháp này sẽ lựa chọn được những điểm POIs tốt nhất, giảm được ảnh hưởng của nhiễu, và các POIs được chọn phù hợp với phương pháp được sử dụng để xây dựng mô hình điện năng tiêu thụ

Sơ đồ lựa chọn POIs đề xuất được mô tả trên Hình 2 14, bao gồm 03 bước chính: (1) phân tích vết điện năng tiêu thụ thành các VMD mode, (2) lựa chọn VMD mode phù hợp để làm đặc trưng của vết, (3) lựa chọn những POIs tốt nhất trên VMD mode đã chọn bởi GSO và SVM

Tập vết điện năng tiêu thụ được gán nhãn

Phân tích vết thành các VMD mode

Lựa chọn VMD mode

làm đặc trưng Trích chọn POIs tốt nhất(Sử dụng GSO và SVM)

Chỉ số các đặc trưng (POIs) lựa chọn

Ở bước thứ nhất, kỹ thuật VMD được sử dụng để phân tích vết điện năng tiêu thụ thành các VMD mode Khi sử dụng VMD, các tham số của nó cần phải được thiết

lập trước theo Thuật toán 2 2 Trong bước thứ hai của quá trình lựa chọn POIs, một

VMD mode sẽ được lựa chọn làm đặc trưng cho vết điện năng tiêu thụ Như đã phân tích, VMD mode có tần số trung tâm liên quan đến tấn số clock hoạt động của phần mạch tấn công sẽ được lựa chọn Trong điều kiện tấn công thực tế, người tấn công có thể không biết được giá trị tần số hoạt động của phần mạch điện thực thi thuật toán bị tấn công Do đó, trong phần này, luận án đề xuất phương pháp lựa chọn VMD mode bằng cách thực hiện tấn công CPA trên tất cả các VMD mode được phân tách như đã đề xuất trong mục 2 3 3 VMD mode nào có hệ số tương quan lớn nhất sẽ được lựa chọn Việc tấn công CPA trên các VMD mode dựa trên quy trình tấn công VMD-CPA

Sau khi lựa chọn một VMD mode làm đặc trưng cho vết điện năng tiêu thụ, số các điểm trên VMD mode bằng với số điểm trên vết điện năng tiêu thụ Do đó, cần phải lựa chọn những điểm liên quan đến hoạt động của thiết bị đối với giá trị trung gian lập mẫu làm POIs và loại bỏ các điểm khác Trong phần này, luận án đề xuất sử dụng phương pháp lựa chọn POIs dựa trên phương pháp trực giao hóa Gram-Schmidt Phương pháp này thuộc dạng phương pháp lọc, không phụ thuộc vào việc sử dụng các bộ phân lớp phía sau và có hiệu quả trong việc xếp hạng các POIs trên vết điện năng tiêu thụ dựa trên tiêu chí được tính toán trực tiếp từ các dữ liệu trên vết Hơn thế nữa, phương pháp này cho phép xác định được các POIs và không cần phải tính trọng số cho tất cả các điểm trên VMD mode GSO sử dụng để xếp hạng các POIs dựa trên sự tương quan giữa các POIs này với giá trị đầu ra của một mô hình dự đoán, hay nói cách khác là tương quan giữa tập dữ liệu là POIs và các nhãn đã được gán (adsbygoogle = window.adsbygoogle || []).push({});

trước của nó Gọi là véc-tơ hàng chứa R POIs, được gán nhãn tương ứng là �� Nếu

tập các POIs có � véc-tơ tương ứng � giá trị nhãn của nó thì kết quả ta có ma trận

các POIs có � hàng và � cột Nhiệm vụ của chúng ta là lựa chọn � (� � < ) POIs

tốt nhất trong tập � POIs Để xác định mối quan hệ giữa các POIs và nhãn đầu ra,

tương quan giữa mỗi POIs với nhãn của nó được xác định bởi (2 21) [73] cos

(((((((((((((( ( � ) = ‖�� � �� ‖ (2 21)

Trong công thức này,� là véc-tơ cột chứa � giá trị của POI thứ � trong � điểm

POIs của dữ liệu, với là véc-tơ nhãn đầu ra tương ứng Nếu các vector� và

{

{�� , �� }; = 1: � ��; = 1: , � � �� ∈ {�ậ� �ℎã� �ủ� �ế� đ�ệ� �ă�� ��ê� �ℎụ}; ��: số

5: Xây dựng bộ dữ liệu để huấn luyện SVM: ��� = {�� , �� }; = 1: � ��; � ∈ ������

quan, ngược lại khi góc giữa chúng nhỏ dần, sự tương quan giữa hai vector này tăng dần và giá trị lớn nhất là 1 khi chúng hoàn toàn tương quan

Quá trình lựa chọn các POIs dựa trên GSO sử dụng biểu thức (2 21) định lượng mức độ quan hệ của các POIs với giá trị lối ra Điểm POI được lựa chọn đầu tiên có giá trị cosine lớn nhất, tương ứng với POI có tương quan lớn nhất với nhãn đầu ra Các POI tiếp theo được lựa chọn thông qua quá trình sau được lặp lại cho đến khi đủ số POI cần chọn: (1) Các đặc trưng còn lại và giá trị lối ra được ánh xạ sang không gian nhân của các POIs đã được chọn (2) đặc trưng có trị cosine lớn nhất với lối ra được đưa vào tập các POIs được chọn [73]

Thuật toán 2 4: Lựa chọn số POIs cho VMD mode Đầu vào:

Tập dữ liệu chứa các VMD mode tương ứng của các vết điện năng tiêu thụ: �� =

vết điện năng tiêu thụ; � là độ dài của một vết điện năng tiêu thụ

Số lần lặp tối đa: ������� ;/ số POIs tối đa được kiểm tra

Đầu ra: Số điểm POIs được chọn: �

1: Khởi tạo số lần lặp hay số điểm POIs �=1 và độ chính xác của SVM: ������ = 0

2: Khởi tạo mảng chứa độ chính xác khi huấn luyện SVM: ��� = [];

3: While (số lần lặp < ������� ) do

4: Xác định chỉ số các POIs ������ được lựa chọn từ tập �� bằng cách thực thi thuật

toán GSO với tập dữ liệu �� với số POIs chọn là �

6: Huấn luyện SVM với tập dữ liệu ��� và xác định độ chính xác ������

7: Cập nhật mảng ��� [��� ��� = , ��� ]

8: Tăng số lần lặp lên 1: � � = + 1

9: End While

10: Trả lại giá trị � = argmax(���) (adsbygoogle = window.adsbygoogle || []).push({});

Trong quá trình sử dụng GSO để lựa chọn các POIs từ các VMD mode, số lượng

� POIs cần giữ lại phải được xác định Do � điểm POI được lựa chọn từ GSO sẽ

được sử dụng trong giai đoạn huấn luyện xây dựng bộ mẫu bởi thuật toán học máy

trên độ chính xác của việc phân lớp của SVM đối với tập dữ liệu VMD mode Điều

này có nghĩa là chúng ta có thể thay đổi giá trị của � cho đến khi việc huấn luyện

SVM cho tập � POI chọn từ VMD mode có độ chính xác lớn nhất Quy trình này

được thực hiện thông qua Thuật toán 2 4

2 4 1 2 Pha lập mẫu

Mục tiêu của pha lập mẫu là xây dựng được một mô hình mô tả điện năng tiêu thụ của thiết bị mẫu cho tất cả các trường hợp có thể có của một giá trị trung gian tấn công ví dụ như giá trị tại lối ra Sbox, hay giá trị rò rỉ điện năng tiêu thụ của điểm này Việc xây dựng mô hình này được thực hiện bằng cách huấn luyện một mô hình học máy Mô hình này sẽ được sử dụng để phân lớp các vết điện năng tiêu thụ từ thiết bị tấn công qua đó có thể xác định được khóa của thiết bị tấn công Các bước chính thực hiện ở pha này như sau:

B1: Người tấn công có được thiết bị mẫu giống với thiết bị cần tấn công

B2: Lựa chọn giá trị trung gian của thuật toán mật mã để tấn công, ví dụ như lối ra

Sbox, và mô hình rò rỉ điện năng tiêu thụ của thiết ví dụ như trọng số Hamming hay khoảng cách Hamming

B3: Thu thập tập vết điện năng tiêu thụ của thiết bị mẫu khi nó thực thi với giá trị

trung gian tấn công và gán nhãn cho các vết này Do người tấn công có thiết bị mẫu, biết được khóa của thiết bị và các bản rõ tương ứng với các vết điện năng tiêu thụ nên nhãn của vết thứ � có thể được xác định bởi �� = ��(����(��� ⊕ �� )), với ��� là

bản rõ của vết thứ � và �� là khóa của thiết bị mẫu Lối ra của Sbox là giá trị 8 bit nên

�� ∈{0,1, … ,8}

B4: Xây dựng tập dữ liệu huấn luyện: Trích chọn POIs của các vết có được ở bước

B3 bởi phương pháp VMD-GSO-SVM Kết quả bước này chỉ là tập các vết điện năng tiêu thụ có gán nhãn như bước B3 trong đó chỉ bao gồm các điểm POIs

B5: Huấn luyện mô hình điện năng tiêu thụ của thiết bị: Sử dụng tập dữ liệu có được

ở bước B4 để huấn luyện một thuật toán học máy, trong trường hợp này là SVM Bộ phân lớp SVM được phát triển để phân lớp cho hai lớp dữ liệu nên để SVM có thể

phân lớp được 9 lớp �� {0,1, … ,8}∈ , kỹ thuật SVM đa lớp ở dạng one-vs-all sẽ được

sử dụng Cụ thể, với 9 lớp thì sẽ có 9 bộ phân lớp SVM nhị phân được huấn luyện, mỗi bộ sẽ tương ứng với một lớp Bộ phân lớp SVM nhị phân thứ nhất giúp phân biệt

�0 hay không Các bộ phân lớp SVM nhị phân từ thứ 2 đến 9 hoạt động tương tự như bộ phân lớp SVM thứ nhất Kết quả cuối cùng được xác định bằng cách xác định lớp mà vết điện năng tiêu tụ rơi vào với xác suất cao nhất

Kết quả bước này là mô hình học máy SVM đa lớp có thể phân lớp và xác định được

xác suất của các vết điện năng tiêu thụ theo �� là trọng số Hamming của lối ra Sbox

2 4 1 3 Pha tấn công

Trong pha tấn công, các vết điện năng tiêu thụ chưa được gán nhãn được thu thập từ thiết bị tấn công sẽ được phân lớp bởi mô hình SVM đã được huấn luyện ở pha lập

mẫu để quyết định xác suất các vết điện năng tiêu thụ này thuộc về các lớp �� ∈

{0,1, … ,8} Các giá trị xác suất này được kết hợp với các giá trị khóa giả thiết để xác định ước lượng hợp lý cho mỗi ứng viên khóa giả thiết theo công thức (2 22) (adsbygoogle = window.adsbygoogle || []).push({});

�� ��

log �� ≡ ��� � ∏ ��� (�� |�� ) = ∑ log ���� (�� |�� ) (2 22)

�=1 �=1

Với �� = ������� ����ℎ�(����(�� , )) � và �� là bản rõ tương ứng với vết

điện năng tiêu thụ �� , �� là số vết dùng để tấn công Một ứng viên khóa � trong tất

cả các khóa giả thiết có ước lượng hợp lý lớn nhất (2 23) được xem là khóa đúng cần tìm

� � = ������ log ��

�∈� (2 23)

Chi tiết các bước trong pha tấn công như sau:

B1: Người tấn công cần có được thiết bị cần tấn công giống với thiết bị mẫu

B2: Xác định điểm tấn công: Đây là điểm thiết bị xử lý giá trị trung gian tấn công

như trong pha lập mẫu

B3: Thu thập �� vết điện năng tiêu thụ của thiết bị cần tấn công Các vết này có

chứa điện năng tiêu thụ sinh bởi phép toán sử dụng làm điểm tấn công

B4: Sử dụng mô hình SVM đã được huấn luyện trong pha lập mẫu để xác định

xác suất phân lớp các vết điện năng tiêu thụ của thiết bị tấn công thuộc về các nhãn khác nhau Kết quả bước này, người tấn công có được ma trận như (2 24), trong đó

���(�� )� là xác suất của vết điện năng tiêu thụ �� được phân lớp thuộc lớp �� bởi SVM Trong pha lập mẫu, SVM được huấn luyện để phân lớp cho 9 nhãn của vết

���(��� ) ���(��� ) ���(��� ) ���⋯ (��� ) ���(�1 )0 ���(�1 )1 ���(�1 )2 ⋯ ���(�1 )8

= ���(�⋮2 )0 ���(�⋮2 )1 ���(2)⋮2 …⋱ ���(�⋮2 )8

(2 24)

(���(��� )0 ���(��� )1 ���(��� )2 ⋯ ���(��� )8 )

B5: Khôi phục khóa của thiết bị tấn công bằng cách sử dụng hàm ước lượng hợp

lý (2 23) Bước này được thực hiện bởi 3 giai đoạn như sau:

- Giả sử người tấn công muốn tìm byte khóa � khi tấn công thuật toán mã hóa Trước

hết người tấn công tính trọng số Hamming lối ra Sbox của tất cả các bản rõ ��� với

�= 1, … , �� cho tất cả các khả năng của khóa � Trong trường hợp này, do � có độ

lớn là 1 byte nên tồn tại 256 giá trị của � từ 0 đến 255 Kết quả người tấn công có

được là ma trận kích thước(�� , 256) được biểu diễn bởi (2 25) Mỗi phẩn tử được

ký hiệu là ��,� , với � �, là chỉ số cột, hàng mô tả �� (�(��� ⊕ �� )) là trọng số

Hamming lối ra Sbox của phép XOR giữa bản rõ của vết �� và một khóa �� = � (adsbygoogle = window.adsbygoogle || []).push({});

��(�(��1⊕ �0)) ��(�(��1⊕ �1)) ��(�(��1⊕ �2)) ⋯ ��(�(��1⊕ �255)) = ��(�(��2⊕ �0)) ⋮ ��(�(��2⊕ �⋮1)) ��(�(��2⊕ �⋮2)) … ⋱ ��(�(��2⋮⊕ �255)) (2 25) (��(�(����⊕ �0)) ��(�(����⊕ �1)) ��(�(����⊕ �2)) ⋯ ��(�(����⊕ �255 )))

- Tiếp đến, người tấn công thay thế các phần tử ��,� của ma trận � bởi giá trị

���(�� )��,� được mô tả trong ma trận ở biểu thức (2 24) Kết quả có được ma trận

� được biểu diễn bởi (2 26), trong đó mỗi phần tử ��,� mô tả xác suất một vết điện năng

tiêu thụ �� , với một byte bản rõ đầu vào ��� được mã hóa với khóa �� = �

���(�1 )�1,0 ���(�1 )�1,1 ���(�1 )�1,2 ⋯ ���(�1 )�1,255

= ���(�⋮2 )�2,0 ���(�⋮2 )�2,1 ���(�2⋮ )�2,2 …⋱ ���(�⋮2 )�2,255 (2 26) ( ���,0 ���,1 ���,2 ���,255 )

- Cuối cùng, người tấn công lấy tổng logarit các phần tử của từng cột của ma trận S

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 76 - 83)