Функции хэширования и электронно-цифровая подпись
Электронно-цифровая подпись (ЭЦП) сообщения является уникальной последовательностью, связываемой с сообщением, подлежащей проверке на принимающей стороне с целью обеспечения целостности передаваемого сообщения.
Электронно-цифровая подпись (ЭЦП) используется для аутентификации текстов, передаваемых по открытым каналам связи. Ее использование позволяет гарантировать выполнение следующих условий.
1. Лицо или процесс, идентифицируемый как отправитель электронного документа, действительно является инициатором отправления.
2. Целостность и конфиденциальность передаваемой информации не нарушена.
3. Не дает отказаться лицу, идентифицируемого как отправителя электронного документа, от обязательств, связанных с подписанным текстом.
ЭЦП представляет собой относительно небольшое количество цифровой информации, дополняющей электронный документ и передаваемой вместе с ним.
Использование ЭЦП предполагает введение асимметричной системы шифрования и, следовательно, ключевой пары (ОК,СК), а также двух процедур: 1. Процедуру установки ЭЦП (подписывание документа); и 2. процедуру проверки ЭЦП (аутентификация документа).
Процедура установки ЭЦП использует секретный ключ отправителя сообщения, а процедура проверки ЭЦП – открытый ключ отправителя сообщения (рис. 6.1). Здесь M – электронный документ, E – электронно-цифровая подпись.
Рис. 6.1. Схема использования ЭЦП
При использовании ЭЦП ведущее значение имеют однонаправленные функции хэширования. Использование функций хэширования позволяет формировать криптографически стойкие контрольные суммы передаваемых сообщений.
Функцией хэширования H называют функцию, сжимающую сообщение произвольной длины M, в значение фиксированной длины H(M) (несколько десятков или сотен бит), и обладающую свойствами необратимости, рассеивания и чувствительности к изменениям. Значение H(M) обычно называют дайджестом сообщения M.
Свойство необратимости подразумевает вычислительную трудоемкость создания документа M с заданным хэш-образом H(M). Этот хэш-образ сложным образом зависит от документа M и не позволяет его восстановить.
Свойство рассеивания подразумевает то, что вероятность совпадения значений хэш-функций двух различных документов M1 и M2 вне зависимости от их длин должна быть чрезмерно мала.
Свойство чувствительности к изменениям подразумевает то, что хэш-функция должна быть очень чувствительна к всевозможным изменениям в документе M, таких, как вставки, выбросы, перестановки и т.д.
Наиболее известными алгоритмами хэширования являются MD4, MD5, SHA.
Электронно-цифровая подпись формируется как результат шифрования дайджеста сообщения с помощью секретного ключа, ставящего подпись. Схемы процедур установки и проверки ЭЦП представлена на рис. 6.2.
Рис. 6.2. Схема процедур установки и проверки ЭЦП
Таким образом, схемы установки и проверки ЭЦП выглядят следующим образом.
Схема установки ЭЦП
1. Для документа М формируется дайджест H с помощью заданного алгоритма хэширования.
2. Сформированный дайджест H шифруют на секретном ключе отправителя сообщения. Полученная в результате шифрования последовательность и есть ЭЦП.
3. Сообщение М и его ЭЦП передается получателю сообщения.
Схема проверки ЭЦП
1. Получатель для проверки ЭЦП должен иметь доступ к самому сообщению М и его ЭЦП.
2. Зная алгоритм хэширования, который был использован при установке ЭЦП, получатель получает хэш присланного сообщения М.
3. Зная открытый ключ отправителя. получатель дешифрует ЭЦП, в результате чего получает хэш H, сформированный на этапе установки ЭЦП.
4. Критерием целостности присланного сообщения М и подтверждения его автора является совпадение хэшей H и . Если это равенство не выполнено, то принимается решение о некорректности ЭЦП со всеми вытекающими отсюда последствиями.
Целостность передаваемого сообщения гарантируется свойствами функции хэширования. Подлинность авторства сообщения гарантируется используемой технологией асимметричного шифрования. Злоумышленник не сможет подписаться другим пользователем, так как не имеет доступа к его секретному ключу, владелец же секретного ключа может ставить подпись на данном ключе.
Следует отметить, что использование секретного ключа на этапе установки ЭЦП защищает сообщение от активных изменений. Злоумышленник уже не способен скомпрометировать контрольную сумму, в качестве которой здесь выступает дайджест сообщения.
Наиболее известными алгоритмами ЭЦП являются RSA, Эль-Гамаля, DSA. Отечественным стандартом ЭЦП является ГОСТ 34.10-94 [11].