Проверка подлинности службы Exchange
Пользователь начинает вход в сеть, вводя имя и пароль для входа. Клиент Kerberos на рабочей станции пользователя преобразует пароль в ключ шифрования и сохраняет результат в переменной программы.
Затем клиент запрашивает учетные данные для службы предоставления билетов (TGS) центра распространения ключей (KDC), отправляя службе проверки подлинности KDC сообщение типа KRB_AS_REQ (запрос службы проверки подлинности Kerberos). Первая часть этого сообщения определяет пользователя и запрашиваемую службу TGS. Вторая часть этого сообщения содержит данные предварительной проверки подлинности, предназначенные для подтверждения того, что пользователь знает пароль. Это просто сообщение средства проверки подлинности, зашифрованное с помощью ключа master, производного от пароля пользователя для входа.
Когда KDC получает KRB_AS_REQ, он ищет пользователя в своей базе данных, получает ключ master связанного пользователя, расшифровывает данные предварительной проверки подлинности и оценивает метку времени внутри. Если метка времени действительна, KDC может быть уверен, что данные предварительной проверки подлинности были зашифрованы с помощью ключа master пользователя и, таким образом, что клиент является подлинным.
После того как KDC проверит удостоверение пользователя, он создает учетные данные, которые клиент может предоставить TGS, следующим образом:
- KDC изобретает ключ сеанса входа и шифрует копию с помощью ключа master пользователя.
- KDC внедряет другую копию ключа сеанса входа и данных авторизации пользователя в билет предоставления билета (TGT) и шифрует TGT с помощью собственного ключа master KDC.
- KDC отправляет эти учетные данные клиенту, отвечая сообщением типа KRB_AS_REP (Ответ службы проверки подлинности Kerberos).
- Когда клиент получает ответ, он использует ключ, производный от пароля пользователя, для расшифровки нового ключа сеанса входа.
- Клиент сохраняет новый ключ в кэше билетов.
- Клиент извлекает TGT из сообщения и сохраняет его в кэше билетов.