<<
>>

Аутентификация при помощи протокола Kerberos

Во многих реально работающих системах применяется протокол аутентификации Kerberos, основанный на одном из вариантов протокола Нидхэма—Шрёдера. Он назван по имени трехглавого пса греческих мифов Кербера (чаще называемого Цербером благодаря латинскому написанию.
— Примеч. перев.), охранявшего выход из Аида. Кербер пропускал в Аид всякого, но не выпускал оттуда никого. Протокол Kerberos был разработан в Массачусетском технологическом институте для обеспечения пользователям рабочих станций надежного доступа к сетевым ресурсам. Его основное отличие от протокола Нидхэма—Шрёдера состоит в предположении о довольно хорошей синхронизации всех часов в сети. Было разработано несколько последовательных версий протокола. Версия V4 наиболее широко применяется в промышленности, поэтому она будет здесь описана. Затем

будет сказано несколько слов о следующей версии, V5. Дополнительную информацию см. в (Steiner и др., 1988).

В работе протокола Kerberos, помимо рабочей (клиентской) станции Алисы, принимают участие еще три сервера:

+ сервер аутентификации (AS, Authentication Server): проверяет личность пользователей при входе в сеть;

♦ сервер выдачи билетов (TGS, Ticket Granting Server): выдает «билеты, подтверждающие подлинность»;

♦ Боб, то есть сервер, предоставляющий услуги Алисе.

Сервер аутентификации AS аналогичен центру распространения ключей KDC в том, что у него есть общий секретный пароль для каждого пользователя. Работа сервера выдачи билетов TGS состоит в выдаче свидетельств, убеждающих другие серверы в том, что владелец билета действительно является тем, за кого он себя выдает.

Чтобы начать сеанс, Алиса усаживается за клавиатуру произвольной общедоступной рабочей станции и вводит свое имя. Рабочая станция посылает введенное имя открытым текстом на сервер аутентификации, как показано на рис.

8.38. Сервер аутентификации AS возвращает рабочей станции Алисы ключ сеанса и билет KTCS(/1, Ks) для сервера выдачи билетов TGS. Эти данные упаковываются вместе и зашифровываются секретным ключом Алисы так, чтобы только Алиса могла их расшифровать. Только после получения сообщения 2 рабочая станция запрашивает пароль Алисы. С помощью этого пароля формируется ключ КА, которым расшифровывается сообщение 2, и из него извлекаются ключ сеанса и билет для получения доступа к серверу выдачи билетов TGS. После расшифровки рабочая станция сразу же уничтожает хранящийся в ее памяти пароль. Если вместо Алисы на рабочей станции попытается зарегистрироваться Труди, введенный ею пароль окажется неверным, что будет обнаружено рабочей станцией, так как стандартная часть сообщения 2 окажется неверной.

Рис. 8.38. Работа протокола Kerberos V4

После регистрации в сети Алиса может сообщить рабочей станции, что она хочет вступить в контакт с файловым сервером, то есть Бобом. При этом рабочая

станция посылает серверу выдачи билетов сообщение 3 с просьбой выдать билет для общения с Бобом. Ключевым элементом этого запроса является билет KTCS(A, Ks), который зашифрован секретным ключом TGS-сервера и используется для подтверждения личности отправителя. Сервер выдачи билетов отвечает созданием ключа сеанса КАВ, которым будут пользоваться Алиса и Боб. Он отправляет Алисе две версии этого ключа. Один ключ зашифрован ключом сеанса^, поэтому Алиса может его прочитать. Второй ключ шифруется ключом Боба Кв, что позволяет Бобу его прочитать.

Злоумышленник может скопировать сообщение 3 и попытаться использовать его снова, но ему помешает временной штамп t, отправляемый вместе с этим сообщением. Злоумышленник не может заменить этот временной штамп на более новый, так как не знает ключа сеанса Ks, которым пользуется Алиса для общения с сервером выдачи билетов.

Даже если злоумышленник очень быстро повторит сообщение 3, все равно, единственное, что он получит в ответ, это сообщение 4, которое он не смог расшифровать в первый раз и не сможет расшифровать и во второй раз.

После этого Алиса может послать Бобу ключ КАВ для установки сеанса с Бобом. Эти сообщения также содержат временные штампы. Сообщение 6, получаемое в ответ, подтверждает, что Алиса говорит именно с Бобом, а не со злоумышленником.

Наконец, после этой серии обмена сообщениями Алиса сможет обмениваться с Бобом данными, используя ключ сеанса КАВ. Если после этого Алиса решит, что ей необходим другой сервер, например Кэрол (Carol, С), она может просто послать серверу выдачи ключей сообщение, аналогичное третьему, заменив в нем В на С (то есть идентификатор Боба на идентификатор Кэрол). TGC-сервер мгновенно ответит сообщением, содержащим билет, зашифрованный ключом Кс. Этот билет Алиса пошлет Кэрол, для которой он будет служить гарантией подлинности Алисы.

Достоинство этого протокола состоит в том, что теперь Алиса может получать защищенный доступ к любому серверу сети, и в то же время ее пароль ни разу не передавался по сети. В действительности он только на несколько миллисекунд появлялся в ее рабочей станции. Однако обратите вниманиена то, что каждый сервер выполняет свою собственную процедуру авторизации. Когда Алиса предъявляет свой билет Бобу, это всего лишь подтверждает Бобу подлинность предъявителя билета. К чему же Алиса может получить доступ на сервере, решает Боб.

Поскольку разработчики системы Kerberos не рассчитывали, что весь мир станет доверять одному единственному серверу аутентификации, они обеспечили существование нескольких областей, каждая из которых имеет свой собственный сервер аутентификации и сервер выдачи билетов. Чтобы получить билет для сервера, расположенного в удаленной области, Алиса должна запросить у своего TGS-сервера билет, который будет принят TGS-сервером удаленной области. Если удаленный TGS-сервер зарегистрировался на локальном TGS-серве- ре (так же, как это делают локальные серверы), локальный TGS-сервер выдаст Алисе билет, действительный на удаленном TGS-сервере. После этого она может получить у удаленного TGS-сервера билеты к серверам данной удаленной области.

Обратите внимание на то, что для того чтобы две стороны, расположенные в различных областях, могли установить друг с другом защищенный сеанс связи, каждая из сторон должна доверять TGS-серверу другой стороны.

Протокол Kerberos V5 сложнее четвертой версии и подразумевает большее количество накладных расходов. Кроме того, он использует язык OSI ASN.1 для описания типов данных. Претерпели небольшие изменения и протоколы. Помимо этого в системе Kerberos V5 время жизни билетов более длительное, билеты могут обновляться и даже датироваться задним числом. Также, по крайней мере в теории, пятая версия системы Kerberos не является зависимой от стандарта DES, как V4, и поддерживает различные области.

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме Аутентификация при помощи протокола Kerberos:

  1. Расслабление при помощи дыхания
  2. Первая помощь при дисбалансе энергии:
  3. 2.2 ПОЛУЧЕНИЕ ДЕТАЛЬНЫХ ОТВЕТОВ ПРИ ПОМОЩИ РЕТРОСПЕКЦИИ
  4. 2.2. Получение детальных ответов при помощи ретроспекции
  5. КАК РАЗВИВАТЬ ЧАКРУ ДУШИ ПРИ ПОМОЩИ АРХАНГЕЛА ЗАДКИИЛА
  6. 5. Различение циркулярной и реактивной депрессии. Помощь при потере близкого человека
  7. Оказание психологической помощи вновь назначенному руководителю при вхождении в новую должность.
  8. Бог помогает тем, кто сам помогает себе, не забывая при этом просить о помощи,
  9. Глава 4. Киотский протокол в Украине
  10. § 6. Протокол судебного заседания
  11. Судебные протоколы вообще
  12. Пример обработки протокола.