Интернет магазин китайских планшетных компьютеров



Компьютеры - Kerberos - Протокол аутентификации

01 мая 2011


Оглавление:
1. Kerberos
2. Протокол аутентификации и обмена ключами
3. Протокол аутентификации



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

Ниже приведено упрощенное описание протокола. Следующие аббревиатуры будут использованы:

  • AS = Сервер аутентификации
  • TGS = Сервер предоставления билетов
  • SS = Ресурс, предоставляющий некий сервис, к которому требуется получить доступ
  • TGT = Билет для получения билета

Вкратце: клиент авторизируется на AS, используя свой долгосрочный секретный ключ, и получает билет TGT от AS. Позже клиент может использовать этот билет для получения дополнительных билетов на доступ к ресурсам SS без необходимости прибегать к использованию своего секретного ключа.

Более детально:

Шаги входа пользователя в систему:

  1. Пользователь вводит имя и пароль на клиентской машине.
  2. Клиентская машина выполняет над паролем одностороннюю функцию, и результат становится секретным ключом клиента/пользователя.

Шаги аутентификации клиента:

  1. Клиент посылает простым текстом сообщение серверу AS, запрашивая сервисы от имени пользователя. Например так: «Пользователь АБВ хочет запросить сервисы». Обратите внимание, что ни секретный ключ, ни пароль не посылаются на AS.
  2. AS проверяет, есть ли такой клиент в базе. Если есть, то назад AS отправляет следующие два сообщения:
    • Сообщение A: Сессионный Ключ Client/TGS, зашифрованный секретным ключом клиента/пользователя.
    • Сообщение B: TGT, зашифрованный секретным ключом TGS.
  3. Как только клиент получает сообщения A и B, он расшифровывает сообщение A, чтобы получить Сессионный Ключ Client/TGS. Этот сессионный ключ используется для дальнейшего обмена с сервером TGS. В этот момент у пользователя достаточно данных, чтобы авторизоваться на TGS.


Шаги авторизации клиента для получения сервиса:

  1. При запросе сервисов клиент отправляет следующие два сообщения на TGS:
    • Сообщение C: Содержит TGT, полученный в сообщении B и ID требуемого сервиса.
    • Сообщение D: Аутентикатор, зашифрованный на Сессионном Ключе Client/TGS.
  2. После получения сообщений C и D, TGS извлекает сообщение B из сообщения C и расшифровывает его используя секретный ключ TGS. Это дает ему Сессионный Ключ Client/TGS. Используя его TGS расшифровывает сообщение D и посылает следующие два сообщения клиенту:
    • Сообщение E: Client-to-server ticket зашифрованный секретным ключом сервиса.
    • Сообщение F: Сессионный ключ Client/server, зашифрованный на Сессионном Ключе Client/TGS.


Шаги клиента при запросе сервиса:

  1. При получении сообщений E и F от TGS, у клиента достаточно информации для авторизации на SS. Клиент соединяется с SS и посылает следующие два сообщения:
    • Сообщение E из предыдущего шага.
    • Сообщение G: новый аутентикатор, зашифрованный на client/server session key, и включающий ID клиента и временной штамп.
  2. SS расшифровывает билет используя свой секретный ключ для получения Сессионного Ключа Client/Server. Используя сессионный ключ, SS расшифровывает аутентикатор и посылает клиенту следующее сообщение для подтверждения готовности обслужить клиента и показать, что сервер действительно является тем, за кого себя выдает:
    • Сообщение H: Временной штамп, указанный клиентом + 1, зашифрованный на Сессионном Ключе Client/Server.
  3. Клиент расшифровывает подтверждение, используя Сессионный Ключ Client/Server и проверяет, действительно ли временной штамп корректно обновлен. Если это так, то клиент может доверять серверу и может начать посылать запросы на сервер.
  4. Сервер предоставляет клиенту требуемый сервис.


Просмотров: 2518


<<<