tanenbaum_seti_all.pages (525408), страница 241
Текст из файла (страница 241)
Однако попсы должны храниться вечно, иначе Труди попытается воспроизвести сообщение пятилетней давности. Кроме того, если машина потеряет список копсов в результате сбоя, она снова станет уязвимой к атакам повторным воспроизведением. Можно комбинировать врсмснныс штампы и нонсы, чтобы ограничить срок хранения нонсов, но так или иначе, протокол должен быть значительно усложнен. Более сложный могол аутентификации состоит в использовании многостороннего протокола оклик — отзыв.
Хорошо известным примером такого протокола является протокол аутентификации Нидхэма-Шредера ()чссопаш — Бс)1госг)ег, 1978), один из вариантов которого показан на рис. 8.36, Работа протокола начинается с того, что Алиса сообщает К()С-центру, что она желает поговорить с Бобом. Это сообщение содержит в качестве попса большое случайное число й„.
Центр распространения ключей посылает обратно сообщение 2, содсржагцсс случайное число Алисы, ключ сеанса и так называемый билет, который она может послать Бобу. Кель посылки случайного числа )(„состоит в том, чтобы убедить Алису в том, что сообщение 2 является свежим, а не 896 Глава 8. Безопасность в сетях повторно воспроизведенным. Идентификатор Боба также помещается в сообщение 2 на случай, ссли злоумышленник (Труди) вздумает заменить ого идентификатор па свой в сообщении 1, так чтобы К()С-центр зашифровал билет в конце сообщения 2 ключом Кт (клк>ч Труди) вместо К„. Билет, зашифрованный ключом К„, помещается внутри зашифрованного сообщения, чтобы злоумышленник нс смог заменить его чем-либо другим, пока сообьцснис 2 добирается до Алисы. Рис.
8.36. Протокол аутентификации Нидкема — Шредера Затем Алиса посылает билет Бобу вместе с новым случайным числом Кьп зашифрованным ключом сеанса Кз В сообщении 4 Боб посылает обратно Кз(Я„.,— 1), чтобы доказать Алисе, что она разговаривает с настоящим Бобом. Отсылать обратно просто К (Кат) бсссмыслснпо, так как это число могло быть украдено злоумышленником из сообщения 3. Получив сообщение 4, Алиса убеждается, по разговариваст с Бобом и что до сих пор нс было использовано повторных сообщений. Между отправкой случайного числа )2м и получением отвста па пего в виде К,(Ла — 1) проходит довольно короткий промежуток времени. Цель сообщения 5 — убедить Боба, что он действительно разговаривает с Алисой и что в этом сеансе связи также отсутствуют повторно воспроизведенные данные.
Возможность атаки с помощью повторного воспроизведения рансс записанной информации исключается этим протоколом благодаря тому, что кажлая сторона формирует оклик другой стороны и получает на него отзыв. Несмотря на всю кажущуюся солидность протокола, в нем, тсм нс пенсе, имеется небольшое слабое место, Если злоумышленнику удастся каким-либо способом Раздобыть стаРый ключ сеанса Ки он сможет иницииРовать новый сеанс с Бобом, повторно воспроизведя сообщение 3 с использованием скомпрометированного ключа, и выдать себя за Алису (Оспп1пя и 3ассо, 1981). На этот раз злоумышленник может украсть деньги со счета Алисы, даже пс выполнив никаких услуг. Позднее Нилхзм и Шредер опубликовали протокол, решающий эту проблему (Хает(Ьапт и 3(тгосдег, 1987).
В том жс выпуске того жс журнала Отуэй (Остеау) н Рис (ассе) также опубликовали протокол, рсшаю1ций эту проблему более коротким путем. На рис. 8.37 показан слегка видоизмененный протокол Отуэя — Риса. Протоколы аутентификации 897 Рис. 8.37. Протокол аутентификации Отуаа — Риса (слегка упрощенный) В протоколе Отуэя — Риса Алиса начинает с формирования пары случайных номеров: Я, который будет использоваться в качестве общего идентификатора, и Ям который Алиса будет использовать в качестве оклика Боба. Получив это сообщение, Боб формирует новое сообщение из зашифрованной части сообщения Алисы и аналогичной собственной части. Обе части сообщения, зашифрованные ключами К, и К„, идентифицируют Алису и Боба, содержат общий идентификатор и оклики, Центр распространения ключей проверяет, совпадают ли общие идентификаторы Я в обеих частях сообщения.
Они могут не совпадать, если злоумышленник подменил Я в сообщении 1 или заменил часть сообщения 2. Если оба общих идентификатора Я совпадают, КОС-центр считает сообщение, полученное от Боба, достоверным. Затем он формирует ключ сеанса Кз и отправляет его Алисе и Ьобу, зашифровав ключ сеанса ключами Алисы и Боба. Каждое сообщение также содержит случайное число получателя в доказательство того, что эти сообщения посланы КОС-центром, а не злоумьппленником. К этому моменту Алиса и Боб обладают одним и тем же ключом сеанса и могут начать обмен информацией. После первого же обмена данными они увидят, что обладают одинаковыми копиями ключа ссанса К, па чем процесс аутентификации можно будет считать завершенным.
Аутентификация при помощи протокола КегЬегоа Во многих реально работающих системах применяется протокол аутентификации КегЬегоз, основанный на одном из вариантов протокола Нидхэма — Шредера. Он назван по имени трехглавого пса греческих мифов Кербера (чаше называемого Цербером благодаря латинскому написанию. — Примеч. перев,') охранявшего выход из Аида. Кербер пропускал в Анл всякого, по не выпускал отгула никого.
Протокол КегЬегоз был разработан в Массачусетском технологическом институте для обеспечения пользователям рабочих станций надежного доступа к сетевым ресурсам. Его основное отличие от протокола Нилхэма — Шредера состоит в предположении о довольно хорошей синхронизации всех часов в сети. Было разработано несколько последовательных версий протокола. Версия тг4 наиболее широко применяется в промышленности, поэтому она будет здесь описана. Затем 398 Глава 8, Безопасность в сетях будет сказано несколько слов о следующей версии, »гб.
дополнительную информацию см, в (Ягешег и др., 1988). Б работе протокола КегЬегоз, помимо рабочей (клиентской) станции Алисы, принимают участие еще три сервера; + сервер аутентификации (А8, Аигпепбсабоп Яегуег): проверяет личность поль- зователей при входе в сеть; + сервер выдачи билетов (ТС8, Тюйес Сгапйпй Бегуег): выдает «билеты, под- тверждающие подлинность»; + Боб, то есть сервер, предоставляющий услуги Алисе. Сервер аутентификапии ЛЯ аналогичен центру распространения ключей КОС в том, что у него есть общий секретный пароль для каждого пользователя. Работа сервера выдачи билетов ТС8 состоит в выдаче свидетельств, убеждающих другие серверы в том, что владелец билета действительно является тем, за кого он себя выдает.
Чтобы начать сеанс, Алиса усаживается за клавиатуру произвольной общедоступной рабочей станции и вводит свое имя. Рабочая станция посылает введенное нмя открытым текстом на сервер аутентификации, как показано на рис. 8.38. Сервер аутентификации АЯ возвращает рабочей станции Алисы ключ сеанса и билет К о.(А, К,) для сервера выдачи билетов ТС8. Эти данные упаковываются вместе и зашифровываются секретным ключом Алисы так, чтобы только Алиса могла их расшифровать.
Только после получения сообщения 2 рабочая станция запрашивает пароль Алисы. С помощью этого пароля формируется ключ К„, которым расшифровывается сообгпение 2, и из него извлекаются ключ сеанса и билет для получения доступа к серверу выдачи билетов ТЮ. После расшифровки рабочая станция сразу же уничтожает хранящийся в ее памяти пароль, Если вместо Алисы на рабочей станции попытается зарегистрироваться Труди, введенный ею пароль окажется неверным, что булет обнаружено рабочей станцией, так как стандартная часть сообщения 2 окажется неверной. Сделать работу Рис. 8.38.
Работа протокола Кегьегоз '«4 После регистрации в сети Алиса может сообщить рабочей станции, что она хочет вступить в контакт с файловым сервером, то есть Бобом. При этом рабочая Протоколы аутентификации 899 станция посылает серверу выдачи билетов сообщение 3 с просьбой выдать билет для общения с Бобом. Ключевым элементом этого запроса является билет К (А, К,), который зашифрован секретным ключом ТСЯ-сервера и используется для подтверждения личности отправителя. Сервер выдачи билетов отвечает созданием ключа сеанса К,в, которым будут пользоваться Алиса н Боб. Он отправляет Алисе две версии этого ключа. Один ключ зашифрован ключом сеан- саК, поэтому Алиса может его прочитать.
Второй ключ шифруется ключом Боба К, что позволяет Бобу его прочитать. Злоумышленник может скопировать сообщение 3 и попытаться использовать его снова, но ему помешает временной штамп д отправляемый вместе с этим сообщением. Злоумышленник не может заменить этот временной штамп на более новый, так как нс знает ключа сеанса Кз которым пользуется Алиса для общения с сервером выдачи билетов. Даже если злоумышленник очень быстро повторит сообщение 3, все равно, единственное, что он получит в ответ, это сообщение 4, которое он не смог расшифровать в первый раз н не сможет расшифровать и во второй раз. После этого Алиса может послать Бобу кчк>ч К„„для установки сеанса с Бобом. Эти сообщения также содержат временные штампы.
Сообщение 6, получаемое в ответ, подтверждает, что Алиса говорит именно с Бобом, а нс со злоумышленником. Наконец, после этой серии обмена сообщениями Алиса сможет обмениваться с Бобом данными, используя ключ сеанса К„„. Если гюсле этого Алиса решит, что ей необходим другой сервер, например Кэрол (Саго!, С), она может просто послать серверу выдачи ключей сообщение, аналогичное третьему, заменив в нем В на С (то есть идентификатор Боба на идентификатор Кэрол).
ТСС-сервер мгновенно ответит сообщением, содсржащим билет, зашифрованньш ключом Кс. Этот билет Алиса пошлет Кэрол, для которой он будет служить ~ арантией подлинности Алисы. Достоинство этого протокола состоит в том, что теперь Алиса может получать защищенный доступ к любому серверу сети, и в то жс время ее пароль ни разу не передавался по сети. В действительности он только на несколько миллисекунд появлялся в сс рабочей станции. Однако обра пгге вннманиена то, что каждый сервер выполняет свою собственную процедуру авторизации.