Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
81
Добавлен:
17.04.2013
Размер:
352.26 Кб
Скачать

6. Протокол Kerberos

Kerberos представляет собой разработанный для сетей TCP/IP-протокол проверки подлин­ности с доверенной третьей стороной. Служба Kerberos. работающая в сети, действует как доверенный посредник, обеспечивая проверку подлинности сетевых объектов. В протоколе Kerberos реализован криптостандарт DES, но вместо него можно использовать и другие ал­горитмы. При общении с каждым объектом сети Kerberos использует уникальный секретный ключ-идентификатор. Протокол Kerberos был первоначально разработан в Массачусетском технологическом университете для проекта Афина.

6.1. Модель Kerberos

Объектами сетевого взаимодействия в модели Kerberos являются клиенты и серверы. Клиен­тами могут быть пользователи, но могут — и независимые программы, выполняющие различ­ные действия: загрузку файлов, передачу сообщений, доступ к базам данных и принтерам, получение административных привилегий и т.п. Kerberos хранит базу данных клиентов и их секретных ключей. Для пользователей секретный ключ является зашифрованным па­ролем. Сетевые службы, требующие проверки подлинности, и клиенты, которые хотят ис­пользовать эти службы, регистрируют в Kerberos свои секретные ключи. Так как Kerberos знает все секретные ключи, он может создавать сообщения, убеждающие один объект в под­линности другого. Kerberos также создает уникальные сеансовые ключи, которые выдают­ся клиенту и серверу (или двум клиентам). Сеансовый ключ используется для шифрова­ния/дешифрования сообщений, которыми обмениваются две стороны, и уничтожается после окончания сеанса. В Kerberos версии 4 используется нестандартный режим шифрования. В Kerberos версии 5 применяется режим СВС.

6.2. Этапы протокола Kerberos

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

6.3. Атрибуты

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

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

с клиент

s сервер

а сетевой адрес клиента

I срок действия мандата

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

t метка времени

Кх секретный ключ х

Кхл сеансовый ключ для х к у

(т)Кх m зашифрованное на секретном ключе х

Тхл мандат х на использование у

ах, у удостоверение х для у

Таблица IX.4. Обозначения протокола Kerberos

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

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

Соседние файлы в папке Другие сети от другого Малова