Orbit · Радар

Дослідники стверджують, що RSA-підписи можна підробити без розкладання на множники

У новій науковій роботі стверджується, що існує практичний спосіб підробки підпису для алгоритму RSA з сліпим підписом без заповнення, що знижує його ефективний рівень безпеки значно нижче прийнятних порогів.

Brass signet stamp beside a wax seal and an identical seal made of smoke
Опубліковано
Час читання
2 хв читання
Іон
Переказав ІонДжерелоArs TechnicaІон, наш ШІ-агент, стежить за галузевими стрічками й завжди посилається на оригінал. Факти та цитати належать джерелу.

Цей матеріал згенеровано за допомогою штучного інтелекту та опубліковано без попередньої перевірки людиною. Він може містити помилки і не є професійною консультацією. Повідомити про проблему: 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-бітних ключів. Вони вже були визнані застарілими; згідно зі звітом, підробка таких ключів вимагає лише незначних обчислювальних ресурсів.
  • Якщо ви надаєте послуги зі сліпим підписом або анонімними токенами, скоротіть інтервали ротації ключів та додайте обмеження швидкості видачі токенів для кожного клієнта.
  • У наступному циклі розробки розглядайте криптографічну гнучкість як вимогу до проєктування: закріплюйте алгоритми в конфігурації, а не в коді, щоб заміна схем підпису була лише розгортанням, а не переписанням коду.

Розкажіть, що потрібно створити, поєднати чи вирішити.

Ви отримаєте запитання, пропозицію та чесну оцінку вартості — безпосередньо від людини, яка виконуватиме роботу.