Хорошо отлаженный механизм быстрого реагирования на изменяющуюся реальность — одно из правил успешного бизнеса. Тенденции современности говорят быть мобильнее, быстрее, удобнее для клиента, для самих себя. Но мы тратим множество часов на подписание документов, требующих участия не одной и не двух сторон. Еще дольше, когда работники за сотни километров. Путь к мобильности может лежать через ЭЦП — Электронную Цифровую Подпись.
В этой статье поговорим о видах, плюсах, минусах ЭЦП, возможностях интеграции и как на практике происходит внедрение ЭЦП на корпоративный портал Битрикс24.
ЭЦП инструмент удобный и давно знакомый почти каждому, кто работает с удаленным документооборотом. Однако реализовать ЭЦП на Корпоративном портале Битрикс24 оказалось задачей нетривиальной. Наше знакомство с подобной интеграцией началось с двух клиентских задач:
Однако вначале давайте разберёмся «что это такое — ЭЦП» и «с чем её едят».
Личная подпись — один из идентификаторов человека. Законодательно и безнаказанно повторить её может только этот человек, только его рука. А если она (рука) не дееспособна, а важная сделка не должна сорваться — проводится специальная нотариальная процедура и подпись ставит доверенный человек.
Не будем скрывать — подпись подделывают. Дело мастерства и привычки. Хоть и выработаны технологии сверки — по нажиму, толщине, линиям — гарантом является только обладатель подписи. Любая непонятная другим закорючка признаётся легитимной со слов её автора.
Значимые сделки требуют второй «защиты личной подписи». Человека просят предъявить документ, удостоверяющий личность, с фотографией, поставить подпись в присутствии подтверждающего лица — нотариуса. Последний ручается — подписант выполнит пункты договора, доверенности, заявления.
Но участники процесса не всегда находятся в досягаемости друг от друга. Есть почта, но это затратно и долго.
Здесь и перейдем к электронной подписи. Она бывает трех видов (ФЗ от 06.04.2011 № 63-ФЗ «Об электронной подписи»).
Простая электронная подпись (ПЭП). Это привычная для нас пара «логин-пароль». Явные недостатки ПЭП начинаются с низкой надежности и заканчиваются отсутствием механизма защиты от изменений. Иногда её применение возможно даже в суде (например, документ, переданный по электронной почте, там ведь есть логин-пароль), но это сложно и далеко не во всех случаях срабатывает.
Неквалифицированная электронная подпись. Часто используют приставку «усиленная», но в законодательстве такого определения нет. Она, в отличие от ПЭП:
Квалифицированная электронная подпись. Также используют приставку «усиленная». Это то же самое, что и неквалифицированная, но с двумя важными дополнениями:
Везде по тексту под ЭЦП понимается именно усиленная квалифицированная или усиленная неквалифицированная подпись. |
Подведём промежуточный итог. Неквалифицированная подпись будет действительна только между лицами, которые заключили соглашение и признают подпись действительной. Квалифицированной подписью можно заверить практически любые документы. Они будут легитимны. Работа с УЦ — это аналог нотариального заверения. Исключение составляют счет-фактуры для зачета НДС. Электронные счет-фактуры передаются только через операторов электронного документооборота. Даже счет-фактура, подписанная по всем правилам ЭЦП, отправленная по электронной почте, не будет легитимной.
Вопрос выбора того или иного вида подписи зависит только от потребностей бизнес-процессов.
Следующий вопрос — что мы получаем на выходе? Документ с факсимиле, с водяным знаком? Какой формат документа с ЭЦП можно получить?
Есть два возможных исхода:
Контейнер («обычная» подпись). Как правило, это архив формата «*.sig». Там находятся подписанные документы, данные о сертификате, с помощью которого сделана подпись и сама подпись. Файл такого формата открывается только с помощью специального ПО. Использовать привычные Adobe Reader или MS Office не получится — они не приспособлены для работы с криптографией. Кроме самих данных, подписи и сертификата, пользователь может сохранить неподписанную копию документа.
«Встроенная» подпись. Мы получаем файл того же формата, что подали на подпись. В специальных областях подписанного документа размещаются данные о сертификате. Такая подпись возможна только для файлов формата:
PDF. Подпись невидима в теле документа, но отображается на панели подписей. По желанию, её можно визуализировать, например, в виде штампа. При клике на него видны данные о подписи. Кстати, именно в таком виде, как правило, подписывают и присылают документы ИФНС (также используется вариант xml).
MS Office. Подпись размещается в специальной области документа и видна на панели подписей или в свойствах файла.
XML. Подпись вместе с данными о ней содержится в области значений XML и встраивается в тот же XML-конверт, не изменяя начальные данные.
Вариант «встроенной подписи» наиболее удобен в использовании. Именно о нем пойдет речь в материале. |
Один документ разные стороны могут подписать исключительно единообразно: либо только ЭЦП, либо только в бумажном виде (например, договор между Заказчиком и Исполнителем). Подпись в бумажном виде не действительна в электронном, а подпись в электронном виде не действительна в бумажном. Это два разных документа.
Документ можно подписать сколько угодно раз. То есть сначала подписал сотрудник, потом бухгалтер, потом Генеральный директор.
Несколько документов, подписанных ЭЦП, можно в одном пакете (архиве) подписать общей совершенно другой ЭЦП. Другие же документы в пакете с ЭЦП также остаются легитимными.
Документы можно подписывать ЭЦП в автоматическом режиме. Предположим, сформировали счет на оплату в CRM — он автоматически подписался. Можно его отправлять клиенту, счет легитимен.
С видами подписей и вариантами результата разобрались. Теперь перейдем к выбору инструментов. Держим в уме, что есть конкретная задача — интегрировать ЭЦП на корпоративном портале Битрикс24.
Важный шаг — выбор компании поставщика ПО для реализации ЭЦП. Выбор пал на признанного лидера отрасли с широким инструментарием, которому нет аналога в РФ — КриптоПро. Для решения нашей задачи поставщик предложил несколько инструментов.
Криптопровайдер КриптоПро CSP устанавливается на ПК пользователя локально. Он подписывает документы, обращаясь к сертификату в реестре, на eToken или RuToken, смарт-картах и других носителях.
Процесс подписи
«Автоматический» режим (т.е. встроив в портал). При загрузке файла на сервер и нажатии на «Подписать» с помощью плагина для браузера будет сделан вызов к КриптоПро CSP. Он подпишет файл выбранными ключами, которые записаны в реестре, либо на eToken клиента. В таком режиме можно сделать только «обычную» (контейнер) и XML подпись, так как передается только хэш документа. Подписать внутрь PDF или документ MS Office не получится.
В «ручном» режиме (т.е. выйдя из портала) подпись генерирует сам клиент с помощью того ПО, которым он пользуется. Например, для подписи документа MS Office должны быть установлены MS Office, КриптоПро CSP и КриптоПро Office Signature. В интерфейсе MS Office пользователь добавляет подпись к документу, используя КриптоПро в качестве криптопровайдера. После этого подписанный файл загружается в личный кабинет функцией «приложить документ».
Плюсы
Минусы
КриптоПро DSS позволяет через браузер создать ЭЦП. Установка программы на ПК пользователя не требуется, подписывать документы можно с любого устройства в любом месте. Сертификаты с ключами хранятся на защищенном модуле в специально развернутых серверах КриптоПро.
В КриптоПро DSS можно настроить способ аутентификации пользователя:
Как происходит процесс подписи документа
Пользователь нажимает «Подписать». Генерируется запрос к КриптоПро DSS на подпись. Портал просит ввести ПИН-код доступа к сертификату (если установлено такое требование), и пользователь получает одноразовый пароль по SMS. После правильного ввода документ будет подписан и сохранён на портале, соответственно, отправлен далее по запланированному маршруту. Клиент видит только конечный результат, переходить в другое окно ему не требуется. Что важно и удобно, результат приходит в том же формате pdf -> pdf, docx -> docx.
Плюсы
Минусы
Это «облегчённая» версия КриптоПро DSS. Она предназначена для подписания документов ЭЦП в браузере с использованием ПО. Отличие от DSS — в качестве криптопровайдера используется ПО установленное на ПК пользователя, что позволяет использовать usb-Token и Смарт-Карты для подписи.
DSS lite — «режим» DSS (т.е. идет в составе продукта DSS). Процесс подписи происходит аналогично DSS. Нажатие «подписать» отправляет файл на сервер DSS lite, тот формирует хэш документа и запрашивает доступ к криптопровайдеру (CSP, установленный на ПК пользователя) с помощью плагина. Выгодное отличие — вы получаете pdf и документы MS Office в исходном виде со встроенной в сам документ подписью, а не в контейнере.
Плюсы
Минусы
Кстати, функциональность DSS и DSS lite позволяет добавлять визуальный штамп/печать/подпись по вашему выбору на документ. Сама ЭЦП невидима, а штамп — инструмент визуализации. |
ЭЦП — действительно нужное решение, прежде всего, для неизменности передаваемых документов, мобильности бизнес-процессов и сохранения времени.
Такую задачу поставили и нам — реализовать подпись на корпоративном портале 1С-Битрикс24. Нужен правильный функционал, удобство в использовании и грамотное вложение бюджета.
Но, как известно, теория часто не сопоставима с практикой. Решение реальных задач оказывается сложнее, но интереснее.
Перед крупной биофармацевтической компанией стояло две задачи:
Автоматизировать бизнес-процесс согласования документов.
Особенность — возможность выбора определенных участников согласования, его последовательность. Реализовать проект требовалось на стандартном модуле бизнес-процессов корпоративного портала «1С-Битрикс24». Для заказчика было важно разработать наглядный, простой и интуитивный интерфейс.
Эта задача решается без каких-либо сложностей. Но нельзя опустить тот факт, что стандартный модуль бизнес-процессов особой красотой и наглядностью не обладает. Поэтому совет, если вам нужен красивый сложный бизнес-процесс «под вас», то лучше не использовать стандартный модуль. Он накладывает рамки, стесняет и лишает простора.
Реализовать ЭЦП на корпоративном портале «1С-Битрикс24» для ведения авансовой отчетности.
В компании имеется отдел, главная задача которого распространять товар через промоушн, лоббирование интересов и другие виды личного воздействия на врачей, фармацевтов, представителей медицинской отрасли.
Для этого есть штат торговых представителей, разбросанных по всей стране, от Калининграда до Владивостока. Каждый агент продвигает продукт на своей, закреплённой территории. Чаще это его место жительства. Он несет издержки — встречи, транспортные расходы, питание — их возмещает компания. Процедура возмещения издержек — не что иное, как сдача авансовой отчетности, так знакомая нам по командировкам.
Ключевым и первичным моментом было пошагово описать бизнес-процесс сдачи авансовой отчетности. Хотя он стандартизирован и закреплен законодательно, но у каждой организации есть своя специфика. О ней мы поговорим позже. Идеальный же бизнес-процесс командировки, каким его задумало государство, выглядит так:
Генеральный директор подписывает приказ о направлении сотрудника в командировку. Часто эти приказы подписываются после командировки задним числом, но это не меняет дальнейший юридический ход процесса.
Командированный сотрудник получает денежные средства под отчет. Так он становится должником перед компанией.
Торговый представитель едет в командировку, сохраняет все билеты, чеки и другие подтверждающие документы. Это ключевой этап для возмещения средств. Все бумаги с информацией о расходах — первичная бухгалтерская документация, основание для увеличения расходов или уменьшения налогооблагаемой базы (прибыли организации). Разумеется, в законодательстве четко прописано, какие именно расходы могут быть зачтены, а какие нет. Все жестко стандартизировано.
Сотрудник по возвращению из командировки составляет авансовый отчет, чтобы с него «списали» долг. К авансовому отчету сотрудник прикладывает все подтверждающие документы: чеки, билеты и прочее.
Любой авансовый отчет, согласно российскому законодательству, в обязательном порядке имеет три подписи: командированного сотрудника, главного бухгалтера и генерального директора. В маленьких организациях генеральный директор может совмещать должность главного бухгалтера, а в больших — появляется подпись руководителя сотрудника.
После сдачи авансового отчета, сотрудник обязан вернуть остаток средств или получить недостающие.
Процесс, который нам нужно было автоматизировать для клиента идентичен по функциям, но имеет свои особенности:
Сотрудники находятся в командировках перманентно — все рабочее время. Даже посещение главного офиса — командировка, ведь сотрудники имеют постоянное место жительства, как правило, не в Москве.
Если подотчетные деньги на исходе, то следующий транш может быть выдан только после отчета по предыдущим. Именно тут возникало много сложностей, например:
Переложение этого процесса систематизации и оптимизации авансовой отчетности в ИТ-среду было поэтапным.
Изначально мы посмотрели на задачу через призму законодательства. Какие ограничения оно накладывает, что можно, а что нельзя. Вердикт: сдавать авансовую отчетность в цифровом формате не запрещено.
Так как данный бизнес-процесс планировалось реализовать на корпоративном портале Битрикс24, мы изучили вопрос интеграции ЭЦП в портал. Что важно, весь процесс должен проходить в режиме одного окна, т.е. из портала.
Как оказалось, до этого никто ничего подобного не делал. По словам КриптоПро — признанных лидеров в области криптографической защиты информации и ЭЦП в России — мы первые реализовали интеграцию с их сервисом на PHP. |
Но самая большая сложность была вот в чем. Торговые представители пользуются только одним девайсом — корпоративным iPad. Подобные мобильные устройства не очень любят работать с сертификатами в реестрах или на внешних ключах (токенах, смарт-картах), по-настоящему удобных решений не так много. Мы остановились на интеграции с КриптоПро DSS.
В итоге автоматизированный бизнес-процесс авансовой отчетности работает следующим образом:
Каждому торговому представителю, выдается сертификат ЭЦП, его личный, именной (в принципе, он другим быть и не может).
При необходимости сдать авансовый отчет, сотрудник на своем планшете iPad, заходит на корпоративный портал компании и попадет в свой личный баланс.
Там он создает новый авансовый отчет, пошагово заполняя все строчки. Расходы он записывает с чеков, которые находятся в его руках. Параллельно агент фотографирует чеки на тот же iPad, и прикрепляет их к онлайн авансовому отчету.
В этот момент в 1С создаётся черновик авансового отчета, которому присваивается порядковый номер, это очень важный момент.
Когда все заполнено, форма авансового отчета создается автоматически. Она типовая, поэтому вероятность, что форма будет меняться — минимальна.
Сотрудник проверяет форму и подписывает её ЭЦП. Сам процесс подписи происходит по следующему алгоритму:
Пользователь на корпоративном портале жмет кнопку «подписать ЭЦП».
Документ через SOAP протокол без открытия дополнительных окон отправляется в КриптоПро DSS. КриптоПро DSS идентифицирует пользователя тремя шагами:
Логин/пароль от сервиса DSS — для удобства они совпадают с логин/паролем от портала. Получается, что вводить ничего не надо, пользователь сразу переходит ко второму шагу проверки.
ПИН-код, состоящий из 4 или 5 цифр (на выбор пользователя). Теперь сервис DSS может использовать сертификат, который хранится в его реестре на сервере.
Одноразовый пароль — SMS на мобильный телефон. Один документ – одно SMS.
Кстати, КриптоПро позволяют оставить в качестве проверки только ПИН-код или только SMS для экономии времени. Бухгалтеры заказчика так и поступили, оставив лишь ПИН-код.
Подписанный документ отправляется к руководителю сотрудника. Он проверяет форму отчета, лимиты, сверяет с фотографиями чеков. Если что-то не так — возвращает на доработку сотруднику с комментариями. Всё в порядке — подписывает документ с помощью облачного ЭЦП и отправляет на следующий шаг согласования.
Бухгалтер также подписывает документ ЭЦП и отправляет генеральному директору. На этом этапе бухгалтеру остается только провести уже заполненный и сохраненный авансовый отчет в 1С. С этого момента может выдаваться новый транш.
Генеральный директор подписывает отчет ЭЦП. На самом деле подпись директора уже формальность, необходимая по законодательству — отчет проверен руководителем, бухгалтером и документы для новой командировки могут уже готовиться.
После этого сотруднику выдаются новые денежные средства, и его виртуальный счет на корпоративном портале пополняется, обновляется сальдо.
Сотруднику приходит уведомление, что авансовый отчет подписан. Он отправляет оригиналы чеков в головной офис, и бухгалтер сверяет их с отчетом. Как правило, все совпадает, но если вскрываются факты жульничества и чека не хватает (хотя на фото он есть), авансовый отчет в 1С правится, а к сотруднику применяются меры воздействия.
В процессе интеграции портала и КриптоПро DSS на стороне КриптоПро возникли сложности. Их ПО почему-то отказывалось работать по своей же документации. Но, в конечном счете, КриптоПро проявили профессионализм и исправили ошибки. |
На данный момент внедрение такой системы отработано, она исправна. Разработан уникальный модуль интеграции, позволяющий по протоколу soap передавать данные. Для пользователя это означает, что не надо переходить по ссылкам, не надо покидать окна корпоративного портала для подписи документов. Это очень удобно. Для компаний с большим количеством удаленных сотрудников, с многоэтапной подписью документов интегрированная подобным образом ЭЦП — спасательный круг в море бумажной волокиты и курьерской службы.
К сожалению, не доступен сервер mySQL