Параметры ключа — различия между версиями

Материал из PayControl Wiki
Перейти к: навигация, поиск
(Новая страница: «При создании запроса на генерацию ключевой информации пользоват…»)
 
(Флаги)
 
(не показаны 4 промежуточные версии 2 участников)
Строка 27: Строка 27:
 
* «3» – минимум 8 символов (обязательно использование A-Z, a-z и 0-9) пароль обязателен.
 
* «3» – минимум 8 символов (обязательно использование A-Z, a-z и 0-9) пароль обязателен.
 
Если опциональное значение passPolicy не установлено, принимается значение равное «0».
 
Если опциональное значение passPolicy не установлено, принимается значение равное «0».
 +
==Скоринг и автоподпись==
 +
===Скоринг===
 +
'''scoring_enabled''' - разрешение "скоринга" устройства и поведенческого анализа с помощью дополнительного антифрод-модуля Secure Bank от Group IB. Лицензируется отдельно.
 +
===Автоподписание===
 +
'''autosign_enabled''' - разрешение автоподписи транзакций на основе результата скоринга устройства и поведенческого анализа. Для автоподписи используется дополнительная асимметричная ключевая пара.
 
==Отложенный ввод в действие ключевой информации==
 
==Отложенный ввод в действие ключевой информации==
 
'''delayed''' – флаг отложенного ввода в действие ключа. При его установке ключ, используемый для подтверждения транзакций и проверки кодов аутентификации, не заменяется. Сгенерированный новый ключ помечается как отложенный. Его ввод в действие выполняется одним из следующих способов:
 
'''delayed''' – флаг отложенного ввода в действие ключа. При его установке ключ, используемый для подтверждения транзакций и проверки кодов аутентификации, не заменяется. Сгенерированный новый ключ помечается как отложенный. Его ввод в действие выполняется одним из следующих способов:
Строка 34: Строка 39:
 
При выполнении обновления без данного флага вся отложенная ключевая информация далее считается недействительной и не может быть введена в действие.
 
При выполнении обновления без данного флага вся отложенная ключевая информация далее считается недействительной и не может быть введена в действие.
 
Если значение опционального флага не указано, принимается значение равное «false».
 
Если значение опционального флага не указано, принимается значение равное «false».
 +
==Параметры NFC==
 +
'''nfc_policy''' - флаг, который определяет использования NFC на мобильном устройстве. Доступны следующие варианты:
 +
* «0» – использование NFC-карты, хранащей закрытый ключ, на мобильном устройстве запрещено. Для всех криптографических операций используется ключевая пара генерируемая на самом мобильном устройстве;
 +
* «1» – использование NFC-карты, хранащей закрытый ключ, на мобильном устройстве опционально. В криптографических операциях может быть использована как ключевая пара, генерируемая на мобильном устройстве, так и ключевой контейнер, хранящийся на NFC-карте;
 +
* «2» – использование NFC-карты, хранащей закрытый ключ, на мобильном устройстве обязательно. Для всех криптографических операций используется ключевая пара, хранящаяся в контейнере на NFC-карте;
 +
 +
Если опциональное значение nfc_policy не установлено, принимается значение равное «0».
 
=Флаги=
 
=Флаги=
В составе QR-кода, значения передаются в 7-ой строке передаваемых данных, в целом числе, вместо флага withFingerPrint. Значения флагов вычисляются с помощью битовой маски.
+
В составе QR-кода, значения передаются в 7-ой строке данных (для версии сервера 3.x) или в параметре "key_flags" (для версии сервера 5 и выше), целым числом. Значения флагов вычисляются с помощью битовой маски.
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
KEYFLAG_WITH_FINGERPINT = (1 << 0);
+
KEYFLAG_WITH_FINGERPRINT = (1 << 0);
 
KEYFLAG_COLLECT_EVENTS = (1 << 1);
 
KEYFLAG_COLLECT_EVENTS = (1 << 1);
 
KEYFLAG_COLLECT_DEVICEINFO = (1 << 2);
 
KEYFLAG_COLLECT_DEVICEINFO = (1 << 2);
Строка 46: Строка 58:
 
KEYFLAG_DENY_STORE_WITH_OS_PROTECTION = (1 << 7);
 
KEYFLAG_DENY_STORE_WITH_OS_PROTECTION = (1 << 7);
 
KEYFLAG_DENY_RENEW_PUBKEY = (1 << 8);
 
KEYFLAG_DENY_RENEW_PUBKEY = (1 << 8);
 +
KEYFLAG_SCORING_ENABLED = (1 << 9);
 +
KEYFLAG_AUTOSIGN_ENABLED = (1 << 10);
 +
KEYFLAG_REMOTE_UPDATE_ENABLED = (1 << 11);
 +
KEYFLAG_SERVERSIGNER = (1 << 12);
 +
KEYFLAG_NFC_ENABLED_POS = (1 << 13);
 +
KEYFLAG_NFC_ENABLED_POS = (1 << 14);
 
</syntaxhighlight>
 
</syntaxhighlight>

Текущая версия на 17:23, 2 июня 2023

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

Описание

Отпечаток устройства

withFingerPrint – указывает, осуществлять ли привязку устройства к Пользователю PayControl. В случае наличия в запросе на создание пользователя параметра «флаг привязки пользователя к устройству» со значением «true» при проверке кода подтверждения будет использован отпечаток устройства пользователя. Отпечаток устройства вносится в информацию о пользователе путем вызова метода «Сохранение отпечатка устройства»;

Сбор событий

collectEvent – флаг, указывающий необходимость передачи мобильным приложением информации о событиях и сохранения её сервером в базе данных PayControl;

Информация об устройстве

collectDeviceInfo – флаг, указывающий необходимость сбора информации об устройстве в составе информации о событии. Учитывается только в случае, если установлен флаг collectEvent;

Информация о сим-карте

collectDeviceSIMInfo – флаг, указывающий необходимость сбора информации о телефоне (SIM-карте). При включении – мобильное устройство передаёт информацию, относящуюся к телефону и SIM-карте в составе информации об устройстве. Учитывается только если установлен флаг collectDeviceInfo. На Android-устройстве необходимо дополнительное разрешение приложению на доступ к информации о телефоне;

Информация о местоположении устройства

collectDeviceLocation – флаг, указывающий необходимость сбора информации о местоположении устройства. При включении – мобильное устройство передаёт координаты местоположения устройства в составе информации об устройстве. Учитывается только если установлен флаг collectDeviceInfo. На мобильном устройстве необходимо дополнительное разрешение на доступ к геолокации;

Запрет перерегистрации открытого ключа

denyRenewPublicKey – флаг, запрещающий перерегистарцию открытого ключа сервере, если открытый ключ уже был зарегистрирован ранее;

Параметры сохранения ключевой информации на устройстве

Запрет использования механизмов безопасности ОС

denyStoreWithOSProtection – флаг, запрещающий сохранение ключа с использованием механизмов безопасности операционной системы мобильного устройства (TouchID/FaceID, Google Key Store);

Требования к паролю

Также может быть указан вариант требований к сложности пароля при сохранении ключевой информации на мобильном устройстве, путём задания значения passPolicy. Доступны следующие варианты:

  • «0» – минимум 6 символов, пароль не обязателен;
  • «1» – минимум 6 символов, пароль обязателен;
  • «2» – минимум 8 символов (обязательно использование A-Z и a-z) пароль обязателен;
  • «3» – минимум 8 символов (обязательно использование A-Z, a-z и 0-9) пароль обязателен.

Если опциональное значение passPolicy не установлено, принимается значение равное «0».

Скоринг и автоподпись

Скоринг

scoring_enabled - разрешение "скоринга" устройства и поведенческого анализа с помощью дополнительного антифрод-модуля Secure Bank от Group IB. Лицензируется отдельно.

Автоподписание

autosign_enabled - разрешение автоподписи транзакций на основе результата скоринга устройства и поведенческого анализа. Для автоподписи используется дополнительная асимметричная ключевая пара.

Отложенный ввод в действие ключевой информации

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

  • путем вызова метода Ввод отложенного ключа в действие;
  • путем вызова одного из методов: Сохранение отпечатка устройства, Регистрация открытого ключа, Регистрация устройства для отправки PUSH-уведомлений с кодом аутентификации, сформированным на отложенном ключе.

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

Параметры NFC

nfc_policy - флаг, который определяет использования NFC на мобильном устройстве. Доступны следующие варианты:

  • «0» – использование NFC-карты, хранащей закрытый ключ, на мобильном устройстве запрещено. Для всех криптографических операций используется ключевая пара генерируемая на самом мобильном устройстве;
  • «1» – использование NFC-карты, хранащей закрытый ключ, на мобильном устройстве опционально. В криптографических операциях может быть использована как ключевая пара, генерируемая на мобильном устройстве, так и ключевой контейнер, хранящийся на NFC-карте;
  • «2» – использование NFC-карты, хранащей закрытый ключ, на мобильном устройстве обязательно. Для всех криптографических операций используется ключевая пара, хранящаяся в контейнере на NFC-карте;

Если опциональное значение nfc_policy не установлено, принимается значение равное «0».

Флаги

В составе QR-кода, значения передаются в 7-ой строке данных (для версии сервера 3.x) или в параметре "key_flags" (для версии сервера 5 и выше), целым числом. Значения флагов вычисляются с помощью битовой маски.

KEYFLAG_WITH_FINGERPRINT = (1 << 0);
KEYFLAG_COLLECT_EVENTS = (1 << 1);
KEYFLAG_COLLECT_DEVICEINFO = (1 << 2);
KEYFLAG_COLLECT_SIMINFO = (1 << 3);
KEYFLAG_COLLECT_LOCATION = (1 << 4);
KEYFLAG_PASS_POLICY_POS = (1 << 5); // password policy encoded by 2 bits (4 values)
KEYFLAG_PASS_POLICY_POS = (1 << 6); // password policy encoded by 2 bits (4 values)
KEYFLAG_DENY_STORE_WITH_OS_PROTECTION = (1 << 7);
KEYFLAG_DENY_RENEW_PUBKEY = (1 << 8);
KEYFLAG_SCORING_ENABLED = (1 << 9);
KEYFLAG_AUTOSIGN_ENABLED = (1 << 10);
KEYFLAG_REMOTE_UPDATE_ENABLED = (1 << 11);
KEYFLAG_SERVERSIGNER = (1 << 12);
KEYFLAG_NFC_ENABLED_POS = (1 << 13);
KEYFLAG_NFC_ENABLED_POS = (1 << 14);