
- •1. Пароли
- •1.1. Противодействие раскрытию и угадыванию пароля
- •1.2. Противодействие пассивному перехвату
- •1.3. Защита при компрометации проверяющего
- •1.4. Противодействие несанкционированному воспроизведению
- •1.5. Одноразовые пароли
- •1.6. Метод «запрос-ответ»
- •2. Биометрические методы
- •3. Криптографические методы аутентификации
- •3.1. Аутентификация в режиме on-line
- •3.1.1. Протокол 1. Симметричная криптосистема
- •3.1.2. Протокол 2. Асимметричная криптосистема
- •3.2. Аутентификация при участии нескольких серверов
- •3.3. Организация серверов аутентификации
- •3.4. Аутентификация в режиме off-line
- •3.4.1. Протокол на основе симметричной криптосистемы
- •3.4.2. Протокол на основе асимметричной криптосистемы
- •3.5. Аутентификация с привлечением арбитра
- •3.5.1. Протокол 3. Симметричная криптосистема
- •3.5.2. Протокол 4. Асимметричная криптосистема
- •4. Анализ протоколов аутентификации
- •4.1. Протокол с сервером аутентификации
- •4.2. Протокол «запрос-ответ»
- •4.3. Протоколы на основе асимметричных криптосистем
- •4.4. Протокол с «двуликим Янусом»
- •4.5. Протокол стандарта х.509
- •4.6. Протокол для сетей подвижной радиосвязи
- •4.7. Анализ протоколов ssh и ака
- •5. В an-логика
- •6. Протокол Kerberos
- •6.1. Модель Kerberos
- •6.2. Этапы протокола Kerberos
- •6.3. Атрибуты
- •6.4. Сообщения Kerberos версии 5
- •6.5. Получение первоначального мандата
- •6.6. Получение мандатов прикладных серверов
- •6.7. Запрос услуги
- •6.8. Kerberos версии 4
- •6.9. Безопасность Kerberos
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 имеет следующую форму: