9. Cấu trúc của Luận án
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.
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.
Bảng 2.2. Kết quả của pha 1 - xây dựng tập điện năng tiêu thụ giả định 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 (𝐇𝟏)
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 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
Bảng 2.3. Tổng hợp kết quả tấn công VMD-CPA cho 16 byte khóa Byte tấn công Khóa tìm được Vị trí có tương quan lớn nhấ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
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 ở phần thí nghiệm trên.
Hình 2.10. So sánh CPA và VMD-CPA
Hình 2.11. So sánh VMD-CPA và CPA với 𝑆𝑁𝑅1 = 10
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 và
T có độ dài tăng lên khiến tương quan giữa chúng sẽ hội tụ. Với khóa đúng là có tương quan, còn các khóa sai tương quan khá đồng đều không thể phân biệt được với nhau.
(2) Sau khi hội tụ, hệ số tương quan của khóa đúng trong trường hợp tấn công VMD-CPA luôn lớn hơn tấn công CPA. Đặc biệt là trong trường hợp 2 và 3 khi nhiễu trên các vết điện năng tiêu thụ tăng lên. Với trường hợp 3 khi 𝑆𝑁𝑅 = 5𝑑𝐵, tấn công CPA không thể tìm được khóa bởi hệ số tương quan của khóa đúng và sai không thể phân biệt được. Điều này chứng tỏ hiệu quả tấn công của VMD-CPA là tốt hơn so với tấn công CPA. Có thể giải thích trường hợp này bởi trong tấn công VMD-CPA có sử dụng kỹ thuật tiền xử lý cho các vết điện năng tiêu thụ bởi VMD. Việc làm này giúp giảm bớt nhiễu và lựa chọn được phần điện năng tiêu thụ của mạch điện xử lý mật mã trên vết điện năng tiêu thụ.
Để định lượng hiệu quả của VMD-CPA so với CPA, luận án sử dụng tham số 𝑁𝑎 mô tả số lượng vết điện năng tiêu thụ mà tấn công cần để có thể tìm được khóa đúng. Quan sát trên các hình vẽ: Hình 2.10, Hình 2.11, và Hình 2.12 thấy rằng với số vết điện năng tiêu thụ được mô tả trên Bảng 2.4, hệ số tương quan của khóa đúng và khóa sai có thể phân biệt được rõ ràng và do đó khóa đúng có thể quyết định chính xác và tin cậy.
Bảng 2.4. Số vết (𝑁𝑎) để khôi phục khóa của VMD-CPA và CPA
Thêm nhiễu vào CPA VMD-CPA
Vết gốc 91 79
𝑆𝑁𝑅1 = 10𝑑𝐵 203 81