Аннотация:
Новое исследование показывает, что злоумышленник по-прежнему может подделать действительную цифровую подпись RSA, не разлагая модуль открытого ключа RSA и не извлекая закрытый ключ. Исследовательская группа завершила практическую демонстрацию 1024-битного ключа RSA. Этот результат разрушает долгосрочное представление о том, что «для взлома RSA необходимо сначала разложить большие целые числа».

Исследование провели исследователи из Калифорнийского университета в Сан-Диего и Французского национального института информации и автоматизации, в том числе Лаура Шиа, Миро Халлер, Адам Зур, Надя Хеннингер и Эммануэль Том. Результаты исследования в настоящее время опубликованы в виде препринта, а статья называется «Подделка 1024-битных подписей RSA со скоростью, близкой к методу сита специальных числовых полей».
Безопасность RSA обычно строится на сложной проблеме факторизации больших целых чисел. По традиционным оценкам, для разложения 1024-битного модуля RSA требуется от 500 000 до 1 миллиона лет процессорного ядра, и обычно только учреждения или предприятия национального уровня с большими вычислительными ресурсами способны это сделать. На этот раз исследовательская группа пошла по другому пути: они не получили закрытый ключ RSA напрямую, а использовали «оракул подписи», который может выполнять исходную операцию подписи RSA, в сочетании с улучшенным алгоритмом метода сита числовых полей и, наконец, получили возможность подделывать подписи в автономном режиме.
Математическая основа этого метода была предложена еще в 2007 году, но до этого она оставалась на теоретическом уровне. Данное исследование впервые распространяет его на крупномасштабные практические операции. В ходе эксперимента исследователи использовали аппаратный модуль безопасности в качестве оракула подписи, который потреблял около 1380 лет работы процессора примерно за пять месяцев и инициировал около 2^32 запросов, что эквивалентно более чем 4 миллиардам исходных запросов на подпись RSA. После завершения основных предварительных вычислений злоумышленнику больше не нужно продолжать доступ к целевому устройству. Для подделки любой конкретной подписи требуется примерно 180 основных лет, и этот процесс можно многократно выполнять в автономном режиме.
Это означает, что даже если закрытый ключ всегда остается внутри аппаратного модуля безопасности, злоумышленник может в конечном итоге получить возможность подписи, эквивалентную освоению закрытого ключа, путем постоянного вызова интерфейса устройства. Злоумышленники могут использовать это для подделки аутентификационной информации, создания поддельных файлов авторизации или общения, выдавая себя за легальную службу.
Однако это исследование не означает, что все системы RSA потеряны. Предпосылкой для установления атаки является то, что целевая система предоставляет исходную недополненную подпись RSA или интерфейс дешифрования. Сегодняшние интернет-сертификаты, TLS-соединения и большинство механизмов подписи программного обеспечения обычно используют заполнение PKCS#1 v1.5 или RSA-PSS, и исследователи говорят, что этот метод напрямую не влияет на эти распространенные развертывания.
Что действительно требует внимания, так это некоторые аппаратные модули безопасности, оригинальный интерфейс PKCS#11 и протокол слепой подписи. Слепая подпись позволяет обслуживающей стороне поставить подпись, не зная конкретного содержания сообщения. Системы аутентификации конфиденциальности, такие как Privacy Pass, используют аналогичные механизмы. Исследователи отметили, что некоторые системы слепых подписей могут стать потенциальными целями, если злоумышленник сможет постоянно получать достаточное количество ответов сигнатур. Однако размер запроса, необходимый для реальной атаки, чрезвычайно велик, и регулярная ротация ключей может значительно снизить риск.
Основываясь на результатах эксперимента, исследовательская группа подсчитала, что при модели атаки с использованием сигнатурного оракула фактическая надежность RSA может быть на 15–30 бит ниже традиционной оценки, основанной на сложности декомпозиции. Для 1024-битных, 2048-битных и 4096-битных ключей RSA стоимость атаки примерно эквивалентна 2 в 65-й степени, 2 в 90-й степени и 2 в 119-й степени соответственно, что ниже 128-битного уровня безопасности, обычно требуемого современными криптосистемами. Исследователи также заявили, что в их экспериментах не использовались графические процессоры или инструменты искусственного интеллекта. Если в будущем будет внедрено более эффективное аппаратное и программное обеспечение, стоимость атак может еще больше снизиться.
Эксперты в области криптографии полагают, что важность этого достижения главным образом заключается в том, что оно раскрывает слепое пятно в модели безопасности RSA: подделка подписи не обязательно требует предварительного получения закрытого ключа или выполнения декомпозиции больших целых чисел в традиционном смысле. Однако текущие атаки по-прежнему требуют большого количества вычислительных ресурсов и специальных интерфейсов и не будут представлять прямую угрозу широко используемым стандартизированным сертификатам RSA и обычным HTTPS-соединениям в краткосрочной перспективе.
Органам безопасности и системным операторам по-прежнему следует проверять, не открывает ли аппаратный модуль безопасности ненужные исходные операции RSA, ограничивать разрешения на вызов интерфейса подписи, сокращать период ротации ключа слепой подписи и постепенно переходить на более современные алгоритмы подписи и системы постквантовой криптографии. Исследователи отметили, что по мере того, как традиционные криптографические алгоритмы приближаются к теоретическим и практическим границам безопасности, предприятиям не следует продолжать рассматривать увеличение длины ключей RSA как постоянное решение.
Подробнее:
https://github.com/ucsd-hacc/NSNFSSSFSFN
Комментарии