<<
>>

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

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

Цифровые подписи позволяют подписывать электронные сообщения и другие цифровые документы таким образом, чтобы позже отправитель не смог от них отказаться. Один из распространенных способов заключается в первоначальном пропуске документа через односторонний криптографический алгоритм хэширования, который очень трудно инвертировать. Хэш-функция обычно выдает результат фиксированной длины, не зависящий от размера исходного документа. Самой популярной хэш-функцией является SHA-1 (Secure Hash Algorithm), производящая 20-байтный результат (NIST, 1995).

Новейшие версии SHA-1 — SHA-256 и SHA-512 — производят 32- и 64-байтный результат соответственно, но пока они не получили такого же широкого распространения.

Следующий шаг предполагает использование описанного ранее шифрования с открытым ключом. Владелец документа применяет свой закрытый ключ к хэшу, чтобы получить D(hash). Это значение, получившее название сигнатурного блока (signature block), прикрепляется к документу и отправляется получателю (рис. 9.14). Иногда применение функции D к хэшу называют дешифровкой хэша, но на самом деле это не дешифровка, поскольку хэш не был зашифрован.

Это просто математическое преобразование хэша.

При получении документа и хэша получатель сначала вычисляет хэш документа, используя заранее согласованный алгоритм SHA-1 или оговоренную криптографическую хэш-функцию. Затем получатель применяет к сигнатурному блоку открытый ключ отправителя, чтобы получить Е(Б(ка8К)). В результате этого он путем взаимоуничтожения «зашифровывает» расшифрованный хэш и получает его в прежнем виде. Если вычисленный хэш не соответствует хэшу из сигнатурного блока, значит, документ, сигнатурный блок или и то и другое были подделаны (или случайно изменены). Ценность такой схемы заключается в том, что довольно медленное шифрование с открытым ключом применяется в ней только в отношении хэша, представляющего собой сравнительно небольшую часть данных. Следует учесть, что данный метод работает только в том случае, если для всех х

Наличие этого свойства у всех функций шифрования заранее не гарантируется, поскольку все, что от них изначально требовалось, — это соблюдение условия

где Е — функция шифрования, а Б — функция дешифрования. Чтобы получить еще и свойство подписи, порядок их применения не должен играть никакой роли, то есть

D и E должны быть коммутативными функциями. К счастью, у алгоритма RSA такое свойство есть.

Чтобы воспользоваться этой схемой электронной подписи, получатель должен знать открытый ключ отправителя. Некоторые пользователи выкладывают применяемые ими открытые ключи на своей веб-странице. Другие этого не делают, опасаясь, что злоумышленники взломают веб-страницу и незаметно изменят их ключ. Им для распространения открытых ключей нужен какой-нибудь другой механизм. Одним из распространенных методов для отправителей сообщений является прикрепление к сообщению сертификата (certificate), в котором содержатся имя пользователя и открытый ключ и который имеет цифровую подпись вызывающей доверие третьей стороны.

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

Доверенная третья сторона, подписывающая сертификаты, называется центром сертификации (Certification Authority (CA)). Однако для того чтобы пользователь проверил сертификат, подписанный CA, ему нужен открытый ключ этого центра. Откуда он должен прийти и как пользователь может убедиться в его подлинности? Для того чтобы это сделать в общепринятом порядке, нужна полная схема управления открытыми ключами, которая называется инфраструктурой открытых ключей (Public Key Infrastructure (PKI)). Для веб-браузеров эта проблема решается особым образом: все браузеры поставляются с предустановленными открытыми ключами от примерно 40 центров сертификации.

Ранее было рассмотрено применение шифрования с открытым ключом для цифровых подписей, но следует отметить, что существуют также схемы, в которых шифрование с открытым ключом не применяется.

9.5.5.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Цифровые подписи:

  1. 4. Аналог собственноручной подписи. Электронно-цифровая подпись
  2. Психоматрица В. И. Ленина:
  3. Статья 207. Требования к письменной форме сделки
  4. ИНДЕКС СОЦИОМЕТРИЧЕСКИЙ
  5. ИНДЕКС
  6. четвертая коммуникационная революция
  7. ПРИМЕРНЫЕ ЦЕНЫ НА НЕКОТОРЫЕ ТОВАРЫ И УСЛУГИ В США, ОТ…(и, как правило, выше)
  8. § 2. Условия действительности сделок
  9. АНАЛИЗ ГРАФОЛОГИЧЕСКИЙ
  10. Конвергенция СМИ.
  11. Носите с собой блокнот
  12. Мандала фамилии
  13. ФУНДАМЕНТАЛЬНЫЙ МЕТОД.
  14. 3. Письменные сделки
  15. 1. Характеристика расчетных отношений. Законодательство.
  16. 1.9. Журналистика XXI века