Bài viết đề xuất giải pháp chống tấn công bằng phân tích năng lượng trên thẻ thông minh bằng cách sử dụng thuật toán Elliptic – Curve25519 làm thuật toán mã hóa dữ liệu trên thẻ thông minh. Giải pháp được xây dựng trên cơ sở toán học của các thuật toán mật mã nhằm mục đích chống rò rỉ và mất cắp dữ liệu qua các kênh bên.
Nghiên cứu khoa học công nghệ GIẢI PHÁP CHỐNG TẤN CƠNG BẰNG PHÂN TÍCH NĂNG LƯỢNG DỰA TRÊN THUẬT TỐN ELLIPTIC - EDWARD Bạch Hồng Quyết*, Đinh Thế Cường, Vũ Mạnh Tuấn Tóm tắt: Bài báo đề xuất giải pháp chống cơng phân tích lượng thẻ thơng minh cách sử dụng thuật tốn Elliptic – Curve25519 làm thuật tốn mã hóa liệu thẻ thông minh Giải pháp xây dựng sở toán học thuật toán mật mã nhằm mục đích chống rị rỉ cắp liệu qua kênh bên Hệ mã Elliptic – Curve25519 hệ mã đường cong đạt chuẩn NIST – 256, với độ an toàn cao tốc độ xử lý nhanh ứng dụng rộng rãi thiết bị bảo mật tương lai Từ khóa: Chống cơng phân tích lượng, Chống cơng kênh bên, Curve25519 MỞ ĐẦU Tấn cơng phân tích lượng vi sai (DPA) mối đe dọa tiềm tàng đến an toàn thiết bị mật mã, đặc biệt thiết bị nhúng thẻ thông minh Tấn công DPA phương pháp thám mã cách đo dự đoán lượng tiêu thụ thiết bị hoạt động Để công DPA, kẻ thám mã cần phải thực số lượng lớn phép đo Sau đó, thực thống kê, phân tích sai khác dấu vết lượng thu với giá trị lượng dự đoán dựa sở “chia để trị” [1], tức dự đoán phần nhỏ khóa bí mật thời điểm, sau kết hợp với giá trị biết khác trở thành đầu vào để dự đoán hoạt động xử lý liệu bên thuật toán mật mã Nếu hoạt động liên quan đến khóa bí mật (hoặc phần khóa bí mật), kẻ thám mã sử dụng thơng tin có từ thám mã để trích xuất bit khóa bí mật, sau phục hồi khóa bí mật Song song với hoạt động thám mã nghiên cứu chống thám mã dựa sở lý thuyết, thông qua thử nghiệm để đưa giải pháp thực tế Giải pháp ngăn chặn cơng phân tích lượng chia làm hai loại sau: - Chống cơng phân tích lượng mức thuật toán: Làm cho lượng tiêu thụ biến thiên ngẫu nhiên trình hoạt động thiết bị cho lượng không liên quan đến kết trung gian Có thể ngẫu nhiên hóa dấu vết lượng tiêu thụ cách làm xáo trộn hoạt động mật mã kết hợp với chu kì hoạt động mô – đun - Chống cơng phân tích lượng mức mạch: Sử dụng mạch có tính chất đặc thù, làm cho lượng tiêu thụ không phụ thuộc vào liệu xử lý Tức lượng tiêu thụ qua mạch liệu đầu vào khác lượng không đổi không xử lý liệu, tương quan lượng tiêu thụ liệu đầu vào kẻ cơng khơng có cở sở để thực hoạt động thám mã CHỐNG TẤN CƠNG PHÂN TÍCH NĂNG LƯỢNG Ở MỨC MẠCH Chống cơng phân tích lượng mức mạch: phương pháp chống dựa vào cấu trúc mạch, tức dựa vào nguyên lý chế hoạt động Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 105 Công nghệ thông tin mạch Giải pháp sử dụng kỹ thuật phẳng dịng điện [11] dấu tín hiệu cách thêm mạch giám sát dòng vào khối mật mã làm cho lượng tiêu thụ không đổi [12] Ngồi ra, thay đổi ngẫu nhiên điện áp nguồn tần số mạch ngắt xử lý cách ngẫu nhiên trình thực thuật toán mật mã làm cho thời điểm thực hoạt động trung gian ngẫu nhiên [9][10] Tuy nhiên, kiến trúc mạch phức tạp, gây tiêu tốn tài nguyên lượng, khó đạt thực tế, làm giảm tương quan lượng tiêu thụ thực tế với liệu xử lý mà không ngăn chặn công CHỐNG TẤN CƠNG BẰNG PHÂN TÍCH NĂNG LƯỢNG Ở MỨC THUẬT TOÁN Năm 2007, Bernstein đề xuất dạng hệ mật đường cong Elliptic Curve25519[11] Hiện tại, Curve25519 hỗ trợ ứng dụng bảo mật mặt bảo mật phần mềm phần cứng mà khơng gây khó khăn việc xử lý liệu Phương trình đường cong Elliptic Edward dạng Curve25519[1]: E : y x 486662 x x mod 2 255 19 - Phép nhân Montgomery Curve25519 Hình Phép cơng điểm nhân đôi điểm theo thang Montgomery Thang Montgomery đề xuất để tăng tốc phép nhân vô hướng hệ mật đường cong Elliptic dạng Montgomery Elliptic Edward dạng Curve 25519 (mọi đường cong Edwards xoắn trường phi nhị phân Fp chuyển thành đường cong Montgomery tương ứng trường Fp [2]) Trong thuật toán này, 106 tọa độ x _ xP điểm P biểu diễn dạng B H Quyết, Đ T Cường, V M Tuấn, “Giải pháp chống công … Elliptic - Edward.” Nghiên cứu khoa học công nghệ ( X p , Z p ) x p Xp Zp [2] Giả sử có điểm P điểm, Q ( X i , Yi , Z i ) , theo dõi hai điểm trung gian Q , Q độ sai khác Q Q P Trên Curve25519 phép cộng điểm phép nhân đôi điểm định nghĩa bước thang Montgomery Theo đó, Curve25519 , phép cộng điểm nhân đôi điểm dựa vào tọa độ x , z hai điểm Q , Q [8] Hình mơ tả thang Montgomery Các bước tính: Z 2Q 2 x z x z xz u Axz z X 2Q x z 2 2 X Q Q ' xx ' zz ' Z Q Q ' xz ' zx ' x1 Ta thấy rằng, khơng phải tính tốn tung độ y giúp tiết kiệm nhiều phép tính, dẫn tới thuật toán nhanh so với thuật toán nhị phân cổ điển yêu cầu nhớ [8] Trên Curve25519, phép nhân vô hướng k P bao gồm 255 phép nhân đôi điểm 1 phép cộng điểm, thực theo sau phép nhân nghịch đảo X Z Hình cho thấy thuật tốn cho có điểm Q , Q, Q1 với Q1 Q , Q Mỗi phép cộng điểm (hoặc trừ) kết hợp với phép nhân điểm ngược lại giúp cho việc thiết kế phần cứng hiệu Ngồi ra, hoạt động ln thực thi nhau, độc lập với liệu xử lý tính tốn thực liên tục, có khả ngăn chặn cơng thời gian (timing attacks) 3.1 Curve25519 – đơn lõi Thực thi thuật tốn Curve25519 vào thiết bị mật mã, bên cạnh tích hợp xử lý tín hiệu kỹ thuật số (Digital Signal Processors – DSP) vào mô – đun mật mã để hỗ trợ q trình tính tốn Hình mô tả thiết kế mô – đun nhân điểm - Modul cộng điểm Modul cộng điểm thực tính c a b mod p với khối kỹ thuật xử lý tín hiệu số DSP DSP thực thi hoạt động ( c a b ), DSP cịn lại làm nhiệm vụ dự đoán kết c c p Giá trị c, c lưu trữ BRAM – thứ dán nhãn để phân biệt với - Modul nhân điểm Thành phần chiếm nhớ lớn Curve25519 modul nhân điểm, với 18 khối DSP giúp cho trình xử lý liệu Curve25519 nhanh Một modul nhân điểm gồm 55 chu kì, 34 chu kì dùng cho phép nhân điểm thực tế, chu kì cịn lại dùng để tải lưu trữ liệu Hình cho thấy, thực tế có modul nhân điểm có 55 chu kì, cịn modul nhân điểm Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 107 Công nghệ thông tin thực với độ trễ 17 chu kì Hình tổng quan Curve25519 – đơn lõi Hình Mơ – đun nhân điểm Hình Tổng quan Curve25519 Curve25519 sử dụng hệ tọa độ ánh xạ ngẫu nhiên để che giấu điểm công khai đường cong giá trị trung gian tính từ cơng thức cộng điểm nhân đơi điểm Khi đó, điểm P đường cong ánh xạ thành điểm P : P ( X , Y ) P ( X , Y , Z ) 108 B H Quyết, Đ T Cường, V M Tuấn, “Giải pháp chống công … Elliptic - Edward.” Nghiên cứu khoa học công nghệ Mặt khác, phép cộng điểm nhân đôi điểm đường cong Curve25519 phụ thuộc vào tọa độ ( X , Z ) [8] Giả sử: Z Khi đó, điểm P Curve25519 che giấu điểm P với: P P ( X , Z ) ( X , ) với giá trị ngẫu nhiên 255bit Giá trị điểm P ( X , ) thu từ phép nhân điểm thay cho điểm P ( X , Y ) lưu trữ BRAM, bên cạnh tất giá trị khác số việc tính tốn khơng bị ảnh hưởng Các giá trị chọn ngẫu nhiên cho thực hiện, thực phép vô hướng cho điểm thuộc đường cong có đầu vào giống kết trung gian khác trình thực phép nhân điểm kết cuối xác Mục đích thiết kế Curve25519 – đơn lõi để hỗ trợ thực phép cộng điểm nhân điểm hệ tọa độ ánh xạ theo bước thuật toán Montgomery Bước cuối thuật toán, lõi mật mã thực thi phép nhân điểm nghịch đảo để chuyển đổi đầu từ hệ tọa độ ánh xạ trở hệ tọa độ ban đầu Bộ vi xử lý số học (DSP) hỗ trợ hai chế độ hoạt động bản: kết hợp chức nhân đôi điểm cộng điểm vào modul Hình cho thấy lõi sử dụng BRAMs BRAM – thứ nhận kết phép cộng điểm, sau chuyển kết thành đầu vào cho phép nhân điểm BRAM – thứ hai lưu trữ kết phép nhân điểm liệu ban đầu, BRAM hoạt động song song với Trước phép nhân điểm, có địa tạo dùng để lưu giá trị trung gian kết lưu trữ BRAM Mỗi BRAM gồm bit nên sinh địa ngẫu nhiên sinh sau phép nhân điểm thay địa cố định Địa ban đầu xác định thông tin phản hồi tuyến tính (LFSP) dựa cơng thức x x Khi đó, sử dụng 6bit ngẫu nhiên mở rộng đầu vào cho LFSP Sau lõi Curve25519 thực phép nhân đôi điểm LFSP địa ngẫu nhiên lưu để sử dụng cho phép nhân điểm tiếp theo, khởi tạo BRAM giá trị số Do địa sinh ngẫu nhiên sau phép nhân điểm kéo theo giá trị lượng tiêu thụ thiết bị thu mang tính chất ngẫu nhiên Vì vậy, kẻ thám mã khơng phục hồi khóa bí mật 3.2 Curve25519 – đa lõi Để nâng cao tốc độ xử lý liệu Curve25519 – đa lõi thiết kế chuyên dụng hỗ trợ bước chức (hoạt động nhân điểm cộng điểm) mà không hỗ trợ phép nghịch đảo Phép nghịch đảo thực cuối modul chuyên dụng khác Hình mô tả thiết kế Curve25519 đa – lõi - Modul tính phần tử nghịch đảo Modul tìm phần tử nghịch đảo xây dựng dựa sở thuật toán Euclid mở rộng, giúp cho tốc độ xử lý liệu nhanh Các lõi hoạt động đồng thời độc lập với Dữ liệu đầu vào chia thành gói nhỏ phân phối tới lõi trạng thái “sẵn sàng”, tạo xáo trộn liệu Mặt khác, lõi hoạt động đánh dấu trạng thái Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 109 Công nghệ thông tin “bận” Sau đó, lõi thực tính tốn xong kết đưa tới mơ – đun tính phần tử nghịch đảo lõi trở trạng thái “sẵn sàng” Do đó, tốc độ xử lý liệu nâng lên nhiều làm tăng thêm xáo trộn ngẫu nhiên lượng tiêu thụ thiết bị qua lõi, giúp ngăn chặn cơng Hình Curve25519 - đa lõi KẾT LUẬN Trên thực tế, giải pháp chống cơng phân tích lượng vi sai thời điểm chưa hoàn tồn triệt để Để cơng DPA thành cơng, kẻ công cần tiếp cận thiết bị mật mã để đo đại lượng vật lý phát sinh từ thiết bị trình hoạt động Như vậy, để chống cơng việc giữ bí mật thuật tốn mật mã sử dụng bảo vệ chống truy cập vật lý đến thiết bị Tuy nhiên, cách thụ động có điều kiện áp dụng cho số thiết bị đặc biệt Hai kỹ thuật Curve25519 – đơn lõi hay Curve25519 – đa lõi cung cấp mức độ bảo mật cao, ứng dụng vào thiết bị mật mã khác đặc biệt thích hợp với vi xử lý hay vi điều khiển sử dụng phổ biến thẻ thông minh Năng lượng tiêu thụ thực tế thiết bị độc lập tới liệu cần bảo vệ, ngăn chặn cơng phân tích lượng vi sai TÀI LIỆU THAM KHẢO [1] Pascal Sasdrich, Tim Guneysu, “Implementing Curve25519 for Side-ChannelProtected Elliptic Curve”, 2016 [2] Michael Hutter · Christof Paar · Ana Helena Sánchez, "High-speed Curve25519 on 8-bit, 16-bit, and 32-bit microcontrollers”, 2015 [3] Wesley Janssen, “Curve25519 in 18 tweets”, 2014 [4] Pascal Sasdrich, Tim Guneysu, “Efficient Elliptic-Curve Cryptography using Curve25519 on Reconfigurable Devices”, 2014 110 B H Quyết, Đ T Cường, V M Tuấn, “Giải pháp chống công … Elliptic - Edward.” Nghiên cứu khoa học công nghệ [5] Prof Dr Tanja Lange, Rick van Galen, “A Performance Study of X25519 on Cortex-M3 and M4”, 2015 [6] Fabrizio De Santis, Georg Sigl, “Towards Side-Channel Protected X25519 on ARM Cortex-M4 Processors”, 2015 [7] Đinh Quốc Tiến, Đỗ Đại Chí, “Về cơng gây lỗi hệ mật đường cong elliptic dựa vào đường cong xoắn”, 2017 [8] Daniel J Bernstein, Tanja Lange, “Faster addition and doubling on elliptic curves”, năm 2007 [9] S Yang, “Power Attack Resistant Cryptosystem Design: A Dynamic Voltage and Frequency,Conf on Design, Automation and Test in Europe, Washington DC”, 2005 [10].C Clavier, J Coron, N Dabbous, “Differential Power Analysis in the Presence of Hardware Countermeasures, Workshop on CHES London, Springer-Verlag” [11] R Muresan, “Current flattening in software and hardware for security applications, Conf on hardware/software codesign and system synthesis”, 2004 [12].D Mesquita đồng nghiệp, “Current mask generation: a transistor level security against DPA attacks, Integrated circuits and system design”, 2005 ABSTRACT A SOLUTION FOR DEFENDING AGAINST POWER ANALYSIS ATTACKS WITH ELLIPTIC-EDWARD ALGORITHM In this paper, a solution for defending against power analysis attacks on smartcards by applying Elliptic-Curve25519 algorithm to encrypt data on cards is proposesed The solution is based on the mathematics of encryption algorithms in order to prevent the leakage and lost of data through side channels The proposed Elliptic-Curve25519 algorithm is an elliptic curve cryptography approved by NIST-256 with high security and high speed, and could be widely used in future encryption devices Keywords: Resistance Against Differential Power Analysis, Resistance Against Side Channel Attack, Curve25519 Nhận ngày 16 tháng năm 2017 Hoàn thiện ngày 26 tháng 11 năm 2017 Chấp nhận đăng ngày 28 tháng 11 năm 2017 Địa chỉ: Viện CNTT, Viện KHCN quân * Email: bachhongquyet@gmail.com Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 111 ... thực tế với liệu xử lý mà không ngăn chặn công CHỐNG TẤN CƠNG BẰNG PHÂN TÍCH NĂNG LƯỢNG Ở MỨC THUẬT TOÁN Năm 2007, Bernstein đề xuất dạng hệ mật đường cong Elliptic Curve25519[11] Hiện tại, Curve25519... “Efficient Elliptic- Curve Cryptography using Curve25519 on Reconfigurable Devices”, 2014 110 B H Quyết, Đ T Cường, V M Tuấn, ? ?Giải pháp chống công … Elliptic - Edward. ” Nghiên cứu khoa học công nghệ... tăng thêm xáo trộn ngẫu nhiên lượng tiêu thụ thiết bị qua lõi, giúp ngăn chặn cơng Hình Curve25519 - đa lõi KẾT LUẬN Trên thực tế, giải pháp chống cơng phân tích lượng vi sai thời điểm chưa hồn