Изследователи са открили начин да фалшифицират определени RSA подписи, без да извършват факторизация на съответния ключ, който стои зад тях, като по този начин поставят под въпрос дългогодишно схващане за една от най-старите криптосистеми с публичен ключ в интернет. Атаката не представлява заплаха за най-често използваните днес реализации на RSA, включително тези, защитени с PKCS или PSS padding, но откритията привлякоха внимание, защото показват, че разбиването на RSA подписи не винаги изисква възстановяване на частния ключ.
Техниката е приложима срещу 1024-битови RSA ключове, които вече са остарели. Тя също така намалява очакваната сигурност на 2048-битовите и 4096-битовите ключове, когато се използват в уязвими системи със „слепи“ подписи.„Ако този резултат издържи при рецензиране от колеги, това наистина би било концептуален пробив. RSA е толкова труден за разбиване, колкото е трудното разлагане на големи цели числа на множители – поне така смятахме. Изследователят предполага, че на практика е възможно да се разбие RSA, без да се разкрива ключът му.“
заяви пред Ars Technica Карстен Нол, експерт по криптография и ръководител на отдела за иновации в AllurityСигурността на RSA традиционно се основава на трудността при разлагането на голямо число на двете му прости съставни части. Публичният ключ съдържа това голямо число, докато частният ключ се извлича от факторите. Стандартното схващане беше, че атакуващият трябва да разложи числото на фактори, преди да създаде валиден подпис.
Новото проучване поема по друг път. То използва версия на алгоритъма „сито на специалното числово поле“, заедно с оракул, наличен в някои протоколи за „слепи“ подписи. Оракулът е системна функция, която разкрива полезна информация в отговор на конкретни заявки. Чрез отправянето на много голям брой заявки и обработката на резултатите атакуващият може да събере достатъчно информация, за да генерира валидна подпис.Смята се, че факторизацията на 1024-битов RSA ключ изисква около 2^80 операции и между 500 000 и 1 милион CPU ядра-години. Изследователите заявиха, че тяхната атака за фалшифициране е използвала около 2^65 операции и 1380 CPU ядра-години. Те са извършили работата в продължение на няколко месеца, като са използвали академичен CPU клъстер. Надя Хенингер, професор в Университета на Калифорния в Сан Диего и съавтор на изследването, заяви, че резултатът се различава от очакванията на криптографите.
„Криптографите смятаха, че единственият начин за изчисляване на валидни цифрови RSA подписи е първо да се изчисли частният ключ чрез факторизация, а след това да се използва частният ключ за изчисляване на подписите. За 1024-битов RSA това се смяташе за много скъпо, макар и вероятно изпълнимо, ако разполагате с изчислителните ресурси на големите технологични компании или на NSA – от порядъка на десетки милиони долари изчислително време за един-единствен ключ. За 2048-битов RSA това се смяташе за напълно недостижимо.“
каза тяАвторите оценяват, че атаката намалява ефективната сигурност на 1024-битовия RSA до около 2^65 операции. За 2048-битови и 4096-битови ключове те посочват стойностите съответно 2^90 и 2^119. Насоките за сигурност на Агенцията за национална сигурност, Националния институт за стандарти и технологии и Агенцията на Европейския съюз за мрежова и информационна сигурност изискват ниво на сигурност от поне 128 бита.
Екипът заяви, че оценките му могат да се подобрят. Имплементацията е написана на ръка и не използва графични процесори (GPU) или инструменти с изкуствен интелект (AI). Изследователите заявиха, че тези инструменти „почти със сигурност“ ще намалят разходите за бъдещи атаки.
Атаката е ограничена до реализации със „слепи подписи“, понякога наричани „RSA по учебник“. Тези системи позволяват на дадена страна да подписва информация, без да вижда нейното съдържание. Повечето внедрения на RSA не работят по този начин. Те използват PKCS или PSS padding, което модифицира данните, преди те да бъдат криптирани или подписани, и предотвратява поведението, на което се основава атаката. Едно реално приложение на „слепите подписи“ е Privacy Pass – протокол, който позволява на потребителите да докажат, че са оторизирани, без да разкриват самоличността си. Apple, Cloudflare и други организации използват Privacy Pass. Изследователите оценяват, че атаката срещу такава система би изисквала заявка за 2^43 токена от издателя.
Много системи с Privacy Pass редуват ключовете си редовно, което затруднява атаката, като съкращава времето, с което разполагат за събиране на токени. Това обаче не елиминира риска.