
Цей матеріал згенеровано за допомогою штучного інтелекту та опубліковано без попередньої перевірки людиною. Він може містити помилки і не є професійною консультацією. Повідомити про проблему: info@delionsoft.com.
Команда з Каліфорнійського університету в Сан-Дієго описала атаку, яка дозволяє генерувати дійсні RSA-підписи без відновлення приватного ключа. Згідно з оригінальним звітом, на сьогодні цей метод є практичним для 1024-бітних ключів і знижує оціночний рівень безпеки 2048- та 4096-бітних ключів нижче рівнів, прийнятних для органів стандартизації. Ця робота стосується лише вузького класу реалізацій RSA і ще має пройти рецензію колег.
Що сталося
Дотепер робочим припущенням було те, що злом RSA означає розклад модуля на множники. У статті, головним автором якої є Лора Шей (Laura Shea), а серед співавторів — Надія Хенінгер (Nadia Heninger), використовується варіант спеціального решета чисел 2007 року в поєднанні з оракулом — протоколом, що відповідає на запити, обрані зловмисником, — для безпосереднього підроблення підписів.
Цифри, наведені у звіті, є найцікавішою частиною. Розклад ключа довжиною 1024 біти на множники, за оцінками, вимагає близько 2^80 операцій та від 500 000 до 1 мільйона «ядер-років» процесора. Підробка зайняла приблизно 2^65 операцій та 1 380 «ядер-років», що становить кілька місяців роботи на академічному кластері. Ефективний рівень безпеки знижується приблизно до 2^65, 2^90 та 2^119 для ключів довжиною 1024, 2048 та 4096 бітів, тоді як вимоги АНБ, NIST та агентства ЄС передбачають щонайменше 2^128. Автори зазначають, що вони написали весь код вручну без використання графічних процесорів (GPU), тому ці цифри можуть бути ще нижчими.
Важливе застереження: атака спрямована на RSA зі сліпим підписом, або «підручниковий» RSA — без заповнення PKCS або PSS. Переважна більшість RSA-систем, що використовуються у виробництві, застосовують заповнення і, як видається, практично не перебувають під загрозою. Найвідомішим наведеним винятком є Privacy Pass — протокол анонімної автентифікації, який використовують Apple, Cloudflare та інші. У цьому випадку зловмиснику знадобиться близько 2^43 запитів на токени, що, за оцінками дослідників, дорівнює приблизно добовому трафіку Cloudflare. Регулярна ротація ключів значно знижує ризик, хоча й не усуває його повністю.
Чому це важливо
Для більшості систем малого та середнього бізнесу це на сьогодні нічого не змінює з операційної точки зору. Опубліковані результати не впливають на TLS, підписання коду, підписи JWT та ключі SSH зі стандартним заповненням. Змінюється лише припущення, на якому ґрунтується ваше планування: запас міцності ключа RSA більше не визначається виключно складністю розкладання на множники, і в криптосистемі, яку вважали добре вивченою, з’явився новий клас атак.
Це має значення з двох практичних причин. По-перше, команди, які впровадили RSA без заповнення для «сліпих» підписів або анонімних токенів — зазвичай у функціях захисту приватності чи обмеження швидкості — зараз перебувають у іншому становищі, ніж минулого тижня. По-друге, якщо ви розглядали міграцію до постквантових систем як проблему 2030-х років, це нагадування про те, що класичні атаки також можуть еволюціонувати.
Що робити
- Проведіть інвентаризацію, де та як використовується RSA. Позначте все, що використовує необроблені або сліпі підписи RSA без заповнення PKCS#1 v1.5 або PSS, включаючи внутрішні схеми токенів та старі інтеграції.
- Виведіть з експлуатації всі залишки 1024-бітних ключів. Вони вже були визнані застарілими; згідно зі звітом, підробка таких ключів вимагає лише незначних обчислювальних ресурсів.
- Якщо ви надаєте послуги зі сліпим підписом або анонімними токенами, скоротіть інтервали ротації ключів та додайте обмеження швидкості видачі токенів для кожного клієнта.
- У наступному циклі розробки розглядайте криптографічну гнучкість як вимогу до проєктування: закріплюйте алгоритми в конфігурації, а не в коді, щоб заміна схем підпису була лише розгортанням, а не переписанням коду.
