Лекции 2010-го года (1130544), страница 83
Текст из файла (страница 83)
Единственно, что мешает ему вычислить x и y, – этото, что не известно алгоритма с приемлемой сложностью для вычисления логарифма отмодуля для простых чисел. Однако и у этого алгоритма есть слабое место. Рисунок 7-16показывает его. Такой прием называется чужой в середине.Рисунок 7-16. Взлом «чужой в середине»7.1.5.3. Проверка подлинности через центр раздачи ключейДоговориться с незнакомцем об общем секрете можно, но вряд ли это следует делатьсразу. Кроме этого, общение с n людьми потребует хранения n ключей, что дляобщительных или популярных личностей может быть проблемой.Другое решение можно получить, введя надежный центр раздачи ключей (KDC).
Егоиспользование иллюстрирует рисунок 7-17.Рисунок 7-17. Проверка подлинности через центр раздачи ключейИдея этого протокола состоит в следующем. А выбирает ключ сессии KS. Используя свойключ KA, A шлет в центр KDC запрос на соединение с В. Центр KDC знает В и его ключKB. С помощью этого ключа KDC сообщает В ключ сессии KS и информацию о тех, ктохочет с ним соединиться.Однако решение с центром KDC имеет изъян. Пусть злоумышленник как-то убедил Асвязаться с В и скопировал весь обмен сообщениями.
Позже он может воспроизвести этотобмен за А и заставить В действовать так, как если бы с В говорил А! Этот способ атакиназывается атака подменой.Против такой атаки есть несколько средств. Одно из них – временные метки. Эторешение, однако, требует синхронизации часов. Поскольку в сети всегда естьрасхождение в показаниях часов, то надо будет задать определенный интервал, в течениекоторого допустимо считать сообщение верным. Злоумышленник может использоватьприем атаки подменой в течение этого интервала.Другое решение - использование разовых меток. Однако при этом каждая из сторондолжна помнить все разовые метки, использованные ранее. Это обременительно.
Кромеэтого, если список использованных разовых меток будет утерян по каким-либо причинам,то весь метод перестанет работать. Можно комбинировать решения разовых меток ивременных меток.Более тонкое решение установления подлинности дает многосторонний протокол «вызовответ». Хорошо известным примером такого протокола является протокол НидхемаШредера, вариант которого показан на рисунке 7-18. Вначале А сообщает KDC, что онхочет взаимодействовать с В.
KDC сообщает ключ сессии, разовую метку RA, шифруясообщение ключом А. Разовая метка защищает А от подмены. Теперь, имея ключ сессии,А начинает обмен сообщениями с В. RA2 и RB – разовые метки, защищающие А и В отподмен.Рисунок 7-18. Протокол аутентификации Нидхема-ШредераХотя этот протокол в целом надежен, но и при его использовании есть небольшаяопасность. Если злоумышленник раздобудет все-таки старый ключ сессии, то он сможетподменить сообщение 3 старым и убедить В, что это А! На рисунке 7-19 приведена схемаисправленного протокола, который предложили Отвей и Риис. В этой модификации KDCследит, чтобы R было одним и тем же в обеих частях сообщения 2.Рисунок 7-19.
Протокол аутентификации Отвея и Рииса7.1.5.4. Установление подлинности протоколом «Цербер»Протокол установления подлинности «Цербер» используется многими действующимисистемами. Он представляет собой вариант протокола Нидхема-Шредера и былразработан в MIT для безопасного доступа в сеть (предотвращения несанкционированногоиспользования ресурсов сети). В нем используется предположение, что все часы в сетихорошо синхронизованы.Протокол «Цербер» предполагает использование кроме рабочей станции А еще трехсерверов:• Сервер установления подлинности (СП) – проверяет пользователей на этапе login.• Сервер выдачи квитанций (СВБ) – идентификация квитанции.• Сервер В – тот кто должен выполнить работу, необходимую А.СП аналогичен KDC и знает секретный пароль для каждого пользователя. СВБ выдаетквитанции, которые подтверждают подлинность заказчиков работ.На рисунке 7-20 показана работа протокола Цербер.
Сначала пользователь садится зарабочую станцию и шлет открыто свое имя серверу СП. СП отвечает ключом сессии иквитанцией – <KS, KTGS(A, KS)>. Все это зашифровано секретным ключом А. Когдасообщение 2 пришло на рабочую станцию, у А запрашивают пароль, чтобы по немуустановить KA для расшифровки сообщения 2. Пароль перезаписывается с временнойметкой, чтобы предотвратить его захват злоумышленником. Выполнив login, пользовательможет сообщить станции, что ему нужен сервер В. Рабочая станция обращается к СВБ заквитанцией для использования сервера В. Ключевым элементом этого запроса являетсяKTGS(A, KS), зашифрованное секретным ключом СВБ.
В ответ СВБ шлет ключ дляработы А и В - KAB.Рисунок 7-20. Работа протокола «Цербер»Теперь А может обращаться непосредственно к В с этим ключом. Это взаимодействиесопровождается временными метками, чтобы защититься от подмены. Если позднее Апонадобится работать с сервером С, то А должен будет повторить сообщение 3, но указатьтам сервер С.Поскольку сеть может быть очень большой, то нельзя требовать, чтобы все использовалиодин и тот же СП.
Сеть разбивают на области, в каждой из которых - свои СП и СВБ,которые взаимодействую между собой.7.1.5.5. Установление подлинности с шифрованием с открытым ключомУстановить взаимную подлинность можно с помощью шифрования с открытым ключом.Пусть А и В уже знают открытые ключи друг друга. Они их используют, чтобыустановить подлинность друг друга, а затем используют шифрование с секретнымключом, которое на несколько порядков быстрее.На рисунке 7-21 показана схема установления подлинности с шифрованием открытымиключами.
Здесь RA и RB используются, чтобы убедить А и В в их подлинности.Единственным слабым местом этого протокола является предположение, что А и В ужезнают открытые ключи друг друга. Обмен такими ключами уязвим для атаки типа «чужойв середине».Рисунок 7-21. Взаимная аутентификация с использованием шифрования с открытымключомРивст и Шамир предложили протокол, защищенный от атаки «чужой в средине». Это такназываемый протокол с внутренним замком.
Его идея заключается в том, чтобыпередавать сообщения в два этапа: сначала только четные биты, затем нечетные.7.1.6. Электронная подписьПодлинность многих юридических, финансовых и прочих документов устанавливаетсяналичием подписи уполномоченного лица. Поскольку есть способы отличить фотокопииот подлинника, то фотокопии не рассматриваются. Такая же проблема возникает длядокументов в электронной форме.Проблема электронного аналога для ручной подписи весьма сложна.
Нужна система,которая позволяла бы одной стороне посылать «подписанный» документ другой сторонетак, чтобы:1.Получатель мог удостовериться в подлинности отправителя.2.Отправитель позднее не мог отречься от документа.3.Получатель не мог подделать документ.Первое требование важно, например, при взаимодействии с банком, чтобы убедиться, чтотот, кто проводит операцию, действительно является владельцем счета.Второе требование нужно в случаях, когда, например, клиент запросил закупить тоннузолота, цена которого после этого на бирже неожиданно упала. У клиента можетвозникнуть соблазн отказаться от своей заявки.Третье требование предотвращает ситуации типа следующей: цена на золото впредыдущем примере неожиданно подскочила, тогда у банка может появиться соблазнизобразить, что клиент просил купить не тонну, а, скажем, килограмм золота.7.1.6.1.
Подпись с секретным ключомОдно из решений проблемы электронной подписи – наделить полномочиями третьюсторону, которую знают все, которая знает всех и которой верят все. Назовем ее «БольшойБрат» (Big Brother - BB). На рисунке 7-22 показана схема такого решения. Что произойдет,если А позже откажется от посланного сообщения? В суде В предъявит сообщение А,KBB (А, t, P), которое будет отправлено BB как непререкаемому авторитету. СДрасшифрует своим ключом эту запись и все увидят А, t, P.Рисунок 7-22. Электронная подпись посредством BBЕдинственная слабость такого решения – злоумышленник может скопировать диалогмежду отправителем и получателем через BB и позже его повторить. Механизмвременных меток позволяет уменьшить эту проблему. Кроме этого, сохранение последнихRA позволяет В заметить их повторное использование.7.1.6.2.
Подпись на основе открытого ключаНедостаток вышеописанного решения в том, что все должны доверять СД, который можетчитать сообщения. Кандидатами на его роль может быть правительство, банк, нотариус.Однако далеко не все испытывают доверие к этим организациям.Рисунок 7-23. Электронная подпись на основе открытого ключаНа рисунке 7-23 показана схема электронной подписи с использованием открытыхключей. Здесь:• DX- закрытый ключ, EX – открытый ключ, где Х – А или В.• Предполагаем E(D(P))=P дополнительно к D(E(P))=P (этим свойством обладаеталгоритм шифрования RSA).Здесь есть два недостатка. Оба основаны на том, что схема работает до тех пор, покасторона А либо умышленно не рассекретила свой ключ, либо не изменила его водностороннем порядке.
При наступлении судебного случая В предъявляет P и DA(P), таккак он не знает закрытый ключ А, то он не мог подделать DA(P). При этом должно бытьEA(DA(P))=P, в чем суд легко может убедиться.Если А обращается в суд, то есть Р и EA(P), что легко сопоставить с тем, что есть у В.Однако, если А заявит, что у него украли ключи, а сам тайно передаст их, либо сменит их,не сообщив об этом В, то в последнем случае текущий EA будет не применим к томуDA(P), который предъявит В.