Почему криптосистемы ненадежны?

|    | |      |[|                     | |   |                    |       |
|    | |      |p|                     | |   |                    |       |
|    | |      |i|                     | |   |                    |       |
|    | |      |c|                     | |   |                    |       |
|    | |      |]|                     | |   |                    |       |
|    | |      | |<!-- Russian         | |   |                    |       |
|    | |      | |LinkExchange code    | |   |                    |       |
|    | |      | |START -->            | |   |                    |       |
|    | |      | |[pic]                | |   |                    |       |
|    | |      | |Russian LinkExchange | |   |                    |       |
|    | |      | |Member               | |   |                    |       |
|    | |      | |<!-- Russian         | |   |                    |       |
|    | |      | |LinkExchange code END| |   |                    |       |
|    | |      | |-->                  | |   |                    |       |
|[pic|•|Securi| |                     | |   |                    |       |
|]   | |ty    | |Почему криптосистемы | |   |                    |       |
|    | |Page  | |ненадежны?           | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |Павел Семьянов, Центр| |   |                    |       |
|    | |      | |Защиты Информации    | |   |                    |       |
|    | |      | |СПбГТУ               | |   |                    |       |
|    | |      | |В современном        | |   |                    |       |
|    | |      | |программном          | |   |                    |       |
|    | |      | |обеспечении (ПО)     | |   |                    |       |
|    | |      | |криптоалгоритмы      | |   |                    |       |
|    | |      | |широко применяются не| |   |                    |       |
|    | |      | |только для задач     | |   |                    |       |
|    | |      | |шифрования данных, но| |   |                    |       |
|    | |      | |и для аутентификации | |   |                    |       |
|    | |      | |и проверки           | |   |                    |       |
|    | |      | |целостности. На      | |   |                    |       |
|    | |      | |сегодняшний день     | |   |                    |       |
|    | |      | |существуют хорошо    | |   |                    |       |
|    | |      | |известные и          | |   |                    |       |
|    | |      | |апробированные       | |   |                    |       |
|    | |      | |криптоалгоритмы (как | |   |                    |       |
|    | |      | |с симметричными, так | |   |                    |       |
|    | |      | |и несимметричными    | |   |                    |       |
|    | |      | |ключами),            | |   |                    |       |
|    | |      | |криптостойкость      | |   |                    |       |
|    | |      | |которых либо доказана| |   |                    |       |
|    | |      | |математически, либо  | |   |                    |       |
|    | |      | |основана на          | |   |                    |       |
|    | |      | |необходимости решения| |   |                    |       |
|    | |      | |математически сложной| |   |                    |       |
|    | |      | |задачи (факторизации,| |   |                    |       |
|    | |      | |дискретного          | |   |                    |       |
|    | |      | |логарифмирования и   | |   |                    |       |
|    | |      | |т.п.). К наиболее    | |   |                    |       |
|    | |      | |известным из них     | |   |                    |       |
|    | |      | |относятся DES, ГОСТ, | |   |                    |       |
|    | |      | |RSA. Таким образом,  | |   |                    |       |
|    | |      | |они не могут быть    | |   |                    |       |
|    | |      | |вскрыты иначе, чем   | |   |                    |       |
|    | |      | |полным перебором или | |   |                    |       |
|    | |      | |решением указанной   | |   |                    |       |
|    | |      | |задачи.              | |   |                    |       |
|    | |      | |С другой стороны, в  | |   |                    |       |
|    | |      | |компьютерном и       | |   |                    |       |
|    | |      | |околокомпьютерном    | |   |                    |       |
|    | |      | |мире все время       | |   |                    |       |
|    | |      | |появляется информация| |   |                    |       |
|    | |      | |об ошибках или       | |   |                    |       |
|    | |      | |"дырах" в той или    | |   |                    |       |
|    | |      | |иной программе (в    | |   |                    |       |
|    | |      | |т.ч. применяющей     | |   |                    |       |
|    | |      | |криптоалгоритмы), или| |   |                    |       |
|    | |      | |о том, что она была  | |   |                    |       |
|    | |      | |взломана (cracked).  | |   |                    |       |
|    | |      | |Это создает недоверие| |   |                    |       |
|    | |      | |как к конкретным     | |   |                    |       |
|    | |      | |программам, так и к  | |   |                    |       |
|    | |      | |возможности вообще   | |   |                    |       |
|    | |      | |защитить что-либо    | |   |                    |       |
|    | |      | |криптографичеcкими   | |   |                    |       |
|    | |      | |методами не только от| |   |                    |       |
|    | |      | |спецслужб, но и от   | |   |                    |       |
|    | |      | |простых хакеров.     | |   |                    |       |
|    | |      | |Поэтому знание       | |   |                    |       |
|    | |      | |истории атак и "дыр" | |   |                    |       |
|    | |      | |в криптосистемах, а  | |   |                    |       |
|    | |      | |также понимание      | |   |                    |       |
|    | |      | |причин, по которым   | |   |                    |       |
|    | |      | |они имели место,     | |   |                    |       |
|    | |      | |является одним из    | |   |                    |       |
|    | |      | |необходимых условий  | |   |                    |       |
|    | |      | |разработки защищенных| |   |                    |       |
|    | |      | |систем. Перспективным| |   |                    |       |
|    | |      | |направлением         | |   |                    |       |
|    | |      | |исследований в этой  | |   |                    |       |
|    | |      | |области является     | |   |                    |       |
|    | |      | |анализ успешно       | |   |                    |       |
|    | |      | |проведенных атак или | |   |                    |       |
|    | |      | |выявленных           | |   |                    |       |
|    | |      | |уязвимостей в        | |   |                    |       |
|    | |      | |криптосистемах с     | |   |                    |       |
|    | |      | |целью их обобщения,  | |   |                    |       |
|    | |      | |классификации и      | |   |                    |       |
|    | |      | |выявления причин и   | |   |                    |       |
|    | |      | |закономерностей их   | |   |                    |       |
|    | |      | |появления и          | |   |                    |       |
|    | |      | |существования. Это и | |   |                    |       |
|    | |      | |будет являться       | |   |                    |       |
|    | |      | |задачей данной       | |   |                    |       |
|    | |      | |статьи.              | |   |                    |       |
|    | |      | |По аналогии с        | |   |                    |       |
|    | |      | |таксономией причин   | |   |                    |       |
|    | |      | |нарушения            | |   |                    |       |
|    | |      | |безопасности ВС [1], | |   |                    |       |
|    | |      | |выделим следующие    | |   |                    |       |
|    | |      | |причины ненадежности | |   |                    |       |
|    | |      | |криптографических    | |   |                    |       |
|    | |      | |программ (см. рис.   | |   |                    |       |
|    | |      | |1):                  | |   |                    |       |
|    | |      | |Невозможность        | |   |                    |       |
|    | |      | |применения стойких   | |   |                    |       |
|    | |      | |криптоалгоритмов;    | |   |                    |       |
|    | |      | |Ошибки в реализации  | |   |                    |       |
|    | |      | |криптоалгоритмов;    | |   |                    |       |
|    | |      | |Неправильное         | |   |                    |       |
|    | |      | |применение           | |   |                    |       |
|    | |      | |криптоалгоритмов;    | |   |                    |       |
|    | |      | |Человеческий фактор. | |   |                    |       |
|    | |      | |Отметим сразу, что   | |   |                    |       |
|    | |      | |рассматриваемые ниже | |   |                    |       |
|    | |      | |причины покрывают    | |   |                    |       |
|    | |      | |только два вида      | |   |                    |       |
|    | |      | |потенциально         | |   |                    |       |
|    | |      | |возможных угроз:     | |   |                    |       |
|    | |      | |раскрытия и          | |   |                    |       |
|    | |      | |целостности, оставляя| |   |                    |       |
|    | |      | |в стороне угрозу     | |   |                    |       |
|    | |      | |отказа в             | |   |                    |       |
|    | |      | |обслуживании, которая| |   |                    |       |
|    | |      | |приобретает все      | |   |                    |       |
|    | |      | |большее значение по  | |   |                    |       |
|    | |      | |мере развития        | |   |                    |       |
|    | |      | |распределенных       | |   |                    |       |
|    | |      | |криптосистем.        | |   |                    |       |
|    | |      | |[pic]                | |   |                    |       |
|    | |      | |Рис. 1. Причины      | |   |                    |       |
|    | |      | |ненадежности         | |   |                    |       |
|    | |      | |криптосистем.        | |   |                    |       |
|    | |      | |Невозможность        | |   |                    |       |
|    | |      | |применения стойких   | |   |                    |       |
|    | |      | |криптоалгоритмов     | |   |                    |       |
|    | |      | |Эта группа причин    | |   |                    |       |
|    | |      | |является наиболее    | |   |                    |       |
|    | |      | |распространенной     | |   |                    |       |
|    | |      | |из-за следующих      | |   |                    |       |
|    | |      | |факторов.            | |   |                    |       |
|    | |      | |Малая скорость       | |   |                    |       |
|    | |      | |стойких              | |   |                    |       |
|    | |      | |криптоалгоритмов     | |   |                    |       |
|    | |      | |Это основной фактор, | |   |                    |       |
|    | |      | |затрудняющий         | |   |                    |       |
|    | |      | |применение хороших   | |   |                    |       |
|    | |      | |алгоритмов в,        | |   |                    |       |
|    | |      | |например, системах   | |   |                    |       |
|    | |      | |"тотального"         | |   |                    |       |
|    | |      | |шифрования или       | |   |                    |       |
|    | |      | |шифрования "на лету".| |   |                    |       |
|    | |      | |В частности,         | |   |                    |       |
|    | |      | |программа Norton     | |   |                    |       |
|    | |      | |DiskReet, хотя и     | |   |                    |       |
|    | |      | |имеет реализацию DES,| |   |                    |       |
|    | |      | |при смене            | |   |                    |       |
|    | |      | |пользователем ключа  | |   |                    |       |
|    | |      | |может не             | |   |                    |       |
|    | |      | |перешифровывать весь | |   |                    |       |
|    | |      | |диск, т.к. это займет| |   |                    |       |
|    | |      | |слишком много        | |   |                    |       |
|    | |      | |времени. Аналогично, | |   |                    |       |
|    | |      | |программа компрессии | |   |                    |       |
|    | |      | |"на лету" Stacker    | |   |                    |       |
|    | |      | |фирмы Stac           | |   |                    |       |
|    | |      | |Electronics имеет    | |   |                    |       |
|    | |      | |опцию закрытия       | |   |                    |       |
|    | |      | |паролем              | |   |                    |       |
|    | |      | |компрессируемых      | |   |                    |       |
|    | |      | |данных. Однако она не| |   |                    |       |
|    | |      | |имеет физической     | |   |                    |       |
|    | |      | |возможности          | |   |                    |       |
|    | |      | |зашифровать этим     | |   |                    |       |
|    | |      | |паролем свой файл,   | |   |                    |       |
|    | |      | |обычно имеющий       | |   |                    |       |
|    | |      | |размеры в несколько  | |   |                    |       |
|    | |      | |сот мегабайт, поэтому| |   |                    |       |
|    | |      | |она ограничивается   | |   |                    |       |
|    | |      | |очень слабым         | |   |                    |       |
|    | |      | |алгоритмом и хранит  | |   |                    |       |
|    | |      | |хэш-функцию от пароля| |   |                    |       |
|    | |      | |вместе с защищаемыми | |   |                    |       |
|    | |      | |данными. Величина    | |   |                    |       |
|    | |      | |криптостойкости1 этой| |   |                    |       |
|    | |      | |функции была         | |   |                    |       |
|    | |      | |исследована и        | |   |                    |       |
|    | |      | |оказалась равной 28, | |   |                    |       |
|    | |      | |т.е. пароль может    | |   |                    |       |
|    | |      | |быть вскрыт          | |   |                    |       |
|    | |      | |тривиально.          | |   |                    |       |
|    | |      | |Экспортные           | |   |                    |       |
|    | |      | |ограничения          | |   |                    |       |
|    | |      | |Это причина,         | |   |                    |       |
|    | |      | |связанная с экспортом| |   |                    |       |
|    | |      | |криптоалгоритмов или | |   |                    |       |
|    | |      | |с необходимостью     | |   |                    |       |
|    | |      | |приобретать патент   | |   |                    |       |
|    | |      | |или права на них. В  | |   |                    |       |
|    | |      | |частности, из США    | |   |                    |       |
|    | |      | |запрещен экспорт     | |   |                    |       |
|    | |      | |криптоалгоритмов с   | |   |                    |       |
|    | |      | |длиной ключа более 40| |   |                    |       |
|    | |      | |бит2. Очевидно, что  | |   |                    |       |
|    | |      | |такая криптостойкость| |   |                    |       |
|    | |      | |не может считаться   | |   |                    |       |
|    | |      | |надежной при         | |   |                    |       |
|    | |      | |современных          | |   |                    |       |
|    | |      | |вычислительных       | |   |                    |       |
|    | |      | |мощностях и даже на  | |   |                    |       |
|    | |      | |персональном         | |   |                    |       |
|    | |      | |компьютере, положив  | |   |                    |       |
|    | |      | |скорость перебора в  | |   |                    |       |
|    | |      | |50 000 паролей/сек,  | |   |                    |       |
|    | |      | |получим время        | |   |                    |       |
|    | |      | |перебора в среднем   | |   |                    |       |
|    | |      | |порядка 4 месяцев.   | |   |                    |       |
|    | |      | |Известные примеры    | |   |                    |       |
|    | |      | |программ,            | |   |                    |       |
|    | |      | |подверженных         | |   |                    |       |
|    | |      | |экспортным           | |   |                    |       |
|    | |      | |ограничениям - это   | |   |                    |       |
|    | |      | |последние версии     | |   |                    |       |
|    | |      | |броузеров (browser)  | |   |                    |       |
|    | |      | |Интернета, в         | |   |                    |       |
|    | |      | |частности Netscape   | |   |                    |       |
|    | |      | |Navigatorфирмы       | |   |                    |       |
|    | |      | |Netscape             | |   |                    |       |
|    | |      | |Communications и     | |   |                    |       |
|    | |      | |Internet Explorer    | |   |                    |       |
|    | |      | |фирмы Microsoft. Они | |   |                    |       |
|    | |      | |предоставляют        | |   |                    |       |
|    | |      | |шифрование со        | |   |                    |       |
|    | |      | |128-битным ключом для| |   |                    |       |
|    | |      | |пользователей внутри | |   |                    |       |
|    | |      | |США и с 40-битным    | |   |                    |       |
|    | |      | |ключом для всех      | |   |                    |       |
|    | |      | |остальных.           | |   |                    |       |
|    | |      | |Также в эту группу   | |   |                    |       |
|    | |      | |попадает последняя   | |   |                    |       |
|    | |      | |версия архиватора ARJ| |   |                    |       |
|    | |      | |2.60, известного     | |   |                    |       |
|    | |      | |своим слабым         | |   |                    |       |
|    | |      | |алгоритмом шифрования| |   |                    |       |
|    | |      | |архивов. Теперь      | |   |                    |       |
|    | |      | |пользователи внутри  | |   |                    |       |
|    | |      | |США могут            | |   |                    |       |
|    | |      | |использовать         | |   |                    |       |
|    | |      | |криптостойкий        | |   |                    |       |
|    | |      | |алгоритм ГОСТ. Комизм| |   |                    |       |
|    | |      | |ситуации в том, что  | |   |                    |       |
|    | |      | |хотя этот алгоритм   | |   |                    |       |
|    | |      | |является российским, | |   |                    |       |
|    | |      | |даже россияне по     | |   |                    |       |
|    | |      | |законам США все равно| |   |                    |       |
|    | |      | |не могут             | |   |                    |       |
|    | |      | |воспользоваться им в | |   |                    |       |
|    | |      | |программе ARJ.       | |   |                    |       |
|    | |      | |Использование        | |   |                    |       |
|    | |      | |собственных          | |   |                    |       |
|    | |      | |криптоалгоритмов     | |   |                    |       |
|    | |      | |Незнание или         | |   |                    |       |
|    | |      | |нежелание            | |   |                    |       |
|    | |      | |использовать         | |   |                    |       |
|    | |      | |известные алгоритмы -| |   |                    |       |
|    | |      | |такая ситуация, как  | |   |                    |       |
|    | |      | |ни парадоксально,    | |   |                    |       |
|    | |      | |также имеет место    | |   |                    |       |
|    | |      | |быть, особенно в     | |   |                    |       |
|    | |      | |программах типа      | |   |                    |       |
|    | |      | |Freeware и Shareware,| |   |                    |       |
|    | |      | |например,            | |   |                    |       |
|    | |      | |архиваторах.         | |   |                    |       |
|    | |      | |Как уже говорилось,  | |   |                    |       |
|    | |      | |архиватор ARJ (до    | |   |                    |       |
|    | |      | |версии 2.60          | |   |                    |       |
|    | |      | |включительно)        | |   |                    |       |
|    | |      | |использует (по       | |   |                    |       |
|    | |      | |умолчанию) очень     | |   |                    |       |
|    | |      | |слабый алгоритм      | |   |                    |       |
|    | |      | |шифрования - простое | |   |                    |       |
|    | |      | |гаммирование.        | |   |                    |       |
|    | |      | |Казалось бы, что в   | |   |                    |       |
|    | |      | |данном случае        | |   |                    |       |
|    | |      | |использование его    | |   |                    |       |
|    | |      | |допустимо, т.к.      | |   |                    |       |
|    | |      | |архивированный текст | |   |                    |       |
|    | |      | |должен быть          | |   |                    |       |
|    | |      | |совершенно           | |   |                    |       |
|    | |      | |неизбыточен и        | |   |                    |       |
|    | |      | |статистические методы| |   |                    |       |
|    | |      | |криптоанализа здесь  | |   |                    |       |
|    | |      | |не подходят. Однако, | |   |                    |       |
|    | |      | |после более          | |   |                    |       |
|    | |      | |детального изучения  | |   |                    |       |
|    | |      | |оказалось, что в     | |   |                    |       |
|    | |      | |архивированном тексте| |   |                    |       |
|    | |      | |присутствует (и это  | |   |                    |       |
|    | |      | |оказывается          | |   |                    |       |
|    | |      | |справедливым для     | |   |                    |       |
|    | |      | |любых архиваторов)   | |   |                    |       |
|    | |      | |некоторая неслучайная| |   |                    |       |
|    | |      | |информация -         | |   |                    |       |
|    | |      | |например, таблица    | |   |                    |       |
|    | |      | |Хаффмана и некоторая | |   |                    |       |
|    | |      | |другая служебная     | |   |                    |       |
|    | |      | |информация. Поэтому, | |   |                    |       |
|    | |      | |точно зная или       | |   |                    |       |
|    | |      | |предсказав с         | |   |                    |       |
|    | |      | |некоторой            | |   |                    |       |
|    | |      | |вероятностью значение| |   |                    |       |
|    | |      | |этих служебных       | |   |                    |       |
|    | |      | |переменных, можно с  | |   |                    |       |
|    | |      | |той же вероятностью  | |   |                    |       |
|    | |      | |определить и         | |   |                    |       |
|    | |      | |соответствующие      | |   |                    |       |
|    | |      | |символы пароля.      | |   |                    |       |
|    | |      | |Далее, использование | |   |                    |       |
|    | |      | |слабых алгоритмов    | |   |                    |       |
|    | |      | |часто приводит к     | |   |                    |       |
|    | |      | |успеху атаки по      | |   |                    |       |
|    | |      | |открытому тексту. В  | |   |                    |       |
|    | |      | |случае архиватора    | |   |                    |       |
|    | |      | |ARJ, если            | |   |                    |       |
|    | |      | |злоумышленнику       | |   |                    |       |
|    | |      | |известен хотя бы один| |   |                    |       |
|    | |      | |файл из              | |   |                    |       |
|    | |      | |зашифрованного       | |   |                    |       |
|    | |      | |архива, он с         | |   |                    |       |
|    | |      | |легкостью определит  | |   |                    |       |
|    | |      | |пароль архива и      | |   |                    |       |
|    | |      | |извлечет оттуда все  | |   |                    |       |
|    | |      | |остальные файлы      | |   |                    |       |
|    | |      | |(криптостойкость ARJ | |   |                    |       |
|    | |      | |при наличии открытого| |   |                    |       |
|    | |      | |текста - 20 !). Даже | |   |                    |       |
|    | |      | |если ни одного файла | |   |                    |       |
|    | |      | |в незашифрованном    | |   |                    |       |
|    | |      | |виде нет, то все     | |   |                    |       |
|    | |      | |равно простое        | |   |                    |       |
|    | |      | |гаммирование         | |   |                    |       |
|    | |      | |позволяет достичь    | |   |                    |       |
|    | |      | |скорости перебора в  | |   |                    |       |
|    | |      | |350000 паролей/сек.  | |   |                    |       |
|    | |      | |на машине класса     | |   |                    |       |
|    | |      | |Pentium.             | |   |                    |       |
|    | |      | |Аналогичная ситуация | |   |                    |       |
|    | |      | |имеет место и в      | |   |                    |       |
|    | |      | |случае с популярными | |   |                    |       |
|    | |      | |программами из       | |   |                    |       |
|    | |      | |Microsoft Office -   | |   |                    |       |
|    | |      | |для определения      | |   |                    |       |
|    | |      | |пароля там необходимо| |   |                    |       |
|    | |      | |знать всего 16 байт  | |   |                    |       |
|    | |      | |файла .doc или .xls, | |   |                    |       |
|    | |      | |после чего достаточно| |   |                    |       |
|    | |      | |перебрать всего 24   | |   |                    |       |
|    | |      | |вариантов. В         | |   |                    |       |
|    | |      | |Microsoft Office 97  | |   |                    |       |
|    | |      | |сделаны значительные | |   |                    |       |
|    | |      | |улучшения алгоритмов | |   |                    |       |
|    | |      | |шифрования, в        | |   |                    |       |
|    | |      | |результате чего      | |   |                    |       |
|    | |      | |осталась возможность | |   |                    |       |
|    | |      | |только полного       | |   |                    |       |
|    | |      | |перебора, но... не   | |   |                    |       |
|    | |      | |везде - MS Access 97 | |   |                    |       |
|    | |      | |использует           | |   |                    |       |
|    | |      | |примитивнейший       | |   |                    |       |
|    | |      | |алгоритм, причем     | |   |                    |       |
|    | |      | |шифруются не данные, | |   |                    |       |
|    | |      | |а сам пароль         | |   |                    |       |
|    | |      | |операцией XOR с      | |   |                    |       |
|    | |      | |фиксированной        | |   |                    |       |
|    | |      | |константой!          | |   |                    |       |
|    | |      | |В сетевой ОС Novell  | |   |                    |       |
|    | |      | |Netware фирмы Novell | |   |                    |       |
|    | |      | |(версии 3.х и 4.х)   | |   |                    |       |
|    | |      | |также применяется    | |   |                    |       |
|    | |      | |собственный алгоритм | |   |                    |       |
|    | |      | |хэширования. На входе| |   |                    |       |
|    | |      | |хэш-функция получает | |   |                    |       |
|    | |      | |32-байтовое значение,| |   |                    |       |
|    | |      | |полученное из        | |   |                    |       |
|    | |      | |оригинального пароля | |   |                    |       |
|    | |      | |пользователя путем   | |   |                    |       |
|    | |      | |либо сжатия пароля   | |   |                    |       |
|    | |      | |длиной более 32      | |   |                    |       |
|    | |      | |символов с помощью   | |   |                    |       |
|    | |      | |операции XOR, либо   | |   |                    |       |
|    | |      | |размножением пароля  | |   |                    |       |
|    | |      | |длиной менее 32      | |   |                    |       |
|    | |      | |символов; а на выходе| |   |                    |       |
|    | |      | |- 16-байтовое        | |   |                    |       |
|    | |      | |хэш-значение         | |   |                    |       |
|    | |      | |(Hash16). Именно оно | |   |                    |       |
|    | |      | |(для Novell Netware  | |   |                    |       |
|    | |      | |3.х) хранится в базе | |   |                    |       |
|    | |      | |данных связок        | |   |                    |       |
|    | |      | |(bindery) в виде     | |   |                    |       |
|    | |      | |свойства "PASSWORD". | |   |                    |       |
|    | |      | |Одним из основных    | |   |                    |       |
|    | |      | |свойств криптостойкой| |   |                    |       |
|    | |      | |хэш-функции должно   | |   |                    |       |
|    | |      | |быть то, что она не  | |   |                    |       |
|    | |      | |должна допускать     | |   |                    |       |
|    | |      | |легкого построения   | |   |                    |       |
|    | |      | |коллизий (таковой,   | |   |                    |       |
|    | |      | |например, является   | |   |                    |       |
|    | |      | |функция crypt(),     | |   |                    |       |
|    | |      | |используемая в UNIX, | |   |                    |       |
|    | |      | |которая основана на  | |   |                    |       |
|    | |      | |DES). Именно это     | |   |                    |       |
|    | |      | |свойство нарушено в  | |   |                    |       |
|    | |      | |хэш-функции,         | |   |                    |       |
|    | |      | |применяемой в Novell | |   |                    |       |
|    | |      | |Netware.             | |   |                    |       |
|    | |      | |Была построена       | |   |                    |       |
|    | |      | |процедура, которая из| |   |                    |       |
|    | |      | |данного хэш-значения | |   |                    |       |
|    | |      | |путем небольшого     | |   |                    |       |
|    | |      | |перебора (несколько  | |   |                    |       |
|    | |      | |секунд на машине     | |   |                    |       |
|    | |      | |класса 80486DX2-66)  | |   |                    |       |
|    | |      | |получает 32-байтовую | |   |                    |       |
|    | |      | |последовательность,  | |   |                    |       |
|    | |      | |которая, конечно, не | |   |                    |       |
|    | |      | |является истинным    | |   |                    |       |
|    | |      | |паролем, но тем не   | |   |                    |       |
|    | |      | |менее воспринимается | |   |                    |       |
|    | |      | |Novell Netware как   | |   |                    |       |
|    | |      | |таковой, т.к.        | |   |                    |       |
|    | |      | |применение к ней     | |   |                    |       |
|    | |      | |хэш-алгоритма, выдает| |   |                    |       |
|    | |      | |в точности имеющееся | |   |                    |       |
|    | |      | |хэш-значение.        | |   |                    |       |
|    | |      | |Рассмотренный        | |   |                    |       |
|    | |      | |хэш-алгоритм остался | |   |                    |       |
|    | |      | |и в 4 версии Novell  | |   |                    |       |
|    | |      | |Netware.             | |   |                    |       |
|    | |      | |В свою очередь, фирма| |   |                    |       |
|    | |      | |Microsoft также имеет| |   |                    |       |
|    | |      | |серьезнейшие         | |   |                    |       |
|    | |      | |недостатки в своем   | |   |                    |       |
|    | |      | |основном             | |   |                    |       |
|    | |      | |хэш-алгоритме,       | |   |                    |       |
|    | |      | |применяемом во всех  | |   |                    |       |
|    | |      | |своих ОС, начиная с  | |   |                    |       |
|    | |      | |Windows 3.11, при    | |   |                    |       |
|    | |      | |аутентификации в     | |   |                    |       |
|    | |      | |локальных (протокол  | |   |                    |       |
|    | |      | |NetBIOS) и глобальных| |   |                    |       |
|    | |      | |(протоколы CIFS и    | |   |                    |       |
|    | |      | |http) сетях,         | |   |                    |       |
|    | |      | |называемым LM (Lan   | |   |                    |       |
|    | |      | |Manager)-хэш [4].    | |   |                    |       |
|    | |      | |(Впрочем, Microsoft  | |   |                    |       |
|    | |      | |ссылается на то, что | |   |                    |       |
|    | |      | |он остался еще со    | |   |                    |       |
|    | |      | |времен OS/2 и что его| |   |                    |       |
|    | |      | |разрабатывала IBM).  | |   |                    |       |
|    | |      | |Он вычисляется       | |   |                    |       |
|    | |      | |следующим образом:   | |   |                    |       |
|    | |      | |Пароль превращается в| |   |                    |       |
|    | |      | |14-символьную строку | |   |                    |       |
|    | |      | |путем либо отсечки   | |   |                    |       |
|    | |      | |болеет длинных       | |   |                    |       |
|    | |      | |паролей, либо        | |   |                    |       |
|    | |      | |дополнения коротких  | |   |                    |       |
|    | |      | |паролей нулевыми     | |   |                    |       |
|    | |      | |элементами.          | |   |                    |       |
|    | |      | |Все символы нижнего  | |   |                    |       |
|    | |      | |регистра заменяются  | |   |                    |       |
|    | |      | |на символы верхнего  | |   |                    |       |
|    | |      | |регистра. Цифры и    | |   |                    |       |
|    | |      | |специальные символы  | |   |                    |       |
|    | |      | |остаются без         | |   |                    |       |
|    | |      | |изменений.           | |   |                    |       |
|    | |      | |14-байтовая строка   | |   |                    |       |
|    | |      | |разбивается на две   | |   |                    |       |
|    | |      | |семибайтовых         | |   |                    |       |
|    | |      | |половины.            | |   |                    |       |
|    | |      | |Используя каждую     | |   |                    |       |
|    | |      | |половину строки в    | |   |                    |       |
|    | |      | |роли ключа DES, с ним| |   |                    |       |
|    | |      | |шифруется            | |   |                    |       |
|    | |      | |фиксированная        | |   |                    |       |
|    | |      | |константа, получая на| |   |                    |       |
|    | |      | |выходе две 8-байтовые| |   |                    |       |
|    | |      | |строки.              | |   |                    |       |
|    | |      | |Эти строки сливаются | |   |                    |       |
|    | |      | |для создания         | |   |                    |       |
|    | |      | |16-разрядного        | |   |                    |       |
|    | |      | |значения хэш-функции.| |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |Очевидно, что атаки  | |   |                    |       |
|    | |      | |на LM-хэш легко      | |   |                    |       |
|    | |      | |достигают успеха по  | |   |                    |       |
|    | |      | |следующим причинам:  | |   |                    |       |
|    | |      | |Преобразование всех  | |   |                    |       |
|    | |      | |символов в верхний   | |   |                    |       |
|    | |      | |регистр ограничивает | |   |                    |       |
|    | |      | |и без того небольшое | |   |                    |       |
|    | |      | |число возможных      | |   |                    |       |
|    | |      | |комбинаций для       | |   |                    |       |
|    | |      | |каждого              | |   |                    |       |
|    | |      | |(26+10+32=68).       | |   |                    |       |
|    | |      | |Две семибайтовых     | |   |                    |       |
|    | |      | |"половины" пароля    | |   |                    |       |
|    | |      | |хэшируются независимо| |   |                    |       |
|    | |      | |друг от друга. Таким | |   |                    |       |
|    | |      | |образом, две половины| |   |                    |       |
|    | |      | |могут подбираться    | |   |                    |       |
|    | |      | |перебором независимо | |   |                    |       |
|    | |      | |друг от друга, и     | |   |                    |       |
|    | |      | |пароли, длина которых| |   |                    |       |
|    | |      | |превышает семь       | |   |                    |       |
|    | |      | |символов, не сильнее,| |   |                    |       |
|    | |      | |чем пароли с длиной  | |   |                    |       |
|    | |      | |семь символов. Таким | |   |                    |       |
|    | |      | |образом, для         | |   |                    |       |
|    | |      | |гарантированного     | |   |                    |       |
|    | |      | |нахождения пароля    | |   |                    |       |
|    | |      | |необходимо перебрать | |   |                    |       |
|    | |      | |вместо 940+941+...   | |   |                    |       |
|    | |      | |9414 ~4L1027 всего   | |   |                    |       |
|    | |      | |лишь                 | |   |                    |       |
|    | |      | |2L(680+681+...+687)  | |   |                    |       |
|    | |      | |~1L1013 (т.е. почти в| |   |                    |       |
|    | |      | |1014 раз меньше)     | |   |                    |       |
|    | |      | |комбинаций. Кроме    | |   |                    |       |
|    | |      | |того, те пароли,     | |   |                    |       |
|    | |      | |длина которых не     | |   |                    |       |
|    | |      | |превышает семь       | |   |                    |       |
|    | |      | |символов, очень      | |   |                    |       |
|    | |      | |просто распознать,   | |   |                    |       |
|    | |      | |поскольку вторая     | |   |                    |       |
|    | |      | |половина хэша будет  | |   |                    |       |
|    | |      | |одним и тем же       | |   |                    |       |
|    | |      | |значением            | |   |                    |       |
|    | |      | |AAD3B435B51404EE,    | |   |                    |       |
|    | |      | |получаемой при       | |   |                    |       |
|    | |      | |шифровании           | |   |                    |       |
|    | |      | |фиксированной        | |   |                    |       |
|    | |      | |константы с помощью  | |   |                    |       |
|    | |      | |ключа из семи нулей. | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |Нет элемента         | |   |                    |       |
|    | |      | |случайности (salt),  | |   |                    |       |
|    | |      | |как это сделано в    | |   |                    |       |
|    | |      | |crypt() - два        | |   |                    |       |
|    | |      | |пользователя с       | |   |                    |       |
|    | |      | |одинаковыми паролями | |   |                    |       |
|    | |      | |всегда будут иметь   | |   |                    |       |
|    | |      | |одинаковые значения  | |   |                    |       |
|    | |      | |хэш-функции. Таким   | |   |                    |       |
|    | |      | |образом, можно       | |   |                    |       |
|    | |      | |заранее составить    | |   |                    |       |
|    | |      | |словарь хэшированных | |   |                    |       |
|    | |      | |паролей и            | |   |                    |       |
|    | |      | |осуществлять поиск   | |   |                    |       |
|    | |      | |неизвестного пароля в| |   |                    |       |
|    | |      | |нем.                 | |   |                    |       |
|    | |      | |Неправильная         | |   |                    |       |
|    | |      | |реализация           | |   |                    |       |
|    | |      | |криптоалгоритмов     | |   |                    |       |
|    | |      | |Несмотря на то, что в| |   |                    |       |
|    | |      | |этом случае          | |   |                    |       |
|    | |      | |применяются          | |   |                    |       |
|    | |      | |криптостойкие или    | |   |                    |       |
|    | |      | |сертифицированные    | |   |                    |       |
|    | |      | |алгоритмы, эта группа| |   |                    |       |
|    | |      | |причин приводит к    | |   |                    |       |
|    | |      | |нарушениям           | |   |                    |       |
|    | |      | |безопасности         | |   |                    |       |
|    | |      | |криптосистем из-за их| |   |                    |       |
|    | |      | |неправильной         | |   |                    |       |
|    | |      | |реализации.          | |   |                    |       |
|    | |      | |Уменьшение           | |   |                    |       |
|    | |      | |криптостойкости при  | |   |                    |       |
|    | |      | |генерации ключа      | |   |                    |       |
|    | |      | |Эта причина с весьма | |   |                    |       |
|    | |      | |многочисленными      | |   |                    |       |
|    | |      | |примерами, когда     | |   |                    |       |
|    | |      | |криптосистема либо   | |   |                    |       |
|    | |      | |обрезает пароль      | |   |                    |       |
|    | |      | |пользователя, либо   | |   |                    |       |
|    | |      | |генерирует из него   | |   |                    |       |
|    | |      | |данные, имеющие      | |   |                    |       |
|    | |      | |меньшее количество   | |   |                    |       |
|    | |      | |бит, чем сам пароль. | |   |                    |       |
|    | |      | |Примеры:             | |   |                    |       |
|    | |      | |Во многих (старых)   | |   |                    |       |
|    | |      | |версиях UNIX пароль  | |   |                    |       |
|    | |      | |пользователя         | |   |                    |       |
|    | |      | |обрезается до 8 байт | |   |                    |       |
|    | |      | |перед хэшированием.  | |   |                    |       |
|    | |      | |Любопытно, что,      | |   |                    |       |
|    | |      | |например, Linux 2.0, | |   |                    |       |
|    | |      | |требуя от            | |   |                    |       |
|    | |      | |пользователей ввода  | |   |                    |       |
|    | |      | |паролей, содержащих  | |   |                    |       |
|    | |      | |обязательно буквы и  | |   |                    |       |
|    | |      | |цифры, не проверяет, | |   |                    |       |
|    | |      | |чтобы 8-символьное   | |   |                    |       |
|    | |      | |начало пароля также  | |   |                    |       |
|    | |      | |состояло из букв и   | |   |                    |       |
|    | |      | |цифр. Поэтому        | |   |                    |       |
|    | |      | |пользователь, задав, | |   |                    |       |
|    | |      | |например, достаточно | |   |                    |       |
|    | |      | |надежный пароль      | |   |                    |       |
|    | |      | |passwordIsgood19,    | |   |                    |       |
|    | |      | |будет весьма удивлен,| |   |                    |       |
|    | |      | |узнав, что хакер     | |   |                    |       |
|    | |      | |вошел в систему под  | |   |                    |       |
|    | |      | |его именем с помощью | |   |                    |       |
|    | |      | |элементарного пароля | |   |                    |       |
|    | |      | |password.            | |   |                    |       |
|    | |      | |Novell Netware       | |   |                    |       |
|    | |      | |позволяет            | |   |                    |       |
|    | |      | |пользователям иметь  | |   |                    |       |
|    | |      | |пароли до 128 байт,  | |   |                    |       |
|    | |      | |что дает (считая     | |   |                    |       |
|    | |      | |латинские буквы без  | |   |                    |       |
|    | |      | |учета регистра, цифры| |   |                    |       |
|    | |      | |и спецсимволы) 68128 | |   |                    |       |
|    | |      | |~2779 комбинаций. Но | |   |                    |       |
|    | |      | |при этом, во-первых, | |   |                    |       |
|    | |      | |хэш-функция (см.     | |   |                    |       |
|    | |      | |выше) получает на    | |   |                    |       |
|    | |      | |входе всего лишь     | |   |                    |       |
|    | |      | |32-байтовое значение,| |   |                    |       |
|    | |      | |что ограничивает     | |   |                    |       |
|    | |      | |эффективную длину    | |   |                    |       |
|    | |      | |пароля этой же       | |   |                    |       |
|    | |      | |величиной. Более     | |   |                    |       |
|    | |      | |того, во-вторых, на  | |   |                    |       |
|    | |      | |выходе хэш-значение  | |   |                    |       |
|    | |      | |имеет длину всего 128| |   |                    |       |
|    | |      | |бит, что             | |   |                    |       |
|    | |      | |соответствует 2128   | |   |                    |       |
|    | |      | |комбинаций. Это      | |   |                    |       |
|    | |      | |дополнительно снижает| |   |                    |       |
|    | |      | |эффективную длину до | |   |                    |       |
|    | |      | |[pic]=21 символа3,   | |   |                    |       |
|    | |      | |т.е. в 6 раз по      | |   |                    |       |
|    | |      | |сравнению с          | |   |                    |       |
|    | |      | |первоначальной.      | |   |                    |       |
|    | |      | |Полностью аналогичная| |   |                    |       |
|    | |      | |ситуация происходит с| |   |                    |       |
|    | |      | |архиватором RAR      | |   |                    |       |
|    | |      | |версий 1.5x - выбор  | |   |                    |       |
|    | |      | |пароля больше 10     | |   |                    |       |
|    | |      | |символов не приводит | |   |                    |       |
|    | |      | |к росту времени,     | |   |                    |       |
|    | |      | |необходимого на его  | |   |                    |       |
|    | |      | |вскрытие.            | |   |                    |       |
|    | |      | |Если длина пароля    | |   |                    |       |
|    | |      | |"сверху" в этом      | |   |                    |       |
|    | |      | |случае определяется  | |   |                    |       |
|    | |      | |реализацией          | |   |                    |       |
|    | |      | |криптоалгоритмов, то | |   |                    |       |
|    | |      | |ограничение на длину | |   |                    |       |
|    | |      | |"снизу" уже связано с| |   |                    |       |
|    | |      | |понятием единицы     | |   |                    |       |
|    | |      | |информации или       | |   |                    |       |
|    | |      | |энтропии. В          | |   |                    |       |
|    | |      | |рассмотренном примере| |   |                    |       |
|    | |      | |с Novell Netware для | |   |                    |       |
|    | |      | |создания хэш-значения| |   |                    |       |
|    | |      | |с энтропией 128 бит  | |   |                    |       |
|    | |      | |длина пароля должна  | |   |                    |       |
|    | |      | |быть не менее        | |   |                    |       |
|    | |      | |[pic]=69 бит4 или не | |   |                    |       |
|    | |      | |менее 22 символов5.  | |   |                    |       |
|    | |      | |То, что многие       | |   |                    |       |
|    | |      | |криптосистемы не     | |   |                    |       |
|    | |      | |ограничивают         | |   |                    |       |
|    | |      | |минимальную длину    | |   |                    |       |
|    | |      | |пароля, как раз и    | |   |                    |       |
|    | |      | |приводит к успеху    | |   |                    |       |
|    | |      | |атак перебором не    | |   |                    |       |
|    | |      | |ключей, а паролей.   | |   |                    |       |
|    | |      | |Отсутствие проверки  | |   |                    |       |
|    | |      | |на слабые ключи      | |   |                    |       |
|    | |      | |Некоторые            | |   |                    |       |
|    | |      | |криптоалгоритмы (в   | |   |                    |       |
|    | |      | |частности, DES, IDEA)| |   |                    |       |
|    | |      | |при шифровании со    | |   |                    |       |
|    | |      | |специфическими       | |   |                    |       |
|    | |      | |ключами не могут     | |   |                    |       |
|    | |      | |обеспечить должный   | |   |                    |       |
|    | |      | |уровень              | |   |                    |       |
|    | |      | |криптостойкости.     | |   |                    |       |
|    | |      | |Такие ключи называют | |   |                    |       |
|    | |      | |слабыми (weak). Для  | |   |                    |       |
|    | |      | |DES известно 4 слабых| |   |                    |       |
|    | |      | |и 12 полуслабых      | |   |                    |       |
|    | |      | |(semi-weak) ключей. И| |   |                    |       |
|    | |      | |хотя вероятность     | |   |                    |       |
|    | |      | |попасть в них        | |   |                    |       |
|    | |      | |равняется            | |   |                    |       |
|    | |      | |[pic]~2L10-16, для   | |   |                    |       |
|    | |      | |серьезных            | |   |                    |       |
|    | |      | |криптографических    | |   |                    |       |
|    | |      | |систем пренебрегать  | |   |                    |       |
|    | |      | |ей нельзя.           | |   |                    |       |
|    | |      | |Мощность множества   | |   |                    |       |
|    | |      | |слабых ключей IDEA   | |   |                    |       |
|    | |      | |составляет не много -| |   |                    |       |
|    | |      | |не мало - 251        | |   |                    |       |
|    | |      | |(впрочем, из-за того,| |   |                    |       |
|    | |      | |что всего ключей     | |   |                    |       |
|    | |      | |2128, вероятность    | |   |                    |       |
|    | |      | |попасть в него в     | |   |                    |       |
|    | |      | |3L107 раз меньше, чем| |   |                    |       |
|    | |      | |у DES).              | |   |                    |       |
|    | |      | |Недостаточная        | |   |                    |       |
|    | |      | |защищенность от РПС  | |   |                    |       |
|    | |      | |РПС (разрушающие     | |   |                    |       |
|    | |      | |программные средства)| |   |                    |       |
|    | |      | |- это компьютерные   | |   |                    |       |
|    | |      | |вирусы, троянских    | |   |                    |       |
|    | |      | |кони, программные    | |   |                    |       |
|    | |      | |закладки и т.п.      | |   |                    |       |
|    | |      | |программы, способные | |   |                    |       |
|    | |      | |перехватить секретный| |   |                    |       |
|    | |      | |ключ или сами        | |   |                    |       |
|    | |      | |нешифрованные данные,| |   |                    |       |
|    | |      | |а также просто       | |   |                    |       |
|    | |      | |подменить алгоритм на| |   |                    |       |
|    | |      | |некриптостойкий. В   | |   |                    |       |
|    | |      | |случае, если         | |   |                    |       |
|    | |      | |программист не       | |   |                    |       |
|    | |      | |предусмотрел         | |   |                    |       |
|    | |      | |достаточных способов | |   |                    |       |
|    | |      | |защиты от РПС, они   | |   |                    |       |
|    | |      | |легко способны       | |   |                    |       |
|    | |      | |нарушить безопасность| |   |                    |       |
|    | |      | |криптосистемы.       | |   |                    |       |
|    | |      | |Особенно это         | |   |                    |       |
|    | |      | |актуально для        | |   |                    |       |
|    | |      | |операционных систем, | |   |                    |       |
|    | |      | |не имеющих встроенных| |   |                    |       |
|    | |      | |средств защиты или   | |   |                    |       |
|    | |      | |средств разграничения| |   |                    |       |
|    | |      | |доступа - типа MS DOS| |   |                    |       |
|    | |      | |или Windows 95:      | |   |                    |       |
|    | |      | |Перехват пароля. Как | |   |                    |       |
|    | |      | |пример можно привести| |   |                    |       |
|    | |      | |самый старый способ  | |   |                    |       |
|    | |      | |похищения пароля,    | |   |                    |       |
|    | |      | |известный еще со     | |   |                    |       |
|    | |      | |времен больших ЭВМ,  | |   |                    |       |
|    | |      | |когда                | |   |                    |       |
|    | |      | |программа-"фантом"   | |   |                    |       |
|    | |      | |эмулирует приглашение| |   |                    |       |
|    | |      | |ОС, предлагая ввести | |   |                    |       |
|    | |      | |имя пользователя и   | |   |                    |       |
|    | |      | |пароль, запоминает   | |   |                    |       |
|    | |      | |его в некотором файле| |   |                    |       |
|    | |      | |и прекращает работу с| |   |                    |       |
|    | |      | |сообщением "Invalid  | |   |                    |       |
|    | |      | |password". Для MS DOS| |   |                    |       |
|    | |      | |и Windows существует | |   |                    |       |
|    | |      | |множество закладок   | |   |                    |       |
|    | |      | |для чтения и         | |   |                    |       |
|    | |      | |сохранения паролей,  | |   |                    |       |
|    | |      | |набираемых на        | |   |                    |       |
|    | |      | |клавиатуре (через    | |   |                    |       |
|    | |      | |перехват             | |   |                    |       |
|    | |      | |соответствующего     | |   |                    |       |
|    | |      | |прерывания),         | |   |                    |       |
|    | |      | |например, при работе | |   |                    |       |
|    | |      | |утилиты Diskreet v.  | |   |                    |       |
|    | |      | |6.0.                 | |   |                    |       |
|    | |      | |Подмена              | |   |                    |       |
|    | |      | |криптоалгоритма.     | |   |                    |       |
|    | |      | |Примером реализации  | |   |                    |       |
|    | |      | |этого случая является| |   |                    |       |
|    | |      | |закладка, маскируемая| |   |                    |       |
|    | |      | |под прикладную       | |   |                    |       |
|    | |      | |программу-"ускоритель| |   |                    |       |
|    | |      | |" типа Turbo Krypton.| |   |                    |       |
|    | |      | |Эта закладка заменяет| |   |                    |       |
|    | |      | |алгоритм шифрования  | |   |                    |       |
|    | |      | |ГОСТ 28147-89,       | |   |                    |       |
|    | |      | |реализуемой платой   | |   |                    |       |
|    | |      | |"Krypton-3"          | |   |                    |       |
|    | |      | |(демонстрационный    | |   |                    |       |
|    | |      | |вариант), другим,    | |   |                    |       |
|    | |      | |простым и легко      | |   |                    |       |
|    | |      | |дешифруемым          | |   |                    |       |
|    | |      | |алгоритмом [1].      | |   |                    |       |
|    | |      | |Троянский конь в     | |   |                    |       |
|    | |      | |электронной почте.   | |   |                    |       |
|    | |      | |Последним примером   | |   |                    |       |
|    | |      | |служит имевшие место | |   |                    |       |
|    | |      | |в июне 1998 года     | |   |                    |       |
|    | |      | |попытки проникновения| |   |                    |       |
|    | |      | |троянского коня через| |   |                    |       |
|    | |      | |электронную почту. В | |   |                    |       |
|    | |      | |письмо были вложены  | |   |                    |       |
|    | |      | |порнографическая     | |   |                    |       |
|    | |      | |картинка и EXE-файл  | |   |                    |       |
|    | |      | |FREECD.EXE, который  | |   |                    |       |
|    | |      | |за то время, пока    | |   |                    |       |
|    | |      | |пользователь         | |   |                    |       |
|    | |      | |развлекался с        | |   |                    |       |
|    | |      | |письмом,             | |   |                    |       |
|    | |      | |расшифровывал пароли | |   |                    |       |
|    | |      | |на соединение с      | |   |                    |       |
|    | |      | |провайдером (Dial-Up)| |   |                    |       |
|    | |      | |и отправлял их на    | |   |                    |       |
|    | |      | |адрес ispp@usa.net.  | |   |                    |       |
|    | |      | |Наличие зависимости  | |   |                    |       |
|    | |      | |во времени обработки | |   |                    |       |
|    | |      | |ключей               | |   |                    |       |
|    | |      | |Это сравнительно     | |   |                    |       |
|    | |      | |новый аспект         | |   |                    |       |
|    | |      | |недостаточно         | |   |                    |       |
|    | |      | |корректной реализации| |   |                    |       |
|    | |      | |криптоалгоритмов,    | |   |                    |       |
|    | |      | |рассмотренный в      | |   |                    |       |
|    | |      | |статье [2]. Там      | |   |                    |       |
|    | |      | |показано, что многие | |   |                    |       |
|    | |      | |криптосистемы        | |   |                    |       |
|    | |      | |неодинаково быстро   | |   |                    |       |
|    | |      | |обрабатывают разные  | |   |                    |       |
|    | |      | |входные данные. Это  | |   |                    |       |
|    | |      | |происходит как из-за | |   |                    |       |
|    | |      | |аппаратных (разное   | |   |                    |       |
|    | |      | |количество тактов на | |   |                    |       |
|    | |      | |операцию, попадание в| |   |                    |       |
|    | |      | |процессорный кэш и   | |   |                    |       |
|    | |      | |т.п.), так и         | |   |                    |       |
|    | |      | |программных причин   | |   |                    |       |
|    | |      | |(особенно при        | |   |                    |       |
|    | |      | |оптимизации программы| |   |                    |       |
|    | |      | |по времени). Время   | |   |                    |       |
|    | |      | |может зависеть как от| |   |                    |       |
|    | |      | |ключа шифрования, так| |   |                    |       |
|    | |      | |и (рас)шифруемых     | |   |                    |       |
|    | |      | |данных.              | |   |                    |       |
|    | |      | |Поэтому              | |   |                    |       |
|    | |      | |злоумышленник,       | |   |                    |       |
|    | |      | |обладая детальной    | |   |                    |       |
|    | |      | |информацией о        | |   |                    |       |
|    | |      | |реализации           | |   |                    |       |
|    | |      | |криптоалгоритма, имея| |   |                    |       |
|    | |      | |зашифрованные данные,| |   |                    |       |
|    | |      | |и будучи способным   | |   |                    |       |
|    | |      | |каким-то образом     | |   |                    |       |
|    | |      | |измерять время       | |   |                    |       |
|    | |      | |обработки этих данных| |   |                    |       |
|    | |      | |(например, анализируя| |   |                    |       |
|    | |      | |время отправки       | |   |                    |       |
|    | |      | |пакетов с данными),  | |   |                    |       |
|    | |      | |может попытаться     | |   |                    |       |
|    | |      | |подобрать секретный  | |   |                    |       |
|    | |      | |ключ. В работе       | |   |                    |       |
|    | |      | |подробно описывается | |   |                    |       |
|    | |      | |тактика атак на      | |   |                    |       |
|    | |      | |системы, реализующие | |   |                    |       |
|    | |      | |алгоритмы RSA,       | |   |                    |       |
|    | |      | |Диффи-Хеллмана и DSS,| |   |                    |       |
|    | |      | |причем ключ можно    | |   |                    |       |
|    | |      | |получать, уточняя бит| |   |                    |       |
|    | |      | |за битом, а          | |   |                    |       |
|    | |      | |количество           | |   |                    |       |
|    | |      | |необходимых измерений| |   |                    |       |
|    | |      | |времени прямо        | |   |                    |       |
|    | |      | |пропорционально длине| |   |                    |       |
|    | |      | |ключа.               | |   |                    |       |
|    | |      | |И хотя пока не       | |   |                    |       |
|    | |      | |удалось довести эти  | |   |                    |       |
|    | |      | |исследования до      | |   |                    |       |
|    | |      | |конкретного          | |   |                    |       |
|    | |      | |результата (вычислить| |   |                    |       |
|    | |      | |секретный ключ), этот| |   |                    |       |
|    | |      | |пример показывает,   | |   |                    |       |
|    | |      | |что программирование | |   |                    |       |
|    | |      | |систем критического  | |   |                    |       |
|    | |      | |назначения (в т.ч. и | |   |                    |       |
|    | |      | |криптосистем) должно | |   |                    |       |
|    | |      | |быть особенно        | |   |                    |       |
|    | |      | |тщательным и,        | |   |                    |       |
|    | |      | |возможно, для этого  | |   |                    |       |
|    | |      | |необходимо применять | |   |                    |       |
|    | |      | |особые защитные      | |   |                    |       |
|    | |      | |методы               | |   |                    |       |
|    | |      | |программирования и   | |   |                    |       |
|    | |      | |специализированные   | |   |                    |       |
|    | |      | |средства разработки  | |   |                    |       |
|    | |      | |(особенно            | |   |                    |       |
|    | |      | |компиляторы).        | |   |                    |       |
|    | |      | |Ошибки в программной | |   |                    |       |
|    | |      | |реализации           | |   |                    |       |
|    | |      | |Ясно, что пока       | |   |                    |       |
|    | |      | |программы будут      | |   |                    |       |
|    | |      | |писаться людьми, этот| |   |                    |       |
|    | |      | |фактор всегда будет  | |   |                    |       |
|    | |      | |иметь место. Хороший | |   |                    |       |
|    | |      | |пример - ОС Novell   | |   |                    |       |
|    | |      | |Netware 3.12, где,   | |   |                    |       |
|    | |      | |несмотря на          | |   |                    |       |
|    | |      | |достаточно           | |   |                    |       |
|    | |      | |продуманную систему  | |   |                    |       |
|    | |      | |аутентификации, при  | |   |                    |       |
|    | |      | |которой, по          | |   |                    |       |
|    | |      | |заявлениям фирмы     | |   |                    |       |
|    | |      | |Novell,              | |   |                    |       |
|    | |      | |"нешифрованный пароль| |   |                    |       |
|    | |      | |никогда не передается| |   |                    |       |
|    | |      | |по сети", удалось    | |   |                    |       |
|    | |      | |найти ошибку в       | |   |                    |       |
|    | |      | |программе SYSCON v.  | |   |                    |       |
|    | |      | |3.76, при которой    | |   |                    |       |
|    | |      | |пароль именно в      | |   |                    |       |
|    | |      | |открытом виде        | |   |                    |       |
|    | |      | |попадает в один из   | |   |                    |       |
|    | |      | |сетевых пакетов.     | |   |                    |       |
|    | |      | |Этого не наблюдается | |   |                    |       |
|    | |      | |ни с более ранними,  | |   |                    |       |
|    | |      | |ни с более поздними  | |   |                    |       |
|    | |      | |версиями этой        | |   |                    |       |
|    | |      | |программы, что       | |   |                    |       |
|    | |      | |позволяет говорить   | |   |                    |       |
|    | |      | |именно о чисто       | |   |                    |       |
|    | |      | |программистской      | |   |                    |       |
|    | |      | |ошибке. Этот ошибка  | |   |                    |       |
|    | |      | |проявляется только   | |   |                    |       |
|    | |      | |если супервизор      | |   |                    |       |
|    | |      | |меняет пароль        | |   |                    |       |
|    | |      | |кому-либо (в том     | |   |                    |       |
|    | |      | |числе и себе).       | |   |                    |       |
|    | |      | |Видимо, каким-то     | |   |                    |       |
|    | |      | |образом в сетевой    | |   |                    |       |
|    | |      | |пакет попадает       | |   |                    |       |
|    | |      | |клавиатурный буфер.  | |   |                    |       |
|    | |      | |Наличие люков        | |   |                    |       |
|    | |      | |Причины наличия люков| |   |                    |       |
|    | |      | |в криптосистемах     | |   |                    |       |
|    | |      | |очевидны: разработчик| |   |                    |       |
|    | |      | |хочет иметь контроль | |   |                    |       |
|    | |      | |над обрабатываемой в | |   |                    |       |
|    | |      | |его системе          | |   |                    |       |
|    | |      | |информацией и        | |   |                    |       |
|    | |      | |оставляет для себя   | |   |                    |       |
|    | |      | |возможность          | |   |                    |       |
|    | |      | |расшифровывать ее, не| |   |                    |       |
|    | |      | |зная ключа           | |   |                    |       |
|    | |      | |пользователя.        | |   |                    |       |
|    | |      | |Возможно также, что  | |   |                    |       |
|    | |      | |они используются для | |   |                    |       |
|    | |      | |отладки и по какой-то| |   |                    |       |
|    | |      | |причине не убираются | |   |                    |       |
|    | |      | |из конечного         | |   |                    |       |
|    | |      | |продукта.            | |   |                    |       |
|    | |      | |Естественно, что это | |   |                    |       |
|    | |      | |рано или поздно      | |   |                    |       |
|    | |      | |становится известным | |   |                    |       |
|    | |      | |достаточно большому  | |   |                    |       |
|    | |      | |кругу лиц и ценность | |   |                    |       |
|    | |      | |такой криптосистемы  | |   |                    |       |
|    | |      | |становится почти     | |   |                    |       |
|    | |      | |нулевой. Самыми      | |   |                    |       |
|    | |      | |известными примерами | |   |                    |       |
|    | |      | |здесь являются AWARD | |   |                    |       |
|    | |      | |BIOS (до версии      | |   |                    |       |
|    | |      | |4.51PG) с его        | |   |                    |       |
|    | |      | |универсальным паролем| |   |                    |       |
|    | |      | |"AWARD_SW" и СУБД    | |   |                    |       |
|    | |      | |Paradox фирмы Borland| |   |                    |       |
|    | |      | |International, также | |   |                    |       |
|    | |      | |имеющая "суперпароли"| |   |                    |       |
|    | |      | |"jIGGAe" и "nx66ppx".| |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |Вплотную к наличию   | |   |                    |       |
|    | |      | |люков в реализации   | |   |                    |       |
|    | |      | |(очевидно, что в этом| |   |                    |       |
|    | |      | |случае они используют| |   |                    |       |
|    | |      | |явно нестойкие       | |   |                    |       |
|    | |      | |алгоритмы или хранят | |   |                    |       |
|    | |      | |ключ вместе с        | |   |                    |       |
|    | |      | |данными) примыкают   | |   |                    |       |
|    | |      | |алгоритмы, дающие    | |   |                    |       |
|    | |      | |возможность третьему | |   |                    |       |
|    | |      | |лицу читать          | |   |                    |       |
|    | |      | |зашифрованное        | |   |                    |       |
|    | |      | |сообщение, как это   | |   |                    |       |
|    | |      | |сделано в нашумевшем | |   |                    |       |
|    | |      | |проекте CLIPPER, где | |   |                    |       |
|    | |      | |третьим лицом        | |   |                    |       |
|    | |      | |выступает            | |   |                    |       |
|    | |      | |государство, всегда  | |   |                    |       |
|    | |      | |любящее совать нос в | |   |                    |       |
|    | |      | |тайны своих граждан. | |   |                    |       |
|    | |      | |Недостатки датчика   | |   |                    |       |
|    | |      | |случайных чисел (ДСЧ)| |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |Хороший,             | |   |                    |       |
|    | |      | |математически        | |   |                    |       |
|    | |      | |проверенный и        | |   |                    |       |
|    | |      | |корректно            | |   |                    |       |
|    | |      | |реализованный ДСЧ    | |   |                    |       |
|    | |      | |также важен для      | |   |                    |       |
|    | |      | |криптосистемы, как и | |   |                    |       |
|    | |      | |хороший,             | |   |                    |       |
|    | |      | |математически стойкий| |   |                    |       |
|    | |      | |и корректный         | |   |                    |       |
|    | |      | |криптоалгоритм, иначе| |   |                    |       |
|    | |      | |его недостатки могут | |   |                    |       |
|    | |      | |повлиять на общую    | |   |                    |       |
|    | |      | |криптостойкость      | |   |                    |       |
|    | |      | |системы. При этом для| |   |                    |       |
|    | |      | |моделирования ДСЧ на | |   |                    |       |
|    | |      | |ЭВМ обычно применяют | |   |                    |       |
|    | |      | |датчики              | |   |                    |       |
|    | |      | |псевдослучайных чисел| |   |                    |       |
|    | |      | |(ПСЧ),               | |   |                    |       |
|    | |      | |характеризующиеся    | |   |                    |       |
|    | |      | |периодом, разбросом, | |   |                    |       |
|    | |      | |а также              | |   |                    |       |
|    | |      | |необходимостью его   | |   |                    |       |
|    | |      | |инициализации (seed).| |   |                    |       |
|    | |      | |Применение ПСЧ для   | |   |                    |       |
|    | |      | |криптосистем вообще  | |   |                    |       |
|    | |      | |нельзя признать      | |   |                    |       |
|    | |      | |удачным решением,    | |   |                    |       |
|    | |      | |поэтому хорошие      | |   |                    |       |
|    | |      | |криптосистемы        | |   |                    |       |
|    | |      | |применяют для этих   | |   |                    |       |
|    | |      | |целей физический ДСЧ | |   |                    |       |
|    | |      | |(специальную плату), | |   |                    |       |
|    | |      | |или, по крайней мере,| |   |                    |       |
|    | |      | |вырабатывают число   | |   |                    |       |
|    | |      | |для инициализации ПСЧ| |   |                    |       |
|    | |      | |с помощью физических | |   |                    |       |
|    | |      | |величин (например,   | |   |                    |       |
|    | |      | |времени нажатия на   | |   |                    |       |
|    | |      | |клавиши              | |   |                    |       |
|    | |      | |пользователем).      | |   |                    |       |
|    | |      | |Малый период и плохой| |   |                    |       |
|    | |      | |разброс относятся к  | |   |                    |       |
|    | |      | |математическим       | |   |                    |       |
|    | |      | |недостаткам ДСЧ и    | |   |                    |       |
|    | |      | |появляются в том     | |   |                    |       |
|    | |      | |случае, если по      | |   |                    |       |
|    | |      | |каким-то причинам    | |   |                    |       |
|    | |      | |выбирается           | |   |                    |       |
|    | |      | |собственный ДСЧ.     | |   |                    |       |
|    | |      | |Иначе говоря, выбор  | |   |                    |       |
|    | |      | |собственного ДСЧ так | |   |                    |       |
|    | |      | |же опасен, как и     | |   |                    |       |
|    | |      | |выбор собственного   | |   |                    |       |
|    | |      | |криптоалгоритма.     | |   |                    |       |
|    | |      | |В случае малого      | |   |                    |       |
|    | |      | |периода (когда       | |   |                    |       |
|    | |      | |псевдослучайных      | |   |                    |       |
|    | |      | |значений,            | |   |                    |       |
|    | |      | |вырабатываемых       | |   |                    |       |
|    | |      | |датчиком, меньше, чем| |   |                    |       |
|    | |      | |возможных значений   | |   |                    |       |
|    | |      | |ключа) злоумышленник | |   |                    |       |
|    | |      | |может сократить время| |   |                    |       |
|    | |      | |поиска ключа,        | |   |                    |       |
|    | |      | |перебирая не сами    | |   |                    |       |
|    | |      | |ключи, а             | |   |                    |       |
|    | |      | |псевдослучайные      | |   |                    |       |
|    | |      | |значения и генерируя | |   |                    |       |
|    | |      | |из них ключи.        | |   |                    |       |
|    | |      | |При плохом разбросе  | |   |                    |       |
|    | |      | |датчика злоумышленник| |   |                    |       |
|    | |      | |также может уменьшить| |   |                    |       |
|    | |      | |среднее время поиска,| |   |                    |       |
|    | |      | |если начнет перебор с| |   |                    |       |
|    | |      | |самых вероятных      | |   |                    |       |
|    | |      | |значений             | |   |                    |       |
|    | |      | |псевдослучайных      | |   |                    |       |
|    | |      | |чисел.               | |   |                    |       |
|    | |      | |Самой                | |   |                    |       |
|    | |      | |распространенной     | |   |                    |       |
|    | |      | |ошибкой,             | |   |                    |       |
|    | |      | |проявляющейся и в    | |   |                    |       |
|    | |      | |случае хорошего ПСЧ, | |   |                    |       |
|    | |      | |является его         | |   |                    |       |
|    | |      | |неправильная         | |   |                    |       |
|    | |      | |инициализация. В этом| |   |                    |       |
|    | |      | |случае число,        | |   |                    |       |
|    | |      | |используемое для     | |   |                    |       |
|    | |      | |инициализации, имеет | |   |                    |       |
|    | |      | |либо меньшее число   | |   |                    |       |
|    | |      | |бит информации, чем  | |   |                    |       |
|    | |      | |сам датчик, либо     | |   |                    |       |
|    | |      | |вычисляется из       | |   |                    |       |
|    | |      | |неслучайных чисел и  | |   |                    |       |
|    | |      | |может быть           | |   |                    |       |
|    | |      | |предсказано стой или | |   |                    |       |
|    | |      | |иной степенью        | |   |                    |       |
|    | |      | |вероятности.         | |   |                    |       |
|    | |      | |Такая ситуация имела | |   |                    |       |
|    | |      | |место в программе    | |   |                    |       |
|    | |      | |Netscape Navigator   | |   |                    |       |
|    | |      | |версии 1.1. Она      | |   |                    |       |
|    | |      | |инициализировала ПСЧ,| |   |                    |       |
|    | |      | |используя текущее    | |   |                    |       |
|    | |      | |время в секундах     | |   |                    |       |
|    | |      | |(sec) и микросекундах| |   |                    |       |
|    | |      | |(usec), а также      | |   |                    |       |
|    | |      | |идентификаторы       | |   |                    |       |
|    | |      | |процесса (pid и      | |   |                    |       |
|    | |      | |ppid). Как выяснили  | |   |                    |       |
|    | |      | |исследователи Я.     | |   |                    |       |
|    | |      | |Голдберг и Д. Вагнер,| |   |                    |       |
|    | |      | |при такой схеме как  | |   |                    |       |
|    | |      | |максимум получалось  | |   |                    |       |
|    | |      | |47 значащих бит      | |   |                    |       |
|    | |      | |информации (при том, | |   |                    |       |
|    | |      | |что этот датчик      | |   |                    |       |
|    | |      | |использовался для    | |   |                    |       |
|    | |      | |получения 40- или 128| |   |                    |       |
|    | |      | |(!)-битных ключей).  | |   |                    |       |
|    | |      | |Но, если у           | |   |                    |       |
|    | |      | |злоумышленника       | |   |                    |       |
|    | |      | |была возможность     | |   |                    |       |
|    | |      | |перехватить пакеты,  | |   |                    |       |
|    | |      | |передаваемые по сети;| |   |                    |       |
|    | |      | |и                    | |   |                    |       |
|    | |      | |был доступ (account) | |   |                    |       |
|    | |      | |на компьютер, где    | |   |                    |       |
|    | |      | |запущена программа,  | |   |                    |       |
|    | |      | |то для него не       | |   |                    |       |
|    | |      | |составляло труда с   | |   |                    |       |
|    | |      | |большой степенью     | |   |                    |       |
|    | |      | |вероятности узнать   | |   |                    |       |
|    | |      | |sec, pid и ppid. Если| |   |                    |       |
|    | |      | |условие (2) не       | |   |                    |       |
|    | |      | |удовлетворялось, то  | |   |                    |       |
|    | |      | |злоумышленник все    | |   |                    |       |
|    | |      | |равно мог попытаться | |   |                    |       |
|    | |      | |установить время     | |   |                    |       |
|    | |      | |через сетевые демоны | |   |                    |       |
|    | |      | |time, pid мог бы быть| |   |                    |       |
|    | |      | |получен через демон  | |   |                    |       |
|    | |      | |SMTP (обычно он      | |   |                    |       |
|    | |      | |входит в поле        | |   |                    |       |
|    | |      | |Message-ID), а ppid  | |   |                    |       |
|    | |      | |либо не сильно       | |   |                    |       |
|    | |      | |отличается от pid,   | |   |                    |       |
|    | |      | |либо вообще равен 1. | |   |                    |       |
|    | |      | |Исследователи        | |   |                    |       |
|    | |      | |написали программу   | |   |                    |       |
|    | |      | |unssl, которая,      | |   |                    |       |
|    | |      | |перебирая            | |   |                    |       |
|    | |      | |микросекунды,        | |   |                    |       |
|    | |      | |находила секретный   | |   |                    |       |
|    | |      | |40-битный ключ в     | |   |                    |       |
|    | |      | |среднем за минуту.   | |   |                    |       |
|    | |      | |Неправильное         | |   |                    |       |
|    | |      | |применение           | |   |                    |       |
|    | |      | |криптоалгоритмов     | |   |                    |       |
|    | |      | |Эта группа причин    | |   |                    |       |
|    | |      | |приводит к тому, что | |   |                    |       |
|    | |      | |оказывается          | |   |                    |       |
|    | |      | |ненадежными          | |   |                    |       |
|    | |      | |криптостойкие и      | |   |                    |       |
|    | |      | |корректно            | |   |                    |       |
|    | |      | |реализованные        | |   |                    |       |
|    | |      | |алгоритмы.           | |   |                    |       |
|    | |      | |Малая длина ключа    | |   |                    |       |
|    | |      | |Это самая очевидная  | |   |                    |       |
|    | |      | |причина. Возникает   | |   |                    |       |
|    | |      | |вопрос: как стойкие  | |   |                    |       |
|    | |      | |криптоалгоритмы могут| |   |                    |       |
|    | |      | |иметь малую длину    | |   |                    |       |
|    | |      | |ключа? Видимо,       | |   |                    |       |
|    | |      | |вследствие двух      | |   |                    |       |
|    | |      | |факторов:            | |   |                    |       |
|    | |      | |некоторые алгоритмы  | |   |                    |       |
|    | |      | |могут работать с     | |   |                    |       |
|    | |      | |переменной длиной    | |   |                    |       |
|    | |      | |ключа, обеспечивая   | |   |                    |       |
|    | |      | |разную               | |   |                    |       |
|    | |      | |криптостойкость - и  | |   |                    |       |
|    | |      | |именно задача        | |   |                    |       |
|    | |      | |разработчика выбрать | |   |                    |       |
|    | |      | |необходимую длину,   | |   |                    |       |
|    | |      | |исходя из желаемой   | |   |                    |       |
|    | |      | |криптостойкости и    | |   |                    |       |
|    | |      | |эффективности. Иногда| |   |                    |       |
|    | |      | |на это желание       | |   |                    |       |
|    | |      | |накладываются и иные | |   |                    |       |
|    | |      | |обстоятельства -     | |   |                    |       |
|    | |      | |такие, как экспортные| |   |                    |       |
|    | |      | |ограничения.         | |   |                    |       |
|    | |      | |некоторые алгоритмы  | |   |                    |       |
|    | |      | |разрабатывались      | |   |                    |       |
|    | |      | |весьма давно, когда  | |   |                    |       |
|    | |      | |длина используемого в| |   |                    |       |
|    | |      | |них ключа считалась  | |   |                    |       |
|    | |      | |более чем достаточной| |   |                    |       |
|    | |      | |для соблюдения       | |   |                    |       |
|    | |      | |нужного уровня       | |   |                    |       |
|    | |      | |защиты.              | |   |                    |       |
|    | |      | |С резким скачком     | |   |                    |       |
|    | |      | |производительности   | |   |                    |       |
|    | |      | |вычислительной       | |   |                    |       |
|    | |      | |техники сначала      | |   |                    |       |
|    | |      | |столкнулся алгоритм  | |   |                    |       |
|    | |      | |RSA, для вскрытия    | |   |                    |       |
|    | |      | |которого необходимо  | |   |                    |       |
|    | |      | |решать задачу        | |   |                    |       |
|    | |      | |факторизации. В марте| |   |                    |       |
|    | |      | |1994 была закончена  | |   |                    |       |
|    | |      | |длившаяся в течение 8| |   |                    |       |
|    | |      | |месяцев факторизация | |   |                    |       |
|    | |      | |числа из 129 цифр    | |   |                    |       |
|    | |      | |(428 бит6). Для этого| |   |                    |       |
|    | |      | |было задействовано   | |   |                    |       |
|    | |      | |600 добровольцев и   | |   |                    |       |
|    | |      | |1600 машин, связанных| |   |                    |       |
|    | |      | |посредством          | |   |                    |       |
|    | |      | |электронной почты.   | |   |                    |       |
|    | |      | |Затраченное машинное | |   |                    |       |
|    | |      | |время было           | |   |                    |       |
|    | |      | |эквивалентно примерно| |   |                    |       |
|    | |      | |5000 MIPS-лет7.      | |   |                    |       |
|    | |      | |Прогресс в решении   | |   |                    |       |
|    | |      | |проблемы факторизации| |   |                    |       |
|    | |      | |во многом связан не  | |   |                    |       |
|    | |      | |только с ростом      | |   |                    |       |
|    | |      | |вычислительных       | |   |                    |       |
|    | |      | |мощностей, но и с    | |   |                    |       |
|    | |      | |появлением в         | |   |                    |       |
|    | |      | |последнее время новых| |   |                    |       |
|    | |      | |эффективных          | |   |                    |       |
|    | |      | |алгоритмов. (На      | |   |                    |       |
|    | |      | |факторизацию         | |   |                    |       |
|    | |      | |следующего числа из  | |   |                    |       |
|    | |      | |130 цифр ушло всего  | |   |                    |       |
|    | |      | |500 MIPS-лет). На    | |   |                    |       |
|    | |      | |сегодняшний день в   | |   |                    |       |
|    | |      | |принципе реально     | |   |                    |       |
|    | |      | |факторизовать        | |   |                    |       |
|    | |      | |512-битные числа.    | |   |                    |       |
|    | |      | |Если вспомнить, что  | |   |                    |       |
|    | |      | |такие числа еще      | |   |                    |       |
|    | |      | |недавно              | |   |                    |       |
|    | |      | |использовались в     | |   |                    |       |
|    | |      | |программе PGP, то    | |   |                    |       |
|    | |      | |можно утверждать, что| |   |                    |       |
|    | |      | |это самая быстро     | |   |                    |       |
|    | |      | |развивающаяся область| |   |                    |       |
|    | |      | |криптографии и теории| |   |                    |       |
|    | |      | |чисел.               | |   |                    |       |
|    | |      | |29 января 1997 фирмой| |   |                    |       |
|    | |      | |RSA Labs был объявлен| |   |                    |       |
|    | |      | |конкурс на вскрытие  | |   |                    |       |
|    | |      | |симметричного        | |   |                    |       |
|    | |      | |алгоритма RC5.       | |   |                    |       |
|    | |      | |40-битный ключ был   | |   |                    |       |
|    | |      | |вскрыт через 3.5 часа| |   |                    |       |
|    | |      | |после начала         | |   |                    |       |
|    | |      | |конкурса! (Для этого | |   |                    |       |
|    | |      | |даже не потребовалась| |   |                    |       |
|    | |      | |связывать компьютеры | |   |                    |       |
|    | |      | |через Интернет -     | |   |                    |       |
|    | |      | |хватило локальной    | |   |                    |       |
|    | |      | |сети из 250 машин в  | |   |                    |       |
|    | |      | |Берклевском          | |   |                    |       |
|    | |      | |университете). Через | |   |                    |       |
|    | |      | |313 часов был вскрыт | |   |                    |       |
|    | |      | |и 48-битный ключ.    | |   |                    |       |
|    | |      | |Таким образом, всем  | |   |                    |       |
|    | |      | |стало очевидно, что  | |   |                    |       |
|    | |      | |длина ключа,         | |   |                    |       |
|    | |      | |удовлетворяющая      | |   |                    |       |
|    | |      | |экспортным           | |   |                    |       |
|    | |      | |ограничениям, не     | |   |                    |       |
|    | |      | |может обеспечить даже| |   |                    |       |
|    | |      | |минимальной          | |   |                    |       |
|    | |      | |надежности.          | |   |                    |       |
|    | |      | |Параллельно со       | |   |                    |       |
|    | |      | |вскрытием RC5 был дан| |   |                    |       |
|    | |      | |вызов и столпу       | |   |                    |       |
|    | |      | |американской         | |   |                    |       |
|    | |      | |криптографии -       | |   |                    |       |
|    | |      | |алгоритму DES,       | |   |                    |       |
|    | |      | |имеющему ключ в 56   | |   |                    |       |
|    | |      | |бит. И он пал 17 июня| |   |                    |       |
|    | |      | |1997 года, через 140 | |   |                    |       |
|    | |      | |дней после начала    | |   |                    |       |
|    | |      | |конкурса (при этом   | |   |                    |       |
|    | |      | |было протестировано  | |   |                    |       |
|    | |      | |около 25% всех       | |   |                    |       |
|    | |      | |возможных ключей и   | |   |                    |       |
|    | |      | |затрачено примерно   | |   |                    |       |
|    | |      | |450 MIPS-лет). Это   | |   |                    |       |
|    | |      | |было безусловно      | |   |                    |       |
|    | |      | |выдающееся           | |   |                    |       |
|    | |      | |достижение, которое  | |   |                    |       |
|    | |      | |означало фактическую | |   |                    |       |
|    | |      | |смерть DES как       | |   |                    |       |
|    | |      | |стандарта шифрования.| |   |                    |       |
|    | |      | |И действительно,     | |   |                    |       |
|    | |      | |когда в начала 1998  | |   |                    |       |
|    | |      | |года следующее       | |   |                    |       |
|    | |      | |соревнование по      | |   |                    |       |
|    | |      | |нахождению ключа DES | |   |                    |       |
|    | |      | |привело к успеху     | |   |                    |       |
|    | |      | |всего за 39 дней,    | |   |                    |       |
|    | |      | |национальный институт| |   |                    |       |
|    | |      | |стандартов США (NIST)| |   |                    |       |
|    | |      | |объявил конкурс на   | |   |                    |       |
|    | |      | |утверждение нового   | |   |                    |       |
|    | |      | |стандарта AES        | |   |                    |       |
|    | |      | |(Advanced Encryption | |   |                    |       |
|    | |      | |Standard). AES должен| |   |                    |       |
|    | |      | |быть полностью       | |   |                    |       |
|    | |      | |открытым симметричным| |   |                    |       |
|    | |      | |алгоритмом с ключом  | |   |                    |       |
|    | |      | |размером 128, 192,   | |   |                    |       |
|    | |      | |256 бит и блоком     | |   |                    |       |
|    | |      | |шифрования размером  | |   |                    |       |
|    | |      | |128 бит.             | |   |                    |       |
|    | |      | |Ошибочный выбор      | |   |                    |       |
|    | |      | |класса алгоритма     | |   |                    |       |
|    | |      | |Это также весьма     | |   |                    |       |
|    | |      | |распространенная     | |   |                    |       |
|    | |      | |причина, при которой | |   |                    |       |
|    | |      | |разработчик выбирает | |   |                    |       |
|    | |      | |пусть и хороший, но  | |   |                    |       |
|    | |      | |совершенно           | |   |                    |       |
|    | |      | |неподходящий к его   | |   |                    |       |
|    | |      | |задаче алгоритм. Чаще| |   |                    |       |
|    | |      | |всего это выбор      | |   |                    |       |
|    | |      | |шифрования вместо    | |   |                    |       |
|    | |      | |хэширования или выбор| |   |                    |       |
|    | |      | |симметричного        | |   |                    |       |
|    | |      | |алгоритма вместо     | |   |                    |       |
|    | |      | |алгоритма с открытыми| |   |                    |       |
|    | |      | |ключами.             | |   |                    |       |
|    | |      | |Примеров здесь масса | |   |                    |       |
|    | |      | |- это почти все      | |   |                    |       |
|    | |      | |программы,           | |   |                    |       |
|    | |      | |ограничивающие доступ| |   |                    |       |
|    | |      | |к компьютеру паролем | |   |                    |       |
|    | |      | |при его включении или| |   |                    |       |
|    | |      | |загрузке, например,  | |   |                    |       |
|    | |      | |AMI BIOS, хранящий   | |   |                    |       |
|    | |      | |вместо хэша пароля   | |   |                    |       |
|    | |      | |его зашифрованный    | |   |                    |       |
|    | |      | |вариант, который,    | |   |                    |       |
|    | |      | |естественно, легко   | |   |                    |       |
|    | |      | |дешифруется.         | |   |                    |       |
|    | |      | |Во всех сетевых      | |   |                    |       |
|    | |      | |процедурах           | |   |                    |       |
|    | |      | |аутентификации       | |   |                    |       |
|    | |      | |естественно применять| |   |                    |       |
|    | |      | |ассиметричную        | |   |                    |       |
|    | |      | |криптографию, которая| |   |                    |       |
|    | |      | |не позволит подобрать| |   |                    |       |
|    | |      | |ключ даже при полном | |   |                    |       |
|    | |      | |перехвате трафика.   | |   |                    |       |
|    | |      | |Однако такие         | |   |                    |       |
|    | |      | |алгоритмы (из сетевых| |   |                    |       |
|    | |      | |OC) пока реализует   | |   |                    |       |
|    | |      | |только Novell Netware| |   |                    |       |
|    | |      | |4.x, остальные же    | |   |                    |       |
|    | |      | |довольствуются (в    | |   |                    |       |
|    | |      | |лучшем случае!)      | |   |                    |       |
|    | |      | |стандартной схемой   | |   |                    |       |
|    | |      | |"запрос-отклик", при | |   |                    |       |
|    | |      | |которой можно вести  | |   |                    |       |
|    | |      | |достаточно быстрый   | |   |                    |       |
|    | |      | |перебор по           | |   |                    |       |
|    | |      | |перехваченным        | |   |                    |       |
|    | |      | |значениям "запроса" и| |   |                    |       |
|    | |      | |"отклика".           | |   |                    |       |
|    | |      | |Повторное наложение  | |   |                    |       |
|    | |      | |гаммы шифра          | |   |                    |       |
|    | |      | |Уже классическим     | |   |                    |       |
|    | |      | |примером стала       | |   |                    |       |
|    | |      | |уязвимость в Windows | |   |                    |       |
|    | |      | |3.x и первых версиях | |   |                    |       |
|    | |      | |Windows 95, связанная| |   |                    |       |
|    | |      | |с шифрованием. В этом| |   |                    |       |
|    | |      | |случае программисты  | |   |                    |       |
|    | |      | |фирмы Microsoft,     | |   |                    |       |
|    | |      | |хорошо известные     | |   |                    |       |
|    | |      | |своими знаниями в    | |   |                    |       |
|    | |      | |области безопасности,| |   |                    |       |
|    | |      | |применяли алгоритм   | |   |                    |       |
|    | |      | |RC4 (представляющем  | |   |                    |       |
|    | |      | |собой ни что иное,   | |   |                    |       |
|    | |      | |как шифрование       | |   |                    |       |
|    | |      | |гаммированием), не   | |   |                    |       |
|    | |      | |меняя гаммы,         | |   |                    |       |
|    | |      | |несколько раз к      | |   |                    |       |
|    | |      | |разным данным -      | |   |                    |       |
|    | |      | |сетевым ресурсам,    | |   |                    |       |
|    | |      | |хранящимся в файлах  | |   |                    |       |
|    | |      | |типа .pwl.           | |   |                    |       |
|    | |      | |Оказалось, что один  | |   |                    |       |
|    | |      | |из наборов данных    | |   |                    |       |
|    | |      | |файла .pwl           | |   |                    |       |
|    | |      | |представлял из себя  | |   |                    |       |
|    | |      | |более чем специфичный| |   |                    |       |
|    | |      | |текст - 20-символьное| |   |                    |       |
|    | |      | |имя пользователя (в  | |   |                    |       |
|    | |      | |верхнем регистре) и  | |   |                    |       |
|    | |      | |набор указателей на  | |   |                    |       |
|    | |      | |ресурсы (см. рис. 2).| |   |                    |       |
|    | |      | |Таким образом, угадав| |   |                    |       |
|    | |      | |им пользователя      | |   |                    |       |
|    | |      | |(которое в           | |   |                    |       |
|    | |      | |большинстве случаев к| |   |                    |       |
|    | |      | |тому же совпадает с  | |   |                    |       |
|    | |      | |именем файла) можно  | |   |                    |       |
|    | |      | |вычислить по крайней | |   |                    |       |
|    | |      | |мере 20 байт гаммы.  | |   |                    |       |
|    | |      | |Т.к. гамма не        | |   |                    |       |
|    | |      | |меняется при         | |   |                    |       |
|    | |      | |шифровании других    | |   |                    |       |
|    | |      | |ресурсов (в этом     | |   |                    |       |
|    | |      | |состоит основная     | |   |                    |       |
|    | |      | |ошибка применения RC4| |   |                    |       |
|    | |      | |в этом случае), могут| |   |                    |       |
|    | |      | |быть вычислены первые| |   |                    |       |
|    | |      | |20 байт всех         | |   |                    |       |
|    | |      | |ресурсов, в которые  | |   |                    |       |
|    | |      | |входит длина каждого | |   |                    |       |
|    | |      | |из них. Вычислив     | |   |                    |       |
|    | |      | |длину, можно найти   | |   |                    |       |
|    | |      | |значения указателей и| |   |                    |       |
|    | |      | |тем самым прибавить  | |   |                    |       |
|    | |      | |еще несколько        | |   |                    |       |
|    | |      | |десятков байт к      | |   |                    |       |
|    | |      | |угаданной гамме. Этот| |   |                    |       |
|    | |      | |алгоритм реализован в| |   |                    |       |
|    | |      | |известной программе  | |   |                    |       |
|    | |      | |glide.               | |   |                    |       |
|    | |      | |[pic]                | |   |                    |       |
|    | |      | |Рис. 2. Формат файла | |   |                    |       |
|    | |      | |.PWL.                | |   |                    |       |
|    | |      | |Хранение ключа вместе| |   |                    |       |
|    | |      | |с данными            | |   |                    |       |
|    | |      | |Эта причина приводит | |   |                    |       |
|    | |      | |к тому, что данные,  | |   |                    |       |
|    | |      | |зашифрованные с      | |   |                    |       |
|    | |      | |помощью              | |   |                    |       |
|    | |      | |криптостойкого и     | |   |                    |       |
|    | |      | |корректно            | |   |                    |       |
|    | |      | |реализованного       | |   |                    |       |
|    | |      | |алгоритма, могут быть| |   |                    |       |
|    | |      | |легко дешифрованы.   | |   |                    |       |
|    | |      | |Это связано со       | |   |                    |       |
|    | |      | |спецификой решаемой  | |   |                    |       |
|    | |      | |задачи, при которой  | |   |                    |       |
|    | |      | |невозможно вводить   | |   |                    |       |
|    | |      | |ключ извне и он      | |   |                    |       |
|    | |      | |хранится где-то      | |   |                    |       |
|    | |      | |внутри в практически | |   |                    |       |
|    | |      | |незашифрованном виде.| |   |                    |       |
|    | |      | |Иначе говоря, здесь  | |   |                    |       |
|    | |      | |наиболее уязвимым    | |   |                    |       |
|    | |      | |будет алгоритм       | |   |                    |       |
|    | |      | |шифрования не ключом,| |   |                    |       |
|    | |      | |а ключа (с помощью   | |   |                    |       |
|    | |      | |некоего вторичного   | |   |                    |       |
|    | |      | |ключа). Но так как   | |   |                    |       |
|    | |      | |(что опять-таки      | |   |                    |       |
|    | |      | |очевидно следует из  | |   |                    |       |
|    | |      | |специфики задачи)    | |   |                    |       |
|    | |      | |этот вторичный ключ  | |   |                    |       |
|    | |      | |хранить извне нельзя,| |   |                    |       |
|    | |      | |то основные данные   | |   |                    |       |
|    | |      | |рано или поздно будут| |   |                    |       |
|    | |      | |расшифрованы без     | |   |                    |       |
|    | |      | |использования методов| |   |                    |       |
|    | |      | |перебора.            | |   |                    |       |
|    | |      | |Типичным примером    | |   |                    |       |
|    | |      | |здесь будут все WWW-,| |   |                    |       |
|    | |      | |ftp-, e-mail-клиенты.| |   |                    |       |
|    | |      | |Дело в том, что для  | |   |                    |       |
|    | |      | |базовой (наиболее    | |   |                    |       |
|    | |      | |часто встречающейся) | |   |                    |       |
|    | |      | |аутентификации в этих| |   |                    |       |
|    | |      | |протоколах пароль    | |   |                    |       |
|    | |      | |должен передаваться  | |   |                    |       |
|    | |      | |серверу в открытом   | |   |                    |       |
|    | |      | |виде. Поэтому        | |   |                    |       |
|    | |      | |клиентские программы | |   |                    |       |
|    | |      | |вынуждены шифровать  | |   |                    |       |
|    | |      | |(а не хэшировать)    | |   |                    |       |
|    | |      | |пароль, причем с     | |   |                    |       |
|    | |      | |фиксированным ключом,| |   |                    |       |
|    | |      | |чтобы не надоедать   | |   |                    |       |
|    | |      | |пользователю         | |   |                    |       |
|    | |      | |постоянными          | |   |                    |       |
|    | |      | |вопросами. Отсюда    | |   |                    |       |
|    | |      | |следует, что где-то  | |   |                    |       |
|    | |      | |внутри любого        | |   |                    |       |
|    | |      | |броузера, почтового  | |   |                    |       |
|    | |      | |или ftp-клиента (будь| |   |                    |       |
|    | |      | |то Netscape          | |   |                    |       |
|    | |      | |Communicator, Eudora,| |   |                    |       |
|    | |      | |Outlook, FAR и т.п.) | |   |                    |       |
|    | |      | |лежат все ваши пароли| |   |                    |       |
|    | |      | |в практически        | |   |                    |       |
|    | |      | |открытом виде, и что | |   |                    |       |
|    | |      | |расшифровать их не   | |   |                    |       |
|    | |      | |представляет труда.  | |   |                    |       |
|    | |      | |(Чаще всего, кстати, | |   |                    |       |
|    | |      | |пароль в таких       | |   |                    |       |
|    | |      | |программах даже не   | |   |                    |       |
|    | |      | |шифруется, а         | |   |                    |       |
|    | |      | |кодируется алгоритмом| |   |                    |       |
|    | |      | |типа base-64).       | |   |                    |       |
|    | |      | |Человеческий фактор  | |   |                    |       |
|    | |      | |В любой критической  | |   |                    |       |
|    | |      | |системе ошибки       | |   |                    |       |
|    | |      | |человека-оператора   | |   |                    |       |
|    | |      | |являются чуть ли не  | |   |                    |       |
|    | |      | |самыми дорогостоящими| |   |                    |       |
|    | |      | |и распространенными. | |   |                    |       |
|    | |      | |В случае криптосистем| |   |                    |       |
|    | |      | |непрофессиональные   | |   |                    |       |
|    | |      | |действия пользователя| |   |                    |       |
|    | |      | |сводят на нет самый  | |   |                    |       |
|    | |      | |стойкий              | |   |                    |       |
|    | |      | |криптоалгоритм и     | |   |                    |       |
|    | |      | |самую корректную его | |   |                    |       |
|    | |      | |реализацию и         | |   |                    |       |
|    | |      | |применение.          | |   |                    |       |
|    | |      | |В первую очередь это | |   |                    |       |
|    | |      | |связано с выбором    | |   |                    |       |
|    | |      | |паролей. Очевидно,   | |   |                    |       |
|    | |      | |что короткие или     | |   |                    |       |
|    | |      | |осмысленные пароли   | |   |                    |       |
|    | |      | |легко запоминаются   | |   |                    |       |
|    | |      | |человеком, но они    | |   |                    |       |
|    | |      | |гораздо проще для    | |   |                    |       |
|    | |      | |вскрытия.            | |   |                    |       |
|    | |      | |Использование длинных| |   |                    |       |
|    | |      | |и бессмысленных      | |   |                    |       |
|    | |      | |паролей безусловно   | |   |                    |       |
|    | |      | |лучше с точки зрения | |   |                    |       |
|    | |      | |криптостойкости, но  | |   |                    |       |
|    | |      | |человек обычно не    | |   |                    |       |
|    | |      | |может их запомнить и | |   |                    |       |
|    | |      | |записывает на        | |   |                    |       |
|    | |      | |бумажке, которая     | |   |                    |       |
|    | |      | |потом либо теряется, | |   |                    |       |
|    | |      | |либо попадает в руки | |   |                    |       |
|    | |      | |злоумышленнику.      | |   |                    |       |
|    | |      | |В последние годы     | |   |                    |       |
|    | |      | |много внимания       | |   |                    |       |
|    | |      | |уделяется разрешению | |   |                    |       |
|    | |      | |этого противоречия,  | |   |                    |       |
|    | |      | |но рекомендации по   | |   |                    |       |
|    | |      | |выбору хороших       | |   |                    |       |
|    | |      | |паролей выходят за   | |   |                    |       |
|    | |      | |рамки этой статьи.   | |   |                    |       |
|    | |      | |Именно из того, что  | |   |                    |       |
|    | |      | |неискушенные         | |   |                    |       |
|    | |      | |пользователи обычно  | |   |                    |       |
|    | |      | |выбирают либо        | |   |                    |       |
|    | |      | |короткие, либо       | |   |                    |       |
|    | |      | |осмысленные пароли,  | |   |                    |       |
|    | |      | |существуют два метода| |   |                    |       |
|    | |      | |их вскрытия: атака   | |   |                    |       |
|    | |      | |полным перебором и   | |   |                    |       |
|    | |      | |атака по словарю.    | |   |                    |       |
|    | |      | |С связи с резким     | |   |                    |       |
|    | |      | |ростом вычислительных| |   |                    |       |
|    | |      | |мощностей атаки      | |   |                    |       |
|    | |      | |полным перебором     | |   |                    |       |
|    | |      | |имеют гораздо больше | |   |                    |       |
|    | |      | |шансов на успех, чем | |   |                    |       |
|    | |      | |раньше (см. также    | |   |                    |       |
|    | |      | |"Малая длина ключа").| |   |                    |       |
|    | |      | |Если для системы UNIX| |   |                    |       |
|    | |      | |функция crypt(),     | |   |                    |       |
|    | |      | |которая отвечает за  | |   |                    |       |
|    | |      | |хэширование паролей, | |   |                    |       |
|    | |      | |была реализована так,| |   |                    |       |
|    | |      | |что выполнялась почти| |   |                    |       |
|    | |      | |1 секунду на машину  | |   |                    |       |
|    | |      | |класса PDP, то за    | |   |                    |       |
|    | |      | |двадцать лет скорость| |   |                    |       |
|    | |      | |ее вычисления        | |   |                    |       |
|    | |      | |увеличилась в 15000  | |   |                    |       |
|    | |      | |раз (!). Поэтому если| |   |                    |       |
|    | |      | |раньше хакеры (и     | |   |                    |       |
|    | |      | |разработчики, которые| |   |                    |       |
|    | |      | |ограничили длину     | |   |                    |       |
|    | |      | |пароля 8 символами) и| |   |                    |       |
|    | |      | |представить себе не  | |   |                    |       |
|    | |      | |могли полный перебор,| |   |                    |       |
|    | |      | |то сегодня такая     | |   |                    |       |
|    | |      | |атака в среднем      | |   |                    |       |
|    | |      | |приведет к успеху за | |   |                    |       |
|    | |      | |80 дней8. Скорость   | |   |                    |       |
|    | |      | |перебора паролей для | |   |                    |       |
|    | |      | |различных            | |   |                    |       |
|    | |      | |криптосистем         | |   |                    |       |
|    | |      | |приведена в табл. 1. | |   |                    |       |
|    |•|Securi| |Криптосистема        | |   |Скорость,           |       |
|    | |ty    | |                     | |   |паролей/cек.        |       |
|    | |News  | |                     | |   |                    |       |
|    |•|Безопа| |ARJ 2.50             | |   |350 000             |       |
|    | |сность| |                     | |   |                    |       |
|    | |в Unix| |                     | |   |                    |       |
|    |•|Безопа| |RC5 - 56 бит         | |   |150 000             |       |
|    | |сность| |                     | |   |                    |       |
|    | |в     | |                     | |   |                    |       |
|    | |Window| |                     | |   |                    |       |
|    | |s     | |                     | |   |                    |       |
|    |•|Сборни| |LM-хэш               | |   |50 000              |       |
|    | |к     | |                     | |   |                    |       |
|    | |FAQ'ов| |                     | |   |                    |       |
|    |•|Телефо| |Novell Netware 3.x   | |   |25 000              |       |
|    | |ния,  | |                     | |   |                    |       |
|    | |фрикин| |                     | |   |                    |       |
|    | |г     | |                     | |   |                    |       |
|    |•|Кредит| |MS Office 97         | |   |15 000              |       |
|    | |ные   | |                     | |   |                    |       |
|    | |карты | |                     | |   |                    |       |
|    |•|Крипто| |UNIX - crypt()       | |   |15 000              |       |
|    | |графия| |                     | |   |                    |       |
|    |•|Истори| |RAR 2.0              | |   |1 000               |       |
|    | |и о   | |                     | |   |                    |       |
|    | |хакера| |                     | |   |                    |       |
|    | |х     | |                     | |   |                    |       |
|    |•|Програ| |UNIX -MD5            | |   |500                 |       |
|    | |ммы,  | |                     | |   |                    |       |
|    | |утилит| |                     | |   |                    |       |
|    | |ы     | |                     | |   |                    |       |
|    |•|CGI   | |Табл. 1. Скорость    | |   |                    |       |
|    | |скрипт| |полного перебора на  | |   |                    |       |
|    | |ы     | |компьютере класса    | |   |                    |       |
|    | |      | |Pentium/166.         | |   |                    |       |
|    | |      | |Однако вернемся на   | |   |                    |       |
|    | |      | |несколько лет назад, | |   |                    |       |
|    | |      | |когда вычислительной | |   |                    |       |
|    | |      | |мощности для полного | |   |                    |       |
|    | |      | |перебора всех паролей| |   |                    |       |
|    | |      | |не хватало. Тем не   | |   |                    |       |
|    | |      | |менее, хакерами был  | |   |                    |       |
|    | |      | |придуман остроумный  | |   |                    |       |
|    | |      | |метод, основанный на | |   |                    |       |
|    | |      | |том, что качестве    | |   |                    |       |
|    | |      | |пароля человеком     | |   |                    |       |
|    | |      | |выбирается           | |   |                    |       |
|    | |      | |существующее слово   | |   |                    |       |
|    | |      | |или какая-либо       | |   |                    |       |
|    | |      | |информация о себе или| |   |                    |       |
|    | |      | |своих знакомых (имя, | |   |                    |       |
|    | |      | |дата рождения и т.   | |   |                    |       |
|    | |      | |п.). Ну, а поскольку | |   |                    |       |
|    | |      | |в любом языке не     | |   |                    |       |
|    | |      | |более 100000 слов, то| |   |                    |       |
|    | |      | |их перебор займет    | |   |                    |       |
|    | |      | |весьма небольшое     | |   |                    |       |
|    | |      | |время, и от 40 до 80%| |   |                    |       |
|    | |      | |существующих паролей | |   |                    |       |
|    | |      | |может быть угадано с | |   |                    |       |
|    | |      | |помощью такой простой| |   |                    |       |
|    | |      | |схемы, называемой    | |   |                    |       |
|    | |      | |"атакой по словарю". | |   |                    |       |
|    | |      | |(Кстати, до 80% этих | |   |                    |       |
|    | |      | |паролей может быть   | |   |                    |       |
|    | |      | |угадано с            | |   |                    |       |
|    | |      | |использованием       | |   |                    |       |
|    | |      | |словаря размером     | |   |                    |       |
|    | |      | |всего 1000 слов!).   | |   |                    |       |
|    | |      | |Даже вирус Морриса (в| |   |                    |       |
|    | |      | |1988 г.!) применял   | |   |                    |       |
|    | |      | |такой способ, тем    | |   |                    |       |
|    | |      | |более что в UNIX "под| |   |                    |       |
|    | |      | |рукой" часто         | |   |                    |       |
|    | |      | |оказывается          | |   |                    |       |
|    | |      | |файл-словарь, обычно | |   |                    |       |
|    | |      | |используемый         | |   |                    |       |
|    | |      | |программами-корректор| |   |                    |       |
|    | |      | |ами. Что же касается | |   |                    |       |
|    | |      | |"собственных"        | |   |                    |       |
|    | |      | |паролей, то файл     | |   |                    |       |
|    | |      | |/etc/passwd может    | |   |                    |       |
|    | |      | |дать немало          | |   |                    |       |
|    | |      | |информации о         | |   |                    |       |
|    | |      | |пользователе: его    | |   |                    |       |
|    | |      | |входное имя, имя и   | |   |                    |       |
|    | |      | |фамилию, домашний    | |   |                    |       |
|    | |      | |каталог. Вирус       | |   |                    |       |
|    | |      | |Морриса с успехом    | |   |                    |       |
|    | |      | |пользовался          | |   |                    |       |
|    | |      | |следующими           | |   |                    |       |
|    | |      | |предположениями [3]: | |   |                    |       |
|    | |      | |в качестве пароля    | |   |                    |       |
|    | |      | |берется входное им   | |   |                    |       |
|    | |      | |пользователя;        | |   |                    |       |
|    | |      | |пароль представляет  | |   |                    |       |
|    | |      | |собой двойной повтор | |   |                    |       |
|    | |      | |имени пользователя;  | |   |                    |       |
|    | |      | |то же, но прочитанное| |   |                    |       |
|    | |      | |справа налево;       | |   |                    |       |
|    | |      | |имя или фамилия      | |   |                    |       |
|    | |      | |пользователя;        | |   |                    |       |
|    | |      | |то же, но в нижнем   | |   |                    |       |
|    | |      | |регистре.            | |   |                    |       |
|    | |      | |Пусть сегодня        | |   |                    |       |
|    | |      | |пользователи уже     | |   |                    |       |
|    | |      | |понимают, что        | |   |                    |       |
|    | |      | |выбирать такие пароли| |   |                    |       |
|    | |      | |нельзя, но до тех    | |   |                    |       |
|    | |      | |пор, пока с          | |   |                    |       |
|    | |      | |компьютером работает | |   |                    |       |
|    | |      | |человек9, эксперты по| |   |                    |       |
|    | |      | |компьютерной         | |   |                    |       |
|    | |      | |безопасности не      | |   |                    |       |
|    | |      | |дождутся             | |   |                    |       |
|    | |      | |использования таких  | |   |                    |       |
|    | |      | |простых и радующих   | |   |                    |       |
|    | |      | |душу паролей, как    | |   |                    |       |
|    | |      | |34jXs5U@bTa!6.       | |   |                    |       |
|    | |      | |Поэтому даже         | |   |                    |       |
|    | |      | |искушенный           | |   |                    |       |
|    | |      | |пользователь хитрит и| |   |                    |       |
|    | |      | |выбирает такие       | |   |                    |       |
|    | |      | |пароли, как hope1,   | |   |                    |       |
|    | |      | |user1997, pAsSwOrD,  | |   |                    |       |
|    | |      | |toor, roottoor,      | |   |                    |       |
|    | |      | |parol, gfhjkm, asxz. | |   |                    |       |
|    | |      | |Видно, что все они,  | |   |                    |       |
|    | |      | |как правило,         | |   |                    |       |
|    | |      | |базируются на        | |   |                    |       |
|    | |      | |осмысленном слове и  | |   |                    |       |
|    | |      | |некотором простом    | |   |                    |       |
|    | |      | |правиле его          | |   |                    |       |
|    | |      | |преобразования:      | |   |                    |       |
|    | |      | |прибавить цифру,     | |   |                    |       |
|    | |      | |прибавить год,       | |   |                    |       |
|    | |      | |перевести через букву| |   |                    |       |
|    | |      | |в другой регистр,    | |   |                    |       |
|    | |      | |записать слово       | |   |                    |       |
|    | |      | |наоборот, прибавить  | |   |                    |       |
|    | |      | |записанное наоборот  | |   |                    |       |
|    | |      | |слово, записать      | |   |                    |       |
|    | |      | |русское слово        | |   |                    |       |
|    | |      | |латинскими буквами,  | |   |                    |       |
|    | |      | |набрать русское слово| |   |                    |       |
|    | |      | |на клавиатуре с      | |   |                    |       |
|    | |      | |латинской раскладкой,| |   |                    |       |
|    | |      | |составить пароль из  | |   |                    |       |
|    | |      | |рядом расположенных  | |   |                    |       |
|    | |      | |на клавиатуре клавиш | |   |                    |       |
|    | |      | |и т. п.              | |   |                    |       |
|    | |      | |Поэтому не надо      | |   |                    |       |
|    | |      | |удивляться, если     | |   |                    |       |
|    | |      | |такой "хитрый" пароль| |   |                    |       |
|    | |      | |будет вскрыт хакерами| |   |                    |       |
|    | |      | |- они не глупее самих| |   |                    |       |
|    | |      | |пользователей, и уже | |   |                    |       |
|    | |      | |вставили в свои      | |   |                    |       |
|    | |      | |программы те правила,| |   |                    |       |
|    | |      | |по которым может идти| |   |                    |       |
|    | |      | |преобразование слов. | |   |                    |       |
|    | |      | |В самых продвинутых  | |   |                    |       |
|    | |      | |программах (John The | |   |                    |       |
|    | |      | |Ripper, Password     | |   |                    |       |
|    | |      | |Cracking Library) эти| |   |                    |       |
|    | |      | |правила могут быть   | |   |                    |       |
|    | |      | |программируемыми и   | |   |                    |       |
|    | |      | |задаваться с помощью | |   |                    |       |
|    | |      | |специального языка   | |   |                    |       |
|    | |      | |самим хакером.       | |   |                    |       |
|    | |      | |Приведем пример      | |   |                    |       |
|    | |      | |эффективности такой  | |   |                    |       |
|    | |      | |стратегии перебора.  | |   |                    |       |
|    | |      | |Во многих книгах по  | |   |                    |       |
|    | |      | |безопасности         | |   |                    |       |
|    | |      | |предлагается выбирать| |   |                    |       |
|    | |      | |в качестве надежного | |   |                    |       |
|    | |      | |пароля два           | |   |                    |       |
|    | |      | |осмысленных слова,   | |   |                    |       |
|    | |      | |разделенных некоторым| |   |                    |       |
|    | |      | |знаком, например     | |   |                    |       |
|    | |      | |"good!password".     | |   |                    |       |
|    | |      | |Подсчитаем, за       | |   |                    |       |
|    | |      | |сколько времени в    | |   |                    |       |
|    | |      | |среднем будут сломаны| |   |                    |       |
|    | |      | |такие пароли, если   | |   |                    |       |
|    | |      | |такое правило        | |   |                    |       |
|    | |      | |включено в набор     | |   |                    |       |
|    | |      | |программы-взломщика  | |   |                    |       |
|    | |      | |(пусть словарь 10000 | |   |                    |       |
|    | |      | |слов, разделительными| |   |                    |       |
|    | |      | |знаками могут быть 10| |   |                    |       |
|    | |      | |цифр и 32 знака      | |   |                    |       |
|    | |      | |препинания и         | |   |                    |       |
|    | |      | |специальных символа, | |   |                    |       |
|    | |      | |машина класса Pentium| |   |                    |       |
|    | |      | |со скоростью 15000   | |   |                    |       |
|    | |      | |crypt/сек):[pic]=140 | |   |                    |       |
|    | |      | |000 секунд или менее | |   |                    |       |
|    | |      | |1.5 дней!            | |   |                    |       |
|    | |      | |Заключение           | |   |                    |       |
|    | |      | |С момента начала     | |   |                    |       |
|    | |      | |написания этой статьи| |   |                    |       |
|    | |      | |в 1996 году положение| |   |                    |       |
|    | |      | |в применении средств | |   |                    |       |
|    | |      | |криптографии в       | |   |                    |       |
|    | |      | |прикладных программах| |   |                    |       |
|    | |      | |бесспорно меняется в | |   |                    |       |
|    | |      | |лучшую сторону.      | |   |                    |       |
|    | |      | |Постепенно           | |   |                    |       |
|    | |      | |разработчики осознают| |   |                    |       |
|    | |      | |необходимость        | |   |                    |       |
|    | |      | |применения           | |   |                    |       |
|    | |      | |зарекомендовавших    | |   |                    |       |
|    | |      | |себя алгоритмов,     | |   |                    |       |
|    | |      | |сдвигаются с мертвой | |   |                    |       |
|    | |      | |точки позиции        | |   |                    |       |
|    | |      | |некоторых стран в    | |   |                    |       |
|    | |      | |вопросе экспорта     | |   |                    |       |
|    | |      | |криптоалгоритмов,    | |   |                    |       |
|    | |      | |разрабатываются новые| |   |                    |       |
|    | |      | |алгоритмы и стандарты| |   |                    |       |
|    | |      | |с большей длиной     | |   |                    |       |
|    | |      | |ключа и              | |   |                    |       |
|    | |      | |эффективностью для   | |   |                    |       |
|    | |      | |реализации на всех   | |   |                    |       |
|    | |      | |типах процессоров, от| |   |                    |       |
|    | |      | |8-битных до RISC.    | |   |                    |       |
|    | |      | |Тем не менее,        | |   |                    |       |
|    | |      | |остается огромная    | |   |                    |       |
|    | |      | |пропасть между       | |   |                    |       |
|    | |      | |уровнем стойкости и  | |   |                    |       |
|    | |      | |надежности           | |   |                    |       |
|    | |      | |существующего сейчас | |   |                    |       |
|    | |      | |ПО, применяющего     | |   |                    |       |
|    | |      | |криптоалгоритмы, в   | |   |                    |       |
|    | |      | |котором до сих пор   | |   |                    |       |
|    | |      | |находятся "детские"  | |   |                    |       |
|    | |      | |дыры (последний      | |   |                    |       |
|    | |      | |пример - реализация  | |   |                    |       |
|    | |      | |PPTP от Microsoft    | |   |                    |       |
|    | |      | |[4]) и тем уровнем   | |   |                    |       |
|    | |      | |криптостойкости,     | |   |                    |       |
|    | |      | |который демонстрируют| |   |                    |       |
|    | |      | |последние, независимо| |   |                    |       |
|    | |      | |проанализированные   | |   |                    |       |
|    | |      | |ведущими             | |   |                    |       |
|    | |      | |криптоаналитиками    | |   |                    |       |
|    | |      | |алгоритмы и          | |   |                    |       |
|    | |      | |протоколы, где       | |   |                    |       |
|    | |      | |серьезной уязвимостью| |   |                    |       |
|    | |      | |считается, например, | |   |                    |       |
|    | |      | |та, что требует 265  | |   |                    |       |
|    | |      | |блоков шифрованного  | |   |                    |       |
|    | |      | |текста и затем 258   | |   |                    |       |
|    | |      | |перебора вариантов   | |   |                    |       |
|    | |      | |или одного открытого | |   |                    |       |
|    | |      | |текста,              | |   |                    |       |
|    | |      | |зашифрованного 233   | |   |                    |       |
|    | |      | |разными, но          | |   |                    |       |
|    | |      | |зависимыми друг от   | |   |                    |       |
|    | |      | |друга ключами и затем| |   |                    |       |
|    | |      | |сложности анализа,   | |   |                    |       |
|    | |      | |равного 257[5].      | |   |                    |       |
|    | |      | |Хочется надеяться,   | |   |                    |       |
|    | |      | |что будущие          | |   |                    |       |
|    | |      | |реализации и         | |   |                    |       |
|    | |      | |применение этих      | |   |                    |       |
|    | |      | |алгоритмов сохранят  | |   |                    |       |
|    | |      | |столь высокую степень| |   |                    |       |
|    | |      | |их надежности.       | |   |                    |       |
|    | |      | |Резюме               | |   |                    |       |
|    | |      | |Можно выделить 4     | |   |                    |       |
|    | |      | |основных группы      | |   |                    |       |
|    | |      | |причин ненадежности  | |   |                    |       |
|    | |      | |криптографических    | |   |                    |       |
|    | |      | |систем: применение   | |   |                    |       |
|    | |      | |нестойких алгоритмов,| |   |                    |       |
|    | |      | |неправильная         | |   |                    |       |
|    | |      | |реализация или       | |   |                    |       |
|    | |      | |применение           | |   |                    |       |
|    | |      | |криптоалгоритмов, а  | |   |                    |       |
|    | |      | |также человеческий   | |   |                    |       |
|    | |      | |фактор. При этом     | |   |                    |       |
|    | |      | |видна четкая         | |   |                    |       |
|    | |      | |параллель между ними | |   |                    |       |
|    | |      | |и причинами нарушения| |   |                    |       |
|    | |      | |безопасности         | |   |                    |       |
|    | |      | |вычислительных       | |   |                    |       |
|    | |      | |систем.              | |   |                    |       |
|    | |      | |Из-за описанных      | |   |                    |       |
|    | |      | |причин имелись или   | |   |                    |       |
|    | |      | |имеются проблемы в   | |   |                    |       |
|    | |      | |безопасности у всех  | |   |                    |       |
|    | |      | |классов программных  | |   |                    |       |
|    | |      | |продуктов,           | |   |                    |       |
|    | |      | |использующие         | |   |                    |       |
|    | |      | |криптоалгоритмы, будь| |   |                    |       |
|    | |      | |то операционные      | |   |                    |       |
|    | |      | |системы;             | |   |                    |       |
|    | |      | |криптопротоколы;     | |   |                    |       |
|    | |      | |клиенты и сервера, их| |   |                    |       |
|    | |      | |поддерживающие;      | |   |                    |       |
|    | |      | |офисные программы;   | |   |                    |       |
|    | |      | |пользовательские     | |   |                    |       |
|    | |      | |утилиты шифрования;  | |   |                    |       |
|    | |      | |популярные           | |   |                    |       |
|    | |      | |архиваторы.          | |   |                    |       |
|    | |      | |Для того, чтобы      | |   |                    |       |
|    | |      | |грамотно реализовать | |   |                    |       |
|    | |      | |собственную          | |   |                    |       |
|    | |      | |криптосистему,       | |   |                    |       |
|    | |      | |необходимо не только | |   |                    |       |
|    | |      | |ознакомится с        | |   |                    |       |
|    | |      | |ошибками других и    | |   |                    |       |
|    | |      | |понять причины, по   | |   |                    |       |
|    | |      | |которым они          | |   |                    |       |
|    | |      | |произошли, но и,     | |   |                    |       |
|    | |      | |возможно, применять  | |   |                    |       |
|    | |      | |особые защитные      | |   |                    |       |
|    | |      | |приемы               | |   |                    |       |
|    | |      | |программирования и   | |   |                    |       |
|    | |      | |специализированные   | |   |                    |       |
|    | |      | |средства разработки. | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |1 Под                | |   |                    |       |
|    | |      | |криптостойкостью     | |   |                    |       |
|    | |      | |здесь и далее будет  | |   |                    |       |
|    | |      | |пониматься количество| |   |                    |       |
|    | |      | |вариантов для        | |   |                    |       |
|    | |      | |нахождения ключа     | |   |                    |       |
|    | |      | |перебором.           | |   |                    |       |
|    | |      | |2 Это было до        | |   |                    |       |
|    | |      | |недавнего времени.   | |   |                    |       |
|    | |      | |Сейчас - 56 бит.     | |   |                    |       |
|    | |      | |3 [ ] - целая часть  | |   |                    |       |
|    | |      | |(ближайшее целое     | |   |                    |       |
|    | |      | |снизу).              | |   |                    |       |
|    | |      | |4 ] [ - ближайшее    | |   |                    |       |
|    | |      | |целое сверху.        | |   |                    |       |
|    | |      | |5 Ясно, что и здесь и| |   |                    |       |
|    | |      | |в примере выше       | |   |                    |       |
|    | |      | |получаются одни и те | |   |                    |       |
|    | |      | |же числа, но за счет | |   |                    |       |
|    | |      | |округления в разные  | |   |                    |       |
|    | |      | |стороны оказывается  | |   |                    |       |
|    | |      | |разница в 1 символ.  | |   |                    |       |
|    | |      | |6 что приблизительно | |   |                    |       |
|    | |      | |соответствует 56     | |   |                    |       |
|    | |      | |битам для            | |   |                    |       |
|    | |      | |симметричных         | |   |                    |       |
|    | |      | |алгоритмов.          | |   |                    |       |
|    | |      | |7 миллион инструкций | |   |                    |       |
|    | |      | |в секунду в течении  | |   |                    |       |
|    | |      | |года.                | |   |                    |       |
|    | |      | |8 Используя          | |   |                    |       |
|    | |      | |специальные платы или| |   |                    |       |
|    | |      | |распараллеливание,   | |   |                    |       |
|    | |      | |это время можно      | |   |                    |       |
|    | |      | |уменьшить на         | |   |                    |       |
|    | |      | |несколько порядков.  | |   |                    |       |
|    | |      | |9 :-)                | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |Литература.          | |   |                    |       |
|    | |      | |1. Теория и практика | |   |                    |       |
|    | |      | |обеспечения          | |   |                    |       |
|    | |      | |информационной       | |   |                    |       |
|    | |      | |безопасности. Под    | |   |                    |       |
|    | |      | |редакцией Зегжды П.Д.| |   |                    |       |
|    | |      | |- М., Яхтсмен, 1996. | |   |                    |       |
|    | |      | |2. П. Кочер.         | |   |                    |       |
|    | |      | |Временной анализ     | |   |                    |       |
|    | |      | |реализаций           | |   |                    |       |
|    | |      | |Диффи-Хеллмана, RSA, | |   |                    |       |
|    | |      | |DSS и других систем  | |   |                    |       |
|    | |      | |3. Mark W. Eichin,   | |   |                    |       |
|    | |      | |Jon A. Rochils. With | |   |                    |       |
|    | |      | |Microscope and       | |   |                    |       |
|    | |      | |Tweezers: An Analysis| |   |                    |       |
|    | |      | |of the Internet virus| |   |                    |       |
|    | |      | |of November 1988.    | |   |                    |       |
|    | |      | |4. Б. Шнайер, П.     | |   |                    |       |
|    | |      | |Мюдж. Криптоанализ   | |   |                    |       |
|    | |      | |протокола PPTP от    | |   |                    |       |
|    | |      | |Microsoft.           | |   |                    |       |
|    | |      | |5. Eli Biham, Lars R.| |   |                    |       |
|    | |      | |Knudsen.             | |   |                    |       |
|    | |      | |Cryptanalysis of the | |   |                    |       |
|    | |      | |ANSI X9.52 CBCM Mode.| |   |                    |       |
|    | |      | |Proceedings of       | |   |                    |       |
|    | |      | |Eurocrypt'98.        | |   |                    |       |
|    | |      | |Дополнительные       | |   |                    |       |
|    | |      | |ссылки.              | |   |                    |       |
|    | |      | |Баpичев Сеpгей.      | |   |                    |       |
|    | |      | |Kpиптогpафия без     | |   |                    |       |
|    | |      | |секpетов.            | |   |                    |       |
|    | |      | |Bruce Schneier. Why  | |   |                    |       |
|    | |      | |Cryptography Is      | |   |                    |       |
|    | |      | |Harder Than It Looks | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|    | |      | |© Павел Семьянов,    | |   |                    |       |
|    | |      | |1996-98 г.           | |   |                    |       |
|    | |      | |e-mail:              | |   |                    |       |
|    | |      | |psw@ssl.stu.neva.ru  | |   |                    |       |
|    | |      | |WWW:                 | |   |                    |       |
|    | |      | |http://www.ssl.stu.ne| |   |                    |       |
|    | |      | |va.ru/psw            | |   |                    |       |
|    | |      | |                     | |   |                    |       |
|[pic| |      | |[pic]                |[|   |                    |       |
|]   | |      | |                     |p|   |                    |       |
|    | |      | |                     |i|   |                    |       |
|    | |      | |                     |c|   |                    |       |
|    | |      | |                     |]|   |                    |       |
|    | |      | |                     | |   |                    |       |
|[|_e| |      | |                     | |   |                    |       |
|p|l@| |      | |                     | |   |                    |       |
|i|ge| |      | |                     | |   |                    |       |
|c|oc| |      | |                     | |   |                    |       |
|]|it| |      | |                     | |   |                    |       |
| |ie| |      | |                     | |   |                    |       |
| |s.| |      | |                     | |   |                    |       |
| |co| |      | |                     | |   |                    |       |
| |m | |      | |                     | |   |                    |       |
|[pic| |      | |                     | |   |                    |       |
|]   | |      | |                     | |   |                    |       |