9. Cấu trúc của Luận án
2.4.2. Thực nghiệm tấn công VMD-GSO-SVM
Nhãn Nhãn: Nhãn: Nhãn: Tập vết huấn luyện Nhãn Tập vết tấn công Nhãn: Nhãn: Nhãn:
Hình 2.15. Mô tả bộ dữ liệu cho tấn công VMD-GSO-SVM
Trong phần này luận án trình bày các kết quả thực nghiệm kiểm chứng hiệu quả các phương pháp tấn công VMD-GSO-SVM. Để kiểm chứng hiệu quả của nó đối với các bộ dữ liệu khác nhau luận án thực nghiệm với hai bộ dữ liệu là: ACT-TRACES và DPA-V4. Cấu trúc của bộ dữ liệu được mô tả bởi Hình 2.15. Tập dữ liệu huấn luyện là các vết điện năng tiêu thụ được gán nhãn là trọng số Hamming của byte thứ nhất tại đầu ra Sbox của AES-128. Trong tập tấn công, các vết chưa được gán nhãn và xác suất của vết thuộc về các nhãn sẽ được ước lượng trong pha tấn công.
Các bộ dữ liệu này được chia thành 02 phần với tỷ lệ 2/3 và 1/3 cho tập dữ liệu sử dụng cho pha lập mẫu và pha tấn công. Việc lựa chọn tham số cho SVM và pha lựa chọn POIs cũng sử dụng dữ liệu giống với pha lập mẫu. Để đánh giá ảnh hưởng của số độ lớn tập dữ liệu lập mẫu đến hiệu quả tấn công, trong tập dữ liệu sử dụng trong pha lâp mẫu 02 tập con được lựa chọn: tập con thứ nhất mỗi nhãn có 100 vết, tập con thứ hai mỗi nhãn có 200 vết. Ký hiệu tương ứng với bộ dữ liệu ACT-TRACES là ACT-1 và ACT-2; với bộ dữ liệu DPA-V4 là DPA-1 và DPA-2.
Các kết quả của tấn công VMD-GSO-VMD được mô tả cho byte khóa thứ nhất của AES-128, còn các byte khóa khác quy trình thực hiện tương tự. Kết quả của tấn công được so sánh với 02 tấn công mẫu cùng sử dụng SVM để mô hình điện năng tiêu thụ với các phương pháp lựa chọn POIs khác nhau là:
(1) CPA-SVM [7]: là tấn công mẫu sử dụng SVM với phương pháp lựa chọn POIs là CPA
(2) NB-SVM [47]: là tấn công mẫu sử dụng SVM với phương pháp lựa chọn POIs là NB.
Toàn bộ việc tính toán và xử lý dữ liệu trong các tấn công được thực hiện trên phần mềm Matlab. Việc thực thi thuật toán học máy SVM sử dụng thư viện LibSVM [74].
A. Lựa chọn tham số cho SVM
SVM trong phần thực nghiệm này sử dụng hàm nhân RBF nên có hai tham số cần tối ưu là (𝐶, 𝛾). Để tìm các tham số này luận án sử dụng chiến lược grid-search kết hợp kiểm tra chéo 10-tập [75]. Nghĩa là với mỗi cặp giá trị (𝐶, 𝛾), xác định độ chính xác của SVM khi thực hiện kiểm tra chéo 10-tập, cặp (𝐶, 𝛾) cho kết quả độ chính xác phân lớp của SVM lớn nhất được lựa chọn làm tham số tối ưu.
Các tham số tối ưu của SVM có được đối với bộ dữ liệu ATC-TRACES và DPA- V4 được cho bởi Bảng 2.5 khi cho tham số 𝐶 thay đổi từ 1 đến 256 với bước nhảy là 1, tham số 𝛾 từ 0.1 đến 10 với bước nhảy là 0.01.
Bảng 2.5. Tham số tối ưu cho SVM
Tham số Bộ dữ liệu ACT-TRACES Bộ dữ liệu DPA-V4
ACT-1 ACT-2 DPA-1 DPA-2
𝐶 32 18 22 17
𝛾 0.12 0.25 0.50 0.12
𝐴𝐶𝐶 86.2 95.6 83.2 96.4
B. Kết quả pha lựa chọn POIs
Giai đoạn đầu tiên trong pha lựa chọn POIs là sử dụng kỹ thuật VMD để phân tách các vết điện năng tiêu thụ thành các VMD mode và lựa chọn VMD mode có thông tin có ích từ vết điện năng tiêu thụ. Khi thực hiện VMD, các tham số đầu vào của nó cần được thiết lập trước. Sử dụng Thuật toán 2.2, số VMD mode và hằng số cân bằng có được là 𝑄 = 5 và 𝛼 = 1000. Sau quá trình phân tách này, một VMD mode chứa thông tin có ích từ vết điện năng tiêu thụ được lựa chọn. Để xác định VMD mode này, luận án tiến hành thực hiện tấn công VMD-CPA trên tất cả các VMD mode và chọn VMD mode có hiệu quả tấn công tốt nhất. Dựa trên kết quả của tấn công chỉ ra trên Bảng 2.6, với bộ dữ liệu ATC-TRACES thì VMD mode 1 được lựa chọn và với DPA-V4 thì VMD mode 2 được lựa chọn bởi tấn công VMD-CPA trên các mode này có hiệu quả tốt nhất được thể hiện bởi hệ số tương quan của khoá đúng là lớn nhất.
Bảng 2.6. Kết quả tấn công CPA trên các VMD modes
ACT-TRACES DPA-V4
Hệ số tương quan
Khóa tìm được Hệ số tương
quan Khóa tìm được
VMD mode 1 0.64 63 (Khóa đúng) 0.52 108 (Khóa đúng) VMD mode 2 0.34 63 (Khóa đúng) 0.87 108 (Khóa đúng) VMD mode 3 0.34 223 (Khóa sai) 0.60 108 (Khóa đúng) VMD mode 4 0.37 255 (Khóa sai) 0.37 188 (Khóa sai) VMD mode 5 0.35 246 (Khóa sai) 0.34 135 (Khóa sai)
Sau khi lựa chọn được VMD mode chứa thông tin có ích từ vết điện năng tiêu thụ, quy trình lựa chọn các điểm trên các VMD mode này làm POIs được thực hiện dựa trên GSO và SVM thông qua Thuật toán 2.4 với kết quả được mô tả trên các Bảng 2.7 và Bảng 2.8 đối với các bộ dữ liệu ACT-TRACES và DPA-V4. Từ kết quả trên thấy rằng, khi số lượng các điểm POIs được chọn tăng, độ chính xác phân lớp cũng tăng. Tuy nhiên khi quá nhiều điểm POIs được lựa chọn độ chính xác phân lớp sẽ giảm bởi dữ liệu không tổng quát được đặc trưng điện năng tiêu thụ khi được sử dụng bởi bộ phân lớp. Tập các điểm POIs với chỉ số và số lượng điểm được chọn được mô tả trên Bảng 2.7 và Bảng 2.8 với phông chữ đậm tương ứng với trường hợp khi huấn luyện bộ phân lớp SVM với tập dữ liệu là các POIs này cho độ chính xác lớn nhất.
Bảng 2.7. Các POIs được lựa chọn bởi VMD và GSO đối với ACT-TRACES.
Số POI Chỉ số các POIs được chọn Độ chính xác
phân lớp (%) 2 1036 509 18.2 4 1036 509 2261 2262 30.12 6 1036 509 2261 2262 2263 2260 50.31 8 1036 509 2261 2262 2263 2260 2264 2265 81.56 10 1036 509 2261 2262 2263 2260 2264 2265 2259 861 81.78 12 1036 509 2261 2262 2263 2260 2264 2265 2259 861 2267 1038 89.22 14 1036 509 2261 2262 2263 2260 2264 2265 2259 861 2267 1038 411 577 95.03
16 1036 509 2261 2262 2263 2260 2264 2265 2259 861 2267 1038 411 577 886 1687 95.02 18 1036 509 2261 2262 2263 2260 2264 2265 2259 861 2267 1038 411 577 886 1687 1211 1670 94.27 20 1036 509 2261 2262 2263 2260 2264 2265 2259 861 2267 1038 411 577 886 1687 1211 1670 1576 216 92.84 Bảng 2.8. Các POIs được lựa chọn bởi VMD và GSO đối với DPA-V4.
Số POI Chỉ số các POIs được chọn Độ chính xác
phân lớp (%) 2 1804 3201 22.6 4 1804 3201 1664 2389 31.89 6 1804 3201 1664 2389 689 3231 60.38 8 1804 3201 1664 2389 689 3231 1524 1556 80.24 10 1804 3201 1664 2389 689 3231 1524 1556 3093 3192 86.66 12 1804 3201 1664 2389 689 3231 1524 1556 3093 3192 2766 2282 90.35 14 1804 3201 1664 2389 689 3231 1524 1556 3093 3192 2766 2282 1244 852 95.68 16 1804 3201 1664 2389 689 3231 1524 1556 3093 3192 2766 2282 1244 852 2392 1797 96.62 18 1804 3201 1664 2389 689 3231 1524 1556 3093 3192 2766 2282 1244 852 2392 1797 2251 3113 94.58 20 1804 3201 1664 2389 689 3231 1524 1556 3093 3192 2766 2282 1244 852 2392 1797 2251 3113 3108 1095 90.28 C. Pha lập mẫu
Kết quả của pha lập mẫu, là người tấn công xây dựng được mô hình điện năng tiêu thụ mô tả cho 9 giá trị trọng số Hamming tại lối ra Sbox. Việc xây dựng mô hình được thực hiện thông qua việc huấn luyện bộ phân lớp SVM. Để đánh giá chất lượng của mô hình SVM được huấn luyện, các tham số như độ chính xác (precision), độ bao phủ (recall) và F1 được sử dụng. Trong đó, độ chính xác được xác định bởi 𝑇𝑃
độ bao phủ được xác định bởi 𝑇𝑃
𝑇𝑃+𝐹𝑁 và F1 là giá trị trung bình điều hòa giữa độ chính xác và độ bao phủ được cho bởi: 𝐹1 =2×𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛×𝑟𝑒𝑐𝑎𝑙𝑙
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙 . Giá trị các tham số này càng gần 1, kết quả càng tốt. Kết quả huấn luyện SVM được cho bởi Bảng 2.9 với các tập con của hai bộ dữ liệu ACT-TRACES và DPA-V4. Các SVM được huấn luyện có các tham số khá tốt, đều trên 80%. Khi số lượng vết điện năng tiêu thụ sử dụng để huấn luyện tăng lên, độ chính xác của SVM cũng tăng. Điều này chứng tỏ khi các SVM được huấn luyện có thể tổng quát hóa dữ liệu khá tốt. Các SVM sau khi đã được huấn luyện sẽ được sử dụng ở pha tấn công để ước lượng giá trị xác suất của vết điện năng tiêu thụ từ thiết bị tấn công thuộc về các lớp được gán nhãn là trọng số Hamming như đã được huấn luyện.
Bảng 2.9. Kết quả pha lập mẫu huấn luyện SVM
Tham số Bộ dữ liệu ACT-TRACES Bộ dữ liệu DPA-V4
ACT-1 ACT-2 DPA-1 DPA-2
Độ chính xác (%) 85.2 94.6 86.1 95.8
Độ bao phủ (%) 83.6 94.1 85.5 95.2
𝐹1 84.6 94.3 85.8 95.5
D. Các kết quả pha tấn công
D1. Tấn công kiểm chứng khả năng khôi phục khoá đúng của VMD-GSO-SVM
Hình 2.16. Điểm số của tất cả các khóa giả thiết với ACT-TRACES
Để kiểm chứng khả năng của tấn công mẫu VMD-GSO-SVM ở khả năng khôi phục khóa bí mật của DUT. Trong pha tấn công, VMD-GSO-SVM được sử dụng để
khôi phục khóa đúng khi SVM được sử dụng để phân lớp 9 lớp giá trị HW của lối ra
Sbox. Thay vì dự đoán giá trị HW cho mỗi vết điện năng tiêu thụ sử dụng để tấn công, chúng tôi tính giá trị xác suất hậu nghiệm 𝑃𝑆𝑉𝑀(𝑋𝑖|𝑐). Xác suất ước lượng của mỗi khóa giả thiết được xác định bởi ước lượng hợp lý lớn nhất. Khóa đúng được định nghĩa là khóa có điểm số lớn nhất và được tính (2.23). Với ACT-TRACES, các vết điện năng tiêu thụ được thu thập trong khi AES-128 thực thi với byte khóa thứ nhất của khóa bí mật là 63 và trong thí nghiệm này đó là khóa có điểm số lớn nhất như mô tả trên Hình 2.16. Với bộ dữ liệu DPA-V4, khóa có điểm số lớn nhất là 108. Giá trị này đúng với khóa được sử dụng cho AES-128 để thu thập các vết của DPA contest v4 (Hình 2.17). Các kết này chứng tỏ phương pháp tấn công đề xuất VMD-GSO- SVM có khả năng khôi phục được khóa đúng của AES-128 đối với cả hai tập vết điện năng tiêu thụ ACT-TRACES và DPA-V4.
D2. So sánh hiệu quả VMD-GSO-SVM với CPA-SVM và NB-SVM
Để so sánh hiệu quả tấn công, tham số GE được sử dụng và nó được mô tả theo số vết điện năng tiêu thụ sử dụng trong quá trình tấn công. Tham số này càng nhỏ, hiệu quả tấn công càng cao.
Hình 2.18 và Hình 2.19 biểu diễn giá trị GE thu được theo số lượng vết sử dụng trong quá trình tấn công với ACT-TRACES khi các tấn công VMD-GSO-SVM, CPA-SVM và NB-SVM được sử dụng để dự đoán các lớp HW. Như chúng ta mong đợi, giá trị GE giảm dần khi số vết sử dụng cho tấn công tăng. Hơn nữa, khi kích thước tập vết lập mẫu tăng lên, giá trị GE cũng sẽ thấp hơn. Điều này có thể đạt được bởi hiệu quả của SVM được xác định bởi nhiều tham số trong đó độ lớn tập huấn luyện là một tham số quan trọng. Với DPA-V4, hiệu quả tấn công đạt được tương tự với DPA-TRACES và giá trị GE tính được trong pha tấn công đối với tất cả các tấn công trên được mô tả trên Hình 2.20 và Hình 2.21. Từ các các kết quả biểu diễn GE trên các hình này, có thể nhận thấy được tấn công VMD-GSO-SVM cho kết quả GE tốt nhất.
Bảng 2.10 mô tả giá trị số lượng vết điện năng tiêu thụ cần thiết của mỗi tấn công để đạt được giá trị 𝐺𝐸 = 0. Với tấn công VMD-GSO-SVM trên ACT-TRACES, số lượng vết cần thiết là thấp nhất so với các tấn công khác với trung bình là 10.2 và 5.3 tương ứng với 100 và 200 vết sử dụng để lập mẫu cho mỗi giá trị HW. Tương tự đối với DPA-V4, VMD-GSO-SVM cũng cần số vết tối thiểu tương ứng là 10.3 và 4.7 với 100 và 200 vết sử dụng để lập mẫu cho mỗi giá trị HW. So với các tấn công
CPA-SVM và NB-SVM, số vết để GE=0 của tấn công VMD-GSO-SVM giảm cỡ 40 đến 45%. Kết quả thực nghiệm này chứng tỏ với phương pháp lựa chọn POIs dựa trên kết hợp giữa VMD, GSO và SVM có thể lựa chọn được những đặc trưng tốt nhất để mô tả cho đặc tính tiêu thụ điện năng của thiết bị.
Hình 2.17. Điểm số của tất cả các khóa giả thiết với DPA-V4
Hình 2.18. Kết quả tấn công với 100 vết/một lớp HW với ACT-TRACES
Hình 2.20. Kết quả tấn công với 100 vết/một lớp HW với DPA-V4
Hình 2.21. Kết quả tấn công với 200 vết/một lớp HW với DPA-V4 Bảng 2.10. Số vết tấn công sử dụng để GE=0 Số trace huấn luyện/ 1 lớp HW ACT-TRACES DPA-V4 VMD- GSO-SVM CPA- SVM NB- SVM VMD- GSO- SVM CPA- SVM NB- SVM 100 10.2 18.1 17.6 10.3 19.2 18.3 200 5.3 9.2 8.7 4.7 9.4 7.3
D3. So sánh hiệu quả của VMD-GSO-SVM với CPA-SVM và NB-SVM trong trường hợp các vết điện năng tiêu thụ có nhiễu
Trong các kịch bản tấn công thực tế, các vết điện năng tiêu thụ thu thập được thường có nhiễu. Để xem xét hiệu quả của phương pháp tấn công đề xuất VMD-GSO- SVM trong điều kiện có nhiễu, các vết được cộng thêm với một lượng nhiễu Gausse, là dạng nhiễu phổ biến nhất khi đo các vết điện năng tiêu thụ. Trong các thí nghiệm ở phần này, có hai mức nhiễu với 𝑆𝑁𝑅1 = 20𝑑𝐵 và 𝑆𝑁𝑅2 = 10𝑑𝐵 được thêm vào các vết điện năng tiêu thụ ở cả hai bộ dữ liệu ACT-TRACES và DPA-V4. Cũng trong phần này các tấn công mẫu dựa trên SVM cũng sử dụng các phương pháp lựa chọn POIs khác nhau được thực hiện để tấn công khôi phục khóa đúng trên cả hai cơ sở dữ liệu. Nói chung, giá trị GE của các tấn công tăng khi các vết được thêm nhiễu, nhưng tấn công VMD-GSO-SVM có khả năng chống nhiễu tốt hơn. Kết quả của các tấn công với 200 vết sử dụng để lập mẫu cho mỗi lớp HW được mô tả trên Hình 2.22, Hình 2.23, Hình 2.24 và Hình 2.25 chứng tỏ VMD-GSO-SVM cho giá trị GE thấp nhất, trong khi đó CPA-SVM và NB-SVM cho kết quả khá tương đồng. Số vết điện năng tiêu thụ khi 𝐺𝐸 = 0 được liệt kê trên Bảng 2.11, với phương pháp tấn công đề xuất VMD-GSO-SVM, khi nhiễu được thêm vào các vết, số vết cần để 𝐺𝐸 = 0 tăng khoảng 25%, trong khi đối với các tấn công CPA-SVM và NB-SVM số vết cần tăng 100%. So với các tấn công CPA-SVM và NB-SVM, số vết để GE=0 của tấn công VMD-GSO-SVM giảm cỡ 60 đến 70%. Kết quả này chứng tỏ VMD có khả năng lọc nhiễu rất tốt và VMD-GSO-SVM có khả năng hoạt động hiệu quả trong điều kiện có nhiễu. Đặc điểm này rất hữu ích cho các kịch bản tấn công thực tế khi các vết điện năng thu thập được thường chứa nhiễu có độ lớn thay đổi.
Hình 2.23. Kết quả tấn công trên ACT-TRACES với 𝑆𝑁𝑅2 = 10 𝑑𝐵 thêm vào vết
Hình 2.24. Kết quả tấn công trên DPA-V4 với 𝑆𝑁𝑅1 = 20 𝑑𝐵 được thêm vào vết
Bảng 2.11. Số vết có nhiễu tấn công sử dụng để GE=0 Mức nhiễu ACT-TRACES DPA-V4 VMD- GSO-SVM CPA- SVM NB- SVM VMD- GSO-SVM