2. Области Kerberos
Kerberos может использоваться и для междоменной аутентификации. В случае обращения клиента в центр распределения ключей КDС (Key Distribution Center) для доступа к серверу, находящемуся в другом домене, КDС выдает клиенту мандат переадресации (refferal ticket) для обращения к КDС того домена, в котором находится требуемый сервер.
При использовании протокола компьютерная сеть логически делится на области действия серверов Kerberos. Kerberos-область - это участок сети, пользователи и серверы которого зарегистрированы в базе данных одного сервера Kerberos (или в одной базе, разделяемой несколькими серверами). Одна область может охватывать сегмент локальной сети, всю локальную сеть или объединять несколько связанных локальных сетей. Схема взаимодействия между Kerberos-областями представлена на рис.2.
Рис. 2. Взаимодействие между Kerberos-областями
Для взаимодействия между областями, должна быть осуществлена взаимная регистрация серверов Kerberos, в процессе которой сервер выдачи разрешений одной области регистрируется в качестве клиента в другой области (т.е. заносится в базу сервера аутентификации и разделяет с ним ключ).
После установки взаимных соглашений, клиент из области 1 (пусть это будет K11) может установить сеанс взаимодействия с клиентом из области 2 (например, К21). Для этого K11 должен получить у своего сервера выдачи разрешений мандат на доступ к Kerberos-серверу, с клиентом которого он хочет установить взаимодействие (т.е. серверу Kerberos KDC2). Полученный мандат содержит отметку о том, в какой области зарегистрирован владелец мандата. Мандат шифруется на ключе, разделенном между серверами KDC1 и KDC2. При успешной расшифровке мандата, удаленный Kerberos-сервер может быть уверен, что мандат выдан клиенту Kerberos-области, с которой установлены доверительные отношения. Далее протокол работает как обычно.
Кроме рассмотренных, Kerberos предоставляет еще ряд дополнительных возможностей. Например, указанный в структуре мандата параметр p (период времени) задается парой значений "время начала действия" - "время окончания действия", что позволяет получать мандаты отложенного действия.
Имеется тип мандата "с правом передачи", что позволяет, например, серверу выполнять действия от имени обратившегося к нему клиента.
Два слова об аутентификации. Если Kerberos - протокол распределения ключей, корректно ли использовать его для аутентификации?! Но как отмечалось выше, если все стадии протокола прошли успешно, то взаимодействующие стороны не только распределили ключ, но и убедились в подлинности друг друга, иными словами - аутентифицировали друг друга.