Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



В этом разделе рассматривается Kerberos версии 5. Ниже я обрисую различия между версиями 4 и 5. Прото­кол Kerberos прост (см. 23rd). Клиент запрашивает у Kerberos мандат на обращение к Службе выделения ман­датов (Ticket-Granting Service, TGS). Этот мандат, зашифрованный секретным ключом клиента, посылается


клиенту. Для использования конкретного сервера клиент запрашивает у TGS мандат на обращение к серверу. Если все в порядке, TGS посылает мандат клиенту. Затем клиент предъявляет серверу этот мандат вместе с уд о-стоверением. И снова, если атрибуты клиента правильны, сервер предоставляет клиенту доступ к услуге.

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

с = клиент
S = сервер
a = сетевой адрес клиента
V = начало и окончание времени действия мандата
t = метка времени
кх = секретный ключ х
Кх,у = сеансовый ключ для х и >>
(т)Кх = т, шифрованное секретным ключом х
Тх,у = мандат х на использование у
Ах,у = удостоверение х для у
Атрибуты  

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

Tc>s = s, {с, a, v, KC>S}KS.

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

Ac>s = {c, t,toifo4}Kc>s

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

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





Дата публикования: 2014-11-18; Прочитано: 534 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...