9. Cấu trúc của Luận án
2.3.1. Quy trình thực thi tấn công VMD-CPA
Các điều kiện cần để người tấn công VMD-CPA thực thi tấn công khôi phục được khóa đúng của thiết bị bao gồm:
(1) Có thiết bị cần tấn công. Đây là thiết bị có cài đặt thuật toán mật mã AES- 128 ở chế độ sách mã điện tử (ECB).
(2) Có khả năng điều khiển được thiết bị hoạt động mã hóa với một tập bản rõ đầu vào được sinh ra ngẫu nhiên.
(3) Có khả năng đo được các vết điện năng tiêu thụ trong quá trình thiết bị thực thi mã hóa.
Gọi �� là tập gồm � bản rõ, mỗi bản có 16 byte, sinh ngẫu nhiên, mô tả bởi
(2.13) được người tấn công sử dụng để tấn công lên một thiết bị mật mã cài đặt
thuật toán AES-128 bằng phương pháp VMD-CPA như mô tả trên Hình 2.2. Thiết bị tấn công sử dụng 16 byte khóa ký hiệu {�1, �2, … , �16} để mã hóa. Kết quả của tấn công là các giá trị của 16 byte khóa này.
= [ �
[
[[[[[[[[[[[[[[ �,�]; = 1: � �; � = 1: 16 (2.13)
Các bước thực thi tấn công VMD-CPA dựa trên các bước tấn công CPA truyền thống và được thêm vào một bước tiền xử lý các vết điện năng tiêu thụ bởi kỹ thuật VMD như được mô tả trên Hình 2.4 với hai pha chính là:
Pha 1: Xây dựng điện năng tiêu thụ giả định của thiết bị cần tấn công Pha 2: Pha tấn công tìm khóa đúng.
Tập bản rõ Thiết bị cần tấn công VMD-CPA Khóa thiết bị sử dụng Đầu vào tấn công Hình 2.3. Tấn công VMD-CPA Tập bản rõ Thiết bị cầntấn công Khóa thiết bị sử dụng Pha 1: Xây dựng tập điện năng tiêu thụ giả định
Pha 2: Tấn công tìm khóa
Hình 2.4. Quy trình thực hiện tấn công VMD-CPA
a.
Các bước thực hiện trong Pha 1: Bước H1: Chọn byte khóa cần tấn công.
- Giả sử byte khóa thứ nhất, ký hiệu là �1 được chọn để tấn công. Như vậy các khóa giả thiết của byte khóa này là: �1 ∈ {0,1,2, … ,255}.
- Khi tấn công cho byte khóa nào thì người tấn công sử dụng bản rõ tương ứng đề phục vụ tính toán trong các bước tiếp theo. Ví dụ, khi byte khóa thứ
� �
Bước H1:
Chọn byte khóa tấn công
Bước A1: Xây dựng tập vết điện
năng tiêu thụ thực tế
Bước H2: Xây dựng tập giá trị
trung gian giả định
Bước A2:
Tiền xử lý các tập vết điện năng tiêu thụ bởi VMD
Bước H2: Xây dựng tập điện năng
tiêu thụ giả định
Bước A3: Quyết định khóa đúng
nhất được tấn công, tập bản rõ sử dụng là ���= [��,�]; �ớ� � = 1: � �; = 1. Đây là một véc-tơ cột được viết lại là:
���= [��], = 1: � � (2.14)
Bước H2: Tính toán tập giá trị trung gian giả định.
- Trong bước này, người tấn công phải lựa chọn một giá trị trung gian của thuật toán cần tấn công. Giá trị này phải là kết quả của một phép toán mà thuật toán thực hiện với các giá trị liên quan đến bản rõ đầu vào và khóa. Đối với thuật toán AES giá trị trung gian tại lối ra của Sbox là ��,� thường được sử dụng bởi
��,�= ����(��⊕ �1).
- Tính tất cả các giá trị trung gian của thuật toán khi thực hiện với từng khóa giả thiết của byte khóa cần tấn công và tập bản rõ tương ứng.
- Gọi ��là tập giá trị trung gian giả định khi tấn công byte khóa thứ nhất, ��
được xác định như sau:
��= [��,�] = ����(��⊕ ��); = 1: � � �; = 1:
256
(2.15)
Bước H3: Tính tập điện năng tiêu thụ giả định.
- Sử dụng một mô hình điện năng tiêu thụ (Bảng 1.1) để ánh xạ giá trị trung gian giả định thành điện năng tiêu thụ giả định. Trong phương pháp này, luận án chọn mô hình điện năng tiêu thụ là mô hình trọng số Hamming, ký hiệu là HW.
- Kết quả bước này là ma trận �� mô tả điện năng tiêu thụ giả định của thiết bị. Mỗi cột của ma trận ��mô tả điện năng tiêu thụ giả định của thiết bị đối với một khóa giả thiết.
��= [ℎ�,�] = [��(��,�)]; = 1: � � �, = 1: 256 (2.16)
b.
Các bước thực hiện trong Pha 2:
Bước A1: Xây dựng tập vết điện năng tiêu thụ thực tế.
- Điều khiển thiết bị thực thi thuật toán mật mã với tập bản rõ đầu vào �� và khóa bí mật gồm 16 byte được lưu sẵn trong thiết bị. Do tập bản rõ gồm �
bản rõ, nên thiết bị sẽ thực hiện mã hóa � lần. Trong quá trình thiết bị thực thi mã hóa với từng bản rõ, thu và lưu lại các vết điện năng tiêu thụ của thiết bị.
- Kết quả bước này người tấn công có được một ma trận T mô tả điện năng
tiêu thụ thực tế của thiết bị gồm � hàng, mỗi hàng là giá trị của một vết điện năng tiêu thụ có � điểm.
� �
= [ �
� �,�]; = 1: � � �; = 1: � (2.17)
Bước A2: Tiền xử lý tập vết điện năng tiêu thụ bởi VMD
- Lựa chọn các tham số : ,� số VMD mode và �, hằng số phạt cho VMD bởi
Thuật toán 2.2.
- Xác định VMD mode (thứ �) chứa thông tin điện năng tiêu thụ của phần mạch điện thực thi thuật toán mật mã sử dụng Thuật toán 2.3.
- Sử dụng kỹ thuật VMD để phân tách từng vết điện năng tiêu thụ trong tập �
được phân tách thành � VMD mode với các tham số ở trên. Sắp xếp VMD mode thứ � của tất cả các vết theo đúng thứ tự của các vết trong tập T thành ma trận ��có kích thước ( ×� �).
��= [��,�]; = 1: � � �; = 1: � (2.18)
Bước A3: Quyết định khóa đúng
- Nguyên tắc quyết định khóa đúng: so sánh điện năng tiêu thụ của tất cả các khóa giả thiết với tập vết điện năng tiêu thụ thực tế. Tương quan giữa điện năng tiêu thụ giả định của một khóa giả thiết với tập điện năng tiêu thụ thực tế được gọi là một vết tương quan. Khóa giả thiết được quyết định là khóa đúng nếu trên vết tương quan của nó chứa giá trị lớn nhất trong tất cả các vết tương quan của các khóa giả thiết.
- Xác định các vết tương quan của tất cả các khóa giả thiết ��,�; �ớ� � = 1: 256 à� � = 1: � bởi biểu thức (2.19) với ℎ�,�là các phẩn tử trong ma trận
�� và ℎ̅� là trung bình của ℎ�,� theo �.
∑� (ℎ�,� − ℎ̅�). (��,� − ��̅ ) � = �=1 ; = 1: 256 à = 1: � � � ��,� √∑� (ℎ − ℎ̅ )2 . ∑� (� − �� )2 =1 � �,� � �=1 �,� � (2.19) - Xác định khóa đúng (��) và thời điểm (�∗) thiết bị thực thi khóa này bởi
biểu thức sau:
(��, �∗) = ������(��,�)
�,� (2.20)