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ện nă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 89 - 101)

9. Cấu trúc của Luận án

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

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ị trung gian Z1 Bản rõ mẫu Lối ra Sbox Z2 Tập vết được gán nhãn theo trọng số Hamming của Zm Zm Lựa chọn POIs cho tập vết Huấn luyện SVM Pha tấn công Thiết bị tấn công Bản rõ ks (chưa biết) Đo các vết điện năng tiêu thụ 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 Khóa Quyết định đúng khóa đúng S-box Lối ra Sbox Các giá trị xác suất vế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 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 �

vuông góc với nhau, giá trị của (2.21) bằng 0 có nghĩa là giữa chúng không mối tương

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ụ: �� =

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

��ê� � }; � : số

� � � � �

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à �.

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

����� ��

� � � �

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(���)

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

SVM trong quá trình tấn công mẫu nên cách tốt nhất để xác định � POI này là dựa

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 lớp �0 với các lớp không phải �0, tức là xem một vết điện năng tiêu thụ có thuộc lớp

�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).

�� �� log ��≡ ��� ∏ ����(��|��) = ∑ log ���� (��|��) =1 � �=1 (2.22)

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 điện năng tiêu thụ nên � = 0,1, … ,8.

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

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

⋮ ⋮ ⋮ ⋱ ⋮

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

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 ��= �.

��(�(��1 ⊕ �0)) ��(�(��1 ⊕ �1)) ��(�(��1 ⊕ �2)) ⋯ ��(�(��1 ⊕ �255)) =

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

(2.25)

- 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 ��= .�

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ện nă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 89 - 101)

Tải bản đầy đủ (DOCX)

(160 trang)
w