Стандарты электронно-цифровой подписи

На сегодняшний день придумано и реализовано достаточно много алгоритмов цифровой подписи:

- алгоритм подписи на основе RSA;

- Алгоритм цифровой подписи Эль-Гамаля (El Gamal Signature Algorithm);

- алгоритм DSA, предложен в 1991г. в США для использования в стандарте цифровой подписи DSS (Digital Signature Standard). Основан на усовершенствованной схеме Эль-Гамаля.

- Старый российский стандарт электронно-цифровой подписи ГОСТ Р34.10-94, концептуально близок к алгоритму DSA. Различие между этими стандартами заключается в использовании параметров ЭЦП разного порядка, что приводит к получению более безопасной подписи при использовании российского стандарта.

- Новый российский стандарт ^ ГОСТ Р 34.10-2001, основан на использовании эллиптических кривых.

Хеш-функции.

Хеш-функции играют в информационной защите важную роль, создавая для электронного документа его «моментальный снимок» и тем самым защищая документ от дальнейшей модификации или подмены.

В широком смысле функцией хеширования называется функция H, удовлетворяющая следующим основным свойствам:

- Хеш-функция Н может применяться к блоку данных любой длины.

- Хеш-функция Н создает выход фиксированной длины (равно, например, 128 бит для классической функции хеширования MD5, и 160 бит для американского стандарта хеш-функций SHA1).

- Н (М) вычисляется относительно быстро (за полиномиальное время от длины сообщения М).

- Для любого данного значения хеш-кода h вычислительно невозможно найти M такое, что Н (M) = h.

- Для любого данного х вычислительно невозможно найти y Стандарты электронно-цифровой подписи - student2.ru x, что H (y) = H (x).

- Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x).

Термин вычислительно невозможно означает здесь, что в настоящее время решение этой задачи либо требует слишком большого интервала времени (например, более сотни лет), либо использования слишком больших вычислительных ресурсов, чтобы решение задачи имело смысл.

Первые три свойства требуют, чтобы хеш-функция создавала хеш-код для любого сообщения. Четвертое свойство определяет требование односторонности хеш-функции: легко создать хеш-код по данному сообщению, но невозможно восстановить сообщение по данному хеш-коду. Это свойство важно, если аутентификация с использованием хеш-функции включает секретное значение. Само секретное значение может не посылаться, тем не менее, если хеш-функция не является односторонней, противник может легко раскрыть секретное значение следующим образом. При перехвате передачи атакующий получает сообщение М и хеш-код С = Н ( Стандарты электронно-цифровой подписи - student2.ru || M). Если атакующий может инвертировать хеш-функцию, то, следовательно, он может получить Стандарты электронно-цифровой подписи - student2.ru || M = Стандарты электронно-цифровой подписи - student2.ru (C). Так как атакующий теперь знает и М и Стандарты электронно-цифровой подписи - student2.ru || M, получить Стандарты электронно-цифровой подписи - student2.ru совсем просто, здесь || обозначает операцию конкатенации (соединения) двух текстов.

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

Хеш-функция, которая удовлетворяет первым пяти свойствам, называется простой или слабой хеш-функцией. Если кроме того выполняется шестое свойство, то такая функция называется сильной хеш-функцией. Шестое свойство защищает против класса атак, известных как атака "день рождения".

Наши рекомендации