Скачать MyDSS и Cryptopro бесплатно из Google Play

Скачать MyDSS и Cryptopro бесплатно из Google Play Электронная цифровая подпись

Системные требования к программно-аппаратным средствам:

  • Установка СКЗИ КриптоПро CSP версии 5.0.
  • Операционная система Windows 7/8.1/10/Server 2008 (x86, x64).
  • Серверные ОС Windows Server 2008 R2/2012/2012 R2/2016/2019 (x64).
  • Mac OS X 10.9/10.10/10.11/10.12/10.13/10.14 (x64).

Для установки приложения MyDss на смартфоне, он должен работать под управлением операционных систем:

  • Android 7.0 и выше.
  • iOS 8/9/10/11.

Android 4. x, Android 5. x, Android 6. x, Android 7. x, Android 8. x, Android 9. x, Android 10. x, Android 11. x, Android 12

Содержание
  1. Описание
  2. Версии
  3. Введение
  4. Установка и настройка на смартфоне приложения MyDss #
  5. Настройка приложения MyDSS #
  6. Установка СКЗИ КриптоПро CSP 5 #
  7. Настройка КриптоПро CSP 5. 0 #
  8. Замена адреса DSS сервера #
  9. Аутентификация в приложении myDSS #
  10. Заказать облачную подпись #
  11. Системные требования КриптоПро DSS
  12. Архитектурные решения ПАК Крипто Про DSS
  13. Работа с Крипто Про DSS
  14. Электронная подпись документов
  15. Усовершенствование электронной подписи
  16. Шифрование электронных документов
  17. Расшифрование электронных документов
  18. Проверка электронной подписи
  19. Проверка статуса сертификата
  20. Аудит действий пользователей и операторов
  21. Интерфейс мобильного приложения КриптоПро myDSS
  22. Правила использования материалов сайта ATI
  23. Защищаем мобильное приложение с помощью «КриптоПро»
  24. Работа с «КриптоПро»
  25. Импорт «КриптоПро» в мобильное приложение
  26. Контейнер закрытого ключа для работы с «КриптоПро»
  27. Установка контейнера закрытого ключа в приложение
  28. Подпись и проверка подписи приватным ключом
  29. Авторизация при помощи приватного ключа
  30. Полезные ссылки
  31. Функциональные возможности КриптоПро DSS
  32. Обеспечение отказоустойчивости и доступности
  33. Выводы

Описание

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

Версии

  • Введение
  • Общие сведения о программно-аппаратном комплексе Крипто Про DSS
  • Функциональные возможности КриптоПро DSS
  • Архитектурные решения ПАК Крипто Про DSS
  • Обеспечение отказоустойчивости и доступности
  • Мониторинг функционирования и доступности
  • Системные требования Крипто Про DSS
  • Работа с Крипто Про DSS
  • Выводы
Читайте также:  Система межведомственного электронного взаимодействия (смэв)

КриптоПро CSP 5. 39755 от 17. 2018 (СКЗИ «КриптоПро JCP» 2. 0) это предварительная несертифицированная версия для платформы Google Android. КриптоПро 5. 0 для Google Android (СКЗИ «КриптоПро JCP» 2. 0) в первую очередь будет полезна мобильным разработчикам. Это бесплатный мощный инструмент для внедрения в приложение функционала для работы с электронной подписью, создание ssl-тоннеля, создание браузера с функцией создания и проверки ЭП на веб-страницах. КриптоПро 5. 0 для Google Android (СКЗИ «КриптоПро JCP» 2. 0) реализует российские криптографические алгоритмы и работает под управлением виртуальной машины Java 2 Runtime Environment версии 1. 7 и 1. 8, соответствующей спецификации Sun Java 2 TM Virtual Machine. Описание содержится в файлах Readme. На их основе можно понять алгоритм работы с фреймворком. Еще статьи

Введение

Активная цифровизация общества позволяет экономить финансы, а также сокращает временные затраты. Также с каждым годом увеличивается количество услуг, которые можно выполнить в электронном виде (отправка документов в налоговую, передача платежных поручений в банк, электронная регистрация сделок по объектам недвижимости, участие в электронных торгах и т. ), необходимо лишь иметь электронную подпись. На сегодняшний день электронная подпись является неотъемлемым атрибутом не только многих организаций, но и многих физических лиц. Но это лишь один из срезов применения электронной подписи. В крупных организациях ее часто используют для внутреннего документооборота: цифровые сертификаты являются универсальным средством строгой аутентификации, а использование ассиметричной криптографии обеспечивает надежное шифрование. С каждым днем поддержка цифровых сертификатов становится более трудоемкой и сложной задачей. Рост числа цифровых сертификатов увеличивает нагрузку на службы ИТ и ИБ, так как необходимо контролировать срок их действия, своевременно обновлять, также нужно отслеживать использование ключевых носителей (смарт-карт и токенов). Поэтому для управления (в том числе и удаленного) и хранения сертификатов и ключей подписи все чаще применяют централизованные системы, одной из которых является КриптоПро DSS.

Читайте также:  Квалифицированная электронная подпись ЭЦП для юридического лица и ИП: для налоговой, для торгов на электронных площадках 44-ФЗ и 223-ФЗ

КриптоПро DSS позволяет применять как традиционную электронную подпись, так и облачную (что обеспечивает компаниям полноценную работу с ЭП без аппаратных носителей — токенов и смарт-карт). Также КриптоПро DSS имеет мобильное приложение КриптоПро myDSS для смартфонов на базе Android и iOS, которое позволяет подписывать квалифицированной электронной подписью.

Напомним, что, согласно Федеральному закону от 06. 2011 г. № 63-ФЗ «Об электронной подписи», электронная подпись бывает следующих видов:

  • простая электронная подпись;
  • неквалифицированная электронная подпись;
  • квалифицированная электронная подпись.

Таким образом, с помощью КриптоПро myDSS можно подписывать документы, которые будут иметь юридическую значимость. Стоит отметить, что контролирующие органы, такие как ФНС, ПФР, ФСС, признают юридическую силу только тех документов, которые подписаны квалифицированной ЭП.

Установка и настройка на смартфоне приложения MyDss #

Запускаем приложение Play Маркет или Apple store в зависимости от типа вашего устройства. В форме поиске, введите myDSS и нажмите кнопку Установить. После окончания установки нажимаем на кнопку Открыть.

Скачать MyDSS и Cryptopro бесплатно из Google Play

Настройка приложения MyDSS #

Запустите установленное приложение MyDss. Для начала работы вам предложат от сканировать QR-код. Приложение отправит запрос на доступ к камере телефона, нажмите Разрешить. Возьмите бланк сертификата, выданного вам в УЦ и отсканируйте напечатанный QR-код. Укажите имя сохраняемого ключа(Оно может быть любым, например: «Облачная подпись для Торгов»). Так же вам потребуется выбрать способ подтверждения (без пароля, пароль, отпечаток пальца, face ID). После всех этих действий приложение будет готово к работе.

Установка СКЗИ КриптоПро CSP 5 #

Для начала работы с вашей облачной подписью необходима установленная ОС Windows 7, 8,8. 1 или 10. Необходимо проверить, что у вашей Операционной Системы установлены все последние обновления. Для этого запустите Центр Обновления Windows и произведите поиск и обновления компонентов Windows. Основным элементом для работы с облачной подписью является установленное и настроенное КриптоПро CSP 5.

  • Скачиваем последнюю версию установочного файла КриптоПро CSP 5.0 с сайта разработчика КриптоПро.
  • Запускаем скачанный Файл CSPSetup-5.0.exe и нажимаем кнопку Установить.Подробный процесс установки КриптоПро здесь.
  • Установить корневой сертификат вашего УЦ в «Промежуточные центры сертификации». Инструкция по установке корневого сертификата Минкомсвязи и УЦ.

Настройка КриптоПро CSP 5. 0 #

В операционной системе Windows: Нажимаем Пуск , переходим в папку Крипто-Про и выбираем пункт Инструменты Крипто-Про.

Скачать MyDSS и Cryptopro бесплатно из Google Play

Далее переходим в раздел Облачный провайдер.

Скачать MyDSS и Cryptopro бесплатно из Google Play

Замена адреса DSS сервера #

  • Необходимо поменять текст в строке Сервер авторизации на адрес вашего сервера DSS(Адрес можно уточнить у вашего УЦ).
  • Так же измените текст в строке Сервер DSS на адрес предоставленный вашим УЦ.
  • Нажимаем на кнопку Установить сертификаты.

Скачать MyDSS и Cryptopro бесплатно из Google Play

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

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

Аутентификация в приложении myDSS #

Следующим действием нам потребуется пройти Аутентификацию. Потребуется подтвердить операцию с помощью установленного приложения MyDss. Запустите приложение MyDss на смартфоне, и в открывшемся запросе нажимаем Подтвердить. Если на телефоне нет интернет соединения, то выбираем Используйте офлайн-подтверждение. Сканируем приложением MyDss QR-код и указываем полученный код подтверждения на компьютере.

Конечным результатом успешной авторизации, должно стать уведомление Установка сертификатов завершилась успехом.

Скачать MyDSS и Cryptopro бесплатно из Google Play

На этом установка и настройка облачной электронной подписи закончена.

Купить Электронную Подпись для любых целей вы можете в нашей компании. Срок выдачи один рабочий день.

Заказать облачную подпись #

Продукты компании КриптоПро хорошо взаимодействуют между собой. В составе с КриптоПро DSS может использоваться специальный программный комплекс класса Network Performance Monitoring and Diagnostics (NPMD) «КриптоПро Центр мониторинга»для мониторинга работоспособности и оперативного уведомления администраторов о выявленных сбоях, ошибках функционирования и прочих внештатных ситуациях.

Системные требования КриптоПро DSS

КриптоПро DSS предоставляет пользователям интерактивный веб-интерфейс для управления криптографическими ключами и создания ЭП под документом, который пользователь загружает на КриптоПро DSS. Таким образом, для работы с КриптоПро DSS пользователю необходим только веб-браузер, никаких СКЗИ или средств электронной подписи устанавливать не нужно. Благодаря этому использовать функции КриптоПро DSS можно с любого устройства с любой аппаратной платформой с любой операционной системой, где есть веб-браузер.

КриптоПро DSS поддерживает все основные операционные системы, такие как Microsoft Windows, macOS, Linux.

Например, КриптоПро DSS функционирует на платформах Microsoft Windows 7 и выше (x86 и x64) под управлением Microsoft. NET Framework версии 2. 0 и выше.

Веб-браузеры, которыми пользователи могут воспользоваться для работы с КриптоПро DSS:

  • Mozilla Firefox;
  • Google Chrome;
  • Opera;
  • Apple Safari;
  • Яндекс.Браузер.

В процессе работы возможна перенастройка параметров безопасности обозревателя Microsoft Internet Explorer (добавление надежных узлов, разрешение выполнения сценариев ActiveX для узлов из зоны надежных). При этом могут потребоваться действия по корректированию доменной политики безопасности.

Перед началом работы с КриптоПро DSS необходимо установить расширение для браузера CryptoPro Extension for CAdES Browser Plug-in и плагин.

Мобильное приложение КриптоПро myDSS поддерживает Android 4. 0 и выше, iOS 8. 0 или более поздние версии.

Архитектурные решения ПАК Крипто Про DSS

КриптоПро DSS предлагается в трех вариантах:

  • ПАК КриптоПро DSS — сервер ЭП и КриптоПро HSM;
  • КриптоПро DSS Lite является облегченной версией КриптоПро DSS и предназначен для подписания документов электронной подписью в браузере;

КриптоПро DSS Lite позволяет подписывать документы всех распространенных форматов на различных платформах, используя любые веб-браузеры и ключевые носители.

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

Поддерживаются следующие форматы документов:

  • PKCS#7/CMS/CAdES;
  • Microsoft Office;
  • PDF (CMS/CAdES);
  • XMLDSig.

Предоставляет единую точку входа для подписания документов и управления сертификатами пользователя.

КриптоПро myDSS – это приложение для смартфона (myDSS доступен для скачивания в Google Play и App Store), которое позволяет подписывать квалифицированной электронной подписью документы и контролировать действия пользователя в системах дистанционного банкинга, порталах госуслуг, системах ЭДО, электронных торговых площадках и т.

КриптоПро myDSS представляет собой совместную разработку компаний КриптоПро и SafeTech на базе программно-аппаратного комплекса облачной электронной подписи КриптоПро DSS и системы подтверждения электронных транзакций PayControl.

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

В основе КриптоПро myDSS лежит технология, которая обеспечивает строгую криптографическую аутентификацию пользователей, безопасное online-взаимодействие, отображение документа и подтверждение операций. Это позволяет сервису облачной электронной подписи КриптоПро DSS выполнить требования, предъявляемые регулятором к средствам электронной подписи.

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

Ключи электронной подписи пользователей хранятся в сертифицированном КриптоПро HSM в неизвлекаемом виде.

Комплексное решение КриптоПро myDSS включает:

  • серверную часть, в которой в КриптоПро HSM хранятся ключи электронной подписи,
  • систему, управляющую процессами формирования подписи на стороне сервера,
  • приложение для смартфона, которое визуализирует пользователю подписываемый документ и вырабатывает операции на подписание,
  • защищенные каналы взаимодействия клиентской и серверной частей,
  • является полноценным средством электронной подписи. Условно его можно назвать «большим токеном».

КриптоПро myDSS предназначен для применения в следующих сферах деятельности:

  • системы интернет-банкинга или мобильного банкинга, в которых необходимо использование квалифицированной электронной подписи;
  • порталы государственных услуг, системы сдачи электронной отчетности;
  • системы электронной коммерции;
  • системы электронного документооборота.

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

ПАК Крипто Про DSS разворачивается на сервере (Сервер ЭП) и работает в связке с КриптоПро HSM. В частности, создание и хранение ключей электронной подписи пользователей осуществляется с использованием специального защищенного модуля КриптоПро HSM.

КриптоПро HSM предоставляет криптографический сервис пользователям и предназначен для выполнения следующих функций: создание и проверка электронной подписи; вычисление хэш-функции; шифрование и расшифрование блоков данных; вычисление имитовставки блоков данных; генерация и защищенное хранение ключевой информации (все ключи хранятся в зашифрованном виде); управление учетными записями пользователей криптографического сервиса.

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

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

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

Для прохождения аутентификации в КриптоПро DSS реализуются следующие способы:

  • криптографическая аутентификация по алгоритму HMAC в соответствии с Р-50.1.113-2016 с помощью мобильного приложения myDSS или специального апплета на SIM-карте;
  • двухфакторная аутентификация с использованием цифровых сертификатов и USB-токенов или смарт-карт;
  • Для формирования неквалифицированной электронной подписи также могут использоваться:
  • двухфакторная аутентификация с дополнительным вводом одноразового пароля, доставляемого пользователю посредством SMS (OTP-via-SMS)..

Управление пользователями КриптоПро DSS осуществляется администратором (оператором), который имеет возможность посредством веб-интерфейса или API выполнять следующие действия:

  • создание пользователя;
  • блокирование и удаление пользователя;
  • генерация ключа электронной подписи пользователя;
  • формирование и передача в удостоверяющий центр запроса на создание сертификата ключа проверки электронной подписи;
  • установку полученного сертификата пользователю;
  • настройку параметров аутентификации пользователей;
  • аудит и формирование аналитической отчетности по выполняемым пользователями операциям;
  • сброс пароля в случае его утраты пользователем.

КриптоПро DSS позволяет интегрировать использование сервера электронной подписи в существующие бизнес-процессы и системы (например, ЭДО, ДБО и т. На рисунке 1 приведен пример того, как может быть развернут КриптоПро DSS и приведены стадии подписания электронного документа ЭП в системе электронного документооборота (ЭДО). При этом вместо ЭДО может быть и другая система, например, система дистанционного банковского обслуживания (ДБО).

Рисунок 2. Пример архитектурного решения КриптоПро DSS, интегрированного с системой ЭДО

Скачать MyDSS и Cryptopro бесплатно из Google Play

  • Пользователь формирует и отправляет электронный документ в систему ЭДО.
  • Для подтверждения подписания документа КриптоПро DSS направляет пользователю SMS-сообщение, содержащее код подтверждения подписания. Либо через мобильное приложение КриптоПро myDSS у пользователя запрашивается разрешение на подпись документа.
  • Пользователь вводит полученный код подтверждения в поле формы веб-интерфейса КриптоПро DSS. Если используется КриптоПро myDSS, то документ отображается в приложении, для подтверждения операции пользователь вводит пароль (или, если пароль сохранен, проходит аутентификацию Touch ID/Face ID).
  • КриптоПро DSS, используя функции ПАКМ КриптоПро HSM, отправляет запрос на подписание документа с использованием закрытого ключа пользователя.
  • КриптоПро HSM направляет подписанный документ обратно на сервер ЭП (КриптоПро DSS).
  • КриптоПро DSS перенаправляет пользователя в систему ЭДО, передавая в перенаправлении подписанный документ.

Работа с Крипто Про DSS

Работа с КриптоПро DSS проводилась на базе тестового сервиса ЭП, предоставляемого компанией «КриптоПро».

Перед началом работы с КриптоПро DSS необходимо установить расширение для браузера (CryptoPro Extension for CAdES Browser Plug-in) и плагин. Если вы не сделаете этого до входа в КриптоПро DSS, то система после аутентификации сама предложит вам, что нужно сделать.

Рисунок 3. Установка расширения и плагина для работы с КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Рисунок 4. Вход в веб-интерфейс пользователя КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Рисунок 5. Интерфейс пользователя КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Для создания запроса на сертификат необходимо в разделе «Сертификаты» нажать кнопку «Создать запрос на сертификат».

Рисунок 6. Создание запроса на сертификат в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

В появившейся форме необходимо:

Выбрать удостоверяющий центр.

Рисунок 7. Выбор УЦ при создании запроса на сертификат в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Выбрать криптопровайдера.

Рисунок 8. Выбор криптопровайдера при создании запроса на сертификат в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Заполнить поля формы.

Рисунок 9. Заполнение данных при создании запроса на сертификат в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Выбрать шаблон сертификата

Рисунок 10. Заполнение данных и выбор шаблона сертификата в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Задать PIN-код к закрытому ключу.

Рисунок 11. Ввод PIN-кода для доступа к закрытому ключу в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Также доступна загрузка уже имеющегося сертификата из файла.

Рисунок 12. Загрузка файла сертификата в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

После того как мы создали запрос на сертификат или загрузили его на вкладке «Сертификаты», можно следить за статусом наших сертификатов.

Рисунок 13. Статус сертификатов в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Теперь рассмотрим остальные возможности КриптоПро DSS.

Электронная подпись документов

В разделе «Подписать» можно формировать электронные подписи электронных документов пользователя. Но чтобы пользователь мог подписывать электронные документы, ему необходимо иметь хотя бы один действующий сертификат.

Рисунок 14. Раздел «Подписать» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

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

Рисунок 15. Запрос PIN-кода к закрытому ключу в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Усовершенствование электронной подписи

Раздел «Усовершенствовать подпись» предназначен для усовершенствования или дополнения ЭП до формата усовершенствованной ЭП: CAdES-T (добавление штампа времени к ЭП), CAdES-XLT1 (добавление статуса сертификата на момент подписания и штампа времени).

Рисунок 16. Раздел «Усовершенствовать подпись» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Шифрование электронных документов

Для адресного шифрования электронного документа нужен файл электронного документа и сертификат адресата.

Рисунок 17. Раздел «Зашифровать» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Для адресного шифрования электронного документа необходимо загрузить файл документа, который нужно зашифровать, после чего загрузить сертификат адресата, для которого будет шифроваться электронный документ. Нужно нажать кнопку «Зашифровать» и загрузить полученный зашифрованный электронный документ.

Рисунок 18. Шифрование документа в разделе «Зашифровать» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Расшифрование электронных документов

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

Рисунок 19. Раздел «Расшифровать» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Проверка электронной подписи

Также с помощью КриптоПро DSS можно проверить ЭП. Раздел «Проверить подпись» предназначен для проверки подписи электронных документов (присоединенная/отсоединенная, подпись данных / подпись хэш-функции). Для проверки подписи электронного документа нужен файл подписи электронного документа и файл электронного документа (для отсоединенной подписи).

Рисунок 20. Раздел «Проверить подпись» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Рисунок 21. Проверка подписи загруженного документа в разделе «Проверить подпись» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Проверка статуса сертификата

В разделе «Проверка сертификата» можно проверить статус сертификатов (действителен ли сертификат) — для этого нужен файл сертификата.

Рисунок 22. Раздел «Проверка сертификата» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Аудит действий пользователей и операторов

В разделе «Аудит» отображается журнал событий, связанных с действиями пользователей и операторов, с возможностью фильтрации по типам событий.

Рисунок 23. Раздел «Аудит» в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Интерфейс мобильного приложения КриптоПро myDSS

Приложение myDSS является интерфейсной частью КриптоПро DSS и предназначено для осуществления аутентификации, управления ключами и осуществления подтверждения операций (вход пользователя в КриптоПро DSS, подписание документа и т.

С помощью мобильного приложения КриптоПро myDSS:

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

Рисунок 24. Перечень возможностей КриптоПро myDSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

В качестве примера рассмотрим, как проходит процесс подписания документа с использованием приложения myDSS:

Первоначально необходимо загрузить в КриптоПро DSS документ, выбрать сертификат для подписи и нажать кнопку «Подписать».

Рисунок 25. Выбор параметров для создания подписи документа в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Далее предлагается подтвердить операцию с использованием мобильного устройства.

Рисунок 26. Запрос на подтверждение операции подписания документа в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

После — ввести PIN-код от контейнера ключа подписи.

Рисунок 27. Запрос PIN-кода к ключевому контейнеру в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Далее следует предложение на подтверждение операции с использованием мобильного приложения.

Рисунок 28. Запрос на подтверждение операции в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

После в приложении myDSS придет уведомление о том, что есть операции, требующие подтверждения. Для подтверждения операции нажимаем кнопку «Подтвердить», выбираем нужный ключ авторизации и вводим пароль к нему.

После чего в приложении для ознакомления и подтверждения отобразится информация о подписываемом документе. Нажимаем кнопку «Подтвердить», и затем появится уведомление об успешном подтверждении операции.

Рисунок 29. Подтверждение операции подписания документа в приложении КриптоПро myDSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

После успешного подтверждения операции в приложении в КриптоПро DSS у пользователя появится сообщение об успешном завершении операции.

Рисунок 30. Успешное завершение операции подписания документа в КриптоПро DSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Также в приложении myDSS можно осуществлять управление ключами (переименование, изменение пароля и удаление ключа).

Рисунок 31. Возможности по управлению ключами в КриптоПро myDSS

Скачать MyDSS и Cryptopro бесплатно из Google Play

Таким образом, мы рассмотрели основные возможности работы КриптоПро DSS и мобильного приложения myDSS, доступные пользователям.

Правила использования материалов сайта ATI

Все права на любые материалы, опубликованные на сайте ATI. SU, защищены в соответствии с российским и международным законодательством об авторском праве и смежных правах. Вся информация, размещенная на данном веб-сайте, предназначена только для персонального использования. Запрещается ее воспроизведение, копирование и/или распространение в какой-либо форме, а также автоматизированное извлечение ее любыми сервисами без официального разрешения Админиcтрации сайта.

Защищаем мобильное приложение с помощью «КриптоПро»

Статья описывает работу с одним из крупнейших российских поставщиков средств криптографической защиты информации и электронной цифровой подписи — компанией «КриптоПро», занимающей лидирующие позиции в России. Рассмотрено импортирование фреймворка для iOS и подводные камни при импортировании, его использование для создания и проверки электронных цифровых подписей, а также авторизации с использованием приватного ключа.

Работа с «КриптоПро»

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

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

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

Также придется поработать с С++ и самостоятельно заботиться о выделении и очистке памяти. Стоит отметить, что статья написана при актуальной версии «КриптоПро CSP 4. 0», поэтому описанные ниже пакеты для разработчиков в будущем могут отличаться.

Импорт «КриптоПро» в мобильное приложение

Первый шаг для использования «КриптоПро» в своем приложении — это внедрить фреймворк, скачанный с сайта компании. В пакете для iOS помимо самого фреймворка содержатся также три примера — создание электронной подписи (ЭЦП), создание ssl-тоннеля и пример, позволяющий собрать браузер, обладающий функциональностью создания и проверки ЭЦП на веб-страницах. Подробное описание содержится внутри примеров, в файлах Readme. На их основе легче понять алгоритм действий. Очень поможет пакет для MacOS: в нем содержится много полезных примеров с подробными комментариями. После его установки все примеры будут находиться на диске в разделе opt/cprocsp/src/doxygen/CSP.

Инструкция по импортированию самого фреймворка находится в CPROCSP. framework в файле ReadMe, разберем его по пунктам.

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

(указанный ключ прилагается в файле, затем в этой же директории будет создан файл лицензии license. enc).

Прежде чем импортировать фреймворк, советуем перенести его файл CPROCSP. framework в папку с проектом. Так вы защитите себя от случайного переноса фреймворка в другую папку, из-за чего «слетят» пути в Xсode. Теперь к импорту: открываем Xсode, в боковой панели слева выбираем проект и в списке targets выбираем цель сборки

Скачать MyDSS и Cryptopro бесплатно из Google Play

Далее во вкладке Build Phases выбираем Link Binary With Libraries, жмем на «+» и затем Add other, чтобы указать путь к фреймворку вручную. Находим его и выбираем Open. Фреймворк импортирован, но использовать его еще не получится.

Скачать MyDSS и Cryptopro бесплатно из Google Play

Создаем в проекте папку Resources, открываем файл CPROCSP. framework, заходим в папку Resources и перетаскиваем все файлы и папки, кроме локализации (ru. lroj и en. lproj), в созданную нами папку с такими настройками:

Скачать MyDSS и Cryptopro бесплатно из Google Play

Перетаскиваем в эту же папку файл лицензии, созданный в первом пункте, с настройками как на скриншоте выше.

Теперь переносим оставшиеся папки локализации также в Resources приложения, но с другими настройками:

Скачать MyDSS и Cryptopro бесплатно из Google Play

Если все сделать правильно, то папки будут выглядеть так:

Скачать MyDSS и Cryptopro бесплатно из Google Play

Следующим пунктом идет настройка проекта для отладки в эмуляторе. Если этого не сделать, то приложение можно будет запустить только на устройстве. Во вкладке Build Settings проекта в поле Valid Architectures оставляем только armv7. Работы по поддержке 64-битной архитектуры уже ведутся, но пока используем 32-битную. Также в Architectures записываем Optimized (armv7). Должно получиться следующее:

Скачать MyDSS и Cryptopro бесплатно из Google Play

На этом приложенная инструкция заканчивается, но запустить приложение в итоге не получится — при компиляции вы увидите что-то вроде этого:

Скачать MyDSS и Cryptopro бесплатно из Google Play

Непонятно, по каким причинам разработчики не дописали пару пунктов, но для корректной линковки необходимо добавить еще некоторые библиотеки и «магический флаг». Теперь подробнее.

Аналогично схеме, описанной в пункте 2, добираемся до файла CPROCSP. framework, в нем заходим в папку reader и импортируем запылившуюся там библиотеку librdrpcsc_empty. Следующую библиотеку добавляем из заложенных в Xcode, для этого все в том же окне в поиске вводим libz

Скачать MyDSS и Cryptopro бесплатно из Google Play

и добавляем ее кнопкой Add.

Но этого тоже будет недостаточно, останется еще одна ошибка:

Скачать MyDSS и Cryptopro бесплатно из Google Play

Для ее решения в любое место проекта поместите флаг

extern bool USE_CACHE_DIR;
bool USE_CACHE_DIR = false;

После этого проблема будет решена и приложение соберется успешно. Данный флаг говорит о том, где вы хотите хранить папку с ключами. В случае с false (как использовали мы, — причина будет раскрыта далее) используется папка

Если поставить true, то они будут храниться в закрытом месте:

На этом импорт фреймворка окончен, и можно запустить приложение на эмуляторе.

Контейнер закрытого ключа для работы с «КриптоПро»

На момент написания статьи «КриптоПро CSP 4. 0» не поддерживает работу с сертификатами *. pfx, которые содержат и публичный, и приватный ключ. Необходимо использовать контейнеры *. 000, которые можно получить только при использовании «КриптоПро»; их формат нигде не описан, и записываются они, как правило, на ключевых носителях, токенах (флешках, дискетах). В проводнике они выглядят как папки, которые содержат в себе один ключ, разбитый на файлы header. key, masks. key, name. key и primary. key.

Установка контейнера закрытого ключа в приложение

Как пишут сами сотрудники «КриптоПро», есть три варианта установки контейнера на устройство:

• Через iTunes File Sharing. • Использовать отдельное приложение для записи файлов на iOS, типа iExplorer. • Написать собственный экспорт ключа в блоб (PRIVATEKEYBLOB) и импортировать его в коде приложения. Пример такого способа находится в вышеупомянутом пакете для MacOS под названием EncryptKey/DecryptKey.

Мы использовали первый вариант — как самый быстрый и удовлетворяющий требованиям заказчика. Именно для его реализации при импорте был выбран флаг USE_CACHE_DIR = false; если iTunes File Sharing вами использоваться не будет или вы хотите скрыть от пользователя возможность заглянуть в папку с ключами, то лучше скройте ее, выставив флаг true. После первого запуска с установленным фреймворком в папке Documents приложения будет создана папка cprocsp:

Скачать MyDSS и Cryptopro бесплатно из Google Play

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

Далее существует два пути: написать все функции самому или использовать уже готовый контроллер, и так как его хватит для решения большинства задач, о нем и поговорим. Фреймворк содержит в себе хедер-файл с названием PaneViewController. Если вы не обременены строгостью по дизайну, то можете импортировать предложенные xib-файлы (находятся в CPROCSP. framework/Resources) и инициализировать криптопанель через них — к примеру, таким образом:

Но так как все xib-файлы являются обычными UIView с таблицей, вы легко можете кастомизировать их под свой дизайн.

Скачать MyDSS и Cryptopro бесплатно из Google Play

После открытия панели первое, что необходимо сделать, — это перейти во вкладку «Взаимодействие с УЦ», установить сертификат УЦ (корневой сертификат удостоверяющего центра), пройти процедуру регистрации, отправить запрос на сертификат и получить (установить) его.

Скачать MyDSS и Cryptopro бесплатно из Google Play

После установки корневого сертификата УЦ в папке cprocsp/keys должна будет появиться папка mobile. В нее помещаются контейнеры *. 000. Чтобы их установить, снова заходим в панель «КриптоПро» и на главном экране выбираем «Установить сертификаты и контейнеры». Контейнеры, содержащиеся в папке cprocsp/keys/mobile должны быть от криптопровайдера «КриптоПро» (если хотя бы один таковым не является или поврежден, то функция вернет ошибку, не установив ни один из них). На этом установка завершена.

Подпись и проверка подписи приватным ключом

Функция подписи начинается с открытия хранилища сертификатов при помощи
CertOpenSystemStore:

Сообщение остается открытым до вызова CryptMsgClose. Здесь стоит обратить внимание на используемые флаг (второй параметр): если выставить 0, как в примере, то подпись будет присоединенная (attached); для получения отсоединенной (detached) подписи необходимо выставить флаг CMSG_DETACHED_FLAG. После этого подписываемые данные помещаются в сообщение и полученный блоб можно вывести в отдельный файл.

Проверка подписи аналогична ее созданию за небольшим исключением. Вначале открывается сообщение для декодирования, далее вытаскивается сертификат, приложенный к подписи. Открывается хранилище и осуществляется поиск приложенного сертификата. После того как был найден сертификат, проводится проверка подписи функцией CryptMsgControl, которая возвращает true в случае успешной верификации и false, если возникли ошибки:

Функция CSP_GetLastError() возвращает код ошибки и краткое описание.

Авторизация при помощи приватного ключа

Для авторизации с использованием приватного ключа нам понадобится сам ключ, установленный вышеописанным образом, установленный корневой сертификат УЦ, настроенный сервер с «КриптоПро» и с добавленным в доверенные нашим ключом. Сервер должен поддерживать работу по TLS версии 1. 2 для всех устройств с iOS 9 и выше, а также иметь ГОСТовые cipher suites от «КриптоПро».

Для выявления причин ошибок и получения подробной информации по подключению может пригодиться такая программа, как WireShark. В ней есть возможность посмотреть все этапы TLS-соединения и достаточно информации для анализа. Также в ней вы можете посмотреть, какие cipher suites отправляете и какие поддерживает сервер.

В качестве менеджера, который будет отправлять нужные cipher suites, используется UrlRetriever, входящий в состав фреймворка. Открыв хедер, вы увидите множество понятных функций для отправки запроса, но не сразу очевидно, как и чем пользоваться, тем более что документации по этому вы не найдете ни на сайте, ни на форуме. И в самом файле также нет никаких комментариев, за исключением одной //TODO, которые оставили разработчики 🙂
Внутрь класса заглянуть не удастся, поэтому нам все приходилось испытывать вручную и смотреть, что как работает.

Для начала создадим сам ретривер, так как для каждого запроса нам необходимо будет очищать в нем информацию. Вначале функции resume создадим экземпляр класса:

После этого запишем хедеры. Так как они уже содержатся в нашем NSUrlRequest, возьмем их оттуда и преобразуем в нужный для ретривера вид:

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

И вернуть ответ в completion-блок:

А в случае ошибки вернуть error:

Данный сценарий аналогичен и для авторизации по сертификату, только перед отправкой запроса в ретривер необходимо записать отпечаток сертификата (thumbprint). Существует множество вариантов получения отпечатка — мы покажем самый правильный (на наш взгляд). Из примеров для подписи возьмем реализацию некоторых функций, таких как CertOpenStore, для открытия хранилища и CertEnumCertificatesInStore — для получения дескриптора сертификата PCCERT_CONTEXT. После этого пишем функцию для получения отпечатка в NSSting:

Первой используется функция CertGetCertificateContextProperty c параметром CERT_SHA1_HASH_PROP_ID, который говорит функции о параметре, который необходимо получить из сертификата, в данном случае — SHA1 hash. Функция вызывается два раза, первый без подстановки буфера, вместо него ставится NULL. Это делается для получения требуемого размера памяти, которую нужно выделить под буфер. Во втором использовании подставляется буфер теперь уже известного размера. Чтобы преобразовать полученные данные из массива байт в строку, используется функция CryptBinaryToString — тоже два раза (по тем же причинам). После этого вы получите красивое содержимое вида:

Но для ретривера нужен другой формат. Для получения необходимого отпечатка в CryptBinaryToString во флаги (третий параметр) требуется записать флаг CRYPT_STRING_HEX. Полученная в результате строка и будет являться отпечатком, который далее ставится в ретривер:

Если все сделано правильно, соединение будет успешно установлено с использованием ГОСТа алгоритмов шифрования.

Полезные ссылки

MSDN — подробное описание всех функций, входящих в них параметров, а также рабочие примеры.

Форум — форум «КриптоПро», на котором сотрудники ежедневно отвечают на вопросы. Многие ответы на вопросы уже даны, и, несмотря на их давность (порою около 6 лет), они все еще могут вам помочь.

Руководство разработчика — написанное компанией руководство, которое содержит в себе перечень входящих в состав криптопровайдера функций с кратким описанием и примерами.

Описание ошибок — большой список возможных ошибок, возникающих в функциях С++, с их кодом и кратких описанием. Чтобы получить код ошибки, используйте в коде приложения функцию CSP_GetLastError, входящей в состав фреймворка. Она хранит в себе код последней полученной ошибки.

Функциональные возможности КриптоПро DSS

Рассмотрим основные функциональные возможностиКриптоПро DSS. В частности, ПАК КриптоПро DSS обеспечивает:

  • Создание электронной подписи любого формата электронного документа.
  • Широкий охват платформ и устройств. Пользователь работает с КриптоПро DSS через веб-браузер. В этой связи снижается стоимость развертывания и владения инфраструктурой ЭП, т. к. нет необходимости установки средства ЭП на каждое рабочее место пользователя, а управление всей инфраструктурой сосредоточено на одном сервере.
  • Хранение закрытых ключей пользователей осуществляется в централизованном защищенном месте, что снижает риск компрометации ключей пользователей.
  • Для обеспечения совместимости с традиционными приложениями предусмотрена возможность использования стандартного интерфейса CryptoAPI с помощью дополнительного модуля КриптоПро Cloud CSP.
  • Предусмотрена возможность работы с локальными ключами электронной подписи на рабочих местах пользователей (режим КриптоПро DSS Lite).
  • Возможность усиления ранее созданной электронной подписи путем добавления меток времени и актуального статуса сертификата (расширения формата электронной подписи документа CAdES-BES до CAdES-T или CAdES-X Long Type1).
  • Возможность применения различных схем аутентификации пользователя для доступа к его ключам, включая возможность интеграции со сторонними центрами идентификации по протоколам SAML 1.1/2.0 (WS-Security) и OAuth 2.0 (в т. ч. с корпоративным доменом на безе MS AD и OpenLDAP).
  • Централизованное и локальное шифрование/расшифрование электронных документов.
  • Пакетная обработка электронных документов (подписание/шифрование по API одной командой набора однотипных электронных документов).
  • Поддержка нескольких экземпляров сервисов электронной подписи и центров идентификации с различными параметрами настройки функционирования на одном сервере КриптоПро DSS.
  • Визуализация (отображение) подписываемых электронных документов формата PDF, docx, txt, xml. Возможно расширение перечня форматов отображаемых файлов.
  • Создание видимой подписи с логотипом и текстом и в виде изображения (image appearance) с учетом требований Приказа Минкомсвязи и ФСО России от 27.05.2015 №186/258 для документов формата PDF с использованием API (SOAP/REST).
  • Возможность интеграции с корпоративными хранилищами документов, поддерживающими стандарт CMIS.
  • Возможность кастомизации графического веб-интерфейса (цветовой гаммы, логотипов, шрифтов и т. п.).

КриптоПро DSS поддерживает следующие форматы электронной подписи:

  • электронная подпись по ГОСТ 34.10-2001 и ГОСТ Р 34.10-2012;
  • усовершенствованная подпись в соответствии с ETSI TS 101 733 Electronic Signatures and Infrastructures (ESI); CMS Advanced Electronic Signatures (CAdES), рекомендациями RFC 5652, Cryptographic Message Syntax (CAdES-BES, CAdES-T и CAdES-X Long Type 1);
  • подпись XML-документов (XMLDSig);
  • подпись документов PDF;
  • подпись документов Microsoft Office (Office Open XML).

Электронная подпись создается с использованием криптографических алгоритмов в соответствии с ГОСТ Р 34. 10-2001 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи», ГОСТ Р 34. 10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».

Обеспечение отказоустойчивости и доступности

Для обеспечения отказоустойчивости компания КриптоПро предлагает использовать горячее резервирование и кластеризацию всех компонентов КриптоПро DSS и КриптоПро HSM с помощью специализированных балансировщиков нагрузки (например, HAProxy) и SQL-кластера на базе технологий MS SQL Server AlwaysOn availability groups.

В случае нарушения функционирования любого из зарезервированных компонентов переключение на резервные, в т. размещенные на территориально удаленных технологических площадках (резервных ЦОД), осуществляется автоматически без участия обслуживающего персонала и без потери сохраненных данных.

Выводы

Электронная подпись все чаще применяется современными компаниями. В связи с этим вопрос централизованного хранения ЭП в настоящее время весьма актуален.

В данной статье мы рассмотрели, как с этой задачей может справиться ПАК КриптоПро DSS, который предназначен для централизованного защищенного хранения закрытых ключей пользователей, а также для удаленного выполнения операций по созданию ЭП с использованием ПАКМ КриптоПро HSM.

Стоит отметить, что ввиду технических и организационных особенностей реализации КриптоПро DSS преимущественно ориентирован на крупные организации с разветвленной сетью владельцев электронных подписей и высокой мобильностью сотрудников: например, удостоверяющие центры, банки, страховые, производственно-сбытовые компании. При этом для малого и среднего бизнеса он удобен тем, что нет необходимости тратиться и внедрять ПАК КриптоПро DSS в свою инфраструктуру, т. КриптоПро предлагает сервис на собственной инфраструктуре. А вся работа с КриптоПро DSS осуществляется через web-браузер. КриптоПро DSS поддерживает все основные web-браузеры. В том числе у КриптоПро DSS есть приложение и для смартфонов.

Для крупных компаний удобство заключается в гибкости КриптоПро DSS и возможности интеграции с различными системами, уже функционирующими в компании, например, с IdM/IAM-системы (системы управления доступом).

Технически и организационно сложное в своей реализации решение КриптоПро DSS прошло долгий путь от идеи до получения сертификата от ФСБ России. Процесс был осложнен тем, что помимо применения передовых технологий необходимо было обеспечить должный уровень безопасности пользователей.

10 августа 2018 года компания «КриптоПро» получила сертификаты ФСБ России на все разработанные комплектации КриптоПро HSM 2. 0 и DSS 2. 0 (с поддержкой ГОСТ Р 34. 10-2012) — в том числе с аутентификацией операций формирования электронной подписи с использованием SIM-карт, а также с помощью мобильных приложений myDSS и AirKey DSS для iOS и Android. Компоненты КриптоПро DSS при использовании совместно с ПАКМ КриптоПро HSM 2. 0 удовлетворяют требованиям к средствам криптографической защиты информации, предназначенным для защиты информации, не содержащей сведений, составляющих государственную тайну, и требованиям к средствам электронной подписи, утвержденных приказом ФСБ России от 27 декабря 2011 г. №796, по классу КС1; для исполнений КриптоПро DSS с КриптоПро CSP 4. 0 по классам КС1, КС2, КС3 соответственно.

Это позволяет формировать и использовать квалифицированные электронные подписи, в том числе и юридически значимою облачную квалифицированную электронную подпись.

Оцените статью
ЭЦП Эксперт