1 4 1 1 Quy trình thực hiện tấn công không có bản mẫu
Phương pháp tấn công phân tích điện năng tiêu thụ không bản mẫu được thực hiện với các giả định là: người tấn công có được thiết bị tấn công (DUT), biết được thuật toán DUT sử dụng, có thể điều khiển DUT hoạt động và đo được điện năng tiêu thụ của DUT trong quá trình nó thực thi thuật toán mật mã Thẻ thông minh là một dạng thiết bị có thể thỏa mãn các điều kiện của dạng tấn công này
Chúng ta giả sử rằng mạch điện của DUT xử lý một chuỗi liên tiếp các hàm ���
tương ứng với dữ liệu là � ∈ �2� Trong mỗi lần thiết bị thực thi mã hóa, các hàm
được xử lý và người tấn công thu thập các vết điện năng tiêu thụ của DUT Quá trình
xử lý của DUT có thể mô tả bởi các ma trận như biểu thức (1 3) Mỗi véc-tơ cột ��
của � thực thi cùng một hàm, và với các dữ liệu vào khác nhau Đặt ma trận � chứa
các vết �� ), = 1, … ,(� � � �, = 1, … , � tương ứng với � lần thực thi Mỗi lần thực
thi, ta có một vết điện năng tiêu thụ, tương ứng với một hàng của �
(1 3)
Phương pháp tấn công không bản mẫu được Kocher và các đồng nghiệp công bố năm 1999 trong [3] chỉ ra rằng có thể tìm được khóa bí mật khi thuật toán mật mã thực thi bằng cách đo điện năng tiêu thụ khi thiết bị thực thi thuật toán Quy trình tấn công phân tích điện năng tiêu thụ không có bản mẫu, có thể thực hiện bởi các bước
từ 1 đến 5 được mô tả dưới đây [35] và thuật toán khôi phục khóa mô tả bởi Thuật
Thuật toán 1 1: Khôi phục khóa trong tấn công không bản mẫu Đầu vào:
�� : tập bản rõ � = 1, … , �
�� )(� : tập vết đo trong khi thiết bị mã hóa � = 1, … , � �; = 1, … , �
ℒ: mô hình điện năng tiêu thụ của thiết bị
Đầu ra: � � : khóa đúng 1: ��� � = 1: � �� 2: 3: 4: ��� �= 1: � ��
ℎ�,� = ℒ(�(�� , )) � ; tính điện năng tiêu thụ giả định dựa trênℒ
��� ��� 5: ������ 6: ��� � = 1: � �� 7: 8: 9: ��� �= 1: � �� �� ) = ((� ℎ[1:� ,� ,] �[1:�](�)) ��� ��� 10: ��� ��� 11: ������ � � = ������ (������� (�(�,�))) �∈�
Bước 1: Đo và lưu các vết điện năng tiêu thụ khi thiết bị thực thi thuật toán mật mã
� lần Các vết được lưu lại thành ma trận � ∈ℝ�×� , trong đó � là chiều dài của vết
hay số mẫu của một vết điện năng tiêu thụ mà phép đo thu thập được
Bước 2: Xác định giá trị trung gian của thuật toán mật mã được sử dụng để tấn công hay còn gọi là điểm tấn công Do mục tiêu của tấn công là tìm khóa của thiết bị nên giá trị trung gian này phải có sự phụ thuộc vào dữ liệu và khóa
Bước 3: Tính giá trị trung gian giả thiết với các bản rõ đầu vào và tất cả các khóa giả
thiết Trong bước này, người tấn công tính toán các giá trị ��,� ∈ �2� trong đó ��,� =
�(�� , �� ), = 1,2, … , � � � ; = 1, … , � cho các giá trị khác nhau của bản rõ ��� và khóa
giả thiết �� Kết quả là người tấn công có được ma trận các giá trị trung gian với tất
cả các khóa giả thiết � = [��,� ]
Bước 4: Tiếp đến, người tấn công ánh xạ giá trị trung gian giả thiết tới giá trị điện năng tiêu thụ giả định tương ứng Khi đó, người tấn công sử dụng một mô hình điện
năng tiêu thụ của thiết bịℒ để tính toán cho các giá trị trung gian giả thiết ��,� Mô
hình điện năng tiêu thụ phục thuộc vào từng thiết bị và mô hình càng chính xác khả năng thành công của tấn công càng cao Kết quả của bước này người tấn công có
được ma trận các điện năng tiêu thụ giả định của thiết bị khi thực thi đối với các giá
trị trung gian giả định được ký hiệu là � và � = ℎ�,� = ℒ(��,� )
Bước 5: Là bước cuối cùng, người tấn công sử dụng một bộ quyết định được ký hiệu là để xác định mối quan hệ giữa điện năng tiêu thụ giả định � của các khóa giả
thiết và điện năng tiêu thụ thực tế của thiết bị � qua đó có thể tìm được ứng viên khóa
đúng nhất Bộ quyết định này phải có khả năng đo được sự phụ thuộc giữa hai biến ngẫu nhiên hoặc hai tập dữ liệu Có một số bộ quyết định đã được sử dụng cho trường hợp này trong đó bộ quyết định sử dụng độ lệch các giá trị trung bình và hệ số tương quan Pearson là hai bộ quyết định quan trọng và thường được sử dụng
Khi tấn công sử dụng bộ quyết định là độ lệch các giá trị trung bình thì tấn công được gọi là tấn công phân tích điện năng tiêu thụ vi sai (DPA) [3] và với bộ quyết định là hệ số tương quan Pearson thì tấn công được gọi là tấn công phân tích điện năng tiêu thụ tương quan (CPA) [34]
1 4 1 2 Tấn công phân tích điện năng tiêu thụ vi sai
Quy trình thực hiện tấn công DPA tuân theo quy trình tấn công không có bản mẫu với bộ quyết định dựa trên độ lệch các giá trị trung bình Ý tưởng của phương
pháp này là với một khóa giả thiết � ∈ � chia các vết điện năng tiêu thụ thành hai
nhóm Nhóm thứ nhất gồm những vết thu được khi thiết bị thực thi giá trị trung gian
tấn công có điện năng tiêu thụ giả định bằng Nhóm thứ hai gồm những vết thu
được khi thiết bị thực thi giá trị trung gian tấn công có điện năng tiêu thụ giả định ≠
Sau khi chia nhóm, tính độ lệch giữa các giá trị trung bình giữa hai nhóm trên
Theo cách làm như trên, bộ quyết định được xác định theo biểu thức (1 4) Kết
quả sinh ra từ bộ quyết định là một đường mô tả độ lệch của điện năng tiêu thụ trung bình đối với hai tập vết tương ứng với điện năng tiêu thụ giả định là và ≠ Đường
mô tả này còn được gọi là vết vi sai
Với khóa giả thiết đúng, các giá trị trung gian được sử dụng để tính điện năng tiêu thụ giả định là đúng với những giá trị mà thực tế thiết bị xử lý tại thời điểm tấn
công Giả sử mô hình điện năng tiêu thụℒ sử dụng là chính xác, khi � → ∞ , điện
năng tiêu thụ trung bình của tập thứ nhất tại vị trí tương ứng với thời điểm thiết bị xử
lý giá trị trung gian tấn công sẽ có giá trị là � và tương ứng với tập thứ hai là khác
với Do đó, tại vị trí này, trên vết vi sai sẽ xuất hiện một gai đủ lớn để có thể quan sát được
Với các thời điểm khác với thời điểm thiết bị thực thi giá trị trung gian tấn công và với những khóa giả thiết sai, giá trị trung gian được sử dụng để tính điện năng tiêu thụ giả định là không đúng với những gì thực tế thiết bị xử lý Do đó, các vết được xếp vào tập thứ nhất và tập thứ hai là mô tả điện năng tiêu thụ của thiết bị với các giá
trị trung gian hoàn toàn ngẫu nhiên Khi � → ∞ , giá trị trung bình của hai tập trên
là giống nhau và độ lệch giữa chúng sẽ tiến tới 0 Vì vậy, vết vi sai sẽ bằng phẳng Như vậy, với DPA, khóa đúng có thể được xác định bằng trực quan khi quan sát
thấy tồn tại một gai trên vết vi sai hoặc giá trị � để biểu thức (1 4) có giá trị lớn nhất
Hình 16 mô tả vết vi sai tương ứng với khóa đúng và khóa sai khi mô hình điện
năng tiêu thụ giả địnhℒ được lựa chọn là giá trị của một bit có trọng số thấp nhất của
giá trị trung gian tấn công Hai tập vết được phân chia theo giá trị của bit này là 1 hay 0 Khi khóa đúng, trên vết vi sai tồn tại một gai khá lớn và với khóa sai vết vi sai là bằng phẳng
�� ) = (� (((�((�(((�()()(|�ớ� � :� �=1 à ℎ�,�=============== − (((�((�(((�()()(|�ớ� � :� �=1 à ℎ�,�≠≠≠≠≠≠≠≠≠≠≠≠≠≠≠ (1 4)
1 4 1 3 Tấn công phân tích điện năng tiêu thụ tương quan
Quy trình thực hiện CPA tuân theo quy trình tấn công không có bản mẫu với bộ quyết định dựa trên tính hệ số tương quan Pearson Ý tưởng của CPA là, với mỗi khóa giả thiết, tính tương quan giữa điện năng tiêu thụ giả định được tính theo mô hìnhℒ đối với giá trị trung gian tấn công và điện năng tiêu thụ thực tế tại tất cả các thời điểm Giá trị tương quan này thường được xác định bởi biểu thức tương quan Pearson như mô tả ở công thức (1 5)
Kết quả của việc tính tương quan cho một khóa giả thiết là vết tương quan Khi
khóa giả là đúng, việc tính toán điện năng tiêu thụ giả định theo mô hìnhℒ phù hợp
với điện năng tiêu thụ thực tế của thiết bị tại thời điểm thiết bị xử lý giá trị trung gian
liên quan đến khóa Do đó tại vị trí này vết tương quan sẽ xuất hiện một gai Còn với
dụng để tính điện năng tiêu thụ giả định là ngẫu nhiên và không đúng với giá trị trung gian thực tế thiết bị xử lý nên giá trị tương quan giữa chúng sẽ nhỏ và khá tương đồng Do đó vết tương quan sẽ khá bằng phẳng trong trường hợp này Như vậy, việc quyết định khó a đúng của CPA có thể được xác định bằng trực quan khi quan sát
thấy tồn tại một gai trên vết tương quan hoặc giá trị của � để biểu thức (1 5) có giá
trị lớn nhất Hình 1 7 mô tả vết tương quan của khóa đúng và sai khi thực hiện tấn công CPA Với khóa đúng, gai nhọn xuất hiện trên vết tương quan và với khóa sai, vết tương quan khá bằng phẳng
�� ) =(� ���(�� ), (� ℎ�,� )
�(�� ) ())))))))))))) ) ℎ(�) �,� ) ; �ớ� � = 1: � �; = 1: � (1 5)
Hình 1 7 Vết tương quan của khóa đúng và sai
1 4 2 Phương pháp tấn công mẫu1 4 2 1 Quy trình thực thi tấn công mẫu