Протоколы, основанные на использовании однонаправленных ключевых хэш-функций
Протоколы, представленные выше, могут быть модифицированы путем замены симметричного шифрования на шифрование с помощью односторонней ключевой хэш-функции. Это бывает необходимо, если алгоритмы блочного шифрования недоступны или не отвечают предъявляемым требованиям (например, в случае экспортных ограничений).
Своеобразие шифрования с помощью односторонней хэш-функции заключается в том, что оно по существу является односторонним, т.е. не сопровождается обратным преобразованием — расшифровыванием на приемной стороне. Обе стороны (отправитель и получатель) используют одну и ту же процедуру одностороннего шифрования.
Односторонняя хэш-функция hK(·) с параметром-ключом K, примененная к шифруемым данным М, дает в результате хэш-значение т (дайджест), состоящее из фиксированного небольшого числа байт (рис. 3). Дайджест m = hK(M) передается получателю вместе с исходным сообщением М. Получатель сообщения, зная, какая односторонняя хэш-функция была применена для получения дайджеста, заново вычисляет ее, используя расшифрованное сообщение М. Если значения полученного дайджеста т и вычисленного дайджеста т' совпадают, значит содержимое сообщения М не было подвергнуто никаким изменениям.
Рис. 3.Применение для аутентификации односторонней хэш-функции с параметром-ключом
Знание дайджеста не дает возможности восстановить исходное сообщение, но позволяет проверить целостность данных. Дайджест можно рассматривать как своего рода контрольную сумму для исходного сообщения. Однако между дайджестом и обычной контрольной суммой имеется и существенное различие. Контрольную сумму используют как средство проверки целостности передаваемых сообщений по ненадежным линиям связи. Это средство проверки не рассчитано на борьбу со злоумышленниками, которым в такой ситуации ничто не мешает подменить сообщение, добавив к нему новое значение контрольной суммы. Получатель в таком случае не заметит никакой подмены.
В отличие от обычной контрольной суммы при вычислении дайджеста применяются секретные ключи. В случае, если для получения дайджеста используется односторонняя хэш-функция с параметром-ключом К, который известен только отправителю и получателю, любая модификация исходного сообщения будет немедленно обнаружена.
На рис. 4 показан другой вариант использования односторонней хэш-функции для проверки целостности данных. В этом случае односторонняя хэш-функция h(·) не имеет параметра-ключа, но применяется не просто к сообщению М, а к сообщению, дополненному секретным ключом К, т.е. отправитель вычисляет дайджест т = h(M, К). Получатель, извлекая исходное сообщение M, также дополняет его тем же известным ему секретным ключом К, после чего применяет к полученным данным одностороннюю хэш-функцию h(·). Результат вычислений — дайджест т' — сравнивается с полученным по сети дайджестом т.
Рис. 4. Применение односторонней хэш-функции к сообщению, дополненному секретным ключом К
При использовании односторонних функций шифрования в рассмотренные выше протоколы необходимо внести следующие изменения:
- функция симметричного шифрования ЕK заменяется функцией hK;
- проверяющий вместо установления факта совпадения полей в расшифрованных сообщениях с предполагаемыми значениями вычисляет значение однонаправленной функции и сравнивает его с полученным от другого участника обмена информацией;
- для обеспечения независимого вычисления значения однонаправленной функции получателем сообщения в протоколе 1 метка времени tA должна передаваться дополнительно в открытом виде, а в сообщении (2) протокола 3 случайное число rА должно передаваться дополнительно в открытом виде.
Модифицированный вариант протокола 3 с учетом сформулированных изменений имеет следующую структуру:
А ← В: rB; (1)
А → В: rA, hK(rA, rB, В); (2)
А ← В: hK(rA, rB, А); (3)
Заметим, что в сообщение (3) протокола включено поле А. Результирующий протокол обеспечивает взаимную аутентификацию и известен как протокол SKID 3.
Дата добавления: 2015-08-11; просмотров: 1138;