9. Cấu trúc của Luận án
3.2.1. Phương pháp phòng vệ bằng mặt nạ
Mặt nạ là phương pháp được sử dụng phổ biến để chống tấn công phân tích điện năng tiêu thụ dựa trên ý tưởng loại bỏ sự phụ thuộc của điện năng tiêu thụ của thiết bị với giá trị trung gian nó xử lý. Phương pháp này được thực bằng cách ngẫu nhiên hóa các giá trị trung gian của thuật toán [77] [63]. Để làm điều này, các giá trị ngẫu nhiên chọn từ một tập có phân bố đều được kết hợp với các giá trị trung gian của thuật toán. Nhờ các giá trị ngẫu nhiên này mà các giá trị trung gian của thuật toán mật mã được che trong quá trình thuật toán thực hiện. Các giá trị ngẫu nhiên này sau đó được loại bỏ ở bước cuối của thuật toán mật mã để tạo ra đầu ra giống với đầu ra của thuật toán gốc. Có hai phương pháp chính để gắn mặt nạ vào giá trị trung gian đó là cộng mô-đun hoặc nhân mặt nạ với giá trị trung gian. Hơn nữa, mỗi giá trị trung gian của thuật toán mật mã có thể được gắn với một hoặc nhiều mặt nạ.
Với các thuật toán được bảo vệ bởi biện pháp mặt nạ, giá trị trung gian 𝑧 của thuật toán không bao giờ được lưu trữ cũng như được xử lý ở dạng rõ mà được bảo vệ bởi 𝑑 giá trị 𝑚1, 𝑚2, … , 𝑚𝑑, còn gọi là các chia sẻ, thỏa mãn biểu thức (3.1).
𝑧 ∘ 𝑚1∘ … ∘ 𝑚𝑑 = 𝑧′ (3.1)
Trong đó ∘ là một phép toán phù hợp, thường phép toán cộng mô-đun 2 được sử dụng, khi đó sơ đồ mặt nạ được gọi là mặt nạ Boolean. Giá trị 𝑧 còn được gọi là giá trị được mặt nạ, còn 𝑚1, 𝑚2, … , 𝑚𝑑 được gọi là các mặt nạ, 𝑧′ là giá trị thiết bị sẽ thực thi. Các mặt nạ được tạo ra ngẫu nhiên và độc lập với nhau. Số lượng mặt nạ sử dụng còn được gọi là bậc của sơ đồ mặt nạ.
Trong khi làm mặt nạ cho thuật toán mật mã cần phải dung hòa giữa các yếu tố yêu cầu độ an toàn của thuật toán và các thao tác cần xử lý thêm cũng như các yêu cầu về tính ngẫu nhiên của sơ đồ mặt nạ. Việc làm mặt nạ cho các phép toán tuyến
87
tính là tương đối đơn giản nhưng đối với các hàm phi tuyến việc triển khai nó có thể khó khăn hơn.
Có một số lượng lớn các kỹ thuật mặt nạ để bảo vệ cho thuật toán AES đã được đề xuất chẳng hạn như sơ đồ mặt nạ toàn phần được trình bày trong [27], sơ đồ mặt nạ xoay trong [66], sơ đồ mặt nạ bảng thế trong [65], sơ đồ mặt nạ theo cách tiếp cận sơ đồ chia sẻ bí mật trong [64]. Luận án này tập trung vào tìm hiểu sơ đồ mặt nạ bậc nhất thường được sử dụng khi bảo vệ các thuật toán mật mã có sử dụng phép toán phi tuyến được cài đặt bởi Sbox như được mô tả trên Hình 3.1.
Gọi 𝑧 ∈ 𝔽(28) là giá trị trung gian của thuật toán mật mã được thiết bị thực thi trong quá trình mã hóa, 𝑚 ∈ 𝔽(28) là một giá trị ngẫu nhiên được gọi là mặt nạ. Để thuật toán được bảo vệ chống lại tấn công kênh kề, giá trị trung gian 𝑧 sẽ được che bởi mặt nạ 𝑚 theo biểu thức 𝑧 ⊕ 𝑚 và thiết bị sẽ xử lý giá trị 𝑧′ = 𝑧 ⊕ 𝑚 thay vì 𝑧 như trong trường hợp thiết bị không được bảo vệ.
Đối với phép toán phi tuyến được cài đặt dưới dạng bảng thế Sbox, để thực thi sơ đồ mặt nạ, bảng thế Smbox sẽ được tính toán từ Sbox sao cho thỏa mãn (3.2). Do đó, trong trường hợp này các giá trị lối ra Sbox của thuật toán mật mã luôn được mặt nạ bởi 𝑚.
𝑆𝑚𝑏𝑜𝑥(𝑧 ⊕ 𝑚) = 𝑆𝑏𝑜𝑥(𝑧) ⊕ 𝑚 (3.2)
Bản rõ p
Smbox
Mặt nạ m
Lối ra Sbox được mặt nạ với m
Khóa k
Thời điểm thiết bị xử lý mặt nạ
Thời điểm thiết bị xử lý giá trị
được mặt nạ Hình 3.1. Sơ đồ mặt nạ điển hình
88