Kỹ thuật tấn công kênh bên mới để khôi phục khóa ECDSA

Các nhà nghiên cứu từ trường Đại học. Masaryk không che đậy thông tin về lỗ hổng trong các triển khai khác nhau của thuật toán tạo chữ ký số ECDSA/EdDSA, cho phép bạn khôi phục giá trị của khóa riêng dựa trên phân tích rò rỉ thông tin về từng bit xuất hiện khi sử dụng phương pháp phân tích của bên thứ ba. Các lỗ hổng có tên mã là Minerva.

Các dự án nổi tiếng nhất bị ảnh hưởng bởi phương thức tấn công được đề xuất là OpenJDK/OracleJDK (CVE-2019-2894) và thư viện libgcrypt (CVE-2019-13627) được sử dụng trong GnuPG. Cũng dễ gặp vấn đề Ma trậnSSL, Crypto ++, sóiCrypt, hình elip, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, dễ-ecc và thẻ thông minh Athena IDProtect. Chưa được kiểm tra, nhưng các thẻ S/A IDflex V, SafeNet eToken 4300 và TecSec Armored Card hợp lệ, sử dụng mô-đun ECDSA tiêu chuẩn, cũng được tuyên bố là có khả năng bị tấn công.

Sự cố đã được khắc phục trong các bản phát hành libgcrypt 1.8.5 và WolfCrypt 4.1.0, các dự án còn lại vẫn chưa tạo ra bản cập nhật. Bạn có thể theo dõi bản sửa lỗi cho lỗ hổng trong gói libgcrypt trong các bản phân phối trên các trang này: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arch.

lỗ hổng không nhạy cảm OpenSSL, Botan, mbedTLS và BoringSSL. Chưa được thử nghiệm Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL ở chế độ FIPS, Microsoft .NET crypto,
libkcapi từ nhân Linux, Natri và GnuTLS.

Vấn đề xảy ra là do khả năng xác định giá trị của từng bit riêng lẻ trong quá trình nhân vô hướng trong các phép toán trên đường cong elip. Các phương pháp gián tiếp, chẳng hạn như ước tính độ trễ tính toán, được sử dụng để trích xuất thông tin bit. Một cuộc tấn công yêu cầu quyền truy cập không có đặc quyền vào máy chủ nơi tạo ra chữ ký số (không phải loại trừ và một cuộc tấn công từ xa, nhưng nó rất phức tạp và cần một lượng lớn dữ liệu để phân tích nên có thể được coi là khó xảy ra). Để nạp có sẵn công cụ dùng để tấn công.

Mặc dù quy mô rò rỉ không đáng kể, nhưng đối với ECDSA, việc phát hiện ngay cả một vài bit có thông tin về vectơ khởi tạo (nonce) cũng đủ để thực hiện một cuộc tấn công nhằm khôi phục tuần tự toàn bộ khóa riêng. Theo các tác giả của phương pháp này, để khôi phục thành công một khóa, việc phân tích từ vài trăm đến vài nghìn chữ ký số được tạo ra cho các tin nhắn mà kẻ tấn công đã biết là đủ. Ví dụ: 90 nghìn chữ ký số được phân tích bằng đường cong elip secp256r1 để xác định khóa riêng được sử dụng trên thẻ thông minh Athena IDProtect dựa trên chip Inside Secure AT11SC. Tổng thời gian tấn công là 30 phút.

Nguồn: opennet.ru

Thêm một lời nhận xét