Как работает Электронно Цифровая Подпись

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

Давайте разберёмся, что же такое ЭЦП и как она работает.

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

Сначала, нам необходимо установить ЭЦП под документом.
Установка ЭЦП происходит в два шага:
  1. Берём документ, который мы хотим подписать и вычисляем хэш от этого документа. (Упрощённо, хэш — это односторонняя математическая функция преобразования документа произвольной длинны, в документ фиксированной длинны).
  2. Затем, этот полученный хэш шифруем нашим закрытым ключом.


Теперь документ, с прикреплённой к нему ЭЦП и нашим сертификатом, отправляем получателям.



Получив подписанный документ, нам необходимо проверить подпись — действительна она или нет.
Проверка ЭЦП происходит несколько сложнее:
  1. Берём документ, подпись под которым необходимо проверить, вычисляем хэш от этого документа.
  2. Берём цифровой сертификат пользователя, который подписал документ и прикреплённую к документу ЭЦП(которая является зашифрованным на закрытом ключе подписанта хэшом оригинального документа) и расшифровываем с помощью открытого ключа.
  3. Теперь сравниваем эти хэши. Если хэши совпадают, значит подпись действительна, если хэши различаются, значит подпись недействительна, то есть полученный нами документ был изменён после установки ЭЦП.



В заключении определим, что нам даёт использование цифровой подписи:
  1. Неизменяемость в процессе передачи или хранения — если документ был изменён, то хэш, который мы вычислим, и который был прикреплён к документу, буду разные, следовательно, подпись будет недействительная, из чего можно сделать вывод, что документ был изменён;
  2. Неотказуемость от авторства — если подпись верна, значит подписант, сертификат (точнее открытый ключ из сертификата) которого используется для расшифрования хэша и является автором документа;

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

Нет комментариев