Билеты сеанса
Вместо отправки зашифрованных ключей сеанса обоим субъектам KDC отправляет клиенту копии ключа сеанса клиента и сервера. Копия клиентского ключа сеанса шифруется с помощью ключа master клиента и поэтому не может быть расшифрована какой-либо другой сущностью. Серверная копия ключа сеанса внедряется вместе с данными авторизации о клиенте в структуру данных, называемую билетом. Билет полностью зашифрован с помощью ключа master сервера и поэтому не может быть прочитан или изменен клиентом или любой другой сущностью, которая не имеет доступа к ключу master сервера. Клиент несет ответственность за безопасное хранение билета до контакта с сервером.
Примечание
KDC предоставляет только службу предоставления билетов. Клиент и сервер отвечают за обеспечение безопасности соответствующих ключей master.
Когда клиент получает ответ KDC, он извлекает билет и собственную копию ключа сеанса, помещая оба ключа в сторону в безопасном кэше. Чтобы установить безопасный сеанс с сервером, он отправляет серверу сообщение, состоящее из билета, по-прежнему зашифрованного с помощью ключа master сервера, и сообщения аутентификатора, зашифрованного с помощью ключа сеанса. Вместе билет и сообщение аутентификатора являются учетными данными клиента на сервере.
Когда сервер получает учетные данные от клиента, он расшифровывает билет с помощью ключа master, извлекает ключ сеанса и использует ключ сеанса для расшифровки сообщения аутентификатора клиента. Если все возвращается, сервер знает, что учетные данные клиента были выданы KDC, доверенным центром сертификации. Для взаимной проверки подлинности сервер отвечает, шифруя метку времени из сообщения аутентификатора клиента с помощью ключа сеанса. Это зашифрованное сообщение отправляется клиенту. Затем клиент расшифровывает сообщение. Если возвращенное сообщение совпадает с меткой времени в исходном сообщении средства проверки подлинности, сервер проходит проверку подлинности.
В качестве дополнительного преимущества серверу не нужно хранить ключи сеанса, которые он использует со своими клиентами. Каждый клиент отвечает за управление билетом для сервера в своем кэше билетов и представление этого билета при каждом обращении к серверу. Всякий раз, когда сервер получает билет от клиента, он использует свой ключ master для расшифровки билета и извлечения ключа сеанса. Если серверу больше не нужен ключ сеанса, ключ удаляется.
Клиенту не требуется доступ к KDC каждый раз, когда он хочет получить доступ к этому конкретному серверу. Билеты можно использовать повторно. В качестве меры предосторожности против возможности кражи билетов срок действия билетов определяется KDC в структуре билета. Срок действия билета зависит от политики Kerberos для области. Как правило, билеты хороши не более восьми часов, что примерно равно продолжительности обычного сеанса входа. Когда пользователь на клиентской рабочей станции выключается, кэш билетов клиента очищается и все билеты и ключи сеанса клиента уничтожаются.