YOMEDIA
ADSENSE
Giải pháp mặt nạ AES chống tấn công phân tích năng lượng
50
lượt xem 2
download
lượt xem 2
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài viết trình về phương pháp mặt nạ AES, mục đích là để che giấu các giá trị trung gian trong quá trình mã hóa và giải mã, làm cho kẻ tấn công không thu được vết năng lượng thực tế của thiết bị mật mã, là phương pháp chống tấn công phân tích năng lượng rất hiệu quả.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giải pháp mặt nạ AES chống tấn công phân tích năng lượng
Công nghệ thông tin & Cơ sở toán học cho tin học<br />
<br />
GIẢI PHÁP MẶT NẠ AES<br />
CHỐNG TẤN CÔNG PHÂN TÍCH NĂNG LƯỢNG<br />
Bạch Hồng Quyết1*, Đinh Thế Cường2*, Vũ Mạnh Tuấn3*<br />
Tóm tắt: Tấn công bằng phân tích năng lượng (Differential Power Analysis –<br />
DPA) lên AES dựa trên sự dao động điện xảy ra do mạch tuần hoàn liên tục trong<br />
quá trình thay thế byte mã hóa AES ở vòng đầu tiên và vòng cuối. Bài báo này trình<br />
về phương pháp mặt nạ AES, mục đích là để che giấu các giá trị trung gian trong<br />
quá trình mã hóa và giải mã, làm cho kẻ tấn công không thu được vết năng lượng<br />
thực tế của thiết bị mật mã, là phương pháp chống tấn công phân tích năng lượng<br />
rất hiệu quả.<br />
Từ khóa: Giải pháp chống tấn công bằng phân tích năng lượng; DPA; Mask – AES.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Tấn công bằng phân tích năng lượng hiện đang là mối nguy hiểm cho các thiết bị mật<br />
mã, do đây là mô hình tấn công bán xâm lấn nên hệ thống bị tấn công không thể phát hiện<br />
và ngăn chặn kịp thời. Hai yếu tố cơ bản trong quá trình tấn công phân tích năng lượng đó<br />
là đo năng lượng tiêu thụ của thiết bị mật mã và mô hình công suất tiêu thụ giả định của<br />
thiết bị mật mã. Điện năng tiêu thụ thực tế là điện năng tiêu thụ được đo tại thời điểm tức<br />
thời khi thiết bị mật mã đang hoạt động. Quá trình đo có thể thực hiện bằng cách đo trực<br />
tiếp dòng điện qua dây nguồn hay đất, hay điện áp trên một điện trở xác định. Vấn đề cốt<br />
lõi trong DPA là người tấn công giả định điện năng tiêu thụ lý thuyết của thiết bị từ kết<br />
quả trung gian thông qua mô hình điện năng tiêu thụ giả định. Điện năng tiêu thụ giả định<br />
này được so sánh với điện năng tiêu thụ thực tế đo được để tìm ra khóa bí mật. Giải pháp<br />
để chống lại tấn chống DPA lên mã khối là sử dụng kỹ thuật mặt nạ. Mặt nạ mã khối được<br />
sử dụng để che giấu các vòng hoạt động của thuật toán và che các phép thay thế ở S-hộp.<br />
Nghiên cứu đầu tiên được đề xuất bởi Goubin và Patarin cho hệ mật DES, sau đó có rất<br />
nhiều nghiên cứu về mặt nạ mã khối cho cho cả DES và AES [2, 3, 5]. Hai đại diện của kỹ<br />
thuật mặt nạ là: Mặt nạ nhân và mặt nạ logic. Bài báo này đưa ra một mặt nạ logic cho<br />
thuật toán AES để chống lại tấn công bằng phân tích năng lượng.<br />
2. GIẢI PHÁP MẶT NẠ AES<br />
Các phép toán của hệ mật AES được thược hiện trên trường GF (2 8 ) do đó khi sử dụng<br />
mặt nạ AES sẽ tiêu tốn bộ nhớ rất lớn. Vì vậy, để tối ưu hóa hiệu quả cho mặt nạ logic thì<br />
các phép triển khai: phép thay thế byte phi tuyến (subbyte), phép trộn cột (mixcolumn),<br />
phép cộng khóa (addroundkey) và phép dịch vòng (shiftRows) sẽ được thực hiện trên<br />
trường G F (2 4 ). Khi đó, các giá trị đầu vào được ánh xạ từ GF (2 8 ) sang G F (2 4 ) , ngược<br />
lại tại đầu ra của thuật toán các giá trị dữ liệu sẽ ánh xạ từ G F (2 4 ) sang GF (2 8 ) . Điều này<br />
có thể dẫn đến việc tránh chồng chéo dữ liệu từ các thực thi liên tiếp và làm tăng tốc độ xử<br />
lý dữ liệu cho thiết bị mật mã. Mặt nạ được thực thi trên các khối 128bit, với 8 giá trị ngẫu<br />
nhiên (hình 1, hình 2).<br />
Trong đó:<br />
- r là tham số mặt nạ;<br />
- ra là kết quả của phép biến đổi Afin của r1 15 lần trong phép thay thế byte r1 f ( r );<br />
- M1ra là phép thay thế byte ( M r ) ;<br />
- M 2ra là phép dịch vòng ( M 1ra ), có thể thực hiện riêng từng phép dịch vòng ( M 1 ) và<br />
dịch vòng ( ra ) với mỗi byte ra là độc lập nhau;<br />
<br />
<br />
170 B. H. Quyết, Đ. T. Cường, V. M. Tuấn, “Giải pháp mặt nạ AES … phân tích năng lượng.”<br />
Nghiên ccứu<br />
ứu khoa học công nghệ<br />
<br />
- M 2ra là phép trộn<br />
trộn cột ( M 2ra ) , có th<br />
thực<br />
ực hiện ri<br />
riêng<br />
êng từng<br />
từng phép trộn cột ( M 2 ) và tr<br />
trộn<br />
ộn cột<br />
( ra ) với<br />
ới mỗi byte ra là đđộc<br />
ộc lập nhau;<br />
- M 2ra là phép ccộng òng (M 3ra ) , ra r là các giá tr<br />
ộng khóa vvòng trịị mặt nạ đại diện.<br />
di .<br />
<br />
<br />
<br />
<br />
Hình 22. Quá trình th<br />
thực<br />
ực thi mặt nạ logic<br />
logic..<br />
<br />
<br />
<br />
<br />
Hình 11. Mặt<br />
Mặt nạ thuật toán AESAES.<br />
Lựa<br />
ựa chọn số ngẫu nhi nhiên ên r<br />
Sử<br />
ử dụng tham số ngẫu nhi ên r đểể che giá tr<br />
nhiên trịị trung gian m<br />
m.<br />
Khi đó, giá tr với: m m r.<br />
trịị mặt nạ llàà m ' với:<br />
Chọn ngẫu nhi<br />
Chọn nhiên<br />
ên ssốố r0 có đđộ<br />
ộ dài<br />
dài 1 byte, llặp<br />
ặp lại r0 15 llần<br />
ần ta được chuỗi r ={ r0 , r0 ..., r0 }.<br />
được<br />
<br />
16<br />
<br />
Biến đổi Afin f<br />
Biến<br />
ực hiện phép biến đổi afin ( A X 1 b) , bao gồm<br />
Thực<br />
Th gồm phép nhân ma trận A , sau đó<br />
cộng<br />
ộng xor với hằng số b.<br />
Trong m mặt<br />
ặt nạ AES nnày, ày, bi ến đổi Afin chỉ ddành<br />
biến ành cho tham ssốố r.<br />
Đặt<br />
ặt r0 [8]={r00 ,r01 ,r02 ,r03 ,r04 ,r05 ,r06 ,r07 } .<br />
Thực<br />
Thực hiện biến đổi Afin, thu đđược<br />
ợc r1 {r10 ,r11 ,r12 ,r13 ,r14 ,r15 ,r16 ,r17 }.<br />
Biến<br />
Biến đổi Afin r1 đư<br />
được<br />
ợc thực hiện 15 lần.<br />
Có thể<br />
thể tính toán vvàà gi<br />
giữữ ccùng<br />
ùng một<br />
một mặt nạ AES ngẫu nhinhiên<br />
ên ttại<br />
ại mỗi vvòng<br />
òng đđảmảm bảo tính<br />
chính xác cho thu<br />
thuật<br />
ật toán mặt nạ AES. Xét quá tr trình<br />
ình th<br />
thực<br />
ực thi mặt nạ logic AES, để đảm bảo<br />
không làm ảnh hư hưởng<br />
ởng đđến<br />
ến quá trình<br />
trình mã hóa ddữ<br />
ữ liệu của thuật toán AES th thìì thực hiện mặt<br />
thực<br />
<br />
<br />
<br />
Tạp<br />
ạp chí Nghi<br />
Nghiên<br />
ên cứu<br />
cứu KH&CN quân<br />
uân sự,<br />
sự, Số 655, 022 - 2020<br />
2020 171<br />
Công nghệ thông tin & Cơ sở toán học cho tin học<br />
<br />
nạ theo nguyên tắc sau:<br />
Nguyên tắc thứ nhất: Phép trộn cột, phép dịch vòng và phép cộng khóa là biến đổi<br />
tuyến tính nên thực hiện mặt nạ cho các phép biến đổi trên theo công thức:<br />
Oper ( r m) Oper ( r ) Oper ( m)<br />
Nguyên tắc thứ hai: Phép thay thế byte trong các vòng AES là biến đổi phi tuyến nên<br />
được thực hiện như sau:<br />
Sbox (r m) (Sbox (r) Sbox (m))<br />
<br />
Khi đó, mặt nạ cho phép thay thế byte Sbox là Sbox<br />
( r xor m) Sbox ( r ) xor m;<br />
với: Sbox<br />
m , m là đầu vào và đầu ra của mặt nạ phép thay thế byte.<br />
Mặt nạ AES được sử dụng không làm thay đổi cấu trúc của thuật toán mà chỉ tác động<br />
trên bản rõ của dữ liệu. Thực hiện mặt nạ theo 2 nguyên tắc trên, dữ liệu được xử lý đúng<br />
theo quy trình của các vòng. Do đó, không làm ảnh hưởng đến quy trình mã hóa, giải mã<br />
thiết bị.<br />
Hệ mật khóa đối xứng AES là một hệ mã khối với các chế độ mã hóa như ECB, CBC,<br />
CFB, OFB, CTR. Phép biến đổi đầu tiên của mặt na trong vòng AES là phép cộng khóa:<br />
128 bit dữ liệu bản rõ được xor với 128 bit khóa, thực hiện trên trường G F (2 4 ) . Sau đó,<br />
thực hiện phép thay thế byte, với mỗi bit được thay đổi ở đầu vào sẽ kéo theo sự thay đổi<br />
kết quả của các vòng khác. Do đó, khi thêm giá trị ngẫu nhiên r vào bản rõ ở đầu vào<br />
phép thay thế phi tuyến sẽ làm xáo trộn dữ liệu sang các vòng tiếp theo cho tới khi kết thúc<br />
mã hóa.<br />
Các phép biến đổi của AES đều tạo ra sự xáo trộn dữ liệu bản rõ nhưng nếu thực hiện<br />
lặp đi lặp lại nhiều lần cùng một phép biến đổi trên cùng một khối dữ liệu thì vết năng<br />
lượng là như nhau. Điều nay giúp cho kẻ tấn công có thể khai thác và lấy được một số<br />
thông tin cần thiết. Nhưng, nếu sử dụng mặt nạ AES với giá trị ngẫu nhiên r thì với mỗi<br />
lần thực hiện một phép biến đổi trên cùng một khối dữ liệu thì giá trị r được thêm vào là<br />
khác nhau. Khi đó, vết năng lượng thu được khi lặp đi lặp lại cùng một phép biến đổi trên<br />
cùng một khối dữ liệu là khác nhau. Vì thế, kẻ tấn công sẽ không có đủ cơ sở để thực hiện<br />
trích xuất dữ liệu bản rõ.<br />
Do thực hiện tính toán trên trường GF (2 8 ) sẽ làm tốn nhiều bộ nhớ và tốc độ mã hóa<br />
chậm. Vì vậy, đầu vào của S box trên trường GF (2 8 ) được biểu diễn dưới dạng: sh x sl<br />
với sh , sl là các phần tử 4 bit trên trường GF (24 ) . Phép chuyển đổi từ GF (2 8 ) sang<br />
GF (24 ) là một phép ánh xạ. Ở đầu ra của S box , sẽ thực hiện ánh xạ chuyển từ GF (24 ) sang<br />
GF (2 8 ) , đây là phép nhân bình phương GF (24 ) GF (24 ) , và phép nhân nghịch đảo. Mỗi<br />
biến đổi afin trong S box bao gồm phép biến đổi trên ma trận A88 và phép ánh xạ ngược.<br />
Đầu vào của hàm ánh xạ: ( r M ), M với [( r M ), M ] G F ( 2 8 );<br />
Đầu ra của hàm ánh xạ: ( r M ) , M với [( r M ) , M ] G F(2 4 );<br />
Hàm ánh xạ: ( r M M ) f ( r M M ) (1)<br />
Xử lý mặt nạ cho S – hộp<br />
M là giá trị bản rõ, không có mặt nạ, trong tất cả các giai đoạn biến đổi, các giá trị<br />
trung gian không phụ thuộc vào M r.<br />
<br />
<br />
172 B. H. Quyết, Đ. T. Cường, V. M. Tuấn, “Giải pháp mặt nạ AES … phân tích năng lượng.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
- Thực hiện phép nhân: M r với tham số ngẫu nhiên r 8 bit;<br />
- Thực hiện: ( M r ) x or ( r r ) A;<br />
- Sau khi thực hiện phép nghịch đảo A 1 trên trường G F (2 8 ) , thực hiện phép nhân<br />
mặt nạ và sử dụng các giá trị độc lập với M r để thiết lập mặt nạ logic;<br />
- Thực hiện: A1 1 ;<br />
- Phép biến đổi cuối cùng trong thay thế byte là thực hiện biến đổi Afin:<br />
x10 1 0 0 0 1 1 1 1 x0 1 <br />
<br />
x11 1 1 0 0 0 1 1 1 x1 1 <br />
x12 1 1 1 0 0 0 1 1 x2 0 <br />
<br />
x13 1 1 1 1 0 0 0 1 x3 0 <br />
<br />
x 1 1 1 1 1 0 0 0 x4 0 <br />
14 <br />
x15 0 1 1 1 1 1 0 0 x5 1 <br />
x 0 0 1 1 1 1 1 0 x6 1 <br />
16 <br />
x 0 0 0 1 1 1 1 1 x7 0 <br />
17 <br />
Tốc độ mã hóa của mặt nạ AES phụ thuộc vào các tính toán các khối S box , tiếp đến<br />
là phép nhân nghịch đảo song song. Các byte dữ liệu sẽ nội suy tuyến tính ở phép trộn<br />
cột, sau đó các byte được nhân với hệ số mở rộng và thêm các byte liền kề để được<br />
được ra 128 bit.<br />
Để thu được hệ số mở rộng, thực hiện hàm biến đổi afin ( A b ) cho cả 2 vế của<br />
phương trình (1) ta được:<br />
<br />
A r M M b Af 1 r M M b (2)<br />
<br />
Khi đó, ta có ánh xạ từ trường G F 2 8 sang G F 2 4 :<br />
<br />
f A r M b f (AM ) f A f 1<br />
r M M b (3)<br />
<br />
<br />
f A r M b f ( AM ) =[f ( A) f 1 z M ] f (b) f ( A) f 1(M ) (4)<br />
<br />
Maff f ( A) f 1 f (b)<br />
M aff f ( A) f 1<br />
3. TÍNH ĐÚNG ĐẮN CỦA GIẢI PHÁP<br />
Tấn công DPA lên thuật toán AES dựa trên phân tích thống kê năng lượng thu được tại<br />
thơi điểm thực hiện các phép biển đổi liên quan đến S-hộp và phép cộng khóa vòng dựa<br />
vào xác định thiết lập các hoạt động liên quan đến vị trí cụ thể thực thi các hoạt động. Trên<br />
cơ sở này, thời điểm thực hiện mặt nạ AES sẽ được áp dụng từ khi bắt đầu đưa thông điệp<br />
đầu vào và kết thúc khi nhận được bản mã ở đầu ra nên trong quá trình mã hóa các giá trị<br />
trung gian đều được che bởi mặt nạ bằng phép biến đổi Afin, phép cộng xor khối dữ liệu<br />
đầu vào với tham số ngẫu nhiên r.<br />
Trong mô hình này, mỗi bước của quá trình xử lý sẽ được che giấu vết năng lượng của<br />
giá trị trung gian. Chức năng này cung cấp một ràng buộc bảo mật cho các khối dữ kiệu<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 65, 02 - 2020 173<br />
Công nghệ thông tin & Cơ sở toán học cho tin học<br />
<br />
đang được xử lý bên trong thiết bị. Dấu vết năng lượng mà kẻ tấn công thu được không<br />
liên quan tới khối dữ liệu đang được xử lý.<br />
4. KẾT LUẬN<br />
Các giải pháp chống tấn công bằng phân tích năng lượng lên AES hiện nay chủ yếu là<br />
chống tấn công ở mức mạch [1, 7]. Trên thực tế, các giải pháp ở mức mạch chưa mang lại<br />
hiệu quả cao, gây tiêu tốn năng lượng, các mạch phải được thiết kế đặc thù và phức tạp<br />
nhưng chỉ làm giảm rò rỉ dữ liệu mà không ngăn chặn được tấn công. Trong bài báo này,<br />
thực hiện triển khai thêm tham số ngẫu nhiên vào bản rõ, sau đó thực hiện các phép biến<br />
đổi trong các vòng của AES. Mặt khác, thực hiện các phép tính trên trường GF (24 ) thay<br />
cho GF (28 ) giúp cho tốc độ tính toán nhanh hơn và tốn ít bộ nhớ phục vụ cho tính toán.<br />
Ngoài ra, sử dụng phép biến đổi Afin nên khối dữ liệu sẽ xáo trộn. Do đó vết năng lượng<br />
tiêu thụ của thiết bị mật mã mà kẻ tấn công thu được không có các đặc trưng liên quan tới<br />
khối dữ liệu cần được bảo vệ. Kẻ tấn công thiếu thông tin cơ sở để tổ chức tấn công vào<br />
thiết bị mã.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Nguyễn Hồng Quang, “Nghiên cứu giải pháp chống tấn công DPA”, 2015.<br />
[2]. Seungkwang Lee, “A Masked White-box Cryptographic Implementation for<br />
Protecting against Differential Computation Analysis”, 2017.<br />
[3]. Don Samuel, M. Muthuselvam, “Masked AES with Power Reduction using Pipeline<br />
Implementation for SAN”, 2015.<br />
[4]. Emmanuel Prouff và Matthieu Rivain, “Masking against Side-Channel Attacks: A<br />
Formal Security Proof”, 2013.<br />
[5]. Francesco Regazzoni1, Yi Wang, Francois-Xavier, “StandaertFPGA Implementations<br />
of the AES Masked Against Power Analysis Attacks”, 2012.<br />
[6]. Vasantha Kumara, Dr.Indumathi T, “A modernistic architecture of masked Advanced<br />
Encryption Standard algorithm for SAN”, 2015.<br />
[7]. Thomas De Cnudde, Oscar Reparaz, Begül Bilgin, Svetla Nikova, Ventzislav Nikov,<br />
Vincent Rijmen, “Masking AES with d+1 Shares in Hardware”, 2016.<br />
[8]. Gilles Barthe, Sonia Belaïd, François Dupressoir, Pierre-Alain Fouque, Benjamin<br />
Grégoire, Pierre-Yves Strub, Rébecca Zucchini, “Strong Non-Interference and Type-<br />
Directed Higher-Order Masking”, 2016.<br />
ABSTRACT<br />
A MASK METHOD ON AES IN AGAINST POWER ANALYSIS ATTACK<br />
Attacks with DPA power analysis are currently a threat to cryptographic<br />
devices, as it is a semi-invasive attack so the attacker can not detect and block it in<br />
time. There are many defense solutions to this kind of attack in that the solution<br />
against DPA attacks on block code is to use masking technicals. The block cyphers<br />
are used to hide the algorithm's operation loops and mask alternatives in the S-box.<br />
This article provides a logical mask for the AES algorithm to better conceal<br />
intermediate results against DPA attacks.<br />
Keywords: Power Analysis Attack; DPA; Mask–AES.<br />
<br />
Nhận bài ngày 29 tháng 10 năm 2019<br />
Hoàn thiện ngày 10 tháng 02 năm 2020<br />
Chấp nhận đăng ngày 17 tháng 02 năm 2020<br />
<br />
<br />
<br />
174 B. H. Quyết, Đ. T. Cường, V. M. Tuấn, “Giải pháp mặt nạ AES … phân tích năng lượng.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Địa chỉ: 1Bộ tư lệnh 86;<br />
2<br />
Viện Khoa học công nghệ quân sự.<br />
*Email: bachhongquyet@gmail.com.<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 65, 02 - 2020 175<br />
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn