Электронная цифровая подпись в Битрикс24. Опыт внедрения

Автор: Мелдажис Павел, ведущий специалист департамента корпоративных решений
Источник: Хабрахабр, « Электронная подпись в Битрикс24. Теория и опыт внедрения»
Июнь 2017 г.

Ниже полная версия статьи.

Про работу и терминологию

ЭЦП инструмент удобный и давно знакомый почти каждому, кто работает с удаленным документооборотом. Однако реализовать ЭЦП на Корпоративном портале Битрикс24 оказалось задачей нетривиальной. Наше знакомство с подобной интеграцией началось с двух клиентских задач:

  • Стандартной — внедрить подпись документации удаленно.
  • Нестандартной — дать возможность сотрудникам, разбросанным по всей территории России, отлажено и вовремя сдавать авансовую отчетность.

Однако вначале давайте разберёмся «что это такое ЭЦП» и «с чем её едят».

Личная подпись — один из идентификаторов человека. Законодательно и безнаказанно повторить её может только этот человек, только его рука. А если она (рука) не дееспособна, а важная сделка не должна сорваться — проводится специальная нотариальная процедура и подпись ставит доверенный человек.

Не будем скрывать — подпись подделывают. Дело мастерства и привычки. Хоть и выработаны технологии сверки — по нажиму, толщине, линиям — гарантом является только обладатель подписи. Любая непонятная другим закорючка признаётся легитимной со слов её автора.

Значимые сделки требуют второй «защиты личной подписи». Человека просят предъявить документ, удостоверяющий личность, с фотографией, поставить подпись в присутствии подтверждающего лица — нотариуса. Последний ручается — подписант выполнит пункты договора, доверенности, заявления.

Но участники процесса не всегда находятся в досягаемости друг от друга. Есть почта, но это затратно и долго.

Здесь и перейдем к электронной подписи. Она бывает трех видов (ФЗ от 06.04.2011 № 63-ФЗ «Об электронной подписи»):

  1. Простая электронная подпись (ПЭП). Это привычная для нас пара «логин-пароль». Явные недостатки ПЭП начинаются с низкой надежности и заканчиваются отсутствием механизма защиты от изменений. Иногда её применение возможно даже в суде (например, документ, переданный по электронной почте, там ведь есть логин-пароль), но это сложно и далеко не во всех случаях срабатывает.
  2. Неквалифицированная электронная подпись. Часто используют приставку «усиленная», но в законодательстве такого определения нет. Она, в отличие от ПЭП:
    • результат криптографии;
    • содержит идентификатор подписанта;
    • позволяет определить внесены ли изменения в электронный документ.
  3. Квалифицированная электронная подпись. Также используют приставку «усиленная». Это то же самое, что и неквалифицированная, но с двумя важными дополнениями:
    • Сертификат выдан Аккредитованным удостоверяющим центром (далее УЦ). УЦ проверяет все нужные документы и выступает гарантом подлинности данных. Информация об авторе подписи хранится в УЦ. В случае спора, недопонимания личные данные проверяют, поэтому в каждом сертификате находится информация об удостоверяющем центре, который его выдал.
    • ПО для подписи сертифицировано ФСБ России.
Везде по тексту под ЭЦП понимается именно усиленная квалифицированная
или усиленная неквалифицированная подпись.

Подведём промежуточный итог. Неквалифицированная подпись будет действительна только между лицами, которые заключили соглашение и признают подпись действительной. Квалифицированной подписью можно заверить практически любые документы. Они будут легитимны. Работа с УЦ — это аналог нотариального заверения. Исключение составляют счет-фактуры для зачета НДС. Электронные счет-фактуры передаются только через операторов электронного документооборота. Даже счет-фактура, подписанная по всем правилам ЭЦП, отправленная по электронной почте, не будет легитимной.

Вопрос выбора того или иного вида подписи зависит только от потребностей бизнес-процессов.

Что на выходе?
Форматы документов с ЭЦП

Следующий вопрос — что мы получаем на выходе? Документ с факсимиле, с водяным знаком? Какой формат документа с ЭЦП можно получить?

Есть два возможных исхода:

  1. Контейнер («обычная» подпись). Как правило, это архив формата «*.sig». Там находятся подписанные документы, данные о сертификате, с помощью которого сделана подпись и сама подпись. Файл такого формата открывается только с помощью специального ПО. Использовать привычные Adobe Reader или MS Office не получится — они не приспособлены для работы с криптографией. Кроме самих данных, подписи и сертификата, пользователь может сохранить неподписанную копию документа.

    konteine

  2. «Встроенная» подпись. Мы получаем файл того же формата, что подали на подпись. В специальных областях подписанного документа размещаются данные о сертификате. Такая подпись возможна только для файлов формата:
    • PDF. Подпись невидима в теле документа, но отображается на панели подписей. По желанию, её можно визуализировать, например, в виде штампа. При клике на него видны данные о подписи. Кстати, именно в таком виде, как правило, подписывают и присылают документы ИФНС (также используется вариант xml). PDF
    • MS Office. Подпись размещается в специальной области документа и видна на панели подписей или в свойствах файла. MS
    • XML. Подпись вместе с данными о ней содержится в области значений XML и встраивается в тот же XML-конверт, не изменяя начальные данные.
Вариант «встроенной подписи» наиболее удобен в использовании.
Именно о нем пойдет речь в наших материалах.

Неочевидные тонкости ЭЦП

  • Один документ разные стороны могут подписать исключительно единообразно: либо только ЭЦП, либо только в бумажном виде (например, договор между Заказчиком и Исполнителем). Подпись в бумажном виде не действительна в электронном, а подпись в электронном виде не действительна в бумажном. Это два разных документа.
  • Документ можно подписать сколько угодно раз. То есть сначала подписал сотрудник, потом бухгалтер, потом Генеральный директор.
  • Несколько документов, подписанных ЭЦП, можно в одном пакете (архиве) подписать общей совершенно другой ЭЦП. Другие же документы в пакете с ЭЦП также остаются легитимными.
  • Документы можно подписывать ЭЦП в автоматическом режиме. Предположим, сформировали счет на оплату в CRM — он автоматически подписался. Можно его отправлять клиенту, счет легитимен.

Про инструменты и возможности

С видами подписей и вариантами результата разобрались. Теперь перейдем к выбору инструментов. Держим в уме, что есть конкретная задача — интегрировать ЭЦП на корпоративном портале Битрикс24.

Важный шаг — выбор компании поставщика ПО для реализации ЭЦП. Выбор пал на признанного лидера отрасли с широким инструментарием, которому нет аналога в РФ — КриптоПро. Для решения нашей задачи поставщик предложил несколько инструментов.

КриптоПро CSP (СКЗИ)

Криптопровайдер «КриптоПро CSP» устанавливается на ПК пользователя локально. Он подписывает документы, обращаясь к сертификату в реестре, на eToken или RuToken, смарт-картах и других носителях.

CSP

Процесс подписи

  • «Автоматический» режим (т.е. встроив в портал). При загрузке файла на сервер и нажатии на «Подписать» с помощью плагина для браузера будет сделан вызов к КриптоПро CSP. Он подпишет файл выбранными ключами, которые записаны в реестре, либо на eToken клиента. В таком режиме можно сделать только «обычную» (контейнер) и XML подпись, так как передается только хэш документа. Подписать внутрь PDF или документ MS Office не получится.
  • В «ручном» режиме (т.е. выйдя из портала) подпись генерирует сам клиент с помощью того ПО, которым он пользуется. Например, для подписи документа MS Office должны быть установлены MS Office, КриптоПро CSP и КриптоПро Office Signature. В интерфейсе MS Office пользователь добавляет подпись к документу, используя КриптоПро в качестве криптопровайдера. После этого подписанный файл загружается в личный кабинет функцией «приложить документ».

Плюсы

  • Не требуется подключение к интернету.
  • Можно использовать переносной usb-Token.
  • Самый дешевый вариант с точки зрения ПО КриптоПро, но не интеграции.

Минусы

  • Документы MS Office или pdf подписать внутрь файла можно только вручную, в «автоматическом» режиме можно получить только контейнер.
  • Подпись происходит с помощью плагинов, что создает неудобства. Они менее надежны. Многие браузеры отказываются от технологий, на которых пишут плагины, усложняется интеграция. Это существенно увеличивает стоимость технической реализации и поддержки работы ПО в будущем.
  • Пользователь сам отвечает за рабочее состояние CSP. Требуется актуальная версия всех программ, компонентов. Обновления происходят часто, следовательно, процедуру «настройки» придется проходить каждый раз заново, что создает неудобства.

КриптоПро DSS

КриптоПро DSS позволяет через браузер создать ЭЦП. Установка программы на ПК пользователя не требуется, подписывать документы можно с любого устройства в любом месте. Сертификаты с ключами хранятся на защищенном модуле в специально развернутых серверах КриптоПро.

DSS

В КриптоПро DSS можно настроить способ аутентификации пользователя:

  • по логину и паролю;
  • с использованием кода доступа к сертификату (ПИН-код, 4-5 цифр);
  • с использованием цифровых сертификатов, usb-Token или смарт-карт (в режиме DSS lite, подробности ниже);
  • с дополнительным вводом одноразового пароля, доставляемого пользователю посредством SMS (OTP-via-SMS).

Как происходит процесс подписи документа

Пользователь нажимает «Подписать». Генерируется запрос к КриптоПро DSS на подпись. Портал просит ввести ПИН-код доступа к сертификату (если установлено такое требование), и пользователь получает одноразовый пароль по SMS. После правильного ввода документ будет подписан и сохранён на портале, соответственно, отправлен далее по запланированному маршруту. Клиент видит только конечный результат, переходить в другое окно ему не требуется. Что важно и удобно, результат приходит в том же формате pdf -> pdf, docx -> docx.

Плюсы

  • Поддержка системы (работоспособность, обновления и т.д.) на плечах КриптоПро. Отдали запрос — получили результат, остальное не наши заботы.
  • Поддержка подписи pdf и MS Office, т.е. для просмотра не требуется специализированных инструментов в отличие от контейнера.
  • Самый удобный для пользователя и стабильный способ интеграции, а также беспроблемный для техподдержки и администрирования.
  • Преимущество — подписывать документы можно с мобильного телефона.

Минусы

  • Для подписи требуется подключение к интернету.
  • Относительная дороговизна и более сложная процедура подключения к DSS. Используется схема с оператором. Подключение оператора на данный момент 39 000 руб./год плюс стоимость сертификатов. Говорят, что скоро использовать операторов при работе не придется. Очень ждем.

КриптоПро DSS lite

Это «облегчённая» версия КриптоПро DSS. Она предназначена для подписания документов ЭЦП в браузере с использованием ПО. Отличие от DSS — в качестве криптопровайдера используется ПО установленное на ПК пользователя, что позволяет использовать usb-Token и Смарт-Карты для подписи.

DSS lite

DSS lite — режим DSS (т.е. идет в составе продукта DSS). Процесс подписи происходит аналогично DSS. Нажатие «подписать» отправляет файл на сервер DSS lite, тот формирует хэш документа и запрашивает доступ к криптопровайдеру (CSP, установленный на ПК пользователя) с помощью плагина. Выгодное отличие — мы получаем pdf и документы MS Office в исходном виде со встроенной в сам документ подписью, а не в контейнере.

Плюсы

  • Поддержка подписи pdf и MS Office. Для просмотра подписанного документа не требуется специализированных инструментов.
  • С DSS lite подключать оператора не нужно, достаточно «купить» доступ к DSS lite.
  • Можно использовать переносный usb-Token.

Минусы

  • Подпись происходит с помощью плагинов, что создает неудобства (о них говорили выше).
  • Поддержка работоспособности лежит на плечах пользователя — та же проблема, что и с CSP.
  • Для подписи требуется подключение к интернету.
  • DSS lite требует нового сертификата или перевыпуска старого, что, по сути, равносильно. Прежний сертификат, пусть и от КриптоПро, невозможно вшить в программу.
Кстати, функциональность DSS и DSS lite позволяет добавлять визуальный штамп/печать/подпись по вашему выбору на документ. Сама ЭЦП невидима,
а штамп — инструмент визуализации.

Практический опыт внедрения

ЭЦП — действительно нужное решение, прежде всего, для неизменности передаваемых документов, мобильности бизнес-процессов и сохранения времени.

Такая задача стояла и перед нами — реализовать подпись на корпоративном портале 1С-Битрикс24. Нужен правильный функционал, удобство в использовании и грамотное вложение бюджета.

Но, как известно, теория часто не сопоставима с практикой. Решение реальных задач оказывается сложнее, но интереснее.

Крупная биофармацевтическая компания обратилась к нам с двумя задачами:

  • Автоматизировать бизнес-процесс согласования документов.
    Особенность — возможность выбора определенных участников согласования, его последовательность. Реализовать проект требовалось на стандартном модуле бизнес-процессов корпоративного портала «1С-Битрикс24». Для заказчика было важно разработать наглядный, простой и интуитивный интерфейс.
    С этой задачей мы справились без каких-либо сложностей. Но нельзя опустить тот факт, что стандартный модуль бизнес-процессов особой красотой и наглядностью не обладает. Поэтому совет, если вам нужен красивый сложный бизнес-процесс «под вас», то лучше не использовать стандартный модуль. Он накладывает рамки, стесняет и лишает простора творческую мысль исполнителя.
    Показав свою компетенцию в решении первой задачи, мы перешли к следующей, более креативной и технически сложной.
  • Реализовать ЭЦП на корпоративном портале «1С-Битрикс24» для ведения авансовой отчетности.

Предпроектные работы

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

Для этого есть штат торговых представителей, разбросанных по всей стране, от Калининграда до Владивостока. Каждый агент продвигает продукт на своей, закреплённой территории. Чаще это его место жительства. Он несет издержки — встречи, транспортные расходы, питание — их возмещает компания. Процедура возмещения издержек — не что иное, как сдача авансовой отчетности, так знакомая нам по командировкам.

Ключевым и первичным моментом было пошагово описать бизнес-процесс сдачи авансовой отчетности. Хотя он стандартизирован и закреплен законодательно, но у каждой организации есть своя специфика. О ней мы поговорим позже. Идеальный же бизнес-процесс командировки, каким его задумало государство, выглядит так:

  1. Генеральный директор подписывает приказ о направлении сотрудника в командировку. Часто эти приказы подписываются после командировки задним числом, но это не меняет дальнейший юридический ход процесса.
  2. Командированный сотрудник получает денежные средства под отчет. Так он становится должником перед компанией.
  3. Торговый представитель едет в командировку, сохраняет все билеты, чеки и другие подтверждающие документы. Это ключевой этап для возмещения средств. Все бумаги с информацией о расходах — первичная бухгалтерская документация, основание для увеличения расходов или уменьшения налогооблагаемой базы (прибыли организации). Разумеется, в законодательстве четко прописано, какие именно расходы могут быть зачтены, а какие нет. Все жестко стандартизировано.
  4. Сотрудник по возвращению из командировки составляет авансовый отчет, чтобы с него «списали» долг. К авансовому отчету сотрудник прикладывает все подтверждающие документы: чеки, билеты и прочее.
  5. Любой авансовый отчет, согласно российскому законодательству, в обязательном порядке имеет три подписи: командированного сотрудника, главного бухгалтера и генерального директора.
  6. В маленьких организациях генеральный директор может совмещать должность главного бухгалтера, а в больших — появляется подпись руководителя сотрудника. После сдачи авансового отчета, сотрудник обязан вернуть остаток средств или получить недостающие.

Процесс, который нам нужно было автоматизировать для клиента идентичен по функциям, но имеет свои особенности:

  1. Сотрудники находятся в командировках ВСЕГДА — все рабочее время. Даже посещение главного офиса — командировка, ведь сотрудники имеют постоянное место жительства, как правило, не в Москве.
  2. Если подотчетные деньги на исходе, то следующий транш может быть выдан только после отчета по предыдущим. Именно тут возникало много сложностей, например:
    • В связи с удаленностью сотрудников (Сибирь, Урал) оригиналы авансовых отчетов могли идти очень долго. А исправление ошибок — лишняя трата времени, средств на курьерскую службу, волокита с переподписанием и изменением дат. Очень вероятно, что отчетный период к моменту прибытия оригиналов может быть уже закрыт.
    • Сотрудников множество, каждый отчитывается примерно раз в месяц, многие что-то забывают, теряют — бухгалтерам было трудно привести в соответствие документы. А ведь бухгалтер должен отразить операцию в своей системе, и не забыть, что сотрудник обещал донести или дослать.
    • У каждого сотрудника есть денежный лимит, но в каждом правиле есть исключения. За этими исключениями следят руководители, именно они в курсе конкретной ситуации у сотрудника.

Переложение этого процесса систематизации и оптимизации авансовой отчетности в ИТ-среду было поэтапным.

Внедрение

Изначально мы посмотрели на задачу через призму законодательства. Какие ограничения оно накладывает, что можно, а что нельзя. Вердикт: сдавать авансовую отчетность в цифровом формате не запрещено.

Так как данный бизнес-процесс планировалось реализовать на корпоративном портале, мы изучили вопрос интеграции ЭЦП в портал. Что важно, весь процесс должен проходить в режиме одного окна, т.е. из портала.

Как оказалось, до этого никто ничего подобного не делал. По словам КриптоПро — признанных лидеров в области криптографической защиты информации и ЭЦП в России — мы первые реализовали интеграцию с их сервисом на PHP.

Павел Мелдажис, ведущий специалист департамента корпоративных решений

Но самая большая сложность была вот в чем. Торговые представители пользуются только одним девайсом — корпоративным iPad. Подобные мобильные устройства не очень любят работать с сертификатами в реестрах или на внешних ключах (токенах, смарт-картах), по-настоящему удобных решений не так много. Мы остановились на интеграции с КриптоПро DSS.

В итоге автоматизированный бизнес-процесс авансовой отчетности в биофармацевтической компании работает следующим образом.

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

При необходимости сдать авансовый отчет, сотрудник на своем планшете iPad, заходит на корпоративный портал компании и попадет в свой личный баланс. Отчет в работе

Там он создает новый авансовый отчет, пошагово заполняя все строчки. Расходы он записывает с чеков, которые находятся в его руках. Параллельно агент фотографирует чеки на тот же iPad, и прикрепляет их к онлайн авансовому отчету.


В этот момент в 1С создаётся черновик авансового отчета, которому присваивается порядковый номер, это очень важный момент.

Когда все заполнено, форма авансового отчета создается автоматически. Она типовая, поэтому вероятность, что форма будет меняться — минимальна. Сотрудник проверяет форму и подписывает её ЭЦП. Сам процесс подписи происходит по следующему алгоритму:

  • Пользователь на корпоративном портале жмет кнопку «подписать ЭЦП».
  • Документ через SOAP протокол без открытия дополнительных окон отправляется в КриптоПро DSS. КриптоПро DSS идентифицирует пользователя тремя шагами:
    • Логин/пароль от сервиса DSS — для удобства они совпадают с логин/паролем от портала. Получается, что вводить ничего не надо, пользователь сразу переходит ко второму шагу проверки.
    • ПИН-код, состоящий из 4 или 5 цифр (на выбор пользователя). Теперь сервис DSS может использовать сертификат, который хранится в его реестре на сервере.
    • Одноразовый пароль — SMS на мобильный телефон. Один документ — одно SMS.

      Отчет
      Кстати, КриптоПро позволяют оставить в качестве проверки только ПИН-код или только SMS для экономии времени. Бухгалтеры биофармацевтической компании так и поступили, оставив лишь ПИН-код.

Подписанный документ отправляется к руководителю сотрудника. Он проверяет форму отчета, лимиты, сверяет с фотографиями чеков. Если что-то не так — возвращает на доработку сотруднику с комментариями. Всё в порядке — подписывает документ с помощью облачного ЭЦП и отправляет на следующий шаг согласования.

Бухгалтер также подписывает документ ЭЦП и отправляет генеральному директору. На этом этапе бухгалтеру остается только провести уже заполненный и сохраненный авансовый отчет в 1С. С этого момента может выдаваться новый транш.

Генеральный директор подписывает отчет ЭЦП. На самом деле подпись директора уже формальность, необходимая по законодательству — отчет проверен руководителем, бухгалтером и документы для новой командировки могу уже готовиться.

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

Сотруднику приходит уведомление, что авансовый отчет подписан. Он отправляет оригиналы чеков в головной офис, и бухгалтер сверяет их с отчетом. Как правило, все совпадает, но если вскрываются факты жульничества и чека не хватает (хотя на фото он есть), авансовый отчет в 1С правится, а к сотруднику применяются меры воздействия.

Результат

На данный момент внедрение такой системы отработано, она исправна. Мы разработали готовый уникальный модуль интеграции, позволяющий по протоколу soap передавать данные. Для пользователя это означает, что не надо переходить по ссылкам, не надо покидать окна корпоративного портала для подписи документов. Это очень удобно. Такой принцип работы мы также реализовали для крупного агрохолдинга. С одним изменением — интеграция проходит с КриптоПро DSS lite.

Теперь выбор остаётся только за вами. Систематизация и автоматизация внутренних бизнес-процессов компании — дальнейшая экономия средств, времени и шаг вперёд к полному цифровому документообороту. Для компаний с большим количеством удаленных сотрудников, с многоэтапной подписью документов интегрированная подобным образом ЭЦП — спасательный круг в море бумажной волокиты и курьерской службы.

Внедрить ЭЦП
Свяжитесь с нами, если вам необходима консультация и оценка.
Позвоните по телефону (495) 660 37 78 или отправьте нам письмо
на адрес hello@arealidea.ru. Не забудьте рассказать о вашей компании, цели проекта,
имеющихся наработках и оставить свои контактные данные.
Свяжитесь с нами, если вам необходима консультация и оценка. Позвоните по телефону (495) 660 37 78 или отправьте нам письмо на адрес hello@arealidea.ru. Не забудьте рассказать о вашей компании, цели проекта, имеющихся наработках и оставить свои контактные данные.