Подключение метода аутентификации через DSS SDK | КриптоПро DSS

Подключение метода аутентификации через DSS SDK | КриптоПро DSS ЭЦП
Содержание
  1. Cryptopro | the key word in information security
  2. Адрес службы штампов времени
  3. Ввод лицензии
  4. Внимание!
  5. Загрузка скрипта и необходимых файлов
  6. Задание имен экземпляров сервисов вручную
  7. Заполнение профиля пользователя
  8. Изменение сайтапорта для веб-приложений dss
  9. Использование готовых сервисных сертификатов
  10. Криптопровайдеры
  11. Лицензия на компоненты центра идентификации
  12. Лицензия на сервис подписи
  13. Назначение метода аутентификации через мобильное приложение
  14. Настройка sms- и email-оповещений
  15. Настройка средств уц
  16. Отключение метода аутентификации
  17. Отключение метода аутентификации при помощи мобильного приложения на базе dss sdk
  18. Отключение требования подтверждения операций
  19. Поиск пользователя
  20. Поиск устройства пользователя
  21. Получение qr-код nonce
  22. Получение qr-кода для инициализации мобильного приложения
  23. Получение настроек метода аутентификации
  24. Получение сведений о назначении пользователю метода аутентификации через мобильное приложение
  25. Получение сведений об устройстве пользователя
  26. Получение списка операций, требующих подтверждения
  27. Порядок работы со сценарием автоматического развертывания криптопро dss
  28. Примечание
  29. Присоединение устройства к уз пользователя
  30. Проверка наличия привязанных к учетной записи мобильных устройств
  31. Расширенный поиск
  32. Срок действия clientsecret
  33. Удаление привязки мобильного устройства

Cryptopro | the key word in information security

CryptoPro DSS is a remote digital signature solution helping various organizations to provide handy digital signing and encryption/decryption experience to their users. Cloud signature service is easy with CryptoPro DSS.

CryptoPro DSS provides a web interface for both direct interaction with users and through other web portals. Also included are an APIs suitable for integration with ECM systems, online banking, e-procurement, desktop applications, mobile devices etc. SOAP, REST and HTTP-API (HTTP Redirect) APIs are available to choose.

DSS supports different authentication methods ranging from usual passwords to strongest cryptographic methods using different techniques. Built-in identity provider leverages the following authentication methods:

External identity providers supporting industry standard federated authentication protocols enable DSS to use other authentication methods (e.g. biometric).

SAML 1.1/2.0 (WS-Federation Passive Requestor Profile 1.0 and/or WS-Trust 1.3) and OAuth 2.0 OpenId Connect 1.0 are both supported.

Private keys are stored and operated securely inside hardware security module (HSM). DSS can use SafeNet Luna Network HSM to support international cryptographic algorithms. CryptoPro HSM is another option both for international and Russian national cryptography. Other HSMs can be plugged to DSS too.

All operations with keys are carried out inside HSM, making them non-extractable and secure from being compromised even by administrators.

The security level of CryptoPro DSS meets requirements of CEN/TS 419241 “Security Requirements for Trustworthy Systems Supporting Server Signing” for the higher level (QES, level 2) and exceeds them in authentication security, role model, audit and functioning in a hostile environment.

Адрес службы штампов времени

  • DssTspServiceurl — Адрес тестовой службы TSP. По умолчанию переменная имеет значение false, что отключает добавление тестовой службы TSP.
  • DssTspServicename — Отображаемое имя тестовой службы TSP.

Ввод лицензии

Скрипт поддерживает ввод следующих лицензий с возможностью указания действующей (при наличии) или Демонстрационной лицензии, активируемой по умолчанию:

  • На Сервис Подписи
  • На компоненты Центра Идентификации:

Внимание!

Назначаемый метод аутентификации должен быть разрешён на DSS.
Включить или отключить метод аутентификации должен Администратор на сервере DSS.

Загрузка скрипта и необходимых файлов

Вам понадобится:

  1. Установить КриптоПро CSP и настроить считыватель тестовой гаммы, развернуть необходимые компоненты веб-сервера (IIS)
    и установить Microsoft .NET Framework 4.6.1. Требуется перезагрузка!
  2. Установить SQL Server Express. Если БД развернута на другом сервере, требуются права администратора для доступа к данному серверу.
  3. Установить КриптоПро DSS (рекомендуется установить все компоненты для обеспечения полной работоспособности скрипта) и дополнительное ПО (из папки redist комплекта КриптоПро DSS). Требуется перезагрузка!
  4. Распаковать содержимое скрипта в папку, из которой будет производиться последующий запуск скрипта. ВНИМАНИЕ: При запуске скрипта убедитесь, что все файлы архива dss_quickstart.zip находятся в одной папке.

  5. Настроить веб-сервер (IIS). Данные действия могут быть выполнены при помощи скрипта для быстрого старта.

  6. Создать и установить необходимые сервисные сертификаты, развернуть и настроить экземпляры компонентов КриптоПро DSS. Данные действия могут быть выполнены при помощи скрипта для быстрого старта.
Примечание

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

Примечание

В случае если необходимо развернуть и настроить взаимодействие со службой штампов времени (TSP),
требуется задать в следующих параметрах файла DeployConfig.ps1 адрес и имя тестовой службы TSP:

  • $DssTspServiceurl
  • $DssTspServicename

Подробнее об установке КриптоПро DSS

Задание имен экземпляров сервисов вручную

  • $namemode — Режим задания имен экземпляров создаваемых сервисов:
    • avto — имена сервисов и БД генерируются автоматически из ключевого имени (задается один раз в диалоговом меню скрипта);
    • manual — имена сервисов и БД необходимо вводить вручную.

Заполнение профиля пользователя

Используются методы для работы с Различительным именем пользователя

Изменение сайтапорта для веб-приложений dss

  • $SiteName — Позволяет изменить веб-сайт, на котором разворачиваются сервисы DSS. По умолчанию $SiteName = "Default Web Site".
  • $sslport — Позволяет изменить порт, по которому будут доступны сервисы DSS.

Использование готовых сервисных сертификатов

  • $manualcert — Режим использования заранее подготовленных сервисных сертификатов. По умолчанию переменная имеет значение false, что означает, что сервисные сертификаты генерируются автоматически. В случае если значение переменной true, во время работы скрипта будет предложено вручную задавать отпечатки сертификатов для каждого из создаваемых сервисов.
  • $noaudit — Позволяет отключить развертывание Сервиса Аудита (значение true). По умолчанию значение переменной равно false.
  • $auditreserve — Позволяет включить резервирование аудита (значение true). По умолчанию значение переменной равно false.
  • $auditreport — Добавляет отчеты аудита (значение true). По умолчанию значение переменной равно true.
Примечание

В случае если выбрано добавление отчетов аудита, необходимо выдать права на доступ к БД ЦИ учетной
записи, из-под которой работает пул приложения Сервиса Аудита.

Криптопровайдеры

Настройка криптопровайдеров типа GostWithMasterKey.

  • $ProviderType — Тип криптопровайдера. По умолчанию имеет значение 80.
  • $ProviderName — Имя криптопровайдера. По умолчанию имеет значение Crypto-Pro GOST R 34.10-2022 Cryptographic Service Provider.

Лицензия на компоненты центра идентификации

Компоненты ЦИ, лицензия на которые может быть введена в файле DeployConfig.ps1:

  • Модуль аутентификации myDSS
    • $SerialNumberMydssLicense — серийный номер лицензии
    • $CompanyNameMydssLicense — имя компании, использующей лицензию
  • Модуль аутентификации DSS Client
    • $SerialNumberDSSClient — серийный номер лицензии
    • $CompanyNameMydssLicense — имя компании, использующей лицензию
  • Модуль доступа Cloud CSP
    • $SerialNumberCloudLicense — серийный номер лицензии
    • $CompanyNameCloudLicense — имя компании, использующей лицензию

По умолчанию конфигурационный файл DeployConfig.ps1 не содержит введенных лицензий на компоненты ЦИ,
что активирует Демонстрационную лицензию на 10 пользователей.

Лицензия на сервис подписи

  • $DssSignServerLicense — Режим лицензирования Сервиса Подписи:
    • demo — Активация демо-лицензии на 10 Пользователей. Используется в качестве режима по умолчанию;
    • lic — Ввод собственной лицензии. Требует заполнения переменных $SerialNumberSignServerLicense и $CompanyNameSignServerLicense.
  • $SerialNumberSignServerLicense — Серийный номер лицензии на Сервис Подписи.
  • $CompanyNameSignServerLicense — Имя компании, использующей лицензию.

По умолчанию конфигурационный файл DeployConfig.ps1 содержит значение переменной $DssSignServerLicense = «demo»,
что активирует Демонстрационную лицензию на Сервис Подписи.

Назначение метода аутентификации через мобильное приложение

Далее необходимо назначить метод аутентификации через мобильное приложение.

Настройка sms- и email-оповещений

Добавление записи «SMS-сообщений» в папку C:inetpubwwwrootfakesms_$ApplicationName производится
при помощи следующей переменной в разделе «Оповещения (SMS и Email)».

  • $Fakesmstrue или false. По умолчанию переменная равна true.

Расширенная настройка SMS-оповещения

Оповещения посредством электронной почты настраиваются при помощи следующих переменных.

  • $mail — Включение/отключение настройки Email-оповещения. Принимает значения true или false. По умолчанию переменная равна false.
  • $emailhost — Адрес почтового сервера.
  • $emailport — Порт обращения к почтовому серверу.
  • $emailFromAddress — Email, с которого будут приходить оповещения.

Расширенная настройка Email-оповещения

Настройка средств уц

Скрипт позволяет настроить обработчик запросов на сертификат при помощи следующей переменной.

  • $Enrollmode — принимает значения oob (Out-of-Band) и uc20 (КриптоПро УЦ 2.0). По умолчанию значение равно oob.

В случае если выбрано значение параметра $Enrollmode= «uc20», необходимо задать следующие дополнительные
параметры:

Дополнительно скрипт для быстрого старта позволяет выдать права на доступ к закрытому ключу сертификата
Оператора УЦ при помощи задания следующей переменной:

  • $OperatorUCKeyName — если используется обработчик УЦ 2.0, значение данной переменной должно быть равным $OperatorCertThumbprint

Подробнее об обработчиках запроса на сертификат

Отключение метода аутентификации

Пример запроса

Отключение метода аутентификации при помощи мобильного приложения на базе dss sdk

Отключение метода аутентификации состоит из последовательности шагов:

  1. Отключить требование подтверждения операций
  2. Отключить метод аутентификации
  3. Удалить привязанные мобильные устройства пользователя

Отключение требования подтверждения операций

Примечание

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

Пример запроса

Поиск пользователя

Сервис Управления пользователями предоставляет несколько возможностей поиска пользователя:

Поиск устройства пользователя

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

  • kid — идентификатор устройства пользователя
  • Alias — псевдоним устройства пользователя

Поиск осуществляется с помощью метода authntokens

Пример запроса

Получение qr-код nonce

Необходимость выполнения данного шага зависит от флага NonceRequired в сведениях об устройстве пользователя.
Если для завершения активации устройства требуется подтверждение через QR-код Nonce, то полученный QR-код необходимо передать
пользователю. После того как пользователь отсканирует QR-код устройство пользователя перейдет в состояние Active.

QrCode — QR-код в кодировке base64

Пример запрос

Получение qr-кода для инициализации мобильного приложения

Пример запроса

Получение настроек метода аутентификации

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

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

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

Пример запроса

Получение сведений об устройстве пользователя

При регистрации устройство пользователя передаёт на сервер следующие данные:

  • CreationType — тип регистрации устройства. Anonymous — саморегистрация устройства. Initialization — регистарция по QR-коду.
  • DeviceName — отображаемое имя устройства
  • PushAddress — (опцинально) Push-адрес устройства
  • OsType — тип операционной системы. 1 — iOS; 2 — Android
  • OsVersion — версия ОС
  • DeviceModel — модель устройства
  • Locale — локализация
  • TimeZoneUTCOffset — часовой пояс
  • AppVersion — (опцинально) версия приложения, в которое встроено SDK.
  • IMEI — (опцинально) IMEI

Так же сведения об устройстве устройства содержат:

  • State — статус ключей аутентификации
  • Alias — псевдоним устройства
  • NotBefore, NotAfter — сроки действия ключей аутентификации в формате MM/dd/yyy HH:mm:ss

Для получения сведений об устройстве пользователя используется метод authntokens
Поиск может осуществляться по kid — идентификатору устройства. Для поиска по kid используется фильтр по колонке Serial.

Пример запроса

Получение списка операций, требующих подтверждения

Пример запроса

Порядок работы со сценарием автоматического развертывания криптопро dss

Отредактируйте файл DeployConfig.ps1 из состава архива dss_quickstart.zip. Заполните переменные
необходимыми значениями и сохраните полученный результат.

Запустите файл DSSDeploy.ps1 в консоли PowerShell от имени администратора. После запуска становится
доступным меню скрипта. Введите номер пункта меню в зависимости от этапа, который необходимо выполнить, и
нажмите «Enter»:

Скрипт для быстрого старта DSSDeploy.ps1 позволяет выполнить следующие настройки веб-сервера.

  1. Добавление необходимых компонентов и ролей веб-сервера. Данное действие позволяет включить и
    установить недостающие компоненты веб-сервера (IIS), необходимые для работы КриптоПро DSS.
  2. Добавление привязки сертификата (RSA) на порт 443. При этом соответствующий сертификат будет сгенерирован автоматически.
  3. Добавление привязки сертификата (ГОСТ) на порт 443. При этом соответствующий сертификат будет сгенерирован автоматически.
  4. Добавление привязки сертификата (ГОСТ) на порт 4430. При этом соответствующий сертификат будет сгенерирован автоматически.
Примечание

Для установления защищенного канала ГОСТ-TLS с используемым мобильным приложением на базе DSS SDK
требуется установить на выделенном порту дополнительный сертификат веб-сервера.

Подробнее о настройке веб-сервера

Скрипт для быстрого старта DSSDeploy.ps1 позволяет развернуть КриптоПро DSS по следующим основным
сценариям.

1. Выбор сценария

  • «КриптоПро DSS». Включает развертывание и настройку Центра Идентификации, Сервиса Подписи, Сервиса Аудита и Веб-интерфейса Пользователя.
  • «КриптоПро DSS DSS SDK». Включает развертывание всех компонентов конфигурации «КриптоПро DSS», дополнительно включает развертывание и настройку Сервиса Операций, Сервиса Обработки Документов и Сервиса Взаимодействия с DSS SDK (mDAG).

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

2. Подключение к БД

После того как был выбран вариант конфигурации КриптоПро DSS, выберите расположение БД, которая
была создана ранее. Выбор расположения БД влияет на настройки строки подключения создаваемого экземпляра
к данной БД. Доступные варианты:

3. Выбор DNS-имени для сервера с DSS

На следующем этапе необходимо задать DNS-имя сервера DSS. Доступные варианты:

  • Использовать имя компьютера, на котором запущен скрипт.
  • Ввести произвольное имя. При выборе данного пункта скрипт предложит ввести указанные данные.

4. Выбор алгоритма подписи сервисных сертификатов

На следующем этапе необходимо выбрать алгоритм подписи служебных сертификатов. Доступные варианты:

5. Выбор способа именования экземпляров сервисов

На данном этапе необходимо ввести основное имя экземпляра (на основании него будут сформированы
остальные имена): Пример при названии test_, имя ЦИ будет test_idp, имя Сервиса Подписи будет
test_ss и т.д.

6. Результат выполнения скрипта

По завершении работы скрипта будет автоматически выполнено следующее:

  • создание и настройка экземпляров сервисов КриптоПро DSS в выбранной конфигурации;
  • создание необходимых сервисных сертификатов (ГОСТ на 15 месяцев или RSA на 50 лет в зависимости от выбранного пункта меню) и назначение их сервисам;
  • выдача прав пулам приложений на доступ к закрытым ключам сервисных сертификатов.

Дополнительно в папке, откуда был запущен скрипт, будут созданы следующие файлы и директории:

  • Var.txt — список переменных, использованных во время выполнения скрипта;
  • Tekstovka.txt — произведенные настройки экземпляров сервисов КриптоПро DSS;
  • директория certs — все созданные во время выполнения скрипта сертификаты.
Примечание

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

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

Развертывание дополнительных компонентов, необходимых для работы модуля аутентификации myDSS, а также
выполнение других настроек выполняется после заполнения переменных в блоке «Настройка DSS myDSS».

Подробнее о myDSS

Примечание

В случае если необходимо развернуть и настроить взаимодействие со службой штампов времени (TSP),
требуется задать в следующих параметрах файла DeployConfig.ps1 адрес и имя тестовой службы TSP:

  • $DssTspServiceurl
  • $DssTspServicename

Присоединение устройства к уз пользователя

Пример запроса

Проверка наличия привязанных к учетной записи мобильных устройств

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

Пример запроса

Расширенный поиск

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

Поиск пользователей можно выполнить по одному или нескольким параметрам:

Код параметра указывается в поле Column

Операции сравнения могут быть следующих типов:

ТипКодОписание
Equal0Строгое равенство
NotEqual1Не равно
Like2Содержит
Greater3Больше
Less4Меньше

Код операции указывается в поле Operation

Тип cравнения Like определяет, совпадает ли указанная символьная строка с заданным шаблоном.
Шаблон может включать обычные символы и символы-шаблоны.
Во время сравнения с шаблоном необходимо, чтобы его обычные символы в точности совпадали с символами, указанными в строке.
Символы-шаблоны могут совпадать с произвольными элементами символьной строки.

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

Символ-шаблонОписаниеПример
%Любая строка, содержащая ноль или более символов.%вано%
(подчеркивание)Любой одиночный символ._етров
[ ]Любой одиночный символ, содержащийся в диапазоне ([a-f]) или наборе ([abcdef]).[Л-С]омов
[^]Любой одиночный символ, не содержащийся в диапазоне ([^a-f]) или наборе ([^abcdef]).‘ив[^а]%

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

При поиске пользователей по времени создания значение фильтра должно иметь следующий формат: yyyy-MM-ddThh:mm:ss

Общее количество элементов подпадающих под критерии фильтра возвращается в параметре TotalCount.
Количество элементов отданных методом возвращается в параметре AffectedCount:
AffectedCount <= EndPosition — StartPosition

Срок действия clientsecret

  • $SecretLifetime — Срок действия ClientSecret в секундах при настройке аутентификации с использованием OAuth 2.0. По умолчанию имеет значение 8760. В тестовых целях значение может быть установлено равным 0, что делает данный ClientSecret бессрочным.

Удаление привязки мобильного устройства

Пример запроса

Оцените статью
ЭЦП64
Добавить комментарий