Các nhà nghiên cứu từ Đại học California, San Diego, đã phát triển một kỹ thuật tấn công cải tiến chống lại thuật toán RSA, cho phép làm giả chữ ký số mà không cần phân tích thừa số nguyên tố RSA cơ bản và không cần khôi phục khóa riêng. Tài nguyên cần thiết để tấn công khóa RSA 1024 bit được ước tính là 1380 năm tính toán trên một lõi xử lý đơn. Sử dụng cụm máy tính hiện có của trường đại học, điều này cho phép họ xác định các tham số cần thiết để tạo ra chữ ký RSA giả trong vòng năm tháng (thí nghiệm không sử dụng bộ tăng tốc AI hoặc GPU, nhưng việc sử dụng chúng có thể giảm đáng kể thời gian tính toán). Để so sánh, phương pháp phân tích thừa số cổ điển yêu cầu từ 500.000 đến một triệu năm tính toán trên một lõi xử lý đơn để tái tạo khóa riêng RSA-1024.
Việc thực hiện một cuộc tấn công đòi hỏi khả năng liên tục gửi yêu cầu ký dữ liệu do kẻ tấn công tạo ra, ví dụ, bằng cách truy cập vào dịch vụ ủy quyền hoặc mô-đun HSM. Để xác định các tham số RSA-1024, chỉ cần gửi 232 yêu cầu như vậy, và để tấn công các khóa RSA-2048 được sử dụng trong giao thức Privacy Pass, cần 243 yêu cầu. Sau khi nhận được một mảng dữ liệu đã được ký, một quá trình tính toán tham số dài sẽ bắt đầu (khoảng 265 phép toán cho RSA-1024). Sau khi các tham số này được tính toán, kẻ tấn công có thể tạo ra các chữ ký giả mạo cho bất kỳ dữ liệu nào, tiêu tốn khoảng 180 giờ tính toán trên một lõi xử lý cho mỗi chữ ký.
Phương pháp này chỉ áp dụng được cho các chữ ký RSA không sử dụng định dạng hoặc đệm trước khi mã hóa. Các triển khai chữ ký mù, bao gồm cả những triển khai được sử dụng trong giao thức Privacy Pass, đều dễ bị tấn công. Hầu hết các triển khai RSA được sử dụng phổ biến, bao gồm PKCS#1v1.5 và RSA-PSS (được sử dụng trong TLS và SSH), đều sử dụng đệm và không dễ bị tấn công.
Mã hóa RSA dựa trên phép toán lũy thừa một số lớn lấy modulo một số lớn khác. Khóa công khai chứa môđun và số mũ. Môđun được tạo ra bằng cách sử dụng hai số nguyên tố ngẫu nhiên mà chỉ người sở hữu khóa riêng biết. Phương pháp đề xuất dựa trên một nghiên cứu được công bố năm 2007, chứng minh rằng việc trích xuất căn bậc hai của một thông điệp được mã hóa đến lũy thừa được chỉ định trong khóa công khai mà không cần biết các thừa số bí mật là một thao tác ít tốn tài nguyên hơn so với việc phân tích thừa số thành các thừa số riêng lẻ.
Bằng cách sử dụng phương pháp trường số dựa trên sàng lọc chuyên dụng (SNFS), các nhà nghiên cứu đã có thể giảm độ phức tạp của việc xâm nhập khóa RSA-1024 xuống còn 265 phép toán, cho phép thực hiện các cuộc tấn công thực tế vào các cụm máy chủ hiện đại. Đối với khóa RSA 2048 bit, độ phức tạp được ước tính là 290, về mặt lý thuyết là khả thi đối với các tập đoàn lớn hoặc các cơ quan tình báo. Đối với khóa 4096 bit, độ phức tạp là 2119 phép toán, hiện không thể đạt được trong thực tế, nhưng thấp hơn mức tối thiểu 2128 được khuyến nghị bởi NSA, Viện Tiêu chuẩn và Công nghệ Quốc gia và Cơ quan An ninh Mạng và Thông tin Châu Âu.
Nguồn: opennet.ru
