tanenbaum_seti_all.pages (525408), страница 230
Текст из файла (страница 230)
Как обычно, попытка правительства навязать цовыс кршпографичсскис станларты вызвала много шума. Стандарт ОББ критиковали за то, что оп: + слишком засекречен (протокпл, использующий алгоритм Эль-Гамаля, разрабатывался Агентством национальной безопасностц США); + слишком медленный (от 10 до 40 раз медлеш!ее алгоритма ВБА для проверки подписей); + слишком новый (алгоритм Эль-Гамаля еше пе был достаточно ппательно проверен); + слишком ненадежен (фиксированный 512-разрядный ключ).
При последующей переработке четвертый пункт претензий стал спорным, так как было разрешено использовать ключи длиной до 1024 разрядов. Однако первые два пункта актуальны и по сей день. Профили сообщений Многие методы цифровых подписей критикуются за то, что в них совмещаются лве различные функции: аутентификация и секретность. Довольно часто требует- цифровые подписи 857 ся только аутентификация. К тому же, например, получить лицензию на экспорт обычно проще, если система обеспечивает только аутентификацию, но не секретность.
Далее будет описана схема аутентификапии, не требун>щая шифрования всего сооб~исния. Эта схема основана на идее необратимой хэш-функции, которая принимает на входе участок открытого текста произвольной длины и по нему вычисляет строку битов фиксированной длины. У этой хэш-функции, часто называемой профилем сообщения (шеззайе ййсзц М()), есть четыре следукпцих важных свойства; 1.
По заданному открытому тексту Р легко сосчитать значение хэш-функции МП(Р). 2. По цифровой подписи МР(Р) практически невозможно определить значение откргатого текста Р. 3. Для данного Р практически невозможно подобрать такой Р', чтобы выполнялось равенство М0(Р') = МР(Р). 4. Изменение даже одного бита входной последовательности приводит к очень непохожему результату.
Чтобы удовлетворять требованию 3, результат хэш-функции должен быть длиной, по крайней мере, в 128 бит, желательно даже больше. Чтобы удовлетворять требованию 4, хэш-функция должна искажать входные значения очень сильно. Этим данный метод напоминает алгоритмы с симметричными ключами, которые мы рассматривали ранее, Профиль сообщения по части открытого текста вычисляется значительно быстрее, чем шифруется все сообщение с помощью алгоритма с открытым ключом.
Поэтому профили сообщений могут использоваться для ускорения работы алгоритмов цифровых подписей. Чтобы понять, как все зто работает, рассмотрим снова протокол передачи цифровой подписи, показанный на рис. 8.15. Вместо того чтобы посылать открытый текст Р вместе с К„„(А, д Р), Большой Брат теперь вычисляет профиль сообщения М1)(Р), применяя функпию хэширования М1) к открытому тексту Р. Затем он помещает К (А, с, М0(Р)) как пятый элемент в список, который зашифровывает ключом Ка, и отправляет его Бобу вместо Квв(А г Р). В случае возникновения спора Боб может предъявить на суде как открытый текст Р, так и К„„(А, й МП(Р)). По просьбе судьи Большой Брат расшифровывает Кэз(А, й МВ(Р)), в результате чего суду предьявляются также цифровая подпись МВ(Р), подлинность которой гарантируется Большим Братом, и сам открытый текст Р, подлинность которого суд должен выяснить. Поскольку практически невозможно создать другой открытый текст, соответствующий данной цифровой подписи, суд убеждается в том, что Боб говорит правду.
Использование профиля сообщения экономит время шифрования и затраты на транспортировку и хранение. Профиль сообщения может также применяться для гарантии сохранности сообщения при передаче его по сети в системах шифрования с открытым ключом, как показано на рис. 8.17. Здесь Алиса сначала вычисляет профиль сообщения 858 Глава 8. Безопасность в сетях для своего открытого текста. Затем она подписывает профиль сообщения и посылает зашифрованный профиль сообщения и открытый текст Бобу. Если злоумышленник попытается подменить по дороге открытый текст Р, Боб обнаружит это, сосчитав значение профиля сообщения л4Р(Р). Рио.
8.17. Цифровая подпись о использованием профиля сообщения Было предложено несколько вариантов функций, вычисляющих профиль сообщения. Самое широкое распространение получили алгоритмы МР5 (К)чезц 1992) и БНА (Х15Т, 1993). Алгоритл~ М05 (Меэзайе 1)18езг 5 — профиль сообщения 5) представляет собой пятую версию хэш-функций, разработанных Рональдом Ривестом (Копа1о КЬ езс). Он перемешивает входные биты достаточно сложным образом, так что каждый выходной бит зависит от каждого входного бита. Сначала сообщение дополняется до длины 448 бит по модулю 512. Затем к нему добавляется исходная длина сообщения, рассматриваемая как 64-разрядное число, в результате чего получается блок битов, длина которого кратна 512. Последний шаг подготовки к вычислениям инициализирует 128-разрядный буфер, задавая его содержимое равным некоему фиксированному значению.
Затем начинаются вычисления. На каждом этапе берется 512-разрядный блок входного текста и тщательно перемешивается со 128-разрядным буфером. Для пущей наваристости в кастрюлю также кидается содержимое таблицы синусов. Именно синусы используются не потому, что их результат более случаен, чем Результат других генераторов случайных чисел (в которых часто также применяются тригонометрические функции), а чтобы избежать каких бы то ни было подозрений в создании потайной лазейки, через которую потом разработчик (или заказчик) мог бы войти. Отказ корпорации 1ВМ раскрыть принципы устройства Б-блоков, применяемых в стандарте шифрования 1)ЕБ, привел к появлению большого количества слухов и домыслов о потайных ходах. Каждый входной блок обрабатывается за четьвре итерации.
Процесс продолжается, пока не будут обработаны все входные блоки. Содержимое 128-разрядного буфера и образует профиль сообщения. МП5 появился около десяти лет назад, и за это время было предпринято множество атак на этот алгоритм. Были обнаружены некоторые слабые места, однако существуют определенные внутренние процедуры, позволяющие защититься от взлома. И все же, если упадут и эти последние барьеры, в один прекрасный день М1Э5 может оказаться ненадежным, Несмотря на это на момент написания книги этот алгоритм еще держится на плаву, Цифровые подписи 869 вне Второй широко применяемой функцией вычисления профиля сообшення является ЯНА (Бесите Наз)т А!8ог!г)тш — надежный алгоритм хэгнирования), разработанный Агентством национальной безопасности США (!х!БА) и получивший благословение национального института стандартов и технологий Х15Т (выразившееся в федеральном стандарте Р!Р5 180-1).
Как и МП5, алгоритм БНА обрабатывает входные данные 512-битовыми блоками, но, в отличие от МП5, он формирует 160-разрядный профиль сообщения. Типичный случай отправки Алисой несекретного, но подписанного сообщения Бобу показан на рис. 8.18. Открытый текст обрабатывается алгоритмом БНА-1, на выходе получается 160-битный хэш БНА-1. Он подписывается Алисой (закрытым ключом ЫА) и отправляется вместе с открытым текстом Бобу, йд, закрытый Посылается Бобу Рис. 8.18.
Применение БНА-1 и йБА для создания подписей несекретных сообщений При получении сообщения Боб сам вычисляет хэш-функцию с помощью алгоритма БНА-1 и применяет открытый ключ Алисы к подписанному хашу для того, чтобы получить исходный хэш, Н. Если они совпадают, сообщение считается корректньзм. Так как Труди не может, перехватив сообщение, изменить его таким образом, чтобы значение Н совпадало с контрольным, Боб легко узнает обо всех подменах, которые совершила Труди. Для сообщений, чья неприкосновенность существенна, а секретность не имеет значении, часто применяется схема, показанная на рис. 8.18. При оююсительно небольших затратах на вычисления ' она гарантирует, что любые изменения, внесенные на пути следования сообшения, будут с высокой вероятностью выявлены.
Давайте теперь вкратце рассмотрим, как работает БНА-1. Для начала алгоритм БНА-1 также дополняет сообщение единичным битом в конце, за которым следует такое количество нулевых бит, чтобы в итоге получилось обшее число битов, кратное 512.
Затем 64-разрядное число, содержащее длину сообщения (до битового дополнения), логически складывается (операция ИЛИ) с 64 младзпими битами. На рис. 8,19, а показано сообщение с дополнением, расположенным справа, потому что английский текст и рисунки читаются слева направо (то есть правая граница рисунка воспринимается как его конец, а левая — как начало).
Применительно к вычислительной технике такое расположение соответствует обратному порядку хранения байтов (сначала передается самый значимый, старший бит). 060 Глава В. Безопасность в сетях Такая реализация присуща, например, БРАКС. Однако вие зависимости от используемой техники БНА-1 вставляет битовое дополнение в конец сообщения. Во время выполнения вычислений БНА-1 работает с пятью 32-битными переменными (Н, ... Н„), в которых накапливается значение хзш-фуикции, Они показаны иа рис, 8.19, 6.