logo
Лекции_Информационная безопасность

11.10Билеты

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

Перечислим поля билета, опишем содержащуюся в них информацию. Более подробно структура билета и различных сообщений Kerberos описана в документе RFC 1510.

Таблица 1. Поля билета

Название поля

Описание

Первые три поля билета не шифруются. Содержащаяся здесь информация пересылается открытым текстом, что позволяет клиенту использовать ее для управления билетами, хранящимися в кэш-памяти.

tkt-vno

Номер версии формата билета. Для Kerberos 5 здесь указывается цифра 5.

Realm

Имя области (домена), где генерирован билет. Служба KDC может создавать билеты только для серверов собственной области, поэтому здесь, по существу, указывается имя области, где расположен сервер.

Sname

Имя сервера.

Остальные поля шифруются с помощью секретного ключа сервера.

Flags

Флаги билета.

Key

Сеансовый ключ.

Crealm

Имя области (домена) клиента.

Cname

Имя клиента.

Transited

Список областей Kerberos, принимавших участие в аутентификации клиента, которому выдан данный билет.

Authtime

Время первоначальной аутентификации клиента. Служба KDC заполняет это поле в момент генерации билета TGT. При генерации билетов на основе билета TGT временная метка из поля authtime билета TGT копируется в поле authtime генерируемого билета.

Starttime

Время вступления билета в силу.

Endtime

Время истечения срока действия билета.

renew-till

Наибольшее значение поля endtime, которое может быть задано с помощью флага RENEWABLE (поле необязательное).

Caddr

Один или несколько адресов, из которых может использоваться данный билет. Поле необязательное. Если оно не заполнено, билетом можно воспользоваться из любого адреса.

Authorization-data

Атрибуты привилегий клиента. Поле необязательное. Его содержимое Kerberos не обрабатывает – оно интерпретируется службой.

Содержимое поля flags адресуется побитно. Включение и выключение флагов здесь производится изменением значения (0 или 1) соответствующего бита. Длина поля – 32 разряда, однако для администратора Kerberos интерес представляют только 9 флагов билета.

Таблица 2. Флаги билета

Флаг

Описание

FORWARDABLE

Указывает, что на основании данного билета TGT служба выдачи билетов может генерировать новый билет TGT с другим сетевым адресом (поле имеется только в билетах TGT).

FORWARDED

Указывает на то, что данный билет TGT был переадресован или генерирован на основе другого билета TGT, прошедшего переадресацию.

PROXIABLE

Указывает, что служба выдачи билетов может генерировать билеты, сетевой адрес которых будет отличаться от приведенного в данном билете TGT (поле имеется только в билетах TGT).

PROXY

Указывает на то, что сетевой адрес в данном билете отличается от адреса, приведенного в билете TGT, на основании которого он выдан.

RENEWABLE

Используется в сочетании с полями endtime и renew-till, разрешая периодическое обновление службой KDC билетов с повышенным сроком действия.

INITIAL

Указывает, что данный билет является билетом выдачи билетов (поле имеется только в билетах TGT).