Билеты на сеанс

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

Заметка

KDC предоставляет только службу предоставления билетов. Клиент и сервер отвечают за безопасность соответствующих главных ключей.

 

Когда клиент получает ответ KDC, он извлекает билет и собственную копию ключа сеанса, оставляя оба в сторону в безопасном кэше. Чтобы установить безопасный сеанс с сервером, он отправляет серверу сообщение, состоящее из билета, по-прежнему зашифрованное с помощью главного ключа сервера, и сообщение проверки подлинности зашифровано с помощью ключа сеанса. Вместе сообщение о запросе и аутентификаторе — это учетные данные клиента, на сервер.

Когда сервер получает учетные данные от клиента, он расшифровывает билет с помощью главного ключа, извлекает ключ сеанса сеансаи использует ключ сеанса для расшифровки сообщения аутентификатора клиента. Если все проверяется, сервер знает, что учетные данные клиента были выданы KDC доверенным центром. Для взаимной проверки подлинности сервер отвечает путем шифрования метки времени из сообщения проверки подлинности клиента с помощью ключа сеанса. Это зашифрованное сообщение отправляется клиенту. Затем клиент расшифровывает сообщение. Если возвращенное сообщение совпадает с меткой времени в исходном сообщении аутентификатора, сервер проходит проверку подлинности.

В качестве дополнительного преимущества сервер не должен хранить ключи сеанса, которые он использует со своими клиентами. Каждый клиент несет ответственность за управление билетом сервера в кэше билетов и каждый раз, когда он обращается к серверу. Всякий раз, когда сервер получает билет от клиента, он использует его главный ключ для расшифровки билета и извлечения ключа сеанса. Если серверу больше не нужен ключ сеанса, ключ удаляется.

Клиент не должен получать доступ к KDC каждый раз, когда он хочет получить доступ к этому конкретному серверу. Билеты можно использовать повторно. В качестве меры предосторожности в отношении возможности кражи билетов билеты имеют срок действия, указанный KDC в структуре билета. Срок действия билета зависит от политики Kerberos для области. Как правило, билеты хороши не более восьми часов, о продолжительности обычной сеанс входа в систему. Когда пользователь на клиентской рабочей станции выключается, кэш билетов клиента удаляется, а все билеты и ключи сеанса клиента уничтожаются.