Выбрать главу

Одна из самых трудных частей криптографии, напоминает эксперт, - это качественная генерация случайных чисел. При этом низкое качество генератора случайных чисел может быть совершенно неочевидным на первый взгляд. Так что нельзя исключать, что слабые ключи появляются как результат слабого понимания криптографии и случайных неблагоприятных обстоятельств.

Один из репортёров, сообщивших Шнайеру об этой истории, попутно поделился с ним сплетней: будто сами исследователи ему рассказали о совершенно реальном генераторе случайных чисел из применяемого в жизни криптоприложения, на выходе которого выдавалось всего семь разных случайных чисел.

Но с другой стороны, отмечает Шнайер, нельзя исключать и другой вариант: некоторые генераторы случайных чисел могли быть ослаблены умышленно. Очевидным подозреваемым тут будут государственные разведслужбы вроде АНБ США. На всякий случай эксперт тут же оговаривается, что у него нет никаких свидетельств тому, что подобное действительно случалось. Однако, продолжает Шнайер, если бы он сам отвечал за ослабление криптосистем в реальном мире (чем спецслужбы вроде АНБ заведомо известны), то первая вещь, на которую он бы нацелился, стали бы именно генераторы случайных чисел.

Их легко ослабить, а заметить слабость - довольно трудно. Это намного безопаснее, чем шаманить с алгоритмами, которые можно протестировать с помощью уже известных контрольных примеров и альтернативных реализаций. Но, ещё раз оговаривается Шнайер, всё это лишь фантазии информированного человека...

Возвращаясь к тексту исследовательской работы Ленстры и его коллег, нельзя не отметить и такой факт: хотя сами учёные назвали свои методы анализа простыми и незамысловатыми, непосредственно оценить это невозможно. Потому что конкретный способ, применявшийся ими для выявления ключей, сгенерированных неуникальными множителями, в самой статье не описывается. Как не указаны и списки скомпрометированных сертификатов или держателей слабых ключей.

Со слов одного из участников, Джеймса Хьюза, известно лишь то, что их команда нашла вычислительно эффективный способ для "помечивания" ключей – без необходимости индивидуального сравнения каждого нового со всеми предыдущими.

Другой главный участник работы, Арьен Ленстра, счёл необходимым прокомментировать в интервью для прессы, почему они решили опубликовать свои открытия уже сейчас – существенно раньше начала августовской конференции. Таким образом, по свидетельству Ленстры, исследователи хотели бы как можно раньше предупредить всех пользователей криптографии с открытым ключом о выявлении столь большого количества слабых модулей.

Хотя их команде на проведение этого исследования потребовалось три года, они полагают, что грамотным коллегам хватит нескольких недель на воспроизведение тех же результатов по уже известному в общих чертах рецепту. Попутно, правда, это важное открытие подняло и весьма непростой вопрос о том, каким образом раскрыть подобного рода информацию, не облегчая при этом для злоумышленников взлом десятков тысяч скомпрометированных ключей.

Цитируем работу: "То гигантское количество уязвимых ключей, с которым мы столкнулись, делает непосильным правильное информирование всех и каждого, кто непосредственно с этим связан, хотя мы и предприняли всё для нас возможное для информирования наиболее крупных сторон, разослав также письма по всем тем email-адресам, которые были указаны в валидных сертификатах. Наше решение сделать результаты открытия публичными, несмотря на нашу неспособность непосредственно известить всех пострадавших, было своего рода призывом к судному дню".

Своё нынешнее открытие исследователи сравнивают с памятным многим открытием 2008 года, когда вдруг выяснилось, что сотни тысяч, а быть может, и миллионы криптографических ключей, сгенерированных в системах, работающих под Debian Linux, оказались столь предсказуемы, что атакующая сторона могла их вычислять максимум за несколько часов.

Отбирая ключи для последнего исследования, учёные для чистоты эксперимента заранее исключали те, что подпадали под уже скомпрометированную ранее "категорию Debian". Но и при таком подходе пока что осталось совершенно неясным, что именно является причиной для появления больших кластеров ключей, имеющих в себе одинаковые множители.

Исследователи пытались выявить какие-либо схожести среди уязвимых ключей в надежде понять причину дефектной работы алгоритмов в генераторах случайных чисел, вырабатывающих криптоключи, но не преуспели. "Единственное наше заключение здесь сводится к тому, что для всех этих проблем, похоже, имеется не единственная причина, - говорит Хьюз. - А это соответственно привело нас к заключению, что до тех пор, пока у вас нет абсолютного доверия к работе вашего генератора случайных чисел, RSA не есть хороший выбор для криптоалгоритма".