ЭЦП(электронная цифровая подпись) или КЭП (квалифицированная электронная подпись) - это новая модная аббревиатура или инструмент, который сможет вывести договорные отношения на новый уровень. Для того чтобы понять это и заодно ощутить его пользу, давайте разберем простой пример из жизни.
Вы решили затеять ремонт. Нашли квалифицированную компанию для этой задачи, оценили все и готовы приступать. Договорились завтра подписать все бумаги и приступать к работе. Но неожиданно, вам звонит ваш руководитель и говорит, что завтра вы улетаете в командировку на 2 недели и в 5 утра у вас самолет. Что делать? Сегодня рабочий день уже завершен и вам ничего не остается как смириться с тем, что ремонт затянется еще на две недели. И тут вы вспоминаете, что у вас есть ЭЦП, вы берете электронную версию договора и, к примеру, с помощью ПО, установленного на вашем компьютере, его подписываете. Все, дело сделано. Теперь отправляем этот договор компании по ремонту, и пока вы в командировке, ремонт не стоит на месте. Естественно, это не единственный вариант применения ЭЦП. К примеру, с его помощью вы можете подать налоговую декларацию, заявление в суд и осуществить прочие административные действия, не выходя из дому. Да и касательно описанного примера, если бы у данной компании был свой веб-сайт с возможностью подписи договора в личном кабинете, то у нашего героя вовсе не возникло проблем с подписанием договора.
Итак, ваш документ подписан и готов к отправке другой стороне.
Если он идентичный тому, который был прислан вами, следовательно текст документа является подлинным и с момента подписи в него не вносились изменения.
Сегодня на рынке есть несколько специализированных компаний, занимающиеся поставкой ПО для реализации электронной подписи в рамках вашего проекта, которые предлагают разные варианты интеграции с ними.
Рассмотрим основные из них:
Недавно, нам поступил запрос о разработки проекта и необходимости подключения к нему ЭЦП. Перед нами был выбор использовать готовое решение или сделать все самим, с помощью ИИТ библиотек. По ряду причин было принято решение подключаться самостоятельно.
Как обычно проект был особенный и подразумевал не совсем типичное использование электронной подписи. Наш проект предоставлял возможность пользователю идентифицировать себя на сайте с помощью ЭЦП, без регистрации как таковой (по аналогии с BankID)
Что это подразумевает: как вы уже знаете, у нас есть закрытый и открытый ключи + сертификат эцп, в котором, по факту, и содержится ваш открытый ключ с подробной информацией о вас. Т.е. теоретически, если вы предоставите свой ключ или сертификат и укажите аккредитационный центр, который их выдал, то мы можем узнать ваши данные, указанные при регистрации.
Поэтому, нельзя просто так взять и загрузить личный ключ клиента на наш сервер. Я думаю не нужно объяснять чем это чревато (пусть есть и пароли к ключам).Так что пришлось искать варианты. Самым простым способом было бы на клиенте прочитать данные пользователя и отправить их на сервер, но это уже другая крайность. Никто не запрещает пользователю подменить запрос со своими (нужными ему) данными и проверить их на сервере уже никак не получится.
Глаза боятся, а руки делают. Через н-ое кол-во чашек кофе и штудирование сотен страниц документации работы библиотек ИИТ (Институт Информационных Технологий) для работы с ЭЦП, мы нашли вариант, который устраивает нас и наши стандарты безопасности при работе с пользователями, а также сводит к минимуму возможную подмену. Помните про сертификат, который содержит вашу персональную информацию? Так вот, он находится в публичном доступе и любой может его найти по его идентификатору в регистре аккредитационного центра. По ключу пользователя на клиенте мы можем получить его со всеми данными пользователя. В чем же преимущество данного метода, спросите вы? А вот в чем - данный сертификат передается нам в зашифрованном виде и, чтобы получить все данные нужно с этим сертификатом пойти в аккредитационный центр и получить данные. Вуаля.
Если вы столкнетесь с ИИТ, будьте готовы к сотням страниц спецификации API для работы с ЭЦП, различным реализациям API для многих языков программирования. Если мы говорим, в частности, про веб, то ИИТ предоставляет несколько javascript-библиотек для работы на клиенте и плагины для браузера (для работы с ключами пользователя). Также от пользователя может потребоваться установить ПО на свой компьютер (предоставляется, аналогично, для основных ОС - linux, windows, macOS). Это все нужно учитывать и при необходимости напоминать пользователю, что работать определенный функционал работать не будет, пока он не установит ПО.
Есть ИИТ пользователь цск-1, десктопная программа, которая позволяет генерировать тестовые ключи (есть видео-материалы от ИИТ как им пользоваться). Достаточно удобная программа, когда вы ей научитесь пользоваться. Увы, она предоставлена только для Windows, так что готовьтесь к работе wine или virtualbox.
Если вдруг, вы используете последние версии софта и что-то у вас не заработало, не отчаивайтесь, а звоните в поддержку. Может оказаться, что у вас на самом деле далеко не последняя версия (хотя официальный сайт будет утверждать в обратном).
И да прибудет с вами сила в вашем нелегком пути в работе с ЭЦП!
Свяжитесь с нами для получения профессиональной консультации
+38 (067) 22-460-22Основными направлениями разработки, реализуемыми нашей веб студией, являются стартапы, автоматизация бизнеса и интеграция сторонних сервисов.
Мы имеет наиболее значительный опыт в реализации веб-сервисов для рынка недвижимости и логистики, а также связанных с технологией Blockchain приложений.
Мы с вами свяжемся в ближайшее время