В Kerberos KDC (центр распространения ключей) создает TGT и отправляет его обратно клиенту. Клиент не может его открыть, и он не должен открываться.
Что, если кто-то подслушивает, украдет TGT, а затем отправит его в KDC для получения билетов?
Поработав еще немного, я думаю, что нашел ответ. Когда TGT возвращается клиенту, он состоит из 2 основных частей, как показано ниже:
Ключевой момент, на который следует обратить внимание, заключается в том, что весь TGT зашифрован с помощью закрытого ключа клиента (Алисы) (пароля Алисы), но в этом TGT есть запечатанный билет, и этот билет зашифрован с помощью службы предоставления билетов (TGS, службы, которая создала TGT).
Как только весь этот TGT прибывает к клиенту, клиент расшифровывает его, и результат
После этого, когда клиенту нужен билет для службы (не TGT, а просто билет), клиент должен отправить запечатанную часть билета (TGT) во всех запросах, и запрос должен быть зашифрован с помощью Ключ сеанса как показано ниже:
Таким образом, если человек посередине овладевает исходным TGT, как снова показано ниже:
, они не могут расшифровать его на отдельные части. Если они отправят его за билетом, он НЕ будет содержать только Запечатанный билет но все это и запрос НЕ будут зашифрованы Ключ сеанса. Таким образом, когда сервер расшифровывает его, это НЕ будет только Запечатанный билет, и он не будет зашифрован с помощью сеансового ключа (как это могло быть? Злоумышленник не смог расшифровать, чтобы получить сеансовый ключ), и поэтому он отклонит его.
Еще одна мера предосторожности заключается в том, что исходный IP-адрес клиента находится в билете, поэтому только запросы с того же IP-адреса смогут использовать билет; Однако это всего лишь еще одна предосторожность.
Видеть Вот для получения дополнительной информации.
Протокол описан в Статья в Википедии о Kerberos.
Когда сервер аутентификации предоставляет клиенту TGT, он также предоставляет сеансовый ключ клиента / TGS, зашифрованный секретным ключом, сгенерированным из пароля пользователя, чтобы клиент мог его расшифровать.
У перехватчика нет пароля пользователя, поэтому он не может расшифровать сеансовый ключ клиента / TGS. Без него TGT бесполезен.