Все эти подозрения в адрес АНБ оказались еще не забыты в 2006 году, когда Шумоф и Фергюсон занялись анализом алгоритма Dual_EC_DRBG. В стандарт «НИСТ СП800-90», помимо Dual_EC_DRBG, входили еще три алгоритма генерации псевдослучайных чисел, которые предполагалось использовать при шифровании секретной и конфиденциальной информации.
Алгоритм Dual_EC_DRBG основывался на теории эллиптических кривых над конечными полями. По мнению АНБ, за этим алгоритмом было будущее, как за более компактным, быстродействующим и стойким. Поэтому стремление АНБ включить Dual_EC_DRBG в состав стандарта «НИСТ СП800-90» выглядело вполне оправданным.
Однако Шумоф и Фергюсон, в 2006 году начавшие изучать алгоритм Dual_EC_DRBG на предмет его реализации в составе семейства операционных систем семейства «Виндоуз», обратили внимание на своеобразные свойства этого алгоритма. Во-первых, он работал очень медленно – на два-три порядка медленнее, чем три остальных датчика псевдослучайных чисел. А во-вторых, алгоритм Dual_EC_ DRBG не обладал достаточной степенью безопасности. Иными словами, сгенерированные с его помощью числа были недостаточно случайными. Ситуация не была катастрофической, но представлялась весьма странной, учитывая, что стандарт «НИСТ СП800-90» получил официальную поддержку со стороны американского правительства.
А потом Шумоф и Фергюсон выяснили еще кое-что. Дело в том, что стандарт «НИСТ СП800-90» содержал список констант, которые использовались в алгоритме Dual_ EC_DRBG. Откуда они взялись, сказано не было. Но тот, кто рассчитал эти константы для включения в стандарт, мог одновременно рассчитать второй список констант и использовать его, чтобы абсолютно точно предсказывать псевдослучайную последовательность, генерируемую алгоритмом Dual_EC_DRBG. Шумоф и Фергюсон продемонстрировали, как это сделать, зная всего лишь первые 32 байта псевдослучайной последовательности.
Автор списка констант для использования в алгоритме Dual_EC_DRBG не был известен, но было вполне логично предположить, что их авторство принадлежало АНБ. Ведь именно это агентство активно добивалось принятия стандарта «НИСТ СП800-90».
Казалось бы, инцидент был исчерпан еще в 2007 году. Любой разработчик программных приложений, взявший на себя труд даже поверхностно ознакомиться с докладом Шумофа и Фергюсона, сразу понял бы, что алгоритм Dual_ EC_DRBG обладал существенным изъяном, и не стал бы использовать его в своих разработках.
Как бы не так! Американское правительство обладало гигантской покупательной способностью, и многие софтверные компании были вынуждены использовать алгоритм Dual_EC_DRBG в своих продуктах, чтобы иметь возможность их сертифицировать. Ведь без государственной сертификации стать поставщиком программных средств безопасности правительственным ведомствам в США не было никакой возможности.
Вот и корпорация «Майкрософт» встроила поддержку стандарта «НИСТ СП800-90», включая алгоритм Dual_ EC_DRBG, в состав своей операционной системы «Виндоуз Виста» в феврале 2008 года. Понятно, почему: этого желал один из основных клиентов корпорации – правительство США, и использование Dual_EC_DRBG санкционировал НИСТ. Примеру «Майкрософт» последовали и другие корпорации, включая «Циско» и «РСА».
После того, как улеглись эмоции, вызванные октябрьской публикацией в «Нью-Йорк тайме», осталась значительная доля неопределенности относительно действительного наличия «лазейки» в стандарте «НИСТ СП800-90». В опубликованных газетой цитатах из служебных документов АНБ впрямую не упоминались ни сама «лазейка», ни действия АНБ по намеренному ослаблению криптографической стойкости стандарта. Обсуждались только шаги, направленные на получение одобрения стандарта «НИСТ СП800-90» от различных правительственных комитетов. Со своей стороны НИСТ категорически отрицал, что был в курсе встраивания «лазейки» в стандарт «НИСТ СП800-90», а также что АНБ было автором этого стандарта.
Да и сама предполагаемая «лазейка», с точки зрения некоторых экспертов, не отличалась особой изощренностью. По их мнению, за 250 миллионов долларов в год, которые выделялись на «Программу содействия разведке средствами связи», АНБ могло бы придумать что-нибудь позаковыристей.
Важно отметить, что Шумоф и Фергюсон в своем докладе никоим образом не настаивали на шпионской версии появления «лазейки» в стандарте «НИСТ СП800-90». Не упоминалось в нем АНБ, не прозвучало никаких обвинений в адрес НИСТ. Более того, на последнем слайде доклада присутствовала фраза о том, что авторы доклада не считают, будто НИСТ намеренно встроил «лазейку» в стандарт.
Скорее всего, журналисты из «Нью-Йорк тайме» прочли в секретном документе АНБ о том, что агентство работало над стандартом «НИСТ СП800-90» и проталкивало его через различные инстанции. В свете этого провокационный заголовок доклада Шумофа и Фергюсона, скорее всего, был неправильно интерпретирован журналистами как доказательство того, что найденная слабость в стандарте «НИСТ СП800-90» и в самом деле была «лазейкой».
Дело было в Афинах