Trong bài viết: “Về một phương pháp 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 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 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 | 05/09/2024
Trong bối cảnh nước ta đang thúc đẩy chuyển đổi số mạnh mẽ, Giao diện lập trình ứng dụng (Application Programming Interface -API) ngày càng được sử dụng rộng rãi, bao gồm các ứng dụng di động, dịch vụ đám mây và thiết bị IoT. Khi việc sử dụng API tăng lên, tổ chức phải đối mặt với nhiều mối đe dọa bảo mật tiềm ẩn liên quan đến API như tấn công chèn mã (Injection), vượt qua cơ chế xác thực và kiểm soát truy cập (Broken Access Control and Authentication) cũng như thực thi mã hóa không đầy đủ. Bài viết sẽ thông tin tới độc giả tầm quan trọng của bảo mật API, các loại tấn công vào API và một số giải pháp giúp bảo mật API toàn diện.
16:00 | 04/07/2024
Ngày 25/6/2024, Chính phủ ban hành Nghị định số 68/2024/NĐ-CP quy định về chữ ký số chuyên dùng công vụ. Nghị định gồm 06 Chương, 43 Điều và Phụ lục, quy định chi tiết về dịch vụ chứng thực chữ ký số chuyên dùng công vụ; việc cung cấp, quản lý, sử dụng chữ ký số chuyên dùng công vụ, chứng thư chữ ký số chuyên dùng công vụ và dịch vụ chứng thực chữ ký số chuyên dùng công vụ.
15:00 | 02/03/2023
Dự án Luật Giao dịch điện tử (sửa đổi) dự kiến sẽ được Quốc hội tiếp tục cho ý kiến, xem xét thông qua tại Kỳ họp thứ 5 diễn ra vào tháng 5/2023 tới. Thường trực Ủy ban Khoa học, Công nghệ và Môi trường cũng dự kiến báo cáo Ủy ban Thường vụ Quốc hội 05 vấn đề lớn trong việc tiếp thu, giải trình và chỉnh lý dự án Luật.
14:00 | 17/02/2023
Theo Bộ Thông tin và Truyền thông, trong tháng 1/2023, các Bộ, ngành, địa phương tiếp tục đẩy mạnh cung cấp dịch vụ công trực tuyến theo hướng toàn trình quy định tại Nghị định số 42/2022/NĐ-CP ngày 24/6/2022 của Chính phủ quy định về việc cung cấp thông tin và dịch vụ công trực tuyến của cơ quan nhà nước trên môi trường mạng.
Chiều 2/10, Thủ tướng Phạm Minh Chính, Chủ tịch Ủy ban Quốc gia về chuyển đổi số, chủ trì Hội nghị trực tuyến triển khai mở rộng thí điểm sổ sức khỏe điện tử và cấp phiếu lý lịch tư pháp qua ứng dụng VneID trên toàn quốc. Hội nghị được kết nối trực tuyến (4 cấp) từ trụ sở Chính phủ tới các bộ, ngành, các tỉnh, thành phố trực thuộc Trung ương, các địa phương cấp huyện, cấp xã.
15:00 | 03/10/2024
Theo Bộ trưởng Bộ Thông tin và Truyền thông Nguyễn Mạnh Hùng, với cách tiếp cận bứt phá, việc phổ cập chữ ký số tại Việt Nam cho 100% người dân trưởng thành Việt Nam vào năm 2025 là khả thi. Đây cũng là mục tiêu, nhiệm vụ mà Bộ trưởng Bộ Thông tin và Truyền thông giao cho Trung tâm Chứng thực điện tử Quốc gia, các doanh nghiệp và Hiệp hội ngành Thông tin và Truyền thông.
14:00 | 24/10/2024