Một giải pháp chống tấn công DPA hiệu quả - Trường Đại Học Quốc Tế Hồng Bàng

7 26 0
Một giải pháp chống tấn công DPA hiệu quả - Trường Đại Học Quốc Tế Hồng Bàng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Với việc sử dụng các giá trị ngẫu nhiên để che giá trị trung gian, làm cho năng lượng tiêu thụ của thiết bị độc lập với giá trị trung gian của thuật toán, masking (mặt nạ) là [r]

(1)

MỘT GIẢI PHÁP CHỐNG TẤN CÔNG DPA HIỆU QUẢ Nguyễn Thanh Tùng*

Tóm tắt: Tấn cơng phân tích lượng thực lên giá trị trung gian thuật tốn mật mã để tìm khóa bí mật Với việc sử dụng giá trị ngẫu nhiên để che giá trị trung gian, làm cho lượng tiêu thụ thiết bị độc lập với giá trị trung gian thuật toán, masking (mặt nạ) giải pháp hữu hiệu để chống loại cơng Bài báo trình bày phương pháp mặt nạ cho thuật toán AES chống tấn cơng DPA

Từ khóa: Tấn cơng DPA, AES, Mặt nạ

1 ĐẶT VẤN ĐỀ

Trong năm gần đây, việc phân tích thuật tốn mật mã để khai phá thơng tin bí mật qua kênh kề ngày quan tâm đầu tư nghiên cứu Nhiều kỹ thuật công kênh kề lên thiết bị mật mã nghiên cứu, giới thiệu Những dạng công kênh kề điển hình kể đến cơng phân tích timming, cơng phân tích lỗi, cơng phân tích điện - từ trường, cơng phân tích âm thanh, cơng phân tích nhiệt độ cơng phân tích lượng

Tấn cơng phân tích lượng loại cơng kênh kề không xâm lấn Kẻ tấn công thực khai thác lượng thiết bị mật mã để tìm khóa mã Quy trình cơng thực việc đo phân tích tiêu thụ lượng khơng cần chi phí lớn đặc biệt hiệu [1], [2], [10]

Các thiết bị mật mã đối mặt với công phân tích lượng thường khơng bị hư hại tham số khơng bị thay đổi nên khó nhận biết thiết bị bị cơng

Tấn cơng phân tích lượng chia thành hai loại: Tấn cơng phân tích năng lượng đơn giản (Simple Power Analysis – SPA) cơng phân tích lượngvi sai (Difference Power Analysis –DPA) [10] Kỹ thuật công SPA khai thác mối quan hệ lệnh thực hình dáng vết tiêu thụ lượng Việc phân tích thực trục thời gian Tấn công DPA khai thác mối quan hệ giữa liệu xử lý lượng tiêu thụ, dùng kỹ thuật thống kê, so sánh để tìm khóa bí mật thuật toán

(2)

Mục đích Ẩn loại bỏ tương quan lượng tiêu thụ giá trị trung gian thuật tốn qua việc ngẫu nhiên hóa san để thiết bị tiêu thụ mức lượng chu kỳ hoạt động Có thể thực Ẩn việc chèn thêm xáo trộn thứ tự hoạt động phép biến đổi thuật toán

Mặt nạ phương pháp chống cơng với mục đích làm cho lượng tiêu thụ độc lập (kể liệu phụ thuộc vào lượng tiêu thụ thiết bị) Kỹ thuật mặt nạ sử dụng giá trị ngẫu nhiên để che giá trị trung gian thuật toán mật mã Mặt nạ phải che tất giá trị trung gian thuật toán suốt thời gian thực giá trị trung gian tức thời tính dựa giá trị trung gian trước

2 TẤN CÔNG DPA LÊN AES

Tấn cơng DPA xác định khóa bí mật thiết bị mật mã dựa vết lượng ghi thiết bị thực mã hóa giải mã khối liệu khác nhau Tấn cơng DPA phân tích tiêu thụ lượng thời điểm hoạt động thuật tốn có liên quan đến khóa mã

2.1 Thuật tốn AES

AES thuật tốn mã hóa tiên tiến sử dụng rộng rãi nhiều lĩnh vực như an ninh quốc gia, truyền thơng, tài chính, ngân hàng…

Hình 1. Luồng biến đổi thuật tốn AES.

AES [12] có cấu trúc dạng SPN, xử lý với kích cỡ khối 128 bit, với kích thước khóa 128, 192 hay 256 bit Hoạt động thuật toán sau: Tại thời điểm bắt

Cipher_Key Sub_Key

AddRoundKey SubBytes ShiftRows MixColumns

PlainText

Cipher text AddRoundKey

Final_Key

(3)

đầu phép mã hóa, liệu rõ đầu vào ghi vào mảng trạng thái Sau phép cộng khóa vòng khởi đầu, mảng trạng thái biến đổi cách thực thi hàm vòng liên tiếp với phép biến đổi AddRoundKey (), SubByte (), ShiftRow (), MixColumn () với số lần vòng lặp 10, 12 14 (phụ thuộc vào độ dài khóa là 128, 192 hay 256 bit), tất vịng lược đồ mã hóa giống nhau, trừ vịng cuốicùng khơng có phép biến đổi MixColumns() Trạng thái cuối chuyển thành đầu (bản mã) Luồng biến đổi thuật toán AES biểu diễn tại hình

2.2 Tấn cơng DPA lên AES

a Kỹ thuật công

Tấn công DPA lên AES thực theo chiến thuật bao gồm bước

Bước 1: Bước công DPA lựa chọn, xác định vị trí cơng Đối với thuật tốn AES chọn vị trí cơng đầu Sbox vòng (giá trị trung gian phụ thuộc vào khóa mã)

Bước 2: Đo lượng tiêu thụ thiết bị mật mã mã hóa liệu xây dựng thành ma trận lượng tiêu thụ

Bước 3: Tính giá trị trung gian giả định thiết bị thực thuật tốn với các khóa giả thiết

Bước 4: Ánh xạ giá trị trung gian giả định thành lượng tiêu thụ giả định

Bước 5: So sánh giá trị điện tiêu thụ giả định giá trị lượng thu được, đánh giá kết kết luận khóa bí mật tìm

b Thực nghiệm công DPA lên AES -128

(4)

đồ vi sai ứng với khóa giả thiết 233 (các khóa khác khơng có đỉnh nhơ lên) Vì vậy, có thể xác định khóa giả thiết 233 khóa thuật tốn

Hình Biểu đồ vi sai ứng với hai khóa giả thiết k =233 k=234

Tấn cơng DPA thực lượng tiêu thụ thiết bị mật mã phụ thuộc vào giá trị trung gian thiết bị xử lý Các nghiên cứu chứng minh tấn cơng DPA thành cơng lên thuật tốn AES Smartcard với chi phí thời gian hợp lý [1], [2]

3 ĐỀ XUẤT GIẢI PHÁP MẶT NẠ CHO AES

Như phân tích trên, với khả ngày cao, đa dạng mã thám, yêu cầu thuật toán mật mã phải thực thi giải pháp phòng chống Để chống cơng DPA lên AES phải làm cho lượng tiêu thụ thiết bị độc lập với giá trị trung gian Bài báo trình bày lý thuyết đề xuất thực giải pháp mặt nạ cho AES Smartcard

3.1 Tổng quan mặt nạ

Mặt nạ thực che giá trị v giá trị mặt nạ m theo công thức:

vm= v * m (1)

Mặt nạ Boolean: Thực che giá trị trung gian v giá trị m với phép Xor: m

vvm (2)

Mặt nạ toán học: Thực che giá trị trung gian vbằng giá trị ngẫu nhiên m qua phép toán (cộng nhân modular):

Phép cộng modular:vmv (mod ) m n

Phép nhân modular: vmv (mod ) m n

(5)

3.2 Đề xuất sơ đồ mặt nạ cho thuật toán AES

Để chống công DPA lên AES phải thực mặt nạ đầy đủ (che hết giá trị trung gian), báo trình bày sơ đồ mặt nạ đầy đủ cho tất phép biến đổi của thuật tốn AES – 128 (hình 3)

a Mặt nạ cho phép biến đổi vịng AES

AddRoundKey: Đầu tiên, che khóa k mặt nạ, che rõ d mặt nạ, trình Addroundkey kết hợp byte rõ d byte khóa k (đã mặt nạ)

SubBytes: Thực mặt nạ để che bảng tra cứu S-box

ShiftRows: Biến đổi ShiftRows dịch chuyển bytes trạng thái Tất bytes trạng thái mặt nạ với giá trị không đổi Vì vậy, hoạt động khơng phải thực mặt nạ

MixColumns: Biến đổi MixColumns trộn bytes từ hàng khác một cột Để che hết giá trị trung gian, cần thực dòng mặt nạ, đồng thời cần thực mặt nạ giống cho vòng

Với điều kiện trên, để thực mặt nạ đầy đủ cho giá trị trung gian thuật toán AES, báo đề xuất sử dụng 06 mặt nạ độc lập gồm: hai mặt nạ m m’ che cho đầu vào đầu biến đổi SubBytes mặt nạ m1, m2, m3, m4 để

che đầu vào biến đổi MixColumns

Q trình chuẩn bị: Tính trước mặt nạ S-box mặt nạ Mixcolumns sau: Mặt nạ bảng tra cứu S-box Sm được tính theo công thức:

Sm (xm)= S(x)m’ (3)

trong đó, m mặt nạ đầu vào, m’ mặt nạ cho đầu S-box

Giá trị mặt nạ đầu phép biến đổi MixColumns theo công thức: MixColumns (m1, m2, m3, m4) = (m’1, m’2, m’3, m’4)

Quá trình thực hiện:

Bắt đầu vòng làm việc, che rõ d với giá trị m’i (m’1, m’2, m’3, m’4),

che khóa k với mặt nạ (là kết phép XOR m’im) Biến đổi

AddRoundKey thực phép XOR rõ khóa (đều mặt nạ) Giá trị trung gian (dk) mặt nạ theo công thức:

(6)

Lúc giá trị trung gian (dk) che mặt nạ m Tiếp theo, biến đổi SubBytes, thực che giá trị trung gian theo bảng Sm (x m)= S(x)m’ Sau

bước này, giá trị trung gian che với mặt nạ m’ Sau biến đổi ShiftRows mặt nạ m’ nguyên

Trước MixColumns, tiến hành che mặt nạ mi với m1 tại hàng đầu tiên,

sang m2 hàng thứ 2, sang m3 hàng thứ sang m4 tại hàng thứ tư Biến đổi

MixColumns thay đổi mặt nạ mi thành m’I với i =1,…,4 Lúc này, giá trị trung

gian che với m’i Giá trị sử dụng để làm đầu vào cho biến đổi

của vòng vòng cuối

Hình 3. Sơ đồ mặt nạ cho thuật toán AES – 128 AddRoundKey

SubBytes, ShiftRows

MixColumns

AddRoundKey

SubBytes, ShiftRows

AddRoundKeys

Plaintext K0

K1,…K9

AddRoundKey K10

Ciphertext

: Mặt nạ với m : Mặt nạ với m’

(7)

Vịng cuối khơng thực phép biến đổi MixColums Tại điểm kết thúc vòng cuối cùng, giá trị liệu lúc che với mặt nạ m’ (giá trị có sau bước SubBytes ShiftRows vịng) Lúc này, khóa vòng cuối che bởi mặt nạ m’, thực phép Addroundkey cuối ta mã (không mặt nạ) Như vậy, mặt nạ gỡ bỏ đầu thuật toán để giải mã b Mặt nạ cho lược đồ khóa:

Để bảo đảm an tồn, lược đồ khóa phải mặt nạ Sử dụng lại bytes mặt nạ m m’ cho tất vòng

Bước thứ lược đồ khóa, khóa gốc (sử dụng cho khóa vịng đầu tiên) được mặt nạ với giá trị mặt nạ (mim) Mặt nạ mim che cho khố vịng

trừ cuối che mặt nạ m’

3.3 Đánh giá an toàn

a Đánh giá an tồn lý thuyết

Tấn cơng DPA thực lượng tiêu thụ thiết bị mật mã phụ thuộc vào giá trị trung gian thiết bị xử lý Khi giá trị trung gian v che bởi mặt m: vmvm (m giá trị ngẫu nhiên), vm độc lập với v,

đó, lượng tiêu thụ vm độc lập với v Vì vậy, mặt nạ xóa bỏ mối

liên hệ lượng tiêu thụ giá trị trung gian thiết bị Giải pháp đề xuất sử dụng 06 mặt nạ che tất giá trị trung gian, chống công DPA lên thuật toán

b Đánh giá an toàn thực nghiệm

Ngày đăng: 01/04/2021, 00:57

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan