Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 220
Текст из файла (страница 220)
В сентябре 1945 года Увил Сан-Диего так описывала этот код: «В течение трех лет, где бы ни высаживались военные моряки, уши японцев различали лишь странный булькающий шум, перемежающийся с другими звуками. Все это напоминало клич тибетского монаха или звук опустошаемой бутылки с горячей водой». Японцы так и не смогли взломать этот код, и многие носители языка индейцев навахо были удостоены высоких воинских наград за отличную службу и смелость.
Тот факт, что США смогли расшифровать японский код, а японцы так и не узнали язык навахо, сыграл важную роль в американской победе в Тихом океане, Криптография 819 Основы криптографии Исторически использовали и развивали искусство криптографии представители четырех профессий: военные, дипломатический корпус, люди, ведущие дневники, и любовники.
Из них наиболее важную роль в развитии этой области сыграли военные. В военных организациях секретные сообщения традиционно отдавались для зашифровки и передачи плохо оплачиваемым шифровальщикам. Сам объем сообщений не позволял выполнить эту работу небольшим количеством элитных специалистов. До появления компьютеров одним из основных сдерживающих факторов в криптографии была неспособность шифровалыцика выполнить необходимые преобразования — зачастую на поле боя, с помощъю несложного оборудования. Кроме того, довольно сложной задачей было быстрое переключение с одного криптографического метода на другой, так как для этого требовалось переобучение большого количества людей.
Тем не менее опасность того, что шифровальщик может быть захвачен противником, заставила развить способность к постоянной смене криптографических методов. Модель процесса шифрования — дешифрации показана на рис. 8.1. Пасснаный злоумыцкюнннк просто слушает Активный зпоумышленннк ожет изменять сообшання Злоумышленннк Открытый (незашнфроеанный) текст Открытый (незашнфроаанный) текст, Р Ключ Ключ шифрования, К дешнфрацнн рно. 8.1. Модель процесса шифрованию-дешифрации Сообщения, подлежащие зашифровке, называемые открытым текстом, преобразуются с помощью функции, вторым входным параметром которой является ключ.
Результат процесса шифрования, называемый зашифрованным текстом, передается обычно по радио или через связного. Предполагается, что противник или злоумышленник слышит и аккуратно копирует весь зашифрованный текст. Однако в отличие от получателя, которому предназначается данное сообщение, злоумышленник не знает ключа дешифрации, и поэтому расшифровка сообщения представляет для него большие трудности, а порой она просто невозможна. Иногда злоумьшшенник может не только прослушивать канал связи (пассивный злоумышленник), но способен также записывать сообщения и воспроизводить их позднее, вставлять свои сообщения или модифицировать оригинальные со- 820 Глава 8. Безопасность в сетях общения, прежде чем они достигнут получателя (активный злоумышленник), Искусство взлома шифров называется криптоанализом, Искусства изобретать шифры (криптография) и взламывать их (криптоаналнз) называются вместе криптологией.
Обычно для обозначения открытого текста, зашифрованного текста и ключей полезно использовать специальную нотацию. Мы будем использовать формулу С ~ Ек(Р), обозначающУю, что пРи зашифРовке откРытого текста Р с помощью ключа К получается зашифрованный текст С. Аналогично формула Р = 1)к(С) означает расшифровку зашифрованного текста С для восстановления открытою текста. Из этих двух формул следует, что Егк(Ек(Р)) = Р. Такая нотация предполагает, что Е и Е1 являются просто математическими функциями, Они в действительности таковыми и являются.
Единственная хитрость состоит в том, что обе эти функции имеют по два параметра, один из которых (ключ) мы написали не в виде аргумента, а в виде нижнего индекса, чтобы отличать его от сообщения. Основное правило криптографии состоит в предположении, что криптоаналитику (взломщику кода) известен используемый метод шифрования. Другими словами, злоумышленник точно знает, как работает метод шифрования Е на рис. 8.1. Из-за огромных усилий, необходимых для разработки, тестирования и установки нового метода, каждый раз, когда старый метод оказывался или считался скомпрометированным, хранить секрет шифрования просто непрактично. А предположение, что метод остается секретным, когда это уже не так, могло бы причинить еще больший вред.
Здесь на помощь приходит ключ шифрования. Ключ состоит из относительно короткой строки, определяющей один из огромного количества вариантов результата шифрования. В отличие от самого метода шифрования, который может изменяться только раз в несколько лег, ключ можно менять так часто, как это нужно. Таким образом, наша базовая модель представляет собой постоянный и известный общий метод, в котором в качестве параметра используется секретный и легко изменяемый ключ. Идея, заключающаяся в предположении о том, что криптоаналптику известен метод, и краеугольным камнем секретности является эксклюзивный ключ, называется принципом Керкгофа.
Его в 1883 году впервые высказал фламандский военный шифровальщик Аугуст Керкгоф (Ацйцзге Кегс1сЬо11, 1883). Таким образом, принцип Керкгофа гласит: Алгоритмы шифрования общедоступны; секретны только ключи. Секретности алгоритма не стоит придавать большого значения. Попытка сохранить алгоритм в тайне, называемая в торговле безопасностью за счет неясности (зесипсу Ьу оЬзсцпсу), обречена на провал. К тому же, опубликовав свой алгоритм, разработчик получает бесплатную консультацию от большого количества ученых-крнптоаналитиков, горящих желанием взломать новую систему и тем самым продемонстрировать свои ум и ученость. Если никто не смог взломать алгоритм за пять лет с момента его опубликования, то, по-видимому, этот алгоритм достаточно прочен.
Криптография 321 Поскольку реально в тайне хранится только ключ, основной вопрос заключается в его длине. Рассмотрим простой кодовый замок. Его основной принцип состоит в том, что вы последовательно вводите десятичные цифры. Все это знают, но ключ хранится в секрете. Ключ длиной в две цифры образует 100 вариантов. Ключ длиной в три цифры означает 1000 вариантов, а при длине ключа в шесть цифр число комбинаций достигает миллиона. Чем длиннее ключ, тем выше показатель трудозатрат взломщика кода. При увеличении длины ключа показатель трудозатрат для взлома системы путем простого перебора значений ключа растет экспоненциально.
Секретность передаваемого сообщения обеспечивается мощным (но все же открытым) алгоритмом и длинным ключом. Чтобы не дать прочитать свою злектронную почту млалшему брату, достаточно 64-разрядного ключа. В коммерческих системах имеет смысл использовать 128-битный код. Чтобы защитить ваши тексты от правительств развитых государств, потребуются ключи длиной по меньшей мере в 256 бит.
С точки зрения криптоаналитика задача криптоанализа имеет три принципиальных варианта. Во-первых, у криптоаналитнка может быть некоторое количество зашифрованного текста без соответствующего открытого текста Задачки, в которых в качестве исходных данных имеется в наличии только зашифрованный текст, часто печатаются в различных газетах в разделе ребусов. Во-вторых, у криптоаналнтнка может оказаться некоторое количество зашифрованного текста и соответствующего ему открытого текста. В атом случае мы имеем дело с проблемой известного открытого текста.
Наконец, когда у криптоаналитика есть возможность зашифровать любой кусок открытого текста по своему выбору, мы получаем третий вариант проблемы дешифрации, то есть проблему произвольного открытого текста. Если бы криптоаналитикам было позволено задавать вопросы типа: чКак будет выглядеть зашифрованное АВСПЕЕОН)КЕ?», задачки из газет решались бы очень легко. Новички в деле криптографии часто полагают, что шифр является достаточно надежным, если он может выдержать атаку первого типа (только зашифрованный текст). Такое предположение весьма наивно. Во многих случаях криптоаналитик может угадать часть зашифрованного текста. Например, первое, что говорят многие компьютеры при входе в систему, это 1ОС1Хс После того как криптоаналитик получит несколько соответствующих друг другу пар кусков зашифрованного и открытого текста, его работа становится значительно легче.
Для обеспечения секретности нужна предусмотрительность криптографа, который должен гарантировать, что система не будет взломана, даже если его оппонент сможет закодировать несколько участков открытого текста по выбору. Исторически методы шифрования разделились на две категории; метод подстановки и метод перестановки, Мы кратко рассмотрим их в качестве введения в современную криптографию, Метод подстановки В шифрах, основанных на методе подстановки, каждый символ или группа символов заменяется другим символом или группой символов. Одним из древней- 822 Глава 8. Безопасность в сетях ших шифров является приписываемый Юлию Цезарю (~ц1шз Саезаг) шифр цезаря, Этот шифр заменяет все буквы алфавита на другие с помощью циклического сдвига на три позиции.