Как работает Kerberos


В этом разделе рассматривается Kerberos версии 5. Ниже я обрисую различия между версиями 4 и 5. Протокол Kerberos прост (см. Рис. 22-1). Клиент запрашивает у Kerberos мандат на обращение к Службе выделения мандатов (Ticket-GrantingService, TGS). Этот мандат, зашифрованный секретным ключом клиента, посылается клиенту. Для использования конкретного сервера клиент запрашивает у TGS мандат на обращение к серверу. Если все в порядке, TGS посылает мандат клиенту. Затем клиент предъявляет серверу этот мандат вместе с удостоверением. И снова, если атрибуты клиента правильны, сервер предоставляет клиенту доступ к услуге.

Табл. 22-1.
Таблица сокращений Kerberos

c = клиент
s = сервер
a = сетевой адрес клиента
v = начало и окончание времени действия мандата
t = метка времени
Kx = секретный ключ x
Kx,y = сеансовый ключ для x и y
(m)Kx = m, шифрованное секретным ключом x
Tx,y = мандат xна использование y
Ax,y = удостоверение xдля y

Атрибуты

Kerberos использует два типа атрибутов: мандаты и удостоверения.(В дальнейшем в этом разделе будет использоваться нотация, используемая в документах Kerberos - см. Табл. 22-1.) Мандат используется для безопасной передачи серверу личности клиента, которому выдан этот мандат. В нем также содержится информация, которую сервер может использовать для проверки того, что клиент, использующий мандат, - это именно тот клиент, которому этот мандат был выдан. Удостоверение - это дополнительный атрибут, предъявляемый вместе с мандатом. Мандат Kerberos имеет следующую форму:

Tc,s = s, {c, a, v, Kc,s}Ks.

Мандат хорош для одного сервера и одного клиента. Он содержит имя клиента, его сетевой адрес, имя сервера, метку времени и сеансовый ключ. Эта информация шифруется секретным ключом сервера. Если клиент получил мандат, он может использовать его для доступа к серверу много раз - пока не истечет срок действия мандата. Не может расшифровать мандат (он не знает секретного ключа сервера), но он может предъявить его серверу в зашифрованной форме. Прочитать или изменить мандат при передаче его по сети невозможно. Удостоверение Kerberos имеет следующую форму:

Ac,s= {c, t, ключ}Kc,s

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

Использование удостоверения преследует две цели. Во первых, оно содержит некоторый открытый текст, зашифрованный сеансовым ключом. Это доказывает, что клиенту известен ключ. Что не менее важно, зашифрованный открытый текст включает метку времени. Злоумышленник, которому удалось записать и мандат, и удостоверение, не сможет использовать их спустя два дня.



Дата добавления: 2021-01-26; просмотров: 368;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.