9. Cấu trúc của Luận án
1.4.2. Phương pháp tấn công mẫu
1.4.2.1. Quy trình thực thi tấn công mẫu
Trong phương pháp tấn công không bản mẫu, điện năng tiêu thụ giả định được tính từ một mô hình điện năng tiêu thụ dùng chung. Để nâng cao hiệu quả tấn công, mô hình điện năng tiêu thụ của từng thiết bị có thể được xây dựng khi 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, và có toàn quyền kiểm soát nó. Dựa trên ý tưởng này, phương pháp tấn công mẫu được đề xuất bởi [5] [56] [57] [58]. Quy trình tấn công mẫu được thực hiện thông qua hai pha: pha lập mẫu và pha tấn công như được mô tả trên Hình 1.8.
Mục đích của pha lập mẫu là xây dựng được mô hình điện năng tiêu thụ chính xác của thiết bị để mô tả đặc điểm điện năng tiêu thụ của các giá trị trung gian tấn công. Để thực hiện, người tấn công thu thập 𝑁𝑃 vết điện năng tiêu thụ trong quá trình thiết bị thực thi thuật toán mật mã với khóa đã biết. Tập các vết này được mô tả bởi 𝑆𝑝 như
28
(1.6) với 𝒙𝑖 là vết điện năng tiêu thụ tương ứng với thiết bị xử lý giá trị trung gian 𝑧𝑖 = 𝜑(𝑝, 𝑘).
𝑆𝑃 ≜ {(𝒙1, 𝑧1), … , (𝒙𝑁𝑃, 𝑧𝑁𝑃)} (1.6) Sau đó, người tấn công xây dựng mô hình 𝐹 mô tả đặc trưng điện năng tiêu thụ của thiết bị đối với từng khóa giả thiết (1.7) dựa trên tập trace lập mẫu 𝑆𝑃.
𝐹(𝑋|𝑍) ∶ 𝒳 → 𝑃(𝒵) (1.7)
Do giá trị trung gian tại lối ra Sbox, ví dụ như thuật toán AES, có kích thước là 1 byte, do đó sẽ có 256 giá trị cần được lập mẫu. Để giảm bớt số các giá trị cần phải lập mẫu người tấn công có thể lập mẫu thông qua trọng số Hamming của giá trị lối ra Sbox. Khi đó, có 9 giá trị cần phải lập mẫu do trọng số Hamming của một giá trị có kích cỡ 1 byte có thể nhận các giá trị: {0,1,2,3,4,5,6,7,8}. Ta ký hiệu giá trị này là 𝑐 và 𝑐 = 𝐻𝑊(𝑧). Khi đó, biểu thức (1.7) được viết lại thành dạng 𝐹(𝑋|𝑐) ∶ 𝒳 → 𝑃(𝒞).
Sau bước lập mẫu, người tấn công có mô hình mô tả được điện năng tiêu thụ của thiết bị đối với từng giá trị trung gian 𝑧𝑖 hoặc đối với từng giá trị trọng số Hamming của 𝑧𝑖.
Trong pha tấn công các vết thu thập được sẽ được biểu diễn bởi (1.8) với 𝑘𝑠 ∈ 𝐾 là khóa DUT sử dụng nhưng chưa biết và 𝑝𝑖; (𝑖 = 1,2, … , 𝑁𝑎) là các bản rõ đã biết.
𝑆𝑎 ≜ (𝑘𝑠, {(𝒙1, 𝑝1), … , (𝒙𝑁𝑎, 𝑝𝑁𝑎)}) (1.8) Sau khi đã thu thập được các vết từ DUT, người tấn công thực hiện tính xác suất của một vết từ DUT thuộc một các giá trị trung gian tấn công. Việc tính toán này dựa trên mô hình 𝐹 đã được xây dựng trong pha lập mẫu. Xác suất này cho bởi biểu thức (1.9). Với mỗi vết có một giá trị xác suất tương ứng cho mỗi giá trị trung gian giả thiết 𝑧𝑗, 𝑣ớ𝑖 𝑗 ∈ [1, |𝑍|]. Giá trị thứ 𝑗 của 𝑦𝑖 mô tả xác suất mà mô hình gán cho giá trị trung gian giả thiết 𝑧𝑗 khi có được vết 𝒙𝑖.
𝑦𝑖 = 𝐹(𝒙𝑖), ∀𝑖 ∈ [1, 𝑁𝑎] (1.9) Các giá trị xác suất đối với các giá trị trung gian giả thiết của tất cả các vết tấn công sẽ được kết hợp lại với nhau để tính điểm số cho mỗi giá trị khóa giả thiết. Việc tính điểm số này dựa trên nguyên tắc ước lượng hợp lý lớn nhất MLP. Công thức (1.10) mô tả cách tính điểm số này. Khóa nào có điểm số lớn nhất là khóa đúng nhất.
29 𝑑𝑆𝑎[𝑘] ≜ ∏ 𝑦𝑖[𝑧𝑖] 𝑁𝑎 𝑖=1 𝑣ớ𝑖 𝑧𝑖 = 𝜑(𝑝𝑖, 𝑘) (1.10) Bản rõ Z1 Z2 Zm Đo các vết điện năng tiêu thụ
Các giá trị trung gian
Pha lập mẫu Quyết định khóa đúng Khóa đúng (ks) S-box Lối ra Sbox Thiết bị mẫu Khóa (đã biết) Xây dựng mô hình điện năng tiêu thụ với các giá trị trung gian Tập vết lập mẫu Bản rõ Pha tấn công S-box Lối ra Sbox
DUT 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
Hình 1.8. Phương pháp tấn công mẫu
1.4.2.2. Tấn công mẫu đơn giản
Tấn công mẫu đơn giản là dạng đầu tiên của phương pháp tấn công mẫu được đề xuất bởi Chari và các cộng sự [5]. Tấn công mẫu đơn giản được thực thi khi người tấn công biết được đặc tính phân bố điện năng tiêu thụ của thiết bị mẫu và DUT. Điều này có nghĩa là sau khi thu thập được vết điện năng tiêu thụ ở dạng 𝒙 = (𝑥1, 𝑥2, … , 𝑥𝑁), người tấn công biết được phân bố xác suất của 𝒙. Do biết được phân bố này, nên việc xây dựng mô hình điện năng tiêu thụ của thiết bị đơn giản được biểu diễn bởi các đặc trưng của phân bố xác suất của biến 𝒙. Một giả định thường được giả định trong tấn công phân tích điện năng tiêu thụ là điện năng tiêu thụ tuân theo phân bố Gauss chuẩn đa biến [35]. Khi đó, mô hình điện năng tiêu thụ của thiết bị mẫu đối với các giá trị trung gian lập mẫu được mô tả bởi hàm mật độ xác suất (1.11) với (𝜇̅𝑧𝑗, 𝑆𝑧𝑗) là véc-tơ giá trị trung bình và ma trận hiệp phương sai của các vết điện năng tiêu thụ khi thiết bị xử lý đối với giá trị trung gian 𝑧𝑗. Khi đó luật quyết định khóa đúng dựa trên (1.10) được viết lại thành (1.12) với 𝑃(𝑧|𝑥𝑖) là xác suất thiết bị xử lý giá trị trung gian 𝑧 khi biết vết điện năng tiêu thụ 𝒙𝑖 của nó và 𝑃(𝑧) là xác suất thiết bị xử lý giá trị trung gian 𝑧.
30 𝑓 (𝒙|𝜇̅𝑧𝑗, 𝑆𝑧𝑗) = 1 √(2𝜋)𝑁|𝑆𝑧𝑗| exp (−1 2(𝒙 − 𝜇̅𝑧𝑗)′𝑆𝑧−1𝑗 (𝒙 − 𝜇̅𝑧𝑗)) (1.11) 𝑘𝑠 = argmax 𝑘∈𝕂 ∏ 𝑃(𝒙𝑖|𝑧) 𝑛𝑎 𝑖=1 = arg max 𝑘∈𝕂 {∏ 𝑃(𝑧|𝒙𝑖). 𝑃(𝑧) 𝑛𝑎 𝑖=1 ; 𝑧 = 𝜑(𝑝, 𝑘); 𝑘 = 1: 𝕂} (1.12)
1.4.2.3. Tấn công mẫu sử dụng học máy
Với tấn công mẫu đơn giản, để xây dựng mô hình điện năng tiêu thụ cho các giá trị trung gian tấn công, người tấn công giả định điện năng tiêu thụ tại điểm tấn công phải tuân theo phân bố Gauss chuẩn đa biến. Tuy nhiên, giả định này không đúng với mọi thiết bị, cho mọi trường hợp nên cần một phương pháp tấn công tổng quát hơn có thể thực hiện trên nhiều thiết bị mà không cần ràng buộc trên. Xuất phát từ nguyên tắc thực hiện tấn công mẫu thấy rằng: Trong pha lập mẫu, mô hình điện năng tiêu thụ của thiết bị được xây dựng bằng cách “học” đặc điểm về sự phụ thuộc điện năng tiêu thụ với các giá trị khóa đã biết từ các vết điện năng tiêu thụ của thiết bị mẫu; Trong pha tấn công, mô hình này dùng để đoán giá trị khóa của DUT khi có được vết điện năng tiêu thụ mới thu thập từ DUT. Như vậy có thể xem bài toán của tấn công mẫu tương tự như bài toán được giải quyết trong phương pháp học máy ở đó cả hai đều thực hiện xây dựng mô hình từ tập dữ liệu đã biết nhãn và sử dụng thông tin này để ước lượng đầu ra của dữ liệu chưa được gán nhãn khi đi qua mô hình đã được xây dựng. Do đó, một hướng tiếp cận mới khi thực hiện tấn công mẫu là dựa trên thuật toán học máy và đã có một số tấn công theo hướng này đã được thực hiện [6] [7] [8] [9] [10] [11] [12] [13] [14] [15].
Quy trình tấn công mẫu sử dụng học máy cũng gồm hai pha: pha lập mẫu và pha tấn công. Trong pha lập mẫu, các thuật toán học máy hoặc học sâu được sử dụng để xây dựng mô hình điện năng tiêu thụ mô tả điện năng tiêu thụ của các giá trị trung gian tấn công. Việc xây dựng mô này dựa trên tập các vết điện năng tiêu thụ thu thập được từ thiết bị mẫu với nhãn được gán là các giá trị có thể của giá trị trung gian tấn công. Trong pha tấn công, mô hình học máy đã được xây dựng được sử dụng để ước lượng xác suất của một vết điện năng tiêu thụ thu được từ thiết bị tấn công có nhãn là một trong số các giá trị trung gian tấn công. Và cuối cùng khóa đúng cũng được
31
xác định dựa trên điểm số quyết định được tính theo nguyên tắc ước lượng hợp lý lớn nhất như biểu thức (1.10).