Как работает Электронно Цифровая Подпись
Много-много лет назад, работая админом на одном из градообразующих предприятий российской глубинки, мне пришлось впервые столкнуться с понятием «электронно-цифровая подпись» (далее ЭЦП).
В головах руководства, на тот момент, укоренилась мысль, что ЭЦП — это обычная подпись, отсканированная и добавляемая на все документы, которые должны быть «подписаны».
Давайте разберёмся, что же такое ЭЦП и как она работает.
Для работы с ЭЦП нам, прежде всего, необходим цифровой сертификат и закрытый ключ.
Сначала, нам необходимо установить ЭЦП под документом.
Установка ЭЦП происходит в два шага:
Теперь документ, с прикреплённой к нему ЭЦП и нашим сертификатом, отправляем получателям.
Получив подписанный документ, нам необходимо проверить подпись — действительна она или нет.
Проверка ЭЦП происходит несколько сложнее:
В заключении определим, что нам даёт использование цифровой подписи:
Для того, чтобы было невозможно подделать ЭЦП, закрытый ключ должен быть в единственном экземпляре и доступ к нему должен быть только у владельца. Это можно реализовать используя смарт-карты, но это уже совсем другая история.
В головах руководства, на тот момент, укоренилась мысль, что ЭЦП — это обычная подпись, отсканированная и добавляемая на все документы, которые должны быть «подписаны».
Давайте разберёмся, что же такое ЭЦП и как она работает.
Для работы с ЭЦП нам, прежде всего, необходим цифровой сертификат и закрытый ключ.
Сначала, нам необходимо установить ЭЦП под документом.
Установка ЭЦП происходит в два шага:
- Берём документ, который мы хотим подписать и вычисляем хэш от этого документа. (Упрощённо, хэш — это односторонняя математическая функция преобразования документа произвольной длинны, в документ фиксированной длинны).
- Затем, этот полученный хэш шифруем нашим закрытым ключом.
Теперь документ, с прикреплённой к нему ЭЦП и нашим сертификатом, отправляем получателям.
Получив подписанный документ, нам необходимо проверить подпись — действительна она или нет.
Проверка ЭЦП происходит несколько сложнее:
- Берём документ, подпись под которым необходимо проверить, вычисляем хэш от этого документа.
- Берём цифровой сертификат пользователя, который подписал документ и прикреплённую к документу ЭЦП(которая является зашифрованным на закрытом ключе подписанта хэшом оригинального документа) и расшифровываем с помощью открытого ключа.
- Теперь сравниваем эти хэши. Если хэши совпадают, значит подпись действительна, если хэши различаются, значит подпись недействительна, то есть полученный нами документ был изменён после установки ЭЦП.
В заключении определим, что нам даёт использование цифровой подписи:
- Неизменяемость в процессе передачи или хранения — если документ был изменён, то хэш, который мы вычислим, и который был прикреплён к документу, буду разные, следовательно, подпись будет недействительная, из чего можно сделать вывод, что документ был изменён;
- Неотказуемость от авторства — если подпись верна, значит подписант, сертификат (точнее открытый ключ из сертификата) которого используется для расшифрования хэша и является автором документа;
Для того, чтобы было невозможно подделать ЭЦП, закрытый ключ должен быть в единственном экземпляре и доступ к нему должен быть только у владельца. Это можно реализовать используя смарт-карты, но это уже совсем другая история.
Нет комментариев