Trong bài viết: “Về một phương pháp tấn công kênh kề lên mã khối Kalyna trên hệ thống Analyzr”[1], nhóm tác giả đã giới thiệu chi tiết về tấn công kênh kề (Side Channel Attack – SCA), dưới đây là một số nội dung cơ bản về loại tấn công này.
Tấn công kênh kề [2] là một phương pháp tấn công khôi phục khóa bí mật của một thuật toán mã hóa dựa vào các đầu ra vật lý được tạo ra do quá trình hoạt động của thiết bị phần cứng mật mã, ví dụ như âm thanh, bức xạ tia hồng ngoại, độ trễ thời gian, nguồn tiêu thụ và bức xạ điện từ. Thông tin rò rỉ này có thể được phân tích thống kê để tìm ra các mối liên quan đến những phép tính cơ bản được cài đặt trong thiết bị mật mã hoặc là khóa bí mật.
Tấn công kênh kề có thể khôi phục lại khóa bí mật trong khi hệ thống vẫn hoạt động bình thường mà không hề làm thay đổi phần cứng. Nhiều tham số có thể được ứng dụng trong tấn công kênh kề, nhưng phổ biến là 3 tham số chính: thời gian, nguồn điện tiêu thụ và tín hiệu bức xạ [3].
Trong nội dung này, nhóm tác giả sẽ trình bày sơ lược về kết quả thực hành tấn công kênh kề lên mã hóa RSA trên điện thoại thông minh của Viện Khoa học – Công nghệ mật mã.
Các bước thực hiện
Để thực hiện tấn công kênh kề, nhóm tác giả đã thực hiện các bước sau:
Bước 1: Xây dựng chương trình mã hóa RSA trên điện thoại thông minh sử dụng hệ điều hành Android
Để phát triển chương trình mã hóa RSA trên điện thoại thông minh, nhóm tác giả xây dựng một ứng dụng bằng ngôn ngữ Java. Ứng dụng tiến hành mã hóa bản rõ với khóa bí mật được lưu trữ trong điện thoại. Sau đó điện thoại hiện thì ra giá trị bản mã ở phần Encrypted Message và khóa bí mật ở phần D. Nếu muốn kiểm tra kết quả mã hóa đúng không, người tấn công có thể bấm nút Decrypt encryptedtext để giải mã khôi phục lại bản rõ. Hình 1 là chương trình thực thi mã hóa RSA trên điện thoại thông minh.
Hình 1. Giao diện của ứng dụng Android thực hiện mã hóa giải mã RSA
Bước 2: Thu vết năng lượng mã hóa RSA trên điện thoại thông minh
Để thực hiện bước này, cần tìm ra các phương pháp đánh dấu vị trí thực thi mã hóa RSA trên vết năng lượng thu được. Trên điện thoại di động, việc tích hợp tín hiệu báo hiệu trở nên phức tạp do thiết bị giao tiếp với CPU thông qua hệ điều hành và chạy nhiều chương trình ngầm, làm cho việc xác định vị trí thực thi mã hóa RSA trở thành thách thức. Để giải quyết vấn đề này, nhóm đã phát triển một chương trình điều khiển điện thoại thông qua Android Debug Bridge (ADB). Chương trình này mô phỏng thao tác của người dùng trên màn hình điện thoại và gửi bản rõ từ máy tính xuống điện thoại qua cổng COM, giúp quản lý quá trình mã hóa hiệu quả, bao gồm các khâu như sau:
Hình 2. Mô hình thu vết năng lượng trên điện thoại
- B1: Máy tính gửi lệnh chụp xuống máy phân tích phổ.
- B2: Máy tính điều khiển điện thoại bắt đầu quá trình mã hóa RSA thông qua ADB.
- B3: Máy phân tích phổ tiến hành chụp vết năng lượng tại tần số mong muốn.
- B4: Máy phân tích phổ nhận kết quả từ điện thoại và gửi về máy tính để phân tích. Hình 2 thể hiện mô hình hoạt động thu vết năng lượng trên điện thoại thông minh.
Bước 3: Thu thập và chuẩn bị dữ liệu
Quá trình thu thập vết năng lượng trên điện thoại thông minh được tiến hành thông qua bức xạ điện từ. Việc đo đạc này sử dụng các thiết bị đang được trang bị tại phòng thí nghiệm. Các vết năng lượng được thu qua máy phân tích phổ, thiết bị này kết nối với máy tính để điều khiển tự động quá trình chụp vết và đảm bảo thu thập dữ liệu chính xác. Kết quả vết năng lượng thu được thể hiện trong Hình 3.
Hình 3. Vết năng lượng thu được từ máy phân tích phổ
Khi điện thoại thực hiện mã hóa, cường độ năng lượng bức xạ điện từ ra bên ngoài thấp hơn đáng kể so với khi điện thoại không thực hiện mã hóa. Đặc điểm này được sử dụng như một tín hiệu báo hiệu để xác định điểm bắt đầu và kết thúc của quá trình mã hóa RSA trên điện thoại.
Bước 4: Phân tích tìm khóa bí mật
Việc tính toán thời gian thực hiện giữa các bit 0 và 1 được sử dụng để phân tích tìm khóa bí mật. Trong RSA, số lượng phép nhân thực hiện khác nhau dựa trên giá trị của từng bit trong khóa. Cụ thể, bit 0 chỉ cần thực hiện phép bình phương, trong khi bit 1 cần thực hiện cả phép bình phương và phép nhân. Do đó, thời gian thực thi của bit 1 dài hơn so với bit 0. Bằng cách đo lường thời gian thực thi mã hóa, và có thể suy ra giá trị của các bit trong khóa bí mật.
Kết quả thu được
Hình 4. Vết năng lượng thực hiện RSA16 trên điện thoại thông minh
Kết quả của quá trình phân tích từ vết năng lượng trong Hình 4 như sau:
Khóa tìm thấy: 1010100101100
Khóa thực tế: 1011000101101 => Tỉ lệ khóa đúng 54%
Hình 5. Vết năng lượng thực hiện RSA32 trên điện thoại thông minh
Kết quả của quá trình phân tích từ vết năng lượng trong Hình 5 như sau:
Khóa tìm thấy: 110010000111011100010010111
Khóa thực tế: 10101011011101110001001100001 => Tỉ lệ khóa đúng 52%
Kết quả của quá trình phân tích từ vết năng lượng trong Hình 6 như sau:
Hình 6. Vết năng lượng thực hiện RSA128 trên điện thoại thông minh
Khóa tìm thấy: 1010111100010010001111011000000001001100000111110111011001010000101110111000111 10100010101001001111010111110101100011011100000
Khóa thực tế: 1000011010110011101111011011111111001110100110111101011101100110110111010111111 10010101011111011011011000111101101010111111 => Tỉ lệ khóa đúng 19%
Các kết quả thu được cho thấy khả năng rò rỉ thông tin qua kênh kề của thuật toán RSA thực hiện trên điện thoại thông minh. Tuy nhiên, kết quả chỉ mới đạt được mức khôi phục một phần khóa bí mật của RSA, chưa thể khôi phục toàn bộ khóa bí mật. Nguyên nhân là do trong quá trình đo đạc và tính toán gặp nhiều khó khăn bởi chip xử lý của điện thoại thực hiện nhiều chương trình ngầm và bức xạ điện từ từ các thành phần của điện thoại như màn hình gây nhiễu lớn, từ đó làm giảm độ chính xác của dữ liệu. Những yếu tố này tạo ra thách thức lớn trong việc xác định chính xác thời điểm mã hóa và thu thập dữ liệu cần thiết cho việc tấn công.
Bằng cách sử dụng phương pháp tấn công kênh kề lên thuật toán mã hóa RSA trên điện thoại thông minh, nhóm tác giả đã khôi phục lại một phần khóa bí mật thông qua tính toán thời gian thực thi của RSA. Mặc dù cuộc tấn công chỉ khai thác được một phần của khóa, nhóm đã xác định được đặc trưng của bức xạ trên chip điện thoại thông minh khi thực thi mã hóa RSA. Kết quả của bài báo chứng minh rằng khóa bí mật của RSA có thể bị lộ thông qua phương pháp tấn công kênh kề lên điện thoại thông minh. Các nghiên cứu tiếp theo sẽ tập trung vào các biện pháp cải thiện khả năng thu thập vết năng lượng tốt hơn và tăng tỉ lệ khôi phục khóa bí mật của thuật toán mã hóa RSA trên điện thoại thông minh.
TÀI LIỆU THAM KHẢO [1]. TS. Đinh Quốc Tiến, Phạm Hà Hải, Về một phương pháp tấn công kênh kề lên mã khối Kalyna, Tạp chí An toàn thông tin số 4 (074) 2023. [2]. Kocher P., Jaffe J., Jun B., et al., Introduction to differential power analysis, Journal of Cryptographic Engineering, 2011. [3]. Nguyễn Như Tuấn, Tấn công kênh kề trên các thiết bị mật mã, Tạp chí An toàn thông tin số 3 (011) 2009. |
Phạm Hà Hải, TS. Lê Văn Hải - Viện Khoa học - Công nghệ mật mã
14:00 | 04/03/2024
09:00 | 18/08/2021
08:00 | 04/04/2024
09:00 | 13/12/2022
Chuyển đổi số hiện là xu thế tất yếu trên toàn thế giới. Tại Việt Nam, quá trình chuyển đổi số đã bắt đầu diễn ra và đã đạt được những kết quả tích cực ở cả 3 trụ cột là Chính phủ số, kinh tế số và xã hội số. Chuyển đổi số là quá trình áp dụng các công nghệ mới trong hệ sinh thái công nghệ số. Bài viết nghiên cứu tổng quan về một số công nghệ nền tảng cũng như xu hướng chuyển đổi số ở Việt Nam.
16:00 | 03/09/2021
Vào thập kỷ 1980, các tổ chức/doanh nghiệp và một số cá nhân bắt đầu sử dụng máy FAX để truyền đi các tài liệu quan trọng. Mặc dù chữ ký trên các tài liệu này vẫn thể hiện trên giấy nhưng quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử. Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số định dạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với thiết bị màn hình cảm ứng tại các quầy tính tiền hay ký các hợp đồng điện tử online.
11:00 | 17/06/2019
Hiện nay, nhu cầu xử lý công việc bằng các thiết bị di động đối với các cán bộ cơ quan nhà nước tham gia vào hệ thống điều hành tác nghiệp ngày càng gia tăng. Bài viết này hướng dẫn người dùng sử dụng phần mềm ký số trên thiết bị di động Android vSign-Mobile do Ban Cơ yếu Chính phủ cung cấp.
15:00 | 23/10/2014
Liên tác hoạt động giữa các miền PKI đối mặt với hai vấn đề chính là xây dựng các mô hình PKI liên miền cho các miền PKI cần có các hoạt động liên tác và tương thích hoạt động giao dịch cho từng người sử dụng CTS thuộc các miền PKI liên tác với nhau.
Thực hiện quy định của pháp luật về chữ ký số chuyên dùng công vụ và nhiệm vụ được giao, thời gian qua Cục Chứng thực số và Bảo mật thông tin/Ban Cơ yếu Chính phủ đã nỗ lực, tập trung triển khai cung cấp dịch vụ chứng thực chữ ký số cho các cơ quan, đơn vị, cán bộ, công chức, viên chức thuộc hệ thống chính trị tham gia hoạt động công vụ. Việc sử dụng chữ ký số chuyên dùng công vụ đã trở thành nhiệm vụ thường xuyên của cán bộ, công chức, viên chức và là công cụ không thể thiếu phục vụ công tác lãnh đạo, chỉ đạo, điều hành, tác nghiệp.
14:00 | 10/01/2025
Việc kiểm tra xem số căn cước của mình có bị lợi dụng hay không là rất quan trọng để bảo vệ quyền lợi và phòng tránh những rủi ro không đáng có.
09:00 | 08/01/2025