ПОДКЛЮЧЕНИЕ ЭЦП: ГАЙД ПО УСТАНОВКЕ И РАБОТЕ СЕРВИСА В УКРАИНЕ

Назад
24
Дек 2018

Что такое ЭЦП (КЕП)?

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

Вы решили затеять ремонт. Нашли квалифицированную компанию для этой задачи, оценили все и готовы приступать. Договорились завтра подписать все бумаги и приступать к работе. Но неожиданно, вам звонит ваш руководитель и говорит, что завтра вы улетаете в командировку на 2 недели и в 5 утра у вас самолет. Что делать? Сегодня рабочий день уже завершен и вам ничего не остается как смириться с тем, что ремонт затянется еще на две недели.

И тут вы вспоминаете, что у вас есть КЭП, вы берете электронную версию договора и, к примеру, с помощью ПО, установленного на вашем компьютере, его подписываете. Все, дело сделано. Теперь отправляем этот договор компании по ремонту, и пока вы в командировке, ремонт не стоит на месте. Естественно, это не единственный вариант применения КЭП.

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

Как работает электронная цифровая подпись?

подключение ецп

 

Итак, ваш документ подписан и готов к отправке другой стороне.

  1. В центре аккредитации и выдачи сертификата для ключей (АЦСК) получаете ваши электронные ключи (приватный и публичный), с помощью которых будет осуществляться подпись документов при помощи КЭП.
  2. Используя программное обеспечение (установленное на компьютере/телефоне/сайте), выбираете любой документ и указываете путь к вашим ключам и сертификату КЭП.
  3. После этого происходит первая часть подписи, а именно генерация уникального «отпечатка сообщения». Данный отпечаток (набор символов) создается на основании текста документа и публичного ключа, и становиться неотъемлемой частью документа.
  4. Далее вы подписываете «отпечаток документа» своим уникальным приватным ключом, чем подтверждаете свою личность.
  5. Получив от вас подписанный документ, вторая сторона запрашивает у центра аккредитации сертификат — ваш публичный ключ и повторно генерирует «отпечаток сообщения» из текста документа.

Если он идентичный тому, который был прислан вами, следовательно текст документа является подлинным и с момента подписи в него не вносились изменения.

Как установить КЭП на сайт?

Сегодня на рынке есть несколько специализированных компаний, занимающиеся поставкой ПО для реализации КЭП в рамках вашего проекта, которые предлагают разные варианты интеграции с ними.

Рассмотрим основные из них:

Javascript библиотека в web-странице (ИИТ)

  • Некоторые браузеры могут требовать отдельных доработок;
  • Загрузка страницы утяжеляется кодом библиотеки;
  • Присутствует ограничение по объему обрабатываемых данных;
  • Нельзя использовать защищенные носители ЭЦП (КЭП) (Secure Token), так как у JS нет доступа к файловой системе;
  • Учитывая, что это сторонняя библиотека, вы будете зависеть от ее обновлений и поддержки третьей стороны.

Native библиотека в расширении в web-браузере (ПриватБанк)

  • Кроссплатформенное и кроссбраузерное решение;
  • Объем обрабатываемых данных не ограничен;
  • Можно использовать защищенные носители ЭЦП (КЭП) (Secure Token);
  • Нельзя использовать в браузерах, не поддерживающих расширения.

Установка серверного приложения (Сайфер)

  • Объем обрабатываемых данных не ограничен;
  • Повышенный уровень безопасности;
  • Более времязатратный способ реализации;
  • Можно использовать защищенные носители ЭЦП (КЕП) (Secure Token).

Установка локального приложения (ИИТ)

  • Кроссплатформенное решение;
  • Использовать защищенный https или Proxy соединение;
  • Взаимодействие с локальными приложениями;
  • Можно использовать защищенные носители ЭЦП (КЕП)  (Secure Token).
  • Высокая производительность;
  • Повышенный уровень безопасности.

 

Какой конкретно способ стоит реализовать на практике зависит от многих факторов.

Наш персональный опыт установки электронной подписи КЭП:

Недавно, нам поступил запрос о разработки проекта и необходимости установки на нем ЭЦП. Перед нами был выбор установить готовое решение для КЭП или сделать все самим, с помощью ИИТ библиотек. По ряду причин было принято решение установить ПО самостоятельно.

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

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

Все бы хорошо, но безопасность клиентов — превыше всего.

подключение ецп

 

Поэтому, нельзя просто так взять и установить личный ключ или сертификат клиента на наш сервер. Я думаю не нужно объяснять, чем это чревато (пусть есть и пароли к ключам). Так что пришлось искать варианты. Самым простым способом было бы на клиенте прочитать данные пользователя и отправить их на сервер, но это уже другая крайность. Никто не запрещает пользователю подменить запрос со своим (нужными ему) ключом и проверить их на сервере уже никак не получится.

Глаза боятся, а руки делают. Через н-ое кол-во чашек кофе и штудирование сотен страниц документации работы библиотек ИИТ (Институт Информационных Технологий) для работы с ЭЦП (КЕП), мы нашли вариант, который устраивает нас и наши стандарты безопасности при работе с пользователями, а также сводит к минимуму возможную подмену ключа и данных.

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

Если вы столкнетесь с ИИТ, будьте готовы к сотням страниц спецификации API для работы с ЭЦП (КЕП), различным реализациям API для многих языков программирования. Если мы говорим, в частности, про веб, то ИИТ предоставляет несколько javascript-библиотек для работы на клиенте и плагины для браузера (для работы с ключами и сертификатом пользователя). Также от пользователя может потребоваться купить и установить ПО на свой компьютер (предоставляется, аналогично, для основных ОС — linux, windows, macOS). Это все нужно учитывать и при необходимости напоминать пользователю, что работать определенный функционал работать не будет, пока он не купит и не установит ПО.

Есть ИИТ пользователь ЦСК-1, десктопная программа, которая позволяет генерировать тестовые ключи и сертификат (есть видео-материалы от ИИТ как им пользоваться). Достаточно удобная программа, когда вы ей научитесь пользоваться. Увы, установить ее можно только на Windows, так что готовьтесь к работе wine или virtualbox.

Если вдруг, вы используете последние версии софта и что-то у вас не заработало, не отчаивайтесь, а звоните в поддержку. Может оказаться, что вам на самом удалось купить далеко не последнюю версию (хотя официальный сайт будет утверждать в обратном).

И да прибудет с вами сила в вашем нелегком пути в работе с ЭЦП (КЕП)!

подключение ецп

Спасибо за ваш интерес!

Мы с вами свяжемся в ближайшее время