Аутентификация с помощью мобильного приложения | КриптоПро DSS

Аутентификация с помощью мобильного приложения | КриптоПро DSS ЭЦП
Содержание
  1. Offline подтверждение транзакции
  2. Асинхронное подтверждение транзакции
  3. Внимание!
  4. Задание отпечатка устройства
  5. Отключение mydss
  6. Отключение метода аутентификации
  7. Отключение требований подтверждения операций
  8. Повторная отправка кода активации пользователю
  9. Подтверждение операции на сервисе подписи
  10. Подтверждение транзакции подписи на сервисе подтверждения операций
  11. Поиск пользователя
  12. Получение qr-кода с ключом аутентификации mydss
  13. Получение подписанного документа на сервисе подписи
  14. Получение сведенией о mydss
  15. Получение списка операций, требующих подтверждения
  16. Получение схемы аутентификации пользователя
  17. Примечание
  18. Проверка назначен ли ключ аутентификации mydss пользователю
  19. Разработчикам
  20. Расширенный поиск
  21. Синхронное подтверждение транзакции
  22. Создание транзакции подписи на сервисе подписи
  23. Удаление ключа аутентификации

Offline подтверждение транзакции

Offline сценарий может использоваться как альтернативный способ подтверждения или отклонения транзакции.
Сценарий может использоваться когда мобильное приложение не имеет доступа в Интернет, либо по каким либо причинам не смогло загрузить с сервера
данные транзакции (сопровождающий текст, подписываемый документ)

Интегрируемая система должна отобразить пользователю QR-код (Image), полученный при первом обращении к Сервису Подтверждения Операций, и предоставить пользователю интерфейс
для ручного ввода кода подтверждения (отказа) транзакции.

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

Асинхронное подтверждение транзакции

Если в первом запросе к Сервису Подтверждения Операций пользователь указал CallbackUri, то после подтверждения операции
на мобильном устройстве пользователя придёт оповещение о завершении транзакции.

Сообщение о завершении транзакции содержит:

  • Result — результат подтверждения транзакции (success или failed)
  • TransactionId — идентификатор транзакции на Сервисе Подтверждения операций (RefId)
  • Error — код ошибки
  • ErrorDescription — описание ошибки

Примеры ответа на CallbackUri

Оповещение о подтверждении операции:

{
    "Result":"success",
    "TransactionId":"aa1a4a5d-bb4d-456b-87da-31818604fcd8",
    "Error":"",
    "ErrorDescription":null}

Оповещение об отказе (пользователь в мобильном приложении Отказался от подтверждения операции):

{
    "Result":"failed",
    "TransactionId":"2fbd0a40-77be-4a40-a688-a0249bba16a6",
    "Error":null,
    "ErrorDescription":null}

Оповещение об истечении строка действия транзакции.

{
"Result":"failed",
"TransactionId":"bc0ffdee-7143-439f-bf6b-d1400725d8f1",
"Error":"transaction_expired",
"ErrorDescription":"Срок действия транзакции истёк"}

Если пользователь подтвердил операцию на мобильном устройстве, необходимо обратиться на Сервис Подтверждения Операций
для получения нового AccessToken. В запросе передаётся идентификатор RefId.

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

Внимание!

В Offline сценарии на мобильном устройстве пользователя не может быть отображён
подписываемый документ. Отобразить возможно только сопровождающий операцию текст.

Задание отпечатка устройства

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

Требуется ли привязка ключа аутентификации к устройству пользователя задаётся Администратором на сервере DSS:

Set-DssMobileAuthProperties -DeviceFingerprintRequired 1

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

Отключение mydss

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

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

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

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

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

Примечание

Отключение методов аутентификации требуется, если myDSS является единственным способом вторичной аутентификации.
Если пользователю назначены другие способы аутентификации (например, одноразовые пароли по SMS),
то отключение методов не требуется.

Примечание

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

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

Повторная отправка кода активации пользователю

Если ключ аутентификации уже назначен пользователю и защищён на коде активации, то можно сделать повторную отправку кода активации ключа.

Требование защиты ключа аутентификации на коде активации настраивается Администратором на сервере DSS и распространяется на всех пользователей.

 Set-DssMobileAuthProperties -KeyInfoDivideRequired 1

Подтверждение операции на сервисе подписи

Предварительные условия

В подтверждении транзакции задействованы следующие сервисы DSS:

Примечание

У Администратора DSS необходимо получить значение параметров client_id и resource.
resource — идентификатор Сервиса Подписи, имеет вид:
urn:cryptopro:dss:signserver:<SignServerAppName>

Подтверждение транзакции подписи на сервисе подтверждения операций

Для подтверждения транзакции, созданной на Сервисе Подписи, пользователь отправляет запрос содержащий:

  • CallbackUri — адрес для оповещения о завершении транзакции (опционально).
  • TransactionTokenId – идентификатор транзакции, созданной на сервисе подписи.
  • Resource – идентификатор Сервиса Подписи.
  • ClientId — идентификатор OAuth клиента.
  • ClientSecret — пароль OAuth клиента (для неконфиденциальных клиентов данный параметр не указывается).

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

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

Получение qr-кода с ключом аутентификации mydss

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

Ключ аутентификации, передаваемый в QR-коде, может быть защищён на коде активации. Код активации передаётся пользователю в SMS или email сообщении.

Требование защиты ключа аутентификации на коде активации настраивается Администратором на сервере DSS и распространяется на всех пользователей.

 Set-DssMobileAuthProperties -KeyInfoDivideRequired 1

Код активации состоит из цифр. Минимальная длина кода — 6 цифр.

Изменить длину кода активации может Администратор DSS выполнив команду в консоли PowerShell:

 Set-DssMobileAuthProperties -SecondKeyPartLength 8
Примечание

Для отправки кода активации в SMS или Email Администратору необходимо
подключить и настроить соответствующий модуль оповещения на сервере DSS.

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

  • Пример получения QR-кода без кода активации

Получение подписанного документа на сервисе подписи

Для получения подписанного документа необходимо отправить запрос Сервису Подписи на конечную точку /documents.

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

Получение сведенией о mydss

Ниже приведён список методов, которые позволяют проверить:

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

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

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

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

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

Примечание

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

Проверка назначен ли ключ аутентификации mydss пользователю

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

Разработчикам

Раздел содержит руководство разработчика по интеграции с myDSS:

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

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

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

Код параметра указывается в поле 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

Синхронное подтверждение транзакции

В синхронном режиме пользователь должен периодически опрашивать Сервис Подтверждения Операция, ожидая
завершение подтверждения транзакции (флаг IsFinal = true).

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

Создание транзакции подписи на сервисе подписи

После прохождения аутентификации пользователь инициирует подписание документа.
Для подтверждения любых операций на Сервисе Подписи используется метод /transactions
В запросе необходимо указать:

Удаление ключа аутентификации

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

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