Читаем Журнал "Компьютерра" №714 полностью

Среди фундаментальных основ криптографии имеется очень важное правило: если для засекречивания используется поточный шифр (наложение на открытый текст постоянно изменяющейся шифрпоследовательности), то никогда одну и ту же шифрпоследовательность не накладывают на два разных документа (разными в данном случае считаются любые модификации файла, включая вставку или изъятие единственного знака). Если же это сделано, то всего по двум одноключевым документам шифрование можно развалить и прочитать оба текста - причем сам ключ и его длина никакой роли не играют. В годы Второй мировой войны английские криптоаналитики из-за такого рода ошибок германских шифровальщиков смогли полностью вскрыть криптосхему шифратора "Шлюссельцузатц". Позже это позволило им с помощью "суперкомпьютера" Colossus вскрывать ключи и читать всю переписку противника.

В программных же продуктах Microsoft шифр RC4 был реализован таким образом, чтобы одноключевые комплекты порождались ВСЕГДА. Ключ без затей генерировался на основе пароля доступа к документу, поэтому разные версии документа шифровались одним и тем же ключом. Как известно, разные версии одних и тех же файлов присутствуют в системе очень часто - в резервных кэшах, как архивные копии, как совместно подготавливаемые документы и т. д. Для таких случаев в криптографии есть элементарнейший способ недопущения одноключевых комплектов - подмешивание в ключ наряду с паролем уникального, одноразового "вектора инициализации" (IV, initialization vector), который не является секретом, но всякий раз делает шифрпоследовательность иной.

То, что в Microsoft почему-то уклоняются от использования IV в поточном шифре, впервые стало известно в 1999 году еще для Windows NT - когда хакеры обнаружили слабости в системе защиты криптоключей Syskey. Серьезные оплошности в реализации криптографии допускаются регулярно и почти всеми разработчиками (см. врезку о WEP), однако в Microsoft не только проигнорировали тревожные сигналы, но и перенесли ту же самую слабость в последующие версии системы. В частности, в 2005 году, когда уже вышли Windows XP и Office 2003, стало известно, что все та же по сути уязвимость - отсутствие IV и систематическое порождение одноключевых комплектов - выявлена в документах, подготовленных и зашифрованных программами MS Word и MS Excel с помощью RC4.

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

Впрочем, и в тех ситуациях, когда PRNG используется для генерации секретных ключей или других криптопоследовательностей, делается это весьма небезопасным образом.

Слабость спереди и сзади

Качественный с точки зрения криптографии генератор псевдослучайных чисел должен отвечать трем главным требованиям: (1) выдавать последовательность, статистически неотличимую от случайной равновероятной; (2) противостоять восстановлению прошлых состояний по известному текущему; (3) противостоять восстановлению будущих состояний по текущему состоянию алгоритма.

Нет никакого секрета в том, каким образом обеспечить все три нужных качества. Из этого, правда, не следует, что конструировать хорошие генераторы легко (см. врезку). Но если PRNG просто генерирует последовательность чисел, похожую на случайную, но явно не отвечает требованиям (2) и (3), то с точки зрения криптографии это слабый и небезопасный генератор. Именно таким, увы, является алгоритм генератора PRNG, ныне вскрытого израильскими криптоаналитиками.

Криптогенератор - это непросто

Из того, что требования, предъявляемые к качественному криптографическому генератору случайных чисел, хорошо известны, вовсе не следует, что сконструировать его проще простого. В истории криптографии много случаев, когда слабости находили и в новых схемах известных авторов, и в алгоритмах, успевших получить распространение. Например, в 1996 году одна из ранних версий протокола SSL была взломана именно из-за слабостей в генераторе случайных чисел. Совсем недавно были обнаружены криптографические слабости в PRNG операционных систем Linux и FreeBSD, открытых для анализа.

По этой причине многие разработчики средств защиты благосклонно встретили инициативу NIST, американского Института стандартов и технологий, подготовившего и опубликовавшего большой, на 130 страниц документ под названием NIST Special Publication 800-90, целиком посвященный генераторам псевдослучайных чисел. В этом документе они именуются DRBG (Deterministic Random Bit Generators), и там содержатся описания четырех изученных и рекомендуемых к применению генераторов.

Перейти на страницу:

Все книги серии Компьютерра

Похожие книги

Спецназ
Спецназ

Части специального назначения (СпН) советской военной разведки были одним из самых главных военных секретов Советского Союза. По замыслу советского командования эти части должны были играть ключевую роль в грядущей ядерной войне со странами Запада, и именно поэтому даже сам факт их существования тщательно скрывался. Выполняя разведывательные и диверсионные операции в тылу противника накануне войны и в первые ее часы и дни, части и соединения СпН должны были обеспечить успех наступательных операций вооруженных сил Советского Союза и его союзников, обрушившихся на врага всей своей мощью. Вы узнаете:  Как и зачем в Советской Армии были созданы части специального назначения и какие задачи они решали. • Кого и как отбирали для службы в частях СпН и как проходила боевая подготовка солдат, сержантов и офицеров СпН. • Как советское командование планировало использовать части и соединения СпН в грядущей войне со странами Запада. • Предшественники частей и соединений СпН: от «отборных юношей» Томаса Мора до гвардейских минеров Красной Армии. • Части и соединения СпН советской военной разведки в 1950-х — 1970-х годах: организационная структура, оружие, тактика, агентура, управление и взаимодействие. «Спецназ» — прекрасное дополнение к книгам Виктора Суворова «Советская военная разведка» и «Аквариум», увлекательное чтение для каждого, кто интересуется историей советских спецслужб.

Виктор Суворов

Документальная литература
Повседневная жизнь петербургской сыскной полиции
Повседневная жизнь петербургской сыскной полиции

«Мы – Николай Свечин, Валерий Введенский и Иван Погонин – авторы исторических детективов. Наши литературные герои расследуют преступления в Российской империи в конце XIX – начале XX века. И хотя по историческим меркам с тех пор прошло не так уж много времени, в жизни и быте людей, их психологии, поведении и представлениях произошли колоссальные изменения. И чтобы описать ту эпоху, не краснея потом перед знающими людьми, мы, прежде чем сесть за очередной рассказ или роман, изучаем источники: мемуары и дневники, газеты и журналы, справочники и отчеты, научные работы тех лет и беллетристику, архивные документы. Однако далеко не все известные нам сведения можно «упаковать» в формат беллетристического произведения. Поэтому до поры до времени множество интересных фактов оставалось в наших записных книжках. А потом появилась идея написать эту книгу: рассказать об истории Петербургской сыскной полиции, о том, как искали в прежние времена преступников в столице, о судьбах царских сыщиков и раскрытых ими делах…»

Валерий Владимирович Введенский , Иван Погонин , Николай Свечин

Документальная литература / Документальное