
- •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.7. Запрос услуги
Теперь клиент может доказать свою подлинность прикладному серверу. Он создает сообщение, очень похожее на то, которое посылалось TGS. Клиент создает удостоверение, состоящее из его имени, сетевого адреса и метки времени, зашифрованное на сеансовом ключе, который был сгенерирован TGS. Запрос состоит из мандата, полученного от Kerberos (уже зашифрованного секретным ключом сервера), и зашифрованного идентификатора. Сервер расшифровывает и проверяет мандат и удостоверение, а также проверяет адрес клиента и метку времени. Если все в порядке, то сервер уверен, что клиент —именно тот, за кого он себя выдает. Если приложение требует взаимной проверки подлинности, сервер посылает клиенту сообщение, состоящее из метки времени, зашифрованной сеансовым ключом. Это доказывает, что серверу известен правильный секретный ключ и он может расшифровать мандат и удостоверение. При необходимости клиент и сервер могут шифровать и дешифровать все последующие сообщения общим ключом. Так как этот ключ известен только им, они оба могут быть уверены, что сообщение, зашифрованное этим ключом, отправлено другой стороной.
6.8. Kerberos версии 4
В предыдущих параграфах рассматривался Kerberos версии 5. Версия 4 отличается сообщениями и конструкцией мандатов и удостоверений. В Kerberos версии 4 используется следующие пять сообщений:
1. Клиент-Kerberos: c, TGS
2. Kerberos-клиент: {KC TGS, {TC TGS}}Kc
3. Клиент-TGS: {AC,S} KC TGS, , {TC TGS}KTGS,s
4. TGS-клиент: {Kc,s, {Tc,s}Ks}Kc,TGS
5. Клиент-сервер: {Ac,s}Kc,s,{TC S}Ks
Tc,s = {s,c,a,v,l,KC:a}Ks
Ac,s = {c, a, t}Kc,S
Сообщения 1, 3 и 5 не изменились. Двойное шифрование мандата на этапах 2 и 4 в версии 5 было устранено. Мандаты версии 5 допускают использование нескольких адресов, а срок действия l не указывается. В удостоверение версии 5 добавлена возможность включения дополнительного ключа.
6.9. Безопасность Kerberos
Беллоуин (S. Bellovin) и Мерритт (М. Merritt) проанализировали некоторые потенциально уязвимые места протокола Kerberos [243]. Хотя их исследование касалось Kerberos версии 4, многие замечания применимы и к версии 5. Показано, что возможно повторное использование старых удостоверений. Хотя метки должны предотвратить такую возможность, удостоверения могут использоваться повторно в течение срока действия мандата. Предполагается, что серверы хранят все легальные мандаты, чтобы обнаружить повторы, но это не всегда возможно. Кроме того, срок действия бывает достаточно большим. Проверка легальности удостоверений основана на том факте, что все часы компьютеров сети более, или менее синхронизированы. Если время компьютера будет установлено неправильно, то появляется возможность использования старого удостоверения. Большинство сетевых протоколов поддержки единого времени небезопасны, поэтому такая возможность способна привести к серьезным проблемам. Возможно также угадывание пароля. Злоумышленник может перехватывать и сохранять мандаты в базе данных и затем пытаться расшифровать их. Возможно, самой опасной является атака, использующая специальное программное обеспечение. Изначально предполагается, что программному обеспечению можно доверять. Однако клиентское программное обеспечение может быть заменено такой версией, которая помимо выполнения легальных действий записывает пароли. Эта проблема характерна для любого криптографического программного обеспечения, работающего на небезопасном компьютере, но широкое распространение Kerberos делает его особенно привлекательной мишенью. В настоящее время ведутся работы над улучшением Kerberos, включая модернизацию управления ключами с помощью асимметричной криптографии и интерфейса Smart Card. Одна из реализаций протокола Kerberos свободно распространяется компанией Cygnus Support.