Tóm tắt: Tấn công bằng phân tích năng lượng (Differential Power Analysis –
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
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
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ả.
6 trang |
Chia sẻ: thanhle95 | Lượt xem: 599 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Giải pháp mặt nạ AES chống tấn công phân tích năng lượng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Công nghệ thông tin & Cơ sở toán học cho tin học
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.” 170
GIẢI PHÁP MẶT NẠ AES
CHỐNG TẤN CÔNG PHÂN TÍCH NĂNG LƯỢNG
Bạch Hồng Quyết1*, Đinh Thế Cường2*, Vũ Mạnh Tuấn3*
Tóm tắt: Tấn công bằng phân tích năng lượng (Differential Power Analysis –
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
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
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ả.
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.
1. ĐẶT VẤN ĐỀ
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
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
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 đó
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
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
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
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
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
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
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
để 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
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.
Nghiên cứu đầu tiên được đề xuất bởi Goubin và Patarin cho hệ mật DES, sau đó có rất
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ỹ
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
thuật toán AES để chống lại tấn công bằng phân tích năng lượng.
2. GIẢI PHÁP MẶT NẠ AES
Các phép toán của hệ mật AES được thược hiện trên trường 8(2 )GF do đó khi sử dụng
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ì
các phép triển khai: phép thay thế byte phi tuyến (subbyte), phép trộn cột (mixcolumn),
phép cộng khóa (addroundkey) và phép dịch vòng (shiftRows) sẽ được thực hiện trên
trường 4(2 ).GF Khi đó, các giá trị đầu vào được ánh xạ từ 8(2 )GF sang 4(2 )GF , ngược
lại tại đầu ra của thuật toán các giá trị dữ liệu sẽ ánh xạ từ 4(2 )GF sang 8(2 )GF . Điều này
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ử
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
nhiên (hình 1, hình 2).
Trong đó:
- r là tham số mặt nạ;
- ra là kết quả của phép biến đổi Afin của 1r 15 lần trong phép thay thế byte 1 ( );r f r
- 1
raM là phép thay thế byte ( )M r ;
- 2
raM là phép dịch vòng ( 1
raM ), có thể thực hiện riêng từng phép dịch vòng 1( )M và
dịch vòng ( )ra với mỗi byte ra là độc lập nhau;
Nghiên c
Tạp chí Nghi
( )ra
Hình 1
cộng xor với hằng số b.
chính xác cho thu
không làm
-
-
Lựa chọn số ngẫu nhi
Sử dụng tham số ngẫu nhi
Khi đó, giá tr
Ch
Bi
Th
Trong m
Đặt
Th
Bi
Có th
2M
với mỗi byte
2
raM
ọn ngẫu nhi
ến đổi Afin
ực hiện phép biến đổi afin
r
ực hiện biến đổi Afin, thu đ
ến đổi Afin
ứu khoa học công nghệ
ra là phép tr
là phép c
. M
0 00 01 02 03 04 05 06 07[8]={r ,r ,r ,r ,r ,r ,r ,r }
ể tính toán v
ên c
ặt nạ thuật toán AES
ặt nạ AES n
ảnh h
ứu KH&CN
ị mặt nạ l
ư
ộn cột
ra
ộng khóa v
ên s
f
r1 đư
ật toán mặt nạ AES. Xét quá tr
ởng
là đ
ố
ợc thực hiện 15 lần.
à gi
đ
ộc lập nhau;
ên
à
r0 có đ
ày, bi
ữ c
ến quá tr
quân s
( )M
r
ên r
m
ến đổi Afin chỉ d
ùng m
2
ra
òng
' v
ộ d
ự, Số
, có th
( )M
.
để che
ới:
ài 1 byte, l
( )A X b
ược
ột mặt nạ AES ngẫu nhi
ình mã hóa d
3
ra
m m r
r
65
ực hiện ri
,
giá tr
.
1 10 11 12 13 14 15 16 17
, 02
ra
Hình 2
ặp lại r
1
{r ,r ,r ,r ,r ,r ,r ,r }.
- 20
r là các giá tr
ị trung gian
.
ành cho tham s
ữ liệu của thuật toán AES th
20
êng t
0
, bao g
ình th
. Quá trình th
15 l
ừng phép trộn cột
ần ta đ
ồm phép nhân ma trận
ực thi mặt nạ logic AES, để đảm bảo
ị mặt nạ đại
m
.
ư
ố
ên t
ực thi mặt nạ logic
ợc chuỗi
r.
ại mỗi v
di
( )M
ện.
r ={ , ..., }.
òng
2
r r r
đ
ì th
và tr
0 0 0
A
ảm bảo tính
ực hiện mặt
.
16
, sau đó
171
ộn cột
Công nghệ thông tin & Cơ sở toán học cho tin học
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.” 172
nạ theo nguyên tắc sau:
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
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:
( ) ( ) ( )Oper r m Oper r Oper m
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
được thực hiện như sau:
( ) ( ( ) ( ))box box boxS r m S r S m
Khi đó, mặt nạ cho phép thay thế byte boxS là boxS
với: ( or ) ( ) or ;box boxS r x m S r x m
,m m là đầu vào và đầu ra của mặt nạ phép thay thế byte.
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
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
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ã
thiết bị.
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,
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:
128 bit dữ liệu bản rõ được orx với 128 bit khóa, thực hiện trên trường 4(2 )GF . Sau đó,
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
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
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
mã hóa.
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
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
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ố
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
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à
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
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
trích xuất dữ liệu bản rõ.
Do thực hiện tính toán trên trường 8(2 )GF sẽ làm tốn nhiều bộ nhớ và tốc độ mã hóa
chậm. Vì vậy, đầu vào của boxS trên trường
8(2 )GF được biểu diễn dưới dạng: sh x sl
với ,sh sl là các phần tử 4 bit trên trường 4(2 )GF . Phép chuyển đổi từ 8(2 )GF sang
4(2 )GF là một phép ánh xạ. Ở đầu ra của boxS , sẽ thực hiện ánh xạ chuyển từ
4(2 )GF sang
8(2 )GF , đây là phép nhân bình phương 4 4(2 ) (2 )GF GF , và phép nhân nghịch đảo. Mỗi
biến đổi afin trong boxS bao gồm phép biến đổi trên ma trận 8 8A và phép ánh xạ ngược.
Đầu vào của hàm ánh xạ: ( ),r M M với 8[( ), M ] (2 );r M G F
Đầu ra của hàm ánh xạ: ( ) ,r M M với 4[( ) , M ] GF(2 );r M
Hàm ánh xạ: ( ) ( )r M M f r M M (1)
Xử lý mặt nạ cho S – hộp
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ị
trung gian không phụ thuộc vào .M r
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 65, 02 - 2020 173
- Thực hiện phép nhân: M r với tham số ngẫu nhiên r 8 bit;
- Thực hiện: ( ) or ( ) ;M r x r r A
- Sau khi thực hiện phép nghịch đảo 1A trên trường 8(2 )GF , thực hiện phép nhân
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;
- Thực hiện: 1 1A ;
- Phép biến đổi cuối cùng trong thay thế byte là thực hiện biến đổi Afin:
10 0
11 1
12 2
13 3
14 4
15 5
16 6
17 7
1 0 0 0 1 1 1 1 1
1 1 0 0 0 1 1 1 1
1 1 1 0 0 0 1 1 0
1 1 1 1 0 0 0 1 0
1 1 1 1 1 0 0 0 0
0 1 1 1 1 1 0 0 1
0 0 1 1 1 1 1 0 1
0 0 0 1 1 1 1 1 0
x x
x x
x x
x x
x x
x x
x x
x x
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 boxS , tiếp đến
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
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
được ra 128 bit.
Để 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
phương trình (1) ta được:
1 A r M M b Af r M M b (2)
Khi đó, ta có ánh xạ từ trường 82GF sang 42GF :
1 ( ) f A r M b f AM f A f r M M b
(3)
1 1( ) = ( ) )[ ] ( ) ( ) (f A r M b f AM f A f z M f b f A f M
(4)
1
1
( ) ( )
( )
Maff f A f f b
M aff f A f
3. TÍNH ĐÚNG ĐẮN CỦA GIẢI PHÁP
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
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
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
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
đầ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ị
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
đầu vào với tham số ngẫu nhiên r.
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
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
Công nghệ thông tin & Cơ sở toán học cho tin học
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.” 174
đ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
liên quan tới khối dữ liệu đang được xử lý.
4. KẾT LUẬN
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à
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
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
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,
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
đổ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 4(2 )GF thay
cho 8(2 )GF 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.
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
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
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
thiết bị mã.
TÀI LIỆU THAM KHẢO
[1]. Nguyễn Hồng Quang, “Nghiên cứu giải pháp chống tấn công DPA”, 2015.
[2]. Seungkwang Lee, “A Masked White-box Cryptographic Implementation for
Protecting against Differential Computation Analysis”, 2017.
[3]. Don Samuel, M. Muthuselvam, “Masked AES with Power Reduction using Pipeline
Implementation for SAN”, 2015.
[4]. Emmanuel Prouff và Matthieu Rivain, “Masking against Side-Channel Attacks: A
Formal Security Proof”, 2013.
[5]. Francesco Regazzoni1, Yi Wang, Francois-Xavier, “StandaertFPGA Implementations
of the AES Masked Against Power Analysis Attacks”, 2012.
[6]. Vasantha Kumara, Dr.Indumathi T, “A modernistic architecture of masked Advanced
Encryption Standard algorithm for SAN”, 2015.
[7]. Thomas De Cnudde, Oscar Reparaz, Begül Bilgin, Svetla Nikova, Ventzislav Nikov,
Vincent Rijmen, “Masking AES with d+1 Shares in Hardware”, 2016.
[8]. Gilles Barthe, Sonia Belaïd, François Dupressoir, Pierre-Alain Fouque, Benjamin
Grégoire, Pierre-Yves Strub, Rébecca Zucchini, “Strong Non-Interference and Type-
Directed Higher-Order Masking”, 2016.
ABSTRACT
A MASK METHOD ON AES IN AGAINST POWER ANALYSIS ATTACK
Attacks with DPA power analysis are currently a threat to cryptographic
devices, as it is a semi-invasive attack so the attacker can not detect and block it in
time. There are many defense solutions to this kind of attack in that the solution
against DPA attacks on block code is to use masking technicals. The block cyphers
are used to hide the algorithm's operation loops and mask alternatives in the S-box.
This article provides a logical mask for the AES algorithm to better conceal
intermediate results against DPA attacks.
Keywords: Power Analysis Attack; DPA; Mask–AES.
Nhận bài ngày 29 tháng 10 năm 2019
Hoàn thiện ngày 10 tháng 02 năm 2020
Chấp nhận đăng ngày 17 tháng 02 năm 2020
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 65, 02 - 2020 175
Địa chỉ: 1Bộ tư lệnh 86;
2Viện Khoa học công nghệ quân sự.
*Email: bachhongquyet@gmail.com.