Các nhà nghiên cứu bảo mật đã trình diễn một phương pháp mới nhằm phá vỡ các triển khai RSA nhất định một cách nhanh chóng mà không cần phân tích thừa số nguyên tố của mô đun công khai. Điều này thách thức giả định rằng sức mạnh thực tế của RSA luôn tương quan với chi phí phân tích thừa số nguyên tố.
Tấn công vào RSA
Phương pháp tấn công này chuyển đổi quyền truy cập tạm thời vào dịch vụ ký hoặc giải mã RSA thô, chưa được đệm (unpadded) thành khả năng lâu dài để giả mạo chữ ký hoặc giải mã các bản mã đã chọn ngoại tuyến. Một trong những lỗ hổng CVE được nghiên cứu này nhắm vào là cách RSA xử lý các thao tác thô.
Cuộc tấn công này đã được triển khai thành công trên một khóa RSA 1.024 bit. Quá trình tính toán tiêu tốn 1.380 CPU core-năm trong khoảng thời gian năm tháng và yêu cầu 232 truy vấn oracle. So sánh với việc phân tích một mô đun RSA 1.024 bit, ước tính cần khoảng 500.000 đến một triệu CPU core-năm.
Phương pháp tấn công eNFS
Phương pháp này, được các nhà nghiên cứu gọi là eNFS, thuộc họ thuật toán Number Field Sieve. Thay vì sử dụng General Number Field Sieve (GNFS) để phân tích thừa số mô đun RSA, eNFS tiếp cận độ phức tạp của Special Number Field Sieve (SNFS) nhanh hơn bằng cách thay thế một phần công việc toán học thông thường bằng các phản hồi từ oracle ký. Quan trọng là, phương pháp này không bao giờ khôi phục được các thừa số nguyên tố hoặc khóa riêng tư RSA.
Cuộc tấn công diễn ra theo từng giai đoạn. Giai đoạn tiền xử lý ban đầu tiêu tốn khoảng 1.200 CPU core-năm và chỉ phụ thuộc vào mô đun công khai cùng số mũ. Kẻ tấn công sau đó gửi các giá trị đã chọn đến oracle RSA thô. Sau khi thu thập các phản hồi này, quyền truy cập có thể biến mất: việc giả mạo bất kỳ chữ ký đã chọn nào hoặc giải mã một mục tiêu chỉ mất thêm khoảng 180 CPU core-năm và có thể lặp lại ngoại tuyến.
Thuật toán cơ bản không phải là mới. Antoine Joux, David Naccache và Emmanuel Thomé đã giới thiệu nó vào năm 2007. Tuy nhiên, công trình mới này cung cấp bản triển khai đầu tiên và minh chứng quy mô lớn trên 1.024 bit. Mã nguồn được xây dựng dựa trên CADO-NFS, đồng thời bổ sung các kỹ thuật kỹ thuật cần thiết cho việc lựa chọn đa thức, sieving, đại số tuyến tính, trích xuất nghiệm và descent ở quy mô này.
Phạm vi và tác động của lỗ hổng
Đây không phải là một cuộc phá vỡ RSA phổ quát. Kẻ tấn công cần có quyền truy cập tạm thời vào một oracle lũy thừa RSA thô, một khả năng mà các chữ ký RSA thông thường sử dụng PKCS#1 v1.5 hoặc padding RSA-PSS thường không làm lộ ra. Các mục tiêu khả thi hơn bao gồm giao diện HSM cho phép các thao tác RSA PKCS#11 thô và các giao thức blind-signature như Privacy Pass, nơi các yêu cầu được làm mù có thể cung cấp hành vi oracle cần thiết.
Các nhà nghiên cứu ước tính cần khoảng 2^90 phép tính và 2^43 truy vấn oracle đối với RSA 2.048 bit trong mô hình này, so với độ mạnh phân tích thừa số 112 bit thường được gán. Họ dự đoán khoảng 2^119 phép tính đối với RSA 4.096 bit, làm cho nó không đạt mục tiêu bảo mật 128 bit hiện đại. Những chi phí này vẫn nằm ngoài khả năng của kẻ tấn công thông thường, nhưng có thể ảnh hưởng đến các đối tượng có nguồn lực tốt và các giao thức có khóa công khai tồn tại lâu dài.
Khuyến nghị bảo mật
Các tổ chức không cần phải loại bỏ ngay lập tức RSA được đệm đúng cách. Người vận hành nên vô hiệu hóa các cơ chế RSA thô không cần thiết, kiểm tra các chính sách HSM, hạn chế việc phơi nhiễm oracle và xoay vòng các khóa blind-signature dễ bị tấn công thường xuyên hơn.
Các nhà thiết kế giao thức có thể nghiên cứu bằng chứng không tiết lộ (zero-knowledge proofs) cho các yêu cầu được định dạng tốt. Về lâu dài, việc di chuyển sang các sơ đồ chữ ký hiện đại và mật mã hậu lượng tử sẽ là một giải pháp bền vững hơn so với việc coi các khóa RSA lớn hơn là một giải pháp vĩnh viễn.
Để tìm hiểu thêm về các nguy cơ bảo mật và cách bảo vệ hệ thống, bạn có thể tham khảo các nguồn uy tín như NIST về mật mã hậu lượng tử.










