- •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
3.5.2. Протокол 4. Асимметричная криптосистема
Рассмотрим протокол для асимметричной криптосистемы. Сначала абонент А запрашивает открытый ключ абонента В. Получив ключ РКв из локальной базы данных или от сервера, А выполняет шифрование информационного блока и затем передает его В:
А->В: {{блок}SКА}РКв. (IX.23)
Абонент В может дешифровать сообщение (IX.23), так как знает ключ SКв. Кроме того, В может проверить подлинность блока. Для этого необходимо получить ключ РКa от сервера или извлечь его из локальной базы данных. Абонент В не может фальсифицировать подпись, так как не знает SКa.. Процедура доказательства сводится к дешифрованию сообщения (IX.23) на ключе SКв и передаче результата независимому арбитру для дальнейшей проверки. Отметим, что проверка возможна только при условии неизменности ключевой пары абонента А. В случае замены ключевой пары, например, в результате компрометации одного из ключей, сервер вынужден сохранять старые ключи в течение определенного периода времени. Необходимо также включать дату и время подписи непосредственно в подписываемый блок.
Заметим, что преимущество симметричной криптосистемы при аутентификации с возможностью доказательства третьей стороне заключается в том, что сервер должен хранить только свои ключи.
Рассмотренные выше протоколы на основе симметричной и асимметричной криптосистем во многом схожи и имеют одинаковое число сообщений. Современный подход к проблеме заключается в использовании гибридных криптосистем. Аутентификация и установление сеансового ключевого синхронизма реализуются при помощи асимметричной, а шифрование потока сообщений на сеансовом ключе — при помощи симметричной криптосистемы.
4. Анализ протоколов аутентификации
На практике стратегия криптоаналитика заключается в анализе и разработке атаки на протокол и только в случае неудачи — в атаке криптоалгоритма, что, как правило, требует значительных вычислительных ресурсов и инвестиций. Рассмотрим некоторые типичные примеры атак на криптографические протоколы, приводящие к компрометации криптосистемы в целом.
4.1. Протокол с сервером аутентификации
Время играет существенную роль во многих криптографических протоколах. Применение долговременных секретных ключей является распространенным на практике решением для разграничения доступа или установления защищенного режима взаимодействия между абонентами криптосети. Учитывая возможность компрометации долговременного ключа или изменения статуса его владельца, подобное решение предполагает разработку сложных процедур управления списком отмененных ключей и реконфигурации криптосети.
Более простое решение заключается в создании специального сервера аутентификации, разделяющего долговременный секретный ключ с каждым абонентом криптосети. Воспользуемся именами Алиса (А) и Боб (В) для обозначения абонентов и именем Сэм (S) для обозначения сервера. Обозначим разделяемые долговременные ключи как Хд^для Сэма и Алисы) и Квз(яля Сэма и Боба).
При таком решении установление защищенного сеансового соединения между абонентами и обмен кратковременным сеансовым ключом кав осуществляются с помощью сервера аутентификации. Таким образом, изоляция абонента криптосети, например Чарли (С), в случае потери последним доверия или компрометации его долговременного ключа выполняется сервером аутентификации путем удаления ключа kcs-
Однако многие протоколы, разработанные с учетом изложенной идеологии, могут быть скомпрометированы. Рассмотрим протокол [41|, в котором Алиса передает Бобу кратковременный сеансовый ключ кав с помощью сервера аутентификации. Для шифротекста, полученного в результате шифрования {открытого текста} на некотором {ключе}, введем обозначение {открытый текст}ключ. Шаги протокола могут быть записаны следующим образом:
№ Отправитель______Получатель Сообщение_______
1. А -> S {та,в,кав}Kas
2. S -> В {ts,a,kab}Kbs
Через та и ts обозначены временные метки, формируемые Алисой и Сэмом соответственно. Очевидно, что временной интервал, в течение которого Боб может оперировать ключом кав-, является системным параметром и устанавливается заранее.
Уязвимость описанного протокола связана с заменой временной метки Тa, полученной от Алисы, на метку сервера аутентификации Ts. В результате, несмотря на удаленный ключ Kcs, У Чарли сохраняется возможность взаимодействия с другими абонентами криптосети.
Например, Чарли может выдать себя за Боба и установить сеансовое соединение с Алисой, послав Сэму перехваченное на шаге 2 сообщение {Ts,a,Kab}kbs и получив ответное сообщение {Ts,в,Kab}кas,где T's — новая временная метка. Он может также выдать себя за Алису и получить от Сэма сообщение {T"s, A Kab}Kbs и так далее.
Эффективность атаки зависит от приложений. Отметим, что Чарли не имеет доступа к долговременным секретным ключам К as, kbs и не знает сеансового ключа кав- Он может только перехватывать сообщения, передаваемые по открытому каналу связи. Рассмотрим ситуацию, когда все необходимые для согласования сеансового ключа процедуры реализованы на Smart Card или PCMCIA-карте с применением TEMPEST-технологии (например, Capstone), а процедура шифрования/дешифрования на сеансовом ключе реализована программно и выполняется на стандартном компьютере. TEMPEST-технология исключает возможность доступа к секретной информации, записанной в конкретное устройство. Однако Чарли может добиться успеха, завладев устройством и воспользовавшись описанной выше атакой.
