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