Giải pháp mặt nạ AES chống tấn công phân tích năng lượng

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ả.

pdf6 trang | Chia sẻ: thanhle95 | Lượt xem: 477 | Lượt tải: 0download
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.
Tài liệu liên quan