Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга бельфер.docx
Скачиваний:
228
Добавлен:
20.09.2019
Размер:
9.74 Mб
Скачать
      1. Трёхшаговая аутентификация

При трёхшаговой аутентификации требуется переслать от А к В еще одно сообщение, которое должно содержать подписанную копию оказии rB. Такая форма сообщения выбирается потому, что проверять штамп даты-времени необходимости нет: обе оказии возвращаются назад другой стороной, а поэтому каждая из сторон имеет возможность обнаружить по значению возвращаемой оказии признаки атаки воспроизведения. Такой подход требуется, когда синхронизация часов невозможна.

ПРИЛОЖЕНИЕ Г. Аутентификация

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

  • механизм аутентификация источника сообщений по протоколу ОКЛИК-ОТЗЫВ, использующий шифрование с общим ключом;

  • механизм аутентификации сообщений с с помощью кода аутентичности сообщения MAC, использующий шифрование с общим ключом без дешифрования;

  • механизм аутентификации сообщений по протоколу HMAC без использования шифрования;

Г.1. Аутентификация по протоколу оклик-отзыв

На рис. Г.1 приведена двухпроходная аутентификация по протоколу ОКЛИК-ОТЗЫВ пользователя B аутентифицирующей стороной A.

Рис. Г.1. Двухпроходная аутентификация B аутентифицирующей стороной A по протоколу ОКЛИК-ОТЗЫВ

Принятые обозначения:

  • RА – случайное число, сгенерированное аутентифицирующей стороной А (оклик);

  • VАВ = f (КАВ, RА) – зашифрованное значение RА с помощью симметричного шифрования с использованием общего ключа КАВ в А и В.

Приведем последовательность операций.

  • Аутентифицирующая сторона A отправляет B сгенерированное им случайное число RА (оклик);

  • Аутентифицируемая сторона B отправляет отзыв VАВ, как функция KAB и RA.

  • Аутентифицирующая сторона расшифровывает полученный отзыв VАВ, получает RА и сравнивает его с отправленным значением RA.

  • Аутентификация успешная, если оба значения совпадают. Этот протокол защищает от угрозы «повтор» из-за малой вероятности совпадения случайного числа, созданного злоумышленником, со значением RА.

    1. Г.2. Аутентификация с помощью кода аутентичности сообщения

Метод аутентификации с помощью кода аутентичности сообщения MAC (Message Authentication Code) основан на присоединении к сообщению небольшого блока данных. При этом предполагается, что две участвующие в обмене данными стороны (допустим А и Б) используют общий секретный ключ КАБ. Чтобы послать сообщение М адресату Б, отправитель А вычисляет код аутентичности сообщения как функцию сообщения и ключа: МАСМ=F(КАБ,М). Сообщение с добавленным к нему значением МАС, полученное в результате шифрования с общим ключом, пересылается адресату. Получатель выполняет аналогичные вычисления с пришедшим сообщением, используя тот же секретный ключ, и получает свое значение МАС. Вычисленное значение МАС сравнивается с пришедшим вместе с сообщением. Так как секретный ключ знает только получатель и отправитель, то если пришедшее значение МАС совпадает с вычисленным получателем, то можно утверждать:

  • подлинность источника сообщения;

  • целостность полученного сообщения.

В системах связи используются разные алгоритмы шифрования. Например, алгоритм DES используется для шифрования сообщения, а определённое число последних битов зашифрованного сообщения (16 или 32) используются в качестве MAC. В сети сотовой связи третьего поколения UMTS используется алгоритм шифрования KASUMI в соответствии со стандартом 3GPP TS.35.202 [83,84].

Г.3. Аутентификация сообщений на основе протокола HMAC

Изложенный в предыдущем Приложении В метод аутентификации сообщений с использованием шифрования с открытым ключом имеет большое достоинство: не требуется доставки секретного ключа симметричного шифрования сообщающимся сторонам. Однако имеются причины в использовании методов аутентификации, позволяющих избежать шифрования:

  • алгоритм шифрования работает довольно медленно;

  • алгоритмы шифрования могут быть защищены патентами.

Например, алгоритм RSA шифрования с открытым ключом запатентован, и поэтому на использование подобных алгоритмов требуются лицензии, что выливается в дополнительные расходы [9].

На рис. Г.2 показан принцип аутентификации сообщений с помощью функции хеширования, не используя при этом шифрования.

Рис. Г.2. Принцип аутентификации сообщения

с помощью функции хеширования (без использования шифрования)

Программные библиотеки для криптографических функций хеширования доступны.

Для криптографических функций хеширования нет ограничений на экспорт.

Эта технология аутентификации предполагает, что сообщающиеся стороны A и B имеют известное только им общее значение Saв. Перед посылкой стороне B сообщения М требующая аутентификации сторона А вычисляет функцию хеширования Н для конкатенации этого секретного значения и текста сообщения: MDм = Н (Saв || М). Затем М || MDМ пересылается стороне В. Поскольку сторона В имеет значение Saв, она может вычислить Н (Saв || М) и проверить соответствие вычисленного значения полученному значению MDм. Поскольку само секретное значение Saв с сообщением не пересылается, у злоумышленника нет возможности модифицировать перехваченное сообщение MDм. Злоумышленник не может генерировать фальшивое сообщение, поскольку не знает секретное значение Sав.

Одним из наиболее широко используемых протоколов, работающих по указанному принципу без использования шифрования, является алгоритм, называемый НМАС (Hashed Message Authentication Code - код идентификации хешированного сообщения).

Приведем алгоритм НМАС. Особенностью НМАС является использование вложенных хеш-операций ключей, одна внутри другой.

Эта идея основана на использовании двух дополняющих значений (pad values), одно из которых называется внутренним (ipad), a другое внешним (opad), которые применяются в хеш-алгоритме Н, выполняемом над сообщением М, с использованием секретного ключа К.

НМАС (К, М) = H[(К+ XOR opad)||Н[(К+ XOR ipad)|| М]],

где b - число байт в блоке, ipad = байт 36 (шестнадцатеричный), повторенный b раз, opad = байт 5C (шестнадцатеричный), повторенный b раз. Это интерпретируется следующим образом:

  • Добавить нули в конец K для того, чтобы получить строку длиной b байт (например, если K имеет длину 20 байт и b = 64, то к K+ будет добавлено 44 нулевых байта).

  • Операция «исключающее ИЛИ» XOR (по модулю 2) проводится над полученной в первом шаге строкой и ipad.

  • Входной поток данных M присоединяется (операция конкатенации) к результату операции в шаге 2.

  • Применить Н к потоку данных, полученных в шаге 3.

  • Операция «исключающее ИЛИ» проводится над полученной в первом шаге строкой и opad.

  • Результат шага 4 присоединяется к результату шага 5.

  • Применить Н к потоку данных, полученных в шаге 6, и вывести результат.

Алгоритм НМАС принят как обязательный для реализации аутентификации сообщений в протоколе IPSec, выполняющем защиту на межсетевом уровне IP-сети.

ПРИЛОЖЕНИЕ Д. Формирование общего секретного ключа с помощью метода Диффи-Хеллмана

В приложении В приведено описание распределение ключей (обмен общими секретными ключами) и защита с помощью сертификатов от угрозы «человек посередине».

В настоящем приложении, посвященном методу Диффи-Хеллмана [9], изложен другой способ создания общего секретного ключа для взаимодействующих абонентов сети. Приводится пример угрозы «человек посередине», для защиты от которых также служат сертификаты. Этот метод используется для управления ключами протоколом защиты транспортного уровня TLS (глава 13).