Найти в Дзене

Ультимативный гайд по цифровым подписям

Что такое ЭЦП и для чего они нужны?

ЭЦП - реквизит документа, полученный криптографическим путем. В каждом государстве существует свой формат электронно-цифровой подписи (ЭЦП). В России стандарт принят с 2014 года.

Электронные подписи позволяют проверить:

- отсутствие изменений в документе (целостность);

- принадлежность подписи владельцу (авторство);

- факт подписания документа (неотказуемость).

Суть криптографической защиты не в том, чтобы на 100% защитить данные от взлома (таких гарантий вообще не существует в природе), а в том, чтобы попытка подделать или взломать подпись была экономически нецелесообразна. Допустим, если для взлома какой-то подписи требуется 200 лет и работа супердорогих мейнфреймов, то вряд ли кто-то станет этим заниматься.

Кто выдает ЭЦП?

На вершине иерархии находится Минкомсвязи РФ. По его лицензии работают удостоверяющие центры.

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

Удостоверяющий центр имеет право выдавать электронные подписи их владельцам на различных носителях.

Схема выдачи ЭЦП

Процесс состоит из двух действий: собственно подписание и проверка подписи.

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

Проверка подписи производится в тестовых удостоверяющих центрах. Важно, что это проверка с чисто технической точки зрения. С юридической точки зрения подписи проверяются на сайте госуслуг.

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

-2

Классификация подписей

По месту расположения подписей:

Присоединенная - результат криптографической операции добавляется к файлу

Отсоединенная - результат криптографической операции выносится в отдельный файл

И по типу подписываемых данных:

-Двоичные данные (бинарники),

-Xml-файлы

-Электронные документы (DOCX, PDF)

По уровню защиты:

-Простая электронная подпись

-Усиленная неквалифицированная ЭП

-Усиленная квалифицированная ЭП

Наибольшее распространение на сегодняшний день имеет усиленная квалифицированная подпись. Только она в России является легитимным доказательством в суде.

По месту хранения ключа:

-Смарт-карта (выглядит как кредитка. В связи с неудобством сегодня практически не используется)

-USB-брелок (выглядит как обычная флэшка, но не читается OC)

- Реестр операционной системы (по сути это хорошо запароленный компьютер)

Интеграция на frontend

Интеграция ЭЦП происходит в плотном контакте с системными файлами Windows. Для Linux и Mac интеграция подписей будет достаточно проблематичной. Об этом лучше заранее предупреждать заказчика.

Для интеграции требуется

•Зарегистрироваться на сайте поставщика сервиса криптографической защиты информации (СКЗИ);

•Установить СКЗИ;

•Установить средство взаимодействия браузера с СКЗИ.

Схема работы на Frontend:

Находясь на странице пользователь выбирает нужный файл при помощи Javascript в браузере. При помощи посредника файл передается сервису защиты информации, где происходит конвертация в bas064

СУществует два типа посредников: Браузерный плагин (КриптоПРО) и

Локальный сервер (VipNet)

Затем происходит запрос авторизации, вводится пароль. В СКЗИ производится шифрование и СКЗИ передает подписанный файл назад владельцу.

Важно: СКЗИ выводит файл не через браузер, а своими средствами через Javascript.

-3

Допустимые операции на backend

Проверка валидности подписи;

Получение информации о сертификате;

Проверка валидности сертификата;

Установка штампов времени на сертификат;

Создание расширенной подписи.

Схема работы на backend

-4

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

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

Следите за нашим блогом, чтобы не проглядеть новых путеводных маяков в бушующем океане море web-разработки.