Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
uanix
7 лет назад

Электронная цифровая подпись: Просто и наглядно

Электронная цифровая подпись (ЭЦП) документа — это аналог обычной подписи, но возможности её гораздо шире.

Как работает ЭЦП? Как отправить по каналам связи (например, по электронной почте) заверенный и подписанный  электронный документ? Попробуем разобраться...

С обычной, бумажной почтой нет проблем — подписываете документ; заверяете его у нотариуса; отправляете заказным письмом. Всё! Ваш адресат, получив такое письмо, уверен, что документ подписан лично вами.

С электронной почтой (e-mail) так не получится. Конечно, можно отсканировать заверенный нотариусом документ и отправить его в виде файла, присоединенного к электронному письму. Но, распечатка этого файла не будет легитимной.

Как же быть? На помощь приходит криптография!

Ранее в статье «Шифрование с открытым ключом: Наглядная иллюстрация» я рассказывал об ассиметричном шифровании, когда отправитель шифрует послание открытым (публичным) ключом, а получатель его расшифровывает соответствующим открытому закрытым (приватным) ключом.

Напомню, это выглядит так:


У отправителя и получателя совершенно разные ключи, но они алгоритмически связаны — открытым (публичным) ключом можно только зашифровать (запереть) послание, а закрытым (приватным) — только расшифровать (отпереть).

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

А теперь представим, ситуацию наоборот: отправитель зашифровывает (запирает) свое послание своим закрытым (приватным) ключом, а получатели могут расшифровать (отпереть) это послание соответствующим открытым (публичным) ключом, который они получили ранее от отправителя. Разумеется, эти ключи (приватный отправителя и публичный получателя) являются алгоритмически связанной парой — расшифровать послание можно только открытым ключом, который соответствует закрытому ключу отправителя.



Задача решена! Получатель по публичному ключу знает, что письмо отправлено конкретным отправителем, у которого есть соответствующий приватный ключ.

Но, в реальности нет необходимости зашифровывать само послание. Достаточно вычислить его хэш-код (см. статью «Хэширование: Просто и наглядно»), затем зашифровать этот хэш приватным ключом и присоединить к тексту сообщения. Вот этот зашифрованный хэш и есть ЭЦП — электронная цифровая подпись сообщения.

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

Но, это еще не все! Использование хэширования послания позволяет также контролировать и его целостность — не были ли по пути к адресату в письмо внесены несанкционированные изменения?

Действительно, если расшифрованная ЭЦП не совпадает с хэшем текста послания, то из этого могут следовать две вещи:

  1. Письмо подписал другой человек (публичный ключ не соответствует приватному).
  2. В текст сообщения были внесены изменения после его отправки.

В любом случае, получатель не может считать принятое сообщение достоверным — оно подделано!

Остается вопрос: Как получатель сообщения узнает, каким публичным ключом надо расшифровывать ЭЦП? Ведь для каждого приватного ключа существует свой уникальный публичный ключ.

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

Орган, выдавший сертификат является доверительной организацией, которая подтверждает, что соответствующий сертификат ЭЦП выдан конкретному установленному лицу.

Сертификат вместе с ЭЦП прикрепляется к отправляемому посланию и получатель по сертификату идентифицирует личность отправителя и получает публичный ключ, соответствующий приватному ключу отправителя.


Электронная цифровая подпись (ЭЦП) используются не только для отправки корреспонденции. При помощи ЭЦП заверяются документы (например, договоры), банковские операции и многое другое.

Технология ЭЦП также используется в протоколах криптовалют. Но, об этом в следующей статье...


 © Иллюстрации к тексту:

  • Первые две — из книги «Введение в криптографию», Филипп Циммерман.
  • Последняя — Википедия.
102
561.152 GOLOS
На Golos с April 2017
Комментарии (2)
Сортировать по:
Сначала старые