Tấn công phân tích điện năng tiêu thụ người tấn công thường thực hiện tấn công
tại thời điểm thiết bị thực thi giá trị lối ra của Sbox và dựa trên cơ sở điện năng tiêu
thụ của thiết bị có tương quan với giá trị mà thiết bị xử lý Do đó, nếu biết được điện năng tiêu thụ của thiết bị tại thời điểm này, người tấn công có thể tìm được giá trị mà
thiết bị xử lý Đối với các thiết bị sử dụng cơ chế phòng vệ bởi mặt nạ, giá trị lối ra của Sbox bị che đi bởi mặt nạ ngẫu nhiên mà người tấn công không biết Do đó, nếu
chỉ dựa trên điện năng tiêu thụ tại thời điểm lối ra của Sbox cũng không thể tìm được
giá trị thực sự mà người tấn công cần tìm
Để thực hiện tấn công đối với thiết bị mặt nạ, người tấn công phải kết hợp giữa phần điện năng tiêu thụ khi thiết bị xử lý mặt nạ với giá trị được mặt nạ để tạo giá trị điện năng tiêu thụ có tương quan đối với giá trị mục tiêu tấn công [35] Có hai cách kết hợp chính được sử dụng trong tấn công bậc cao là sử dụng hàm tích và hàm hiệu Hàm tích được đề xuất bởi Chari [62], và hàm hiệu được đề xuất bởi Messerges [76] được thể hiện ở biểu thức (3 3) và (3 4)
�� = 0,� − 1,�
�� = 0,� × 1,�
(3 3) (3 4) Việc kết hợp trên để tạo ra giá trị điện năng tiêu thụ phụ thuộc vào giá trị mục
tiêu tấn công và được kiểm chứng thông qua thực nghiệm Trong phần này, luận án đưa ra cơ sở để chứng minh sự phụ thuộc của điện năng tiêu thụ kết hợp với giá trị mục tiêu tấn công
Gọi � là giá được thiết bị xử lý, � là giá trị mặt nạ
- -
Nếu thiết bị không có mặt nạ, điện năng tiêu thụ khi thiết bị xử lý � tỷ lệ với
giá trị � Do đó, nếu biết được điện năng tiêu thụ thì có thể tìm được giá trị �
Khi thiết bị có mặt nạ, thay vì xử lý �, thiết bị xử lý giá trị z+� Do không
biết � nên nếu biết được điện năng tiêu thụ của � � + thì cũng không tìm
được �
Gọi �� giá trị điện năng tiêu thụ khi thiết bị xử lý �
Gọi �� giá trị điện năng tiêu thụ khi thiết bị xử lý z+�
Nếu kết hợp giữa �� và �� thì có thể tìm được mối quan hệ với � Hai hàm kết
hợp được suy ra từ (3 3) và (3 4) thường được sử dụng là ��−� = |�� − �� | và �� � =
�� ��
Do điện năng tiêu thụ của thiết bị phụ thuộc vào giá trị thiết bị xử lý, nên có thể
giả sử giá trị trung bình của điện năng tiêu thụ tại thời điểm � là:
�+ (−1) � -
- -
Với � là một giá trị không đổi phụ thuộc vào đặc điểm tiêu thụ điện năng từng
thiết bị cụ thể
�: là lượng thay đổi điện năng tiêu thụ khi thiết bị xử lý với bit �
Hình 3 3 mô tả phân bố điện năng tiêu thụ tại một điểm trên vết điện năng tiêu thụ tương ứng với các trường hợp thiết bị xử lý bít ngẫu nhiên, xử lý bit 1 và xử lý bit 0 Từ Hình 3 3 có thể thấy: � = 70,46��; 1 = 73,44 − 70,46 = 2,98��, 2 = 70,46 − 67,54 = 2 92�� Điều này chứng tỏ có một độ lệch điện áp khi thiết bị xử lý đối với bit 1 và bit 0 là 1 ≈ 2 Hay nói cách khác là điện năng tiêu thụ phụ thuộc vào giá trị được thiết bị xử lý
Hình 3 3 Phân bố điện năng tiêu thụ khi thiết bị xử lý với bit 1 và 0 Như vậy:
- -
Điện năng tiêu thụ khi thiết bị xử lý giá trị mặt nạ � là: �� = + (−1) � �
Điện năng tiêu thụ khi thiết bị xử lý giá trị được mặt nạ � � + là: �� = + �
� (−1)�+�
Giá trị trung bình của ��−� = �� − �� là:
�(�� − �� ) = �(�� ) − �(�� ) = + (−1) � � − + (−1) (� �+�) ={ � (−1 )� − (−1)0 �ℎ� � = 0
+1
� 22 22222 = 22222222 �ℎ� �= 1
Do đó, giá trị trung bình của �� − �� phụ thuộc vào � và dựa trên giá trị này có
thể tìm được �
Giá trị trung bình của ��� = �� ��
�(�� �� ) = + (−1) (� �) × + (−1) (� �+�) �2 + (−1) � (−1) �+� + [(−1) � � + (−1)�+�] Nếu � = 1 thì �(�� �� ) = �2 − 2 = − ) × + ) (� (� Nếu � = 0 thì �(�� �� ) = �2 + 2 + 2 (−1) � � - - Nếu � = 0 thì �(�� �� ) = + ) × + ) (� (� Nếu � = 1 thì �(�� �� ) = − ) × − ) (� (�
Như vậy, với giá trị bất kỳ của � thì �(�� �� ) là khác nhau khi giá trị � khác
Bằng việc sử dụng hàm kết hợp trên, người tấn công có thể thực thi tấn công đối với thiết bị mặt nạ bằng các phương pháp tấn công không bản mẫu như được mô tả trong chương 10 của [54] và phương pháp tấn công mẫu
Tấn công mẫu cũng là dạng tấn công phổ biến lên thiết bị mật mã có phòng vệ với hai pha được thực hiện là pha lập mẫu và pha tấn công Pha lập mẫu sử dụng tập các vết điện năng tiêu thụ để huấn luyện một mô hình phân lớp Mô hình này sẽ được sử dụng trong quá trình tấn công để phân lớp các vết điện năng tiêu thụ từ thiết bị tấn công qua đó để tìm ra khóa của thiết bị Để mô hình được điện năng tiêu thụ của thiết bị thì cần phải lựa chọn các POIs và các điểm POIs ảnh hưởng lớn đến độ chính xác của mô hình phân lớp Đối với các thiết bị không có phòng vệ việc lựa chọn POIs có thể thực hiện bởi các phương pháp đã được đề cập đến trong chương 2 Tuy nhiên, đối với các thiết bị có phòng vệ bằng mặt nạ, việc tìm POIs gặp nhiều khó khăn hơn bởi chúng xuất hiện dải rác ở các thời điểm thiết bị xử lý với mặt nạ và giá trị được mặt nạ như thể hiện trên Hình 3 2b Hơn nữa, cần phải xác định một số điểm POIs được tổng hợp có dạng hàm tích và tổng được biểu diễn bởi (3 3) và (3 4) bởi giá trị của các điểm này có mối quan hệ với giá trị trung gian cần tấn công Hiện nay, chưa có phương pháp nào được đề xuất đề lựa chọn các các POIs này Do đó, để tấn công lên thiết bị có phòng vệ mặt nạ, cần một công cụ có thể ‘học’ được các POIs này một cách tự động, có thể tạo ra được các POIs tổng hợp và học sâu được sử dụng cho trường hợp này Các công trình [30] [31] [32] [33] đã minh chứng cho khả năng áp dụng thành công các mô hình học sâu để tấn công cho các thiết bị có phòng vệ Tuy nhiên, việc lựa chọn kiến trúc học sâu cho bài toán tấn công hiện vẫn đang là thách thức Vì vậy, trong phần tiếp theo luận án sẽ trình bày phương pháp tấn công mẫu cho thiết bị có phòng vệ với một kiến trúc mạng học sâu được xác định đựa trên đặc điểm của các POIs của thiết bị mặt nạ
Đề xuất mô hình phân lớp vết điện năng tiêu thụ của thiết bị phòng vệ dựa trên kiến trúc mạng nơ-ron tích chập
3 3 1 Mô hình phân lớp đề xuất CNNd
Để phân lớp các vết điện năng tiêu thụ, một mô hình phân lớp cần được huấn luyện dựa trên các vết điện năng tiêu thụ được gán nhãn theo giá trị trung gian của thuật toán mật mã Trong quá trình huấn luyện, mô hình mạng phân lớp phải học được các đặc trưng của dữ liệu vào và mô tả được mối quan hệ giữa các đặc trưng này với nhãn của dữ liệu Như vậy để phân lớp cho các vết điện năng tiêu thụ, mô
D ữ l i ệ u v à o V ế t đ i ệ n n ă n g ti ê u t h ụ ( x ) F L A T T E N H O - S C A
hình phân lớp cần ít nhất một phần mạng để thực hiện chức năng phát hiện và học
các POIs của vết và một tầng làm nhiệm vụ phân lớp Trong các mô hình phân lớp sử dụng mạng học sâu, mạng nơ-ron tích chập CNN có thể thực thi cả hai chức năng này Trong mạng CNN, các tầng tích chập có nhiệm vụ phát hiện các đặc trưng của dữ liệu đầu vào và các lớp nơ-ron ẩn có cấu trúc mạng MLP có nhiệm vụ thực thi chức năng phân lớp dữ liệu dựa trên các đặc trưng đã học được từ các lớp tích chập Do đó, luận án đề xuất mô hình phân lớp cho vết điện năng tiêu thụ dựa của thiết bị mặt nạ trên kiến trúc mạng nơ-ron tích chập và được gọi là CNNd Việc xây dựng kiến trúc CNNd là việc xác định tầng đầu vào, số tầng tích chập, số tầng nơ-ron ẩn, tầng đầu ra và các tham số của các tầng này
Phần m ạng để trích chọn đặc trưng/học các POIs của vết điện n ăng tiêu thụ đầu vào
POOL
POOL
Phần m ạng để phân lớp các vết điện năng tiêu thụ
CONV Số kernel: Kích thước kernel: CONV Số kernel: Kích thước kernel: + Đầu ra FULLY-CONNECTED
Hình 3 4 Kiến trúc bộ phân lớp CNNd cho thiết bị mặt nạ
Kiến trúc bộ phân lớp CNNd đề xuất được xây dựng dựa trên phân tích các đặc trưng của vết điện năng tiêu thụ của thiết bị mặt nạ Các đặc trưng của vết điện năng tiêu thụ của thiết bị mặt nạ như đã phân tích ở phần 3 2 2 đó là các POIs Các POIs xuất hiện tại các thời điểm thiết bị xử lý mặt nạ và các giá trị được mặt nạ Do đó, các điểm POIs được xuất hiện ở một số dải và tách biệt nhau bởi cần có thời gian để thiết bị xử lý các giá trị khác Đối với thiết bị sử dụng mặt nạ bậc nhất, tồn tại hai dải POIs
như mô tả trên Hình 3 2 Như vậy, kiến trúc CNNd để phân lớp các vết điện năng tiêu
thụ của thiết bị mặt nạ cần có các yêu cầu sau: -
-
Phát hiện các đặc trưng hay các POIs từ các vết điện năng tiêu thụ
Có thể học được các đặc trưng kết hợp giữa các điểm POIs đó là hiệu của các POIs theo biểu thức (3 3) và tích của các POIs (3 4) bởi theo phân tích ở phần 3 2 3 các đặc trưng này phụ thuộc vào giá trị trung gian tấn công hay nhãn của vết điện năng tiêu thụ sử dụng trong quá trình lập mẫu
�[�] = ∑ ��� [2 + − ] ] � � [�
- Có khả năng phân lớp được các vết điện năng tiêu thụ được gán nhãn bởi giá
trị trung gian cần tấn công
Kiến trúc mạng CNNd đề xuất có thể thỏa mãn các yêu cầu trên được mô tả bởi
Hình 3 4 với hai khối chính là khối phát hiện POIs, tạo POIs kết hợp và khối phân lớp vết
3 3 1 1 Khối phát hiện POIs và tạo POIs kết hợp
Khối này bao gồm các tầng tích chập và mô-đun HO-SCA được xây dựng với chức năng cụ thể như sau:
Tầng tích chập thứ nhất: Được sử dụng để phát hiện các POIs của vết điện năng tiêu thụ Theo Zaid [33], khi vết điện năng tiêu thụ đi qua các tầng tích chập, thông tin về các POIs bị trải rộng ra Hơn nữa, do các POIs xuất hiện gần nhau ở xung quanh các đỉnh của vết (Hình 3 5) nên mức độ trải rộng thông tin của các POIs càng lớn khi vết được tích chập Vì vậy, giảm mức độ trải rộng thông tin của các POIs khi đi qua
tầng tích chập, bộ phân lớp CNNd chỉ cần một tầng tích chập để thực hiện chức năng
phát hiện POIs Hơn nữa, để tối ưu phát hiện POIs, kích thước bộ lọc tầng tích chập phải vừa đủ để phủ được vùng các đỉnh của vết Tuy nhiên để tránh việc sử dụng lại thông tin về POIs ở vùng đỉnh của vết có thể gây làm giảm hiệu quả của tấn công và giảm kích thước bộ lọc mà vẫn phủ được vùng đỉnh vết, luận án đề xuất sử dụng tầng
tích chập có nhân co giãn (dilation convolution) với hệ số co giãn � = 1 Khi đó, hệ
số của bộ lọc sẽ cho bởi biểu thức (3 5) và lối ra của tầng tích chập thứ nhất sẽ cho bởi (3 6) Các hệ số bằng 0 của bộ lọc sẽ không được cập nhật trong quá trình mạng
CNNd được huấn luyện
�= [[[[[[[[[[[[[[ [ 1, 0, 2, 0, … , �−1, 0, � ] � � 2 �=1 (3 5) (3 6)
Tầng tích chập thứ hai: Được sử dụng nhằm tạo ra các POIs kết hợp theo biểu thức (3 3) Giả sử sau tầng tích chập thứ nhất mạng đã phát hiện các các POIs khi đó vết điện năng tiêu thụ tại lối ra tầng này có thể được mô tả bởi (3 7), trong đó
(�� , ��+1, … , ��+�1 ) là các POIs ở dải thứ nhất tương ứng khi thiết bị xử lý mặt nạ và
�� , ��+1, … , ��+�2 là các POIs ở dải thứ hai tương ứng khi thiết bị xử lý giá trị được mặt nạ
Dải POIs Dải POIs
Nhân tích chập
Hướng trượt nhân tích chập
Thông tin kết hợp giữa các POIs
Hình 3 6 Sự kết hợp giữa các POIs bởi tầng tích chập trong mạng CNN
�1 = (… , �� , ��+1, … , ��+�1 , … , �� , ��+1, … , ��+�2 , … ) (3 7) Để lối ra của tầng tích chập thứ hai có thể tạo ra được sự kết hợp giữa hai dải
POIs trên thì trước hết độ dài của bộ lọc trong tầng tích chập này phải đủ lớn để bao được cả hai dải POIs trên Khi đó, khi bộ lọc trượt đến vùng có chứa các dải POIs, các đặc trưng lối ra tầng tích chập thứ hai được biểu diễn bởi (3 8)
�+�1 �+�2 � �2� = ∑ � �� + ∑ � �� + ∑ � �� �=� �=� � � �=�1 (3 8) �2� = ��=�:�+�1 + ��=�:�+�2 + ∑ � �� �=�1
Nếu ở tầng thứ nhất các POIs được phát hiện thì thành phần thứ 3 trong biểu thức
(3 8) sẽ xấp xỉ bằng 0 và sẽ được viết lại thành (3 9)
�2� = ��=�:�+�1 + ��=�:�+�2 (3 9)
Do các giá trị trọng số � , �∈ �, có thể nhận giá trị dương hoặc âm, nên �� , ��
cũng có thể dương hoặc âm Như vậy, lối ra tầng tích chập thứ hai có thể là tổng hoặc hiệu của các �� và �� Lối ra này có dạng hàm kết hợp �� trong biểu thức (3 3) và do
đó thông tin ở lối ra của tầng tích chập thứ hai chứa thông tin kết hợp của các dải POIs
Mặc dù thành phần thứ 3 trong (3 8) là nhỏ, tuy nhiên để mạng tránh ảnh hưởng đến quá trình học các POIs kết hợp thì trong quá trình huấn luyện mạng CNN, thành phần này được điều chỉnh gần về 0 hơn Khi đó, kỹ thuật điều chỉnh �1 (L1-
regulization) được đề xuất sử dụng ở tầng tích chập thứ nhất nhằm mục đích tối thiểu thành phần thứ 3 trong (3 8)
Mô-đun HO-SCA: Tầng tích chập thứ nhất có nhiệm vụ phát hiện các dải POIs của vết điện năng tiêu thụ đầu vào Tầng tích chập thứ hai có nhiệm vụ tổng hợp các POIs ở lối ra tầng tích chập thứ nhất để tạo ra các đặc trưng kết hợp giữa các POIs Tuy nhiên, phép tích chập chỉ có tác dụng kết hợp tuyến tính giữa các điểm POIs lối
vào của nó Do đó, chỉ hàm hàm �� = ℓ0,� − ℓ1,� trong biểu thức (3 3) được tạo ra tại
lối ra của tầng tích chập thứ hai làm các đặc trưng của vết Để tạo ra hàm tích giữa
các điểm POIs �� = ℓ0,� × ℓ1,� như trong biểu thức (3 4), một mô-đun tính toán được
gọi là HO-SCA được thêm vào kiến trúc mạng CNN như được biểu diễn trên Hình 3 4 Mô-đun HO-SCA có mục đích để tạo ra các đặc trưng là tích của các điểm POIs với các đầu vào và lối ra được mô tả bởi biểu thức (3 10) Lối ra của mô-đun HO- SCA được kết hợp cùng với các đặc trưng được tạo ra ở tầng tích chập thứ hai ở tầng FLATTEN và đưa vào các lớp nơ-ron ẩn phía sau để phục vụ cho quá trình phân lớp các vết điện năng tiêu thụ
���−��� = ( � [�1, �2, … , �� ]) = [�1�2, �1�3, … , �1�� , �2�3, … , … ��−1��] (3 10)
3 3 1 2 Khối phân lớp vết điện năng tiêu thụ
Các đặc trưng kết hợp tạo ra bởi tầng tích chập thứ hai và HO-SCA sẽ được kết hợp lại với nhau ở tầng FLATTEN và được đưa vào tổng hợp ở phần mạng thực hiện chức năng phân lớp đó là các lớp nơ-ron ẩn Cuối cùng là tầng đầu ra với số nơ-ron bằng với số lượng nhãn của vết điện năng tiêu thụ cần phân lớp