(Январь 2008)
Среди отечественных филологов и лингвистов уже давно гуляет шутка о том, сколь существенный вклад внесла в русский язык уголовная братва.
В языках вроде английского или немецкого, как известно, есть такая вещь, как неопределенные и определенные артикли перед существительными. В русском языке артиклей, ясное дело, нет. Очевидную же их полезность все осознали лишь в 1990-е годы, когда криминальный мир не только мощно влился в слой новой русской буржуазии, но и заметно обогатил всеобщий бытовой лексикон. Так что с адекватным переводом иностранных артиклей теперь все стало очень просто.
Например, английское «the table» – это «конкретно стол», а вот «a table», соответственно, оказывается «типа стол». Разница в смысле слов, как видим, вполне очевидна.
В данной же статье речь пойдет о «чисто конкретной криптографии».
НЕ ПРОСТО ДЫРА
В декабре прошедшего (2007) года небольшая швейцарская фирма Dreamlab Technologies AG, специализирующаяся на компьютерной безопасности, объявила миру о выявленной ею серьезнейшей слабости в беспроводных клавиатурах. Большую статью с описанием подробностей этой истории можно найти на сайте компании www.dreamlab.net, здесь же вполне достаточно изложить лишь суть.
А суть такова, что изготовители бесшнуровых клавиатур (львиная доля которых приходится на Microsoft и Logitech) по какой-то причине упорно пренебрегают криптографической защитой информации.
Иначе говоря, пользователи почти любой беспроводной клавиатуры, связывающейся с компьютером по радиоканалу на частоте 27 МГц, должны четко себе представлять, что когда они нажимают на кнопки, то вся вводимая информация свободно доступна окружающим в радиусе нескольких десятков метров. А если любопытствующая сторона вооружена приличной антенной, то можно говорить и о многих сотнях метров.
Исследователи Dreamlab, проанализировавшие протокол передачи клавиатур типа Wireless Optical Desktop фирмы Microsoft, установили, что конкретно в данном семействе вся защита канала заключается в прибавлении к каждому коду клавиши одного и того же числа-байта.
Это число случайно выбирается из 256 возможных вариантов при самом первом сеансе связи между клавиатурой и компьютером в процессе синхронизации устройств. Строго говоря, называть эту уловку «защитой» можно лишь с очень большой натяжкой. Ибо в терминах криптографии подобное преобразование именуется простой заменой, в сути своей известно школьникам младших классов и по сложности обратного восстановления (дешифрования) практически не отличается от чтения открытого кода передачи.
Формулируя то же самое чуть иначе, можно сказать, что в беспроводных клавиатурах, выпускаемых индустрией без усиления защиты уже многие годы, имеется не просто дыра, а чудовищная уязвимость с точки зрения безопасности.
Дыру эту никак нельзя назвать случайной и можно приводить в качестве своего рода символа определенных воззрений на криптографию. Согласно которым широкой публике разрешено пользоваться лишь откровенно слабыми шифрами, не составляющими абсолютно никаких проблем для компетентных органов.
БЫЛА ВОЙНА
Чтобы стало яснее, как появилась и утвердилась столь своеобразная, а на сегодняшний день еще и очень влиятельная точка зрения, понадобится совершить небольшой экскурс в историю.
Отправной точкой станут первые годы холодной войны, когда политические лидеры Запада были крайне озабочены гигантской военной мощью СССР, только что сумевшего победить нацистскую Германию. А также вполне объяснимой популярностью коммунистических идей среди населения и партий, стремившихся к власти в странах вне советского блока.
В такой обстановке руководство США направило в Европу с секретной миссией Уильяма Фридмена, одного из основателей спецслужбы АНБ и просто авторитетнейшего специалиста-криптографа, имевшего хорошие связи в западноевропейских разведках еще с Первой мировой войны (подробности необычной биографии Фридмена можно найти тут: «Наука a la Ривербэнк«).
Миссия Фридмена, впрочем, подразумевала тайные встречи не столько с коллегами из спецслужб, сколько с ведущими компаниями криптографической индустрии Европы. Ибо после войны в мире отчетливо обозначился высокий спрос на современные шифраторы – для закрытия важных коммуникаций не только в военных, но и в дипломатических, банковских и промышленных системах связи.
Собственную криптоиндустрию имели по преимуществу лишь наиболее мощные державы, вроде Англии, Франции или Германии. Однако все они входили в однозначно проамериканский блок НАТО, а многие неприсоединившиеся страны имели вполне разумные основания не доверять криптографии, сработанной в одном из враждующих блоков.
По этой причине в нейтральных странах вроде Швейцарии или Австрии сложились очень благоприятные условия для деятельности независимых криптофирм, шифраторам которых все могли бы доверять свои секреты примерно так же, как доверяют деньги швейцарским банкам.
Именно такого рода компании, в частности в Швейцарии, и посетил Уильям Фридмен в ходе своей важной миссии в 1950-е годы, сумев до какой-то степени убедить их руководство в целесообразности тайного сотрудничества с США в лице спецслужбы АНБ. Известно об этих сверхсекретных соглашениях, заключенных явно в страхе перед коммунистами и обговоривших слабости-закладки в шифраторах, стало лишь много-много времени спустя.
Главным образом, информация об этом всплыла в 1990-е годы, когда целый ряд независимых расследований журналистов в разных странах позволил сложить в общую картину множество разрозненных эпизодов.
Каждый из подобных эпизодов документально рассказывал то о тайных встречах Фридмена в Швейцарии (откуда он вернулся, кстати говоря, в крайне подавленном состоянии, увидев красивую жизнь миллионеров, сделавших состояния на шифраторах, абсолютно ничем не лучших того, что изобретал для армии США – по сути бесплатно – сам Фридмен).
То о странных трансформациях криптосхем, разрабатывавшихся вроде бы собственными сотрудниками европейских фирм, однако на каком-то этапе получавших необъяснимую модификацию от «непонятно кого».
То, наконец, о кадровых сотрудниках АНБ, в 1960-70-е годы прикомандированных к швейцарским фирмам с задачами, категорически не подлежащими обсуждению и комментариям…
ПРОЦЕСС ПОШЕЛ
К началу 1970-х годов уровень компьютерной индустрии США вырос настолько, что здесь родилась идея о разработке собственной приличной криптографии без помощи АНБ. Ибо все сильные технологии шифрования, разработанные или одобренные Агентством национальной безопасности, несли на себе печать гостайны, абсолютно не подлежащей разглашению. А в законах, регулирующих экспорт, шифрсредства были приравнены к наступательным вооружениям и поэтому их продажа жестко контролировалась тем же АНБ.
Для компьютерной же индустрии и начинавших бурное развитие сетевых коммуникаций остро требовался единый криптографический стандарт – быстрый, достаточно надежный и стойкий ко взлому, но в то же время общедоступный для всех, то есть открытый в своей конструкции.
Примерно в таких исторических обстоятельствах в стенах фирмы IBM родился знаменитый ныне алгоритм DES. Новый криптостандарт блочного шифрования был построен на основе так называемой «сети Фейстела» – замечательного криптопреобразования, придуманного инженером-криптографом корпорации Хорстом Фейстелом. И, надо подчеркнуть, совершенно не похожего на поточные шифры, реализованные в подавляющем большинстве военных и дипломатических шифраторов того времени.
Главная разница, в двух словах, заключалась в следующем. Традиционные поточные шифры исторически ориентировались на телеграфные аппараты и перфоленту, где в каждом такте работы обрабатывался-шифровался один знак текста. В DES же, изначально ориентированном на обработку компьютерных данных, алгоритм оперировал «словами», т.е. стандартной длины наборами бит для регистров процессора, а эти слова сцеплялись в блоки, подлежащие шифрованию.
Для DES размер блока был выбран длиной в 64 бита, т.е. 8 знаков текста в терминах 8-битного кода ASCII, которые под управлением криптоключа единым махом перетряхивались и перемалывались для получения блока шифртекста такой же длины.
О криптоключе DES надо сказать особо, поскольку его «кривая» длина в 56 бит по сию пору вызывает недоумение у любого человека, мало-мальски знакомого с миром компьютеров и знающего, что там по естественным причинам предпочитают длины, кратные степени двойки (16, 32, 64, 128, …).
Шифр Фейстела «Люцифер», положенный в основу DES, имел естественную длину ключа 128 бит. Когда к рождению всеобщего криптостандарта на определенном этапе подключилось АНБ, ключ поначалу сократился до 64 бит, а затем и до противоестественных 56. Которые и закрепились в схеме DES навсегда.
Чтобы хоть как-то объяснить этот трюк с укорачиванием ключа причинами, похожими на рациональные, был изобретен аргумент о необходимости добавления 8 проверочных битов в стандартный 64-битный блок ключевой последовательности. Ни до, ни после DES, сколько помнится, к подобной экзотической аргументации больше не прибегали, однако публике пришлось это съесть безоговорочно.
Потому что DES реально оказался превосходным для своего времени шифром, на примере которого обучают мастерству уже которое поколение криптографов.
Если не говорить о медленной программной реализации (на которую, собственно, DES и не был изначально рассчитан, подразумевая аппаратное воплощение в микросхеме), то единственная слабость алгоритма с точки зрения криптографии свелась к его малой длине ключа. Которая, как можно видеть, была шифру искусственно навязана извне.
Хотя официально это никогда не признавалось, известны кулуарные свидетельства бывших сотрудников или подрядчиков АНБ, согласно которым агентство с самого начала имело возможность быстро вскрывать DES в лоб. Но стоило это чудовищных затрат памяти и компьютерных ресурсов для предварительных вычислений.
Гигантских объемов запоминающее устройство – сначала на магнитных лентах, а затем на оптодисках – содержало отсортированные по порядку блоки шифртекста, представлявшие собой некую служебную последовательность байтов, заранее зашифрованную суперкомпьютером на всех возможных DES-ключах. В силу специфики работы вычтехники, в формате файлов почти всегда имеются такого рода скрытые или явные служебные последовательности, причем на вполне определенных местах.
Поэтому для вскрытия и чтения нужного файла, зашифрованного с помощью DES, специалистам АНБ обычно было достаточно взять блок (8 байт) шифртекста на определенном месте, быстро найти его в отсортированном массиве памяти и тут же, словно по известному адресу, узнать соответствующий ему ключ, использованный для зашифрования всего файла.
Следует особо подчеркнуть, что лобовое вскрытие ключа длиной 56 бит для большинства сторон представляло собой непреодолимую, воистину гигантской сложности вычислительную задачу не только в конце 1970-х, но и на протяжении еще нескольких десятилетий. И то, что было под силу спецвычислителям самой мощной в мире криптослужбы АНБ, еще долго оставалось совершенно недоступно, скажем, ФБР, не говоря уже о других правоохранительных органах или полиции на местах.
Да и для АНБ, надо сказать, быстрое и широкое распространение DES в самых разных приложениях в течение 1980-х годов оказалось неприятной и весьма обременительной неожиданностью. Шифр был все же слишком хорош, так что большие объемы требующих вскрытия материалов стали ощутимо напрягать небезграничные ресурсы даже этой спецслужбы.
Как признавали впоследствии ответственные чины агентства, они дали принципиальное согласие на публикацию схемы DES, будучи уверенными, что шифр предназначен исключительно для зашивания в чипы. Предполагалось, что общее описание криптоалгоритма не будет настолько подробным и полным, чтобы обеспечить его корректную программную реализацию.
Так что в каком-то смысле можно говорить, что отличный шифр DES достался миру в результате бюрократической ошибки инстанций.
В ДВИЖЕНИИ СЛОВНО В ПОКОЕ
В АНБ, естественно, довольно быстро осознали свой промах, который стал быстро разрастаться в проблему катастрофических размеров вместе с началом эры персональных компьютеров. То есть аппаратов, потенциально предоставлявших каждому человеку средство для удобного шифрования информации с любыми уровнями стойкости, вплоть до абсолютно невскрываемого.
Ибо в массах стали появляться и «тройной-DES» с неподъемной даже для АНБ длиной ключа 112 бит, и другие весьма качественные блочные шифры вроде швейцарского IDEA.
По этой причине в конце 1980-х годов с подачи АНБ в США была предпринята тотальная законодательная атака, попытавшаяся в принципе сделать нелегальной и уголовно наказуемой любую сильную криптографию в распоряжении обычных граждан. Поборники этой инициативы, правда, абсолютно не учли тогдашнюю степень чувствительности нации к попыткам ограничения свободы, а потому драконовский законопроект с треском провалился.
Побочным же продуктом данного конфликта стало рождение знаменитой криптопрограммы PGP, которую гражданский активист и программист Фил Зиммерман написал, а затем тут же начал широко распространять в компьютерных сетях – в качестве личного протеста против угрозы запрета на сильное крипто.
Зиммермана, как известно, государство попыталось (к счастью, безуспешно) посадить в тюрьму «за нарушение экспортных законов». А в АНБ тем временем родили другую идею – так называемый клиппер-чип. То есть аппаратный шифратор, встраиваемый для начала во все телефоны, а в перспективе и во все компьютеры. Дабы граждане имели возможность конфиденциально общаться, а государство, соответственно, имело встроенный в криптографию «черный ход», обеспечивающий прослушивание коммуникаций в случае нужды.
С этой сомнительной инициативой, ясное дело, тоже абсолютно ничего не выгорело, и под давлением мощных протестов общественности администрация Клинтона была вынуждена проект зарубить на самой начальной стадии, в середине 1990-х.
И вот тогда в действие была запущена та самая стратегия регулирования криптографии, которая успешно функционирует вплоть до сегодняшнего дня. Строго говоря, в сущности своей она ничем не отличается от того, что на другом уровне обеспечил патриарх АНБ Уильям Фридмен в 1950-е, в ходе своей тайной швейцарской миссии.
Или от того, что было сделано в конце 1980-х с криптографией, встроенной в европейскую систему мобильной связи GSM (см. «Что показало вскрытие»). Где имеется достаточно приличный, по общей идее, криптоалгоритм A5 с длиной ключа 64 бита. Однако, по настоянию разведслужб, реализованный так, чтобы имелись разные способы ослабления защиты конфиденциальных переговоров.
Иначе говоря, как показало вскрытие GSM-криптографии независимыми хакерами в конце 1990-х, несколько важных элементов неплохой изначально криптосхемы принудительно ослаблены, что понижает общую стойкость шифра на много порядков и знающим специалистам позволяет его вскрывать практически «влет», одновременно с эфирным перехватом разговоров.
В самой примитивной форме эту стратегию контроля реализуют элементарным укорачиванием ключа, оставляя рабочими бит 40 или чуть больше-меньше, а остальные принудительно забивая нулями или оставляя постоянными. В 1990-е годы лишь такую длину, легко вскрываемую лобовым перебором, разрешали для американских криптосредств экспортные законы США.
Когда же этот порог был формально повышен, в реальных системах рабочую длину ключа все равно оставляли укороченной, особенно когда это можно было сохранить в тайне. Как это сделано, к примеру, в крипточипах противоугонных автомобильных систем.
В применяемых и поныне системах на основе RFID-чипов DST фирмы Texas Instruments длина ключа составляет всего 40 бит, а в системах на основе KeeLoq фирмы Microchip, где общая длина ключа 64 бита, реально работают и изменяются при каждом сеансе лишь 28 бит (подробности см. «Ключи, замки, отмычки«).
В несколько более изощренной форме эта же стратегия может принимать форму криптоалгоритмов с любой, в принципе, рабочей длиной ключа, но функционирующих таким образом, что для грамотного вскрытия этот ключ и отыскивать-то не нужно. Обходясь ключами эквивалентными, которые либо вычисляются гораздо легче, либо вообще известны заранее.
В самой яркой и наглядной версии этот подход можно проследить на примере защиты контента на видеодисках – как в системе CSS DVD, так и в «продвинутой системе» AACS для дисков высокой четкости HD DVD и Blu-ray.
Систему CSS разрабатывали, как известно, специалисты уважаемой фирмы Intel, где давно и прекрасно знают, что такое грамотная защита информации. В итоге же у них получилась криптосхема, защиту которой современные хакерские программы снимают столь легко, что многие нынешние пользователи, копируя видеодиски, порой даже не понимают, что взламывают систему, некогда предполагавшуюся очень сильной.
Почему так вышло, официально никто не объяснял. Однако в кулуарах Сети давно гуляют анонимные признания сотрудников фирмы, согласно которым Intel просто «вынудили» реализовать слабую криптозащиту, понадеявшись на сохранение схемы в тайне. Что же касается взлома AACS и обнаружения хакерами универсального «ключа обработки», подходящего для отпирания всех дисков, то об этом лучше рассказывать отдельно и с подробностями.
Список не просто слабой, а чудовищно слабой криптографии, похожей на вполне достойную и реализованной во множестве популярнейших программ, от криптопротокола WEP для защиты WiFi до криптогенератора случайных чисел во всех версиях Windows вплоть до XP, можно продолжать и продолжать (см. «Хитрости крипторемесла»). Однако общая суть происходящего, вероятно, уже ясна.
У специалистов АНБ имеются два особых термина, характеризующих степень доступности добываемой информации для разведки. Один, «info at rest» или «информация в покое», обозначает открытые данные, когда они вводятся с клавиатуры или считываются с экрана. Другой же, «info in motion» или «информация в движении», обозначает противоположное состояние, когда данные обработаны криптографией для передачи или хранения.
И в идеале, по мнению спецслужб, у всех обычных граждан и врагов государства (а также, желательно, и у союзников) применяемая криптография в реальности должна быть примерно такого уровня, чтобы в случае нужды не было принципиальных различий между информацией «в покое» и «в движении». То есть, по сути, сама криптосхема может играть роль шпионской закладки, но уже без возни и усилий, требуемых для установки, скажем, программы-кейлоггера (перехватчика нажатия клавиш) в каждый конкретный компьютер.
КАК ЭТО ВСЕ НАЗЫВАТЬ?
Подводя же общий итог, можно так сформулировать главное отличие между двумя базовыми разновидностями криптографической науки.
Если «a cryptography» по определению сосредоточена на создании все более стойких и надежных схем защиты информации, то «the cryptography», напротив, всецело посвящена тому, как из сильного шифра сделать слабый. Но сделать это требуется так, чтобы слабость была как можно менее заметной и, в случае обнаружения, походила на случайные баги, допущенные по недосмотру или невежеству.
Однако для посвященных «the crypto» обеспечивает легкий и быстрый доступ к любой зашифрованной информации без знания ключей, применявшихся владельцем. В русском языке для такой науки прекрасно подходит название «чисто конкретная криптография».
P.S. на всякий случай. Лингвистические новации – это, конечно же, шутка. Но зато все остальное – реальное положение дел. Что же касается действительно сильных криптосредств, то они, несомненно, тоже имеются. Но это уже совсем другая история.