1.3.3. Mô hình điện năng tiêu thụ
Mô hình điện năng tiêu thụ được sử dụng để mô tả đặc điểm điện năng tiêu thụ
của thiết bị. Mô hình này được sử dụng cho hai mục đích :
- Một là để xây dựng điện năng tiêu thụ giả định của thiết bị khi biết giá trị nó xử lý. Gọi ℒ là mô hình điện năng tiêu thụ cho mục đích này, ℎ là giá trị điện năng tiêu
thụ giả định khi thiết bị xử lý giá trị , khi đó ℎ = ℒ( ).
- Hai là để ước lượng giá trị thiết bị xử lý khi biết vết điện năng tiêu thụ thực tế của thiết bị. Gọi là mô hình điện năng tiêu thụ của thiết bị cho mục đích này, là vết điện năng tiêu thụ thực thế của thiết bị, khi đó đầu ra của mô
hình là = ( = | ) = ( ). Đây là xác suất ước lượng giá trị mà thiết bị xử lý là khi biết được vết điện năng tiêu thụ .
Bảng 1.1. Một số mô hình điện năng tiêu thụ
Tên mô hình Bit đơn Trọng số Hamming (HW) Khoảng cách Hamming (HD)
Mục đích thứ nhất thường được sử dụng trong các kịch bản tấn công không có
bản mẫu, khi đó các mô hình điện năng tiêu thụ tổng quát thường được áp dụng. Chúng được xây dựng dựa trên đặc điểm điện năng tiêu thụ của mạch điện CMOS đó là điện năng tiêu thụ của mạch phụ thuộc vào dữ liệu mạch xử lý là bit 1 hay 0,
hoặc số lần chuyển trạng thái từ 0
1, từ 1
0. Một số mô hình điện năng tiêu thụ
tổng quát được mô tả bởi Bảng 1.1 [35]. Mô hình bit đơn và mô hình trọng số
Hamming được sử dụng khi tấn công đối với các thuật toán mật mã được cài đặt bằng phần mềm trên các hệ vi điều khiển, còn mô hình khoảng các Hamming được sử dụng khi tấn công đối với thuật toán mật mã được cứng hóa trên FPGA.
Mục đích thứ hai thường được sử dụng trong các kịch bản tấn công mẫu, khi đó
mô hình điện năng tiêu thụ dành riêng cho từng thiết bị được xây dựng. Mô hình được xây dựng để mô tả điện năng tiêu thụ của tất cả các trường hợp có thể của một
giá trị trung gian ; ( 1, 2, … , | |) của thuật toán mật mã người tấn công sử dụng trong quá trình tấn công. Mô
hình này được xây dựng bằng cách thu thập nhiều vết điện năng tiêu thụ khi thiết bị xử lý đối với các giá trị trung gian tấn công và sử dụng một kỹ thuật thống kê hay thuật toán học máy để mô tả sự phụ thuộc của điện năng
Các phương pháp tấn công phân tích điện năng tiêu thụ
Các phương pháp tấn công phân tích điện năng tiêu thụ được chia thành hai dạng chính là tấn công không có bản mẫu và tấn công có bản mẫu dựa trên các điều kiện mà người tấn công có. Trong phần này luận án trình bày quy trình cơ bản để
thực hiện các dạng tấn công này.
1.4.1. Phương pháp tấn công không có bản mẫu
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ậttoán 1.1:
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: = 1:
3: ℎ , = ℒ( ( , )); tính điện năng tiêu thụ giả định dựa trên ℒ 4: 5: 6: = 1: 7: = 1: 8: ( ) = (ℎ[1: ], ,[1: ]( )) 9: 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.