Мобильные решения DIRECTUM и электронная подпись

22 20

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

Можно ли подписывать документы с мобильных устройств?

Можно!
На текущий момент возможность подписания доступна в следующих мобильных приложениях DIRECTUM:

  • DIRECTUM Jazz для Android
  • DIRECTUM Solo для Android
  • DIRECTUM Solo для Windows

Ввиду особенностей ОС Android  и мобильных приложений DIRECTUM, подписывать документы на ней сейчас возможно только с использованием криптопровайдера КриптоПРО. В будущих версиях планируется расширить возможности по поддержке разных криптопровайдеров.

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

Представим, что мы работаем в организации где с системой DIRECTUM работают порядка 300-400 человек. Бизнес-процессы компании уже автоматизированы на 2/3 от общего количества, и для согласования и подписания важных документов используются типовые маршруты системы DIRECTUM. Примерно 40+ человек - это руководители и топ-менеджеры, которые хотят использовать свои мобильные устройства с пользой во время выездов\командировок\вне офиса. 

DIRECTUM Jazz для Android

Что необходимо приобрести?

Нам потребуется следующее:

  1. Серверная лицензия DIRECTUM Jazz.
  2. Лицензия на право использования СКЗИ "КриптоПро CSP" версии 4.0 на одном рабочем месте.
  3. Лицензия на право использования СКЗИ "КриптоПро CSP" версии 4.0 на сервере, если требуется выдача сертификатов для подписания собственным УЦ. 
    На сервере, где установлен сервер NOMAD, требуется установка КриптоПРО CSP 4.0.

Выдержка из прайс-листа КриптоПРО, может быть неактуальна на момент прочтения статьи. Уточнять на сайте КриптоПРО.

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

Безопасность

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

Настройка

Когда лицензии все куплены и система DIRECTUM активирована новым ключом, начинаем настройку серверной части.

  • Устанавливаем сервер NOMAD для DIRECTUM в соответствии с документом "Сервер NOMAD 1.9. Инструкция по установке и удалению".
  • Для выдачи сертификатов пользователям разворачиваем Удостоверяющий центр КриптоПРО на сервере в соответствии с документом "КриптоПро УЦ Руководство по установке".

Примечание: руководство по настройке УЦ и все консультации по разворачиванию УЦ КриптоПРО необходимо запрашивать у компании КриптоПРО.

Особенности настройки серверной части:

На сервере где установлен сервер NOMAD, необходим пакет КриптоПРО CSP 4.0. При этом документы на данном сервере фактически не будут подписываться, а значит лицензию на рабочее место сюда покупать не нужно, достаточно только установить ПО.

При создании контейнера закрытого ключа необходимо четко следовать следующим действиям:

  1. Запросите ключ у своего УЦ КриптоПРО.
  2. По мере прохождения шагов при запросе ключа вам будет предложено сохранить закрытый ключ в реестр или на носитель. Можно выбрать любой вариант, но более быстрый и безопасный способ - сохранить ключ на носитель. На носителе создастся папка с наименованием вида "le-9ea2b.000", в которой будут 6 необходимых нам файлов. 
    Если вы выбрали вариант "сохранить в реестр", то смотрите пункт 3.
  3. Откройте программу КриптоПРО CSP и перейдите на вкладку «Сервис».
  4. Нажмите на кнопку "Скопировать…", в появившемся окне выберите имя ключевого контейнера через "Обзор" или "По сертификату" и нажмите на кнопку Далее.
  5. Введите пароль от контейнера. Приложение предложит сохранить ключ на внешний носитель и установить новый пароль на контейнер.

Примечание: есть неочевидная особенность у ПО КриптоПРО и Microsoft Windows, которая заключается в том, что если сохраненный в реестре закрытый ключ экспортировать в формат PFX, дальнейшее использование его на мобильном устройстве будет невозможно. При попытке добавить его на мобильном устройстве будут возникать ошибки.

Далее экспортируйте открытый ключ и установите его в систему DIRECTUM пользователю, который будет использовать DIRECTUM Jazz.

Далее идём в мобильное приложение и продолжаем настройку в нём:

  1. Выполняем вход в приложение DIRECTUM Jazz и авторизуемся.
  2. Дожидаемся загрузки всех данных пользователя.
  3. Заходим в Настройки>> Сертификаты:
  4. В появившемся окне будут отображены наименования сертификатов пользователя в DIRECTUM. Жмём "Добавить ключ".
  5. С помощью файлового менеджера ищем папку, в которой лежит наш контейнер закрытого ключа, и выбираем один из 6 файлов (неважно какой).
  6. Вводим пароль. Видим сообщение "Ключ добавлен".

После всех вышеописанных действий мы сможем подписывать документы в DIRECTUM Jazz.

DIRECTUM Solo для Android

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

Что необходимо приобрести?

Нам потребуется следующее:

  1. Клиентская лицензия DIRECTUM Solo для Android.
  2. Лицензия на право использования СКЗИ "КриптоПро CSP" версии 4.0 на одном рабочем месте.
  3. Лицензия на право использования СКЗИ "КриптоПро CSP" версии 4.0 на сервере, если требуется выдача сертификатов для подписания собственным УЦ. 
    На сервере, где установлен сервер NOMAD, требуется установка КриптоПРО CSP 4.0.

Дальнейшая настройка серверной и клиентской части полностью аналогична с DIRECTUM Jazz, поэтому описывать повторно её не буду.

DIRECTUM Solo для Windows

Для использовании ЭП в мобильном решении можно использовать библиотеки Microsoft Capicom и КриптоПРО CSP. Если подписание документов вам необходимо в компании только для внутренних бизнес-процессов, то достаточно использовать Microsoft Capicom. Если же вы собираетесь обмениваться документами с другими организациями в электронном виде, вам необходимо будет приобрести лицензии КриптоПРО. Так как сценарий покупки и настройки КриптоПРО не отличается от обычной ситуации с подписанием на стационарном компьютере под управлением ОС Windows, то описывать его не буду. Опишу вариант, когда используем ЭП только внутри компании с помощью Microsoft Capicom.

Что необходимо приобрести?

Нам потребуется следующее:

  1. Серверная лицензия DIRECTUM Solo для Windows.
  2. Клиентская лицензия DIRECTUM Solo для Windows.

Настройка

Вся установка проходит в соответствии с инструкцией "DIRECTUM Solo для Windows 2.1. Инструкция по установке и удалению", которая входит в комплект поставки мобильного решения.

Настраиваем пользователя DIRECTUM для работы с ЭП:

Безопасность

Настройка защищенного соединения описана в инструкции "DIRECTUM Solo для Windows 2.1. Инструкция по установке и удалению". Где хранить закрытый ключ от вашего сертификата  - решать вам, можно в реестре на планшете, на внутренней памяти планшета, или на флеш-накопителе.

После установки клиентской части DIRECTUM Solo для Windows зарегистрируйте библиотеку для подписания документов электронной подписью:

  1. Разархивируйте файл SBWebEncryption.cab в папку %LOCALAPPDATA%\NPO Computer\Shared\Components. Если папки Components не существует, создайте ее. Файл SBWebEncryption.cab входит в архив DIRECTUMSolo.zip.
  2. Зарегистрируйте полученный файл SBWebEncryption.ocx с помощью утилиты regsvr32. Подробнее см. в Microsoft Developer Network, статья Regsvr32.
  3. Зарегистрируйте библиотеку capicom.dll на сервере с установленной клиентской частью.

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

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

Евгений Стоянов

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

Евгений Куликов
Хорошая статья, думаю это должно быть именно в инструкции по установке и настройке этих продуктов. В имеющихся инструкциях очень расплывчато всё.

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

Дмитрий Русин

Все здорово, но есть одна проблемка... Если вы купили новенький хорошенький телефон на Android, у меня для вас плохая новость... Есть вероятность того, что в нем архитектура процессора будет x64, а это значит что плагин КриптоПро на нем работать не будет. И соответственно подписывать документы в Directum Jazz вы не сможете. Вот такая вот беда.

Павел Шутов
Все здорово, но есть одна проблемка... Если вы купили новенький хорошенький телефон на Android...

Да Дмитрий, действительно сейчас есть такая особенность плагина КриптоПРО. 

На текущий момент мы внимательно следим за обновлением плагина и ведем переписку с компанией КриптоПРО. Сотрудники компании КриптоПРО работают над созданием плагина с поддержкой 64-битных систем. Ожидаемая дата релиза середина, конец лета 2016. Так что ждём выхода плагина, затем тестируем у себя и отдаем в работу своим клиентам.

Илья Акчурин

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

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

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

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

Илья Акчурин
Причем нет разницы - будет выдан ключ ГОСТовский, либо вашим УЦ под стандартные алгоритмы MS.

Вобщем мой вопрос в этом и состоял. Если я выпускаю ключ не центром сертификации crypto pro, а своим установленным от Microsoft, то такой ключ можно использовать для подписания документов в приложении?

Александр Боргатин
Лицензия на право использования СКЗИ "КриптоПро CSP" версии 4.0 на сервере.

Версия 3.9 не подойдет?

Иван Пивоваров
Версия 3.9 не подойдет?

Требуется именно КриптоПро CSP 4.0, так как поддержка мобильной платформы Android появилась только в этой версии. Таблица сравнений версии КриптоПро - https://www.cryptopro.ru/products/csp/compare.

Виктор Зуев

Присоединяюсь к вопросу Ильи Акчурина. У нас есть настроенный CA от Microsoft. У всех пользователей уже имеются сертификаты для подписи. Зачем нам ставить еще один сторонний сервер сертификации? Возможно-ли использовать те-же самые сертификаты как на ПК, так и на мобильных устройствах? Будет-ли плагин КриптоПро работать с сертификатами, выданными в MS CA?

 

Сергей Соловьев
Вобщем мой вопрос в этом и состоял. Если я выпускаю ключ не центром сертификации crypto pro, а своим установленным от Microsoft, то такой ключ можно использовать для подписания документов в приложении?

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

У нас есть настроенный CA от Microsoft. У всех пользователей уже имеются сертификаты для подписи. Зачем нам ставить еще один сторонний сервер сертификации? Возможно-ли использовать те-же самые сертификаты как на ПК, так и на мобильных устройствах?

Да, это стало возможно с поддержкой внешних токенов в мобильном приложении DIRECTUM Solo для Android. На поддерживаемые токены (Рутокен ЭЦП Bluetooth и JaCarta microUSB) можно импортировать сертификат с закрытым ключом от УЦ Microsoft и использовать его для подписи в мобильном приложении. 

Mikhail Kislitsyn
У нас есть настроенный CA от Microsoft. У всех пользователей уже имеются сертификаты для подписи. Зачем нам ставить еще один сторонний сервер сертификации?

КриптоПРО интегрируется в существующий CA Microsoft добавляя свои провайдеры, для возможности генерации соответствующих сертификатов.

Mikhail Kislitsyn

КриптоПро выпустили версию с поддержкой х64 версий Android (пруф.).

С нашей стороны подготовлены и обновлены Jazz и Solo для Android обеспечивающих поддержку КриптоПРО CSP данной версии. Совместимость со старыми версиями КриптоПРО CSP сохраняется.

Дмитрий Русин

При подписании документа(подписанного через Jazz) на desctop клиенте с помощью CAPICOM столкнулись с проблемой. Directum ругается что не может проверить подпись поставленную через Jazz и не дает поставить свою подпись. Это что, получается что на всех ПК, независимо от того будут ли там подписывать документы с помощью КриптоПро или нет, его все-равно необходимо устанавливать?!?

Павел Шутов

Если я вас правильно понял, Дмитрий, то ваш вопрос звучит так: "Необходимо ли устанавливать ПО КриптоПРО CSP на рабочие станции где планируется проверять\подписывать документ?"

Как у любого криптопровайдера для расшифровки подписи используются специальные библиотеки и алгоритмы. Поэтому для того чтобы проверить подпись и её достоверность на рабочем месте должно быть установлено ПО КриптоПРО CSP. Отмечу так же, что если на данном рабочем месте подписывать документы подписями КриптоПРО не будут, то приобретать лицензию на рабочее место не требуется.

Дмитрий Русин
для того чтобы проверить подпись и её достоверность на рабочем месте должно быть установлено ПО КриптоПРО CSP.

Но нам не нужно проверять достоверность имеющийся подписи, нам нужно просто подписать документ! Это конечно хорошо, что при подписании пользователь видит что одна из подписей не проверена, но почему он не может поставить свою ЭЦП?

Mikhail Kislitsyn
Но нам не нужно проверять достоверность имеющийся подписи, нам нужно просто подписать документ! Это конечно хорошо, что при подписании пользователь видит что одна из подписей не проверена, но почему он не может поставить свою ЭЦП?

Перед установкой подписи проверяется её достоверность. Мы не можем поставить поставить подпись достоверность которой не подтверждена.

Михаил Тарасов
Перед установкой подписи проверяется её достоверность. Мы не можем поставить поставить подпись достоверность которой не подтверждена.

А зачем при этом проверять достоверность старых подписей?

Сергей Камышев
А зачем при этом проверять достоверность старых подписей?

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

Михаил Тарасов

Порблема ещё в том, что эти проверки идут вообще чуть ли не при каждом действии с документом. А механизм проверки не идеален. И кроме того, неудачная проверка (не в плане "подпись не достоверна", а в плане "ой, что то пошло не так, мы не смогли") в некоторых случаях вообще не обрабатывается и может приводить к потере документа.

Так, только по моим наблюдениям, проверка достоверности подписи производится во время открытия документа на чтение, во время переноса документа в SQL хранилище из ФХ. И в последнем случае, если проверка произойдет с ошибкой, то система это не обрабатывает, тело документа в базу данных не загружает и из ФХ удаляет. 

Естественно, возникает вопрос. А если такой не надежный механизм, то стоит ли проверять во всех этих местах?

Авторизуйтесь, чтобы написать комментарий