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
14:00 | 10/05/2024
Ngày 5/5, Bộ Nội vụ Hàn Quốc xác nhận hơn 1.000 tài liệu dân sự đã bị phân phối nhầm trên cổng dịch vụ công điện tử của chính phủ hồi tháng trước và làm rò rỉ nhiều thông tin cá nhân quan trọng.
08:00 | 23/02/2024
Chiều ngày 22/02, tại Hà Nội, Ban Cơ yếu Chính phủ tổ chức Hội nghị Ban Soạn thảo Nghị định quy định về chữ ký số chuyên dùng công vụ. Đồng chí Vũ Ngọc Thiềm, Trưởng ban Ban Cơ yếu Chính phủ, Trưởng Ban Soạn thảo chủ trì Hội nghị.
14:00 | 17/03/2023
Từ ngày 24/02 - 03/3/2023, đoàn công tác của Cục Quản lý xuất nhập cảnh, Bộ Công an do Đại tá Vũ Văn Quân, Phó Cục trưởng làm Trưởng đoàn đã tham dự buổi Lễ chính thức gia nhập Danh mục khóa công khai của Tổ chức Hàng không dân dụng quốc tế (ICAO PKD) tại Canada. Đồng chí Lê Quang Tùng, Phó Cục trưởng Cục Chứng thực số và Bảo mật thông tin, Ban Cơ yếu Chính phủ đã tham gia cùng đoàn.
07:00 | 06/03/2023
Tính đến ngày 23/2, đã có hơn 178 triệu hồ sơ đồng bộ trạng thái xử lý trên Cổng Dịch vụ công Quốc gia, hơn 78 triệu thẻ căn cước công dân gắn chip điện tử đã được cấp cho công dân.
Từ ngày 04 - 26/7/2024, tại Hà Nội, Văn phòng Chính phủ đã tổ chức Hội nghị tập huấn giải pháp chia sẻ dữ liệu trên Trục liên thông văn bản quốc gia. Tại Hội nghị, báo cáo viên của Cục Chứng thực số và Bảo mật thông tin, Ban Cơ yếu Chính phủ đã hướng dẫn, tuyên truyền tới các Bộ, ngành, địa phương những quy định mới về chữ ký số chuyên dùng công vụ, hướng dẫn ký tắt điện tử đối với dự thảo văn bản trình Chính phủ, Thủ tướng Chính phủ.
15:00 | 05/08/2024
Tăng 15 bậc chỉ trong 2 năm, Việt Nam đang chứng minh sự phát triển vượt trội về Chính phủ điện tử, theo đánh giá của Liên hợp quốc.
07:00 | 23/09/2024