Безопасность сетей

Цифровые подписи


Цифровые подписи - это не цифровые изображения рукописных подписей. Цифровые подписи - это форма шифрования, обеспечивающая аутентификацию. Популярность цифровых подписей постоянно растет, и они были разрекламированы как способ перехода на полностью электронную информационную среду. Президент США Билл Клинтон даже издал закон об использовании цифровых подписей как легальных подписей. Но даже несмотря на это, цифровые подписи вводят многих людей в недоумение.

Что такое цифровая подпись?

Как уже говорилось, цифровые подписи - это не изображения рукописных автографов, поставленных на бумажном документе. Цифровая подпись - это метод аутентификации электронной информации посредством шифрования.

Как говорилось в параграфе, посвященном шифрованию с открытым ключом, если информация шифруется с использованием секретного ключа, принадлежащего определенному лицу, то только это лицо может осуществлять дешифрование информации. Следовательно, мы знаем, что информация поступила от этого лица, если дешифрование информации проведено успешно с использованием ключа, принадлежащего этому лицу. Если дешифрование проведено успешно, мы также знаем, что в процессе передачи она не была изменена, поэтому также обеспечивается целостность данных.

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

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


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

Безопасность и полезность цифровых подписей зависит от двух важнейших элементов:

  • Защита секретного ключа пользователя.
  • Безопасная хеш-функция.


Примечание

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


Рис. 12.10.  Функционирование цифровых подписей

Безопасные хеш-функции

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

  • функция является односторонней. Иными словами, функция создает контрольную сумму из информации с невозможностью восстановления информации по контрольной сумме;
  • крайне сложно сконструировать два фрагмента информации с получением одинаковой контрольной суммы при выполнении функции.


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

Безопасные хеш-функции должны обеспечивать создание контрольной суммы длиной, по крайней мере, в 128 бит. Двумя наиболее распространенными безопасными хеш-функциями являются MD5, генерирующая 128-битную контрольную сумму, и SHA, которая производит контрольную сумму длиной 160 бит. Существует множество других хеш-функций, однако большая их часть признана небезопасными.В MD5 были обнаружены уязвимости, которые могут использоваться при проведении вычислительной атаки. Эта атака позволит создать дополнительный фрагмент информации, что приведет к образованию той же контрольной суммы. Функция SHA была разработана правительством США и в настоящее время считается безопасной. В большей части программного обеспечения по информационной безопасности рассмотренные функции MD5 и SHA доступны для использования.


Содержание раздела