logo
Лекции / Малов / Другие сети от другого Малова / 09) аутентификация

4.7. Анализ протоколов ssh и ака

Протоколы SSH [35,36] и АКА [37] предназначены для аутентификации и конфиденциаль­ной передачи сообщений в открытых сетях. Основу обоих протоколов составляют методы асимметричной криптографии. Анализ криптостойкости протоколов выполнен в [38].

Рассмотрим протоколы SHS и АКА. Введем некоторые, общие для обоих протоколов. обозначения:

• через А обозначим клиента, В — сервер, С — злоумышленника. Введенные обозначения используются в качестве уникальных идентификаторов абонентов;

К а открытый, а КА-1 — парный секретный ключ А;

• через КB h и КBs обозначим два открытых, а через KBh-1 и KBs-1 — два парных секретных ключа В. В SSH KBh выполняет функции долговременного, а КBs кратковременного ключа. В протоколе АКА KBsодноразовый ключ;

• зашифрованный на ключе К открытый текст X обозначим через {X}K.. Каждый, кто знает {X}K и ключ, обратный к К, может получить X. Для симметричных крипто­систем эти ключи совпадают. Для асимметричных криптосистем открытый и парный секретные ключи взаимно обратимы в указанном смысле. Если К --- секретный ключ, то асимметричное шифрование с целью получения {Х}к есть, по сути, вычисление цифровой подписи на ключе К. Иногда в шифротекст {Х}K вводится дополнительная избыточность, которая позволяет контролировать целостность принятого сообщения. Однако с точки зрения анализа криптостойкости протоколов это не существенно:

• через Н обозначена хэш-функция

• NA и NB — уникальные случайные одноразовые значения, генерируемые А и В соот­ветственно. Для протокола AHA (но не для SSH) важно, чтобы эти значения хранились в секрете.

Предполагается, что при заданных А и КA сервер В может достоверно убедиться в том, что КA является открытым ключом А и что А является легальным абонентом криптосети. Аналогично А может убедится в подлинности ключа КBh . Однако А не имеет какой-либо исходной информации о KBh-1 , кроме той, которую он получает в ходе реализации протокола. Аутентификация открытых ключей выполняется при помощи сертификатов. Все транзакции и действия, связанные с передачей и обработкой сертификатов, исключены из рассмотрения с целью упрощения описания протоколов.

Протокол SSH позволяет реализовать несколько различных вариантов аутентификации. Рассмотрим случай аутентификации клиента при помощи методов асимметричной крипто­графии. Имеем следующий протокол:

№ Отправитель Получатель Сообщение

Основное назначение описанного протокола — обеспечить сеансовым ключом К абонентов А и В. При помощи сообщений 1 и 2 абоненты А и В обмениваются одноразовыми случай­ными значениями. В сообщении 3 В передает А свои открытые ключи. В сообщении 4 А передает В ключ К. Конфиденциальность этого сообщения обеспечивается шифрованием на открытых ключах KBs И KBh .- Значение хэш-функции предыдущего сообщения позволяет установить непрерывную ассоциацию между сообщениями текущего сеанса и гарантирует невозможность несанкционированного воспроизведения сообщений. А передает свой иденти­фикатор и открытый ключ в сообщении 5. Уникальность сообщения подтверждается цифро­вой подписью значения хэш-функции идентификатора абонента А и одноразовых случайных значений NA и NB. Конфиденциальность сообщения обеспечивается шифрованием на ключе К', полученном из К, NA и NB.

Протокол уязвим, так как в сообщении 5 не содержится явной информации о К и В. Воз­можна атака, в ходе которой некоторый сервер С, обладающий открытыми ключами KCh и KCS может выдать себя за абонента А при установлении сеансового соединения между А и В. Для этого А должен предварительно установить сеансовое соединение с С. Когда это происходит, С немедленно устанавливает сеансовое соединение с В. Если при этом допуска­ется, что одноразовые значения могут быть одинаковыми в двух различных сеансах, то С может использовать аутентичные, подтвержденные цифровой подписью, сообщения А для установления сеансового соединения с В.

В результате В уверен, что уникальный ключ К используется в сеансовом соединении с А. однако это не так — тот же самый ключ известен С.

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

Отправитель Получатель Сообщение

Цель протокола — обеспечить абонентов А и В сеансовым ключом NA mod2 NB . В сообщени­ях 1 и 2 абоненты A и В обмениваются открытыми ключами. В сообщениях 3 и 4 абоненты обмениваются одноразовыми значениями NA и NB , которые впоследствии будут использова­ны для вычисления сеансового ключа. В сообщении 5 передается подписанное В одноразовое значение NA. Сообщение 6 — результат хэширования одноразового значения NB, зашифро­ванный на открытом ключе абонента В. В результате только А и В знают результирующий сеансовый ключ — асимметричное шифрование гарантирует полную конфиденциальность передаваемых сообщений.

В рассмотренном протоколе подлинность сообщений подтверждается цифровой подписью абонента В. Однако протокол АКА столь же уязвим, что и рассмотренный выше протокол SSH. Основной недостаток заключается в том. что протокол позволяет убедиться в подлин­ности NA, но не NB. В результате С может выдать себя за В при установлении сеансового соединения между А и В.

• Атака возможна, если А и В инициируют сеансовое соединение, а С перехватывает и выполняет замену некоторых сообщений. При этом С может не быть легальным абонентом криптосети.

№ Отправитель______Получатель Сообщение

С перехватывает сообщение 2 и выполняет замену открытого ключа KBS на свой соб­ственный открытый ключ KCS. Данная манипуляция позволяет С, перехватив сообщение 3 раскрыть NA. После чего С может конфиденциально передать NA абоненту В (сообщение 3’). С может также изъять сообщение 4 и вместо него передать А другое сообщение 4' с известным С одноразовым значением NC. В конечном итоге С не может продолжить взаи­модействие с В, но А уверен, что уникальный сеансовый ключ NA mod2 NC известен только А и В. Однако этот ключ известен также и С. Превентивная мера заключается в том. что под­писанные В сообщения должны содержать дополнительную информацию. Последняя версия протокола содержит все необходимые дополнения и исправления.