Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 230
Текст из файла (страница 230)
Затем судья просит Большого Брата (которому все доверяют) проверить подпись под этим сообщением. Когда Большой Брат подтверждает, что Боб говорит правду, судья решает дело в пользу Боба. Дело закрыто. Теоретически проблема с этим протоколом цифровых подписей, который показан на рис. 8.15, может возникнуть, если злоумышленник повторно воспроизведет оба сообщения.
Для лтинимизации вероятности этого используются временные штампы. Кроме того, Боб может просмотреть все недавние сообщения, проверяя, не встречалось ли в них такое же яд. В этом случае сообщение считается дубликатом и просто игнорируется. Очень старые сообщения, обнаруживаемые по значению временного штампа, также игнорируются. Для заШиты от мгновенной атаки повторным воспроизведением Боб просто проверяет значение случайного числа Яд, содержащегося в каждом приходящем сообщении, запоминая все такие числа, полученные за последний час. Если в течение часа такое значение получено еще не было, Боб может быть уверен, что пришедшее сообщение является новым заказом.
Цифровые подписи 86Б Подписи с открытым ключом Главная проблема, связанная с применением шифрования с симметричным ключом для цифровых подписей, состоит в том, что все должны согласиться доверять Большому Брату. Кроме того, Большой Брат получает возможность читать все подписываемые им сообщения.
Наиболее логичными кандидатами на управление сервером Большого Врата являются правительство, банки или нотариальные бюро. Однако эти организации вызывают доверие не у всех граждан. Таким образом, было бы гораздо лучше, если бы для получения подписи на электронном документе не требовалась авторитетная доверительная организация. К счастью, здесь может помочь шифрование с открытым ключом, Предположим, что алгоритмы шифрования и дешифрации с открытым ключом, помимо обычного свойства Е)(Е(Р)) = Р, обладают свойством Е(О(Р)) = Р. Таким свойством, например, обладает алгоритм КБА, поэтому такое предположение не является голословным. В этом случае Алиса может послать Бобу подписанное открытое сообщение Р, переслав ему Ев(0„(Р)).
Обратите внимание на то, что Алиса знает свой собственный (закрытый) кзпоч дешифрации Рм так же как и открытый ключ Боба Е, так что сформировать такое сообщение ей по силам. Получив это сообщение, Боб расшифровывает его как обычно, используя свой закрытый ключ Е)в и получая в результате Р,(Р), как показано на рис. 8.1б. Он сохраняет этот зашифрованный текст в надежном месте, после чего расшифровывает его открытым ключом шифрования Алисы Е„, получая открытый текст.
Пиния связи Компьютер Боба Компьютер Аписы г)„1Р) гта1Р) Ев (0а(Р)) Рис. В.) 6. цифровая подпись, полученная при помощи шифрования с открытым ключом Чтобы понять, как работает цифровая подпись в данном случае, предположим, что Алиса впоследствии отрицает, что посылала Бобу сообщение Р. Когда дело доходит до суда, Боб предъявляет суду Р и Рз)Р). Судья легко может убелиться, что у Боба есть действительное сообщение, зашифрованное ключом 1)м просто применив к нему ключ Е,. Воб не знает закрытого ключа Алисы, следовательно, получить зашифрованное этим ключом сообщение он мог только от Алисы.
Сидя в тюрьме за лжесвидетельство и мошенничество, Алиса сможет заняться разработкой новых интересных алгоритмов с открытым ключом. Хотя схема использования шифрования с открытым ключом довольно элегантна, она обладает серьезными недостатками, связанными, правда, скорее не с самим алгоритмом, а со средой, в которой ему приходится работать. Во-первых, Боб может доказать, что это сообщение было послано Алисой, только пока 856 Глава 8. Безопасность в сетях ключ >()„остается секретным.
Если Алиса раскроет свой секретный ключ, этот аргумент перестанет быть убедительным, так как послать сообщение мог кто угодно, включая самого Боба. Проблема может возникнуть, если Боб, например, является биржевым брокером Алисы. Алиса заказывает Бобу купить некоторое количество акций. Сразу после этого цена акций резко падает, Чтобы отречься от своего сообщения, посланного Бобу, Алиса заявляет в полицию, что ее дом был обворован, а компьютер вместе с секретным ключом украден.
В зависимости от законов ес страны или штата она может быть признана или не признана ответственной перед законом, особенно если она заявляет, что обнаружила, что ее квартира взломана, только через несколько часов после возврагцения с работы. Другая проблема данной схемы цифровой подписи возникает в случае, если Алиса решит сменить свой ключ. Подобное действие абсолк>тно законно, более того, рекомендуется периодически менять ключ, чтобы гарантировать его высокую надежность. В этом случае, если дело дойдет до судебного разбирательства, судья попытается применить к подписи Г)х(Р) текуи1ий ключ Е и обнаружит, что в результате не получается сообщение Р.
При этом Боб будет выглядеть довольно глупо. В принципе, для цифровых подписей можно использовать любой алгоритм с открытым ключом. Алгоритм ВЯА, фактически, стал промьппленным стандартом. Он применяется во многих программах, предназначенных для обеспечения безопасности. Однако в 1991 г.
Национальный институт стандартов и техноло. гий США )ПБТ (Хаг1опа1 1пэ11гвге о( Бгапс1агсЬ апд ТесЬпо!ойу) предложил использовать для нового стандарта цифровой подписи ПББ (ЕИдй;.~ !>.>чьппге Иапдагп) вариант алгоритма с открьпым ключом Эль-Гамаля, ос юванный не нз трудности разло>кения больших чисел на множители, а на сложности вы шгления дискретных алгоритмов. Как обычно, попытка правительства навязать новые криптографические стандарты вызвала много шума.
Стандарт РББ критиковали за то, по он: + слишком засекречен (протокол, использующий алгоритм Эль-Гамаля, разрабатывался Агентством национальной безопасности США); + слишком медленный (от 10 до 40 раз медленнее алгоритма КБА для проверки подписей); + слишком новый (алгоритм Эль-Гамаля еще не был достаточно тшательно проверен); + слишком ненадежен (фиксированный 512-разрядный ключ). При последующей переработке четвертый пункт претензий стал спорным, так как было разрешено использовать ключи длиной до 1024 разрядов. Однако пер. вые два пункта актуальны и по сей лень.
Профили сообщений Многие методы цифровых подписей критикуются за то, что в них совмещаются две различные функции: аутентификация и секретность. Довольно часто требует- Цифровые подписи 867 ся только аутентификация. К тому же, например, получить лицензию на экспорт обычно проше, если система обеспечивает только аутентификацию, но ие секретность. Далее будет описана схема аутентификации, не гребу»ошая шифрования всего сообщения.
Эта схема основана на идее необратимой хэш-функции, которая принимает на входе участок открытого текста произвольной длины и по нему вычисляет строку битов фиксированной длины. У этой хэш-функции, часто называемой профилем сообщения (теьзайе Ййезц М0), есть четыре следующих важных свойства; 1. По заданному открытому тексту Р легко сосчитать значение хэш-функции М0(Р). 2. По цифровой подписи М0(Р) практически невозможно определить значение открытого текста Р.
3. Для данного Р практически невозможно подобрать такой Р', чтобы выполнялось равенсгво М0(Р') = М0(Р). 4. Изменение даже одного бита входной последовательности приводит к очень непохожему результату. Чтобы удовлетворять требованию 3, результат хэш-функции должен быть длиной, по крайней мере, в 128 бит, желательно даже больше.
Чтобы удовлетворять требованию 4, хэш-функция должна искажать входные значения очень сильно. Этим данный метод напоминает алгоритмы с симметричными ключами, которые мы рассматривали ранее. Профиль сообщения по части открытого текста вычисляется значительно быстрее, чел» шифруется все сообщение с помощью алгоритма с открытым ключом. Поэтому профили сообщений могут использоваться для ускорения работы алгоритмов цифровых подписей.
Чтобы понять, как все это работает, рассмотрим снова протокол передачи цифровой подписи, показанный на рис. 8.15. Вместо того чтобы посылать открытый текст Р вместе с К„(А, й Р), Большой Брат теперь вычисляет профиль сообщения М0(Р), применяя функцию хэширования М0 к открытому тексту Р. Затем он помешает К (А, г, М0(Р)) как пятый элемент в список, который зашифровывает ключом К, и отправляет его Бобу вместо К „(А, й Р). В случае возникновения спора Боб может предъявить на суде как открытый текст Р, так и К„(А, г, М0(Р)).
По просьбе судьи Большой Врат расшифровывает Квв(А, Г, М0(Р)), В рЕЗуЛЬтатЕ ЧЕГО Суду ПрЕдЪяВЛяЮтСя таКжЕ цИфрОВая ПОДПИСЬ М0(Р), подлинность которой гарантируется Большим Братом, и сам открытый текст Р, подлинность которого суд должен выяснить. Поскольку практически невозможно создать другой открытый текст, соответствующий данной цифровой подписи, суд убеждается в том, что Боб говорит правду. Использование профиля сообщения экономит врел»я шифрования и затраты на транспортировку и хранение.
Профиль сообщения может также применяться для гарантии сохранности сообщения при передаче его по сети в системах шифрования с открытым ключом, как показано на рис. 8.1?. Здесь Алиса сначала вычисляет профиль сообщения 858 Глава 8. Безопасность в сетях для своего открытого текста. Затем опа подписывает профиль сообщения и посылает зашифрованный профиль сообщения и открытый текст Бобу. Если злоумышленник попытается подменить по дороге открытый текст Р, Боб обнаружит это, сосчитав значение профиля сообщения МВ(Р), Рио.
8.17. цифровая подпись с испольаованиам профиля сообщения МО5 Было предложено несколько вариантов функций, вычисляющих профиль сообщения. Самое широкое распространение получили алгоритмы МП5 (Б1чезс, 1992) и 5НА (Х15Т, 1993). Алгоритм МВ5 (Меззайе 1)!йезг 5 — профиль сообщения 5) представляет собой пятую версию хэш-функций, разработанных Рональдом Ривестом (Копа16 К1чезс). Он перемешивает входные биты достаточно сложным образом, так что каждый выходной бит зависит от каждого входного бита. Сначала сообщение дополняется до длины 448 бит по модулю 512.
Затем к нему добавляется исходная длина сообщения, рассматриваемая как 64-разрядное число, в результате чего получается блок битов, длина которого кратна 512. Последний шаг подготовки к вычислениям инициализирует 128-разрядный буфер, задавая его содержимое равным некоему фиксированному значению. Затем начинаются вычисления. На каждом этапе берется 512-разрядный блок входного текста и тщательно перемешивается со 128-разрядным буфером. Для пущей наваристости в кастрюлю также кидается содержимое таблицы синусов. Именно синусы используются не потому, что их результат более случаен, чем Результат других генераторов случайных чисел (в которых часто также применяются тригонометрические функции), а чтобы избежать каких бы то ни было подозрений в создании потайной лазейки, через которую потом разработчик (или заказчик) мог бы войти. Отказ корпорации 1ВМ раскрыть принципы устройства З-блоков, применяемых в стандарте шифрования ПЕЗ, привел к появлению большого количества слухов и домыслов о потайных ходах.
Каждый входной блок обрабатывается за четыре итерации. Процесс продолжается, пока не будут обработаны все входные блоки. Содержимое 128-разрядного буфера и образует профиль сообщения. МП5 появился около десяти лет назад, и за зто время было предпринято множество атак на этот алгоритм.