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

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

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

  • для граждан РК - это удостоверение личности гражданина РК,

  • для иностранцев-резидентов - это вид на жительство в РК.

Основные этапы биометрической аутентификации по эталонной фото лица, полученной от ИС партнера в CID:

1) ИС партнера запрашивает токен по логину и паролю, предоставленному CID

2) ИС партнера производит старт сессии в CID по полученному токену

3) СID стартует сессию и осуществляет запрос персональных данных клиента из государственной базы данных.

Процесс получения персональных данных может состоять из следующих этапов:

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

    • клиенту на номер мобильного телефона, зарегистрированный в базе мобильных граждан за его ИИН будет отправлено sms через SMS-шлюз eGov 1414 с запросом предоставить разрешение к его персональным данным (данные из удостоверение личности/ВНЖ и фото лица).

    • если клиент даст разрешение на доступ к его персональным данным, то CID направит запрос к государственной базе для получения его персональных данных

    • если клиент откажет в доступе к его персональным данным, то CID отобразит сообщение об ошибке

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

4) CID обработает ответ от государственной БД:

  • Если персональные данные (фото, данные из документа удостоверяющего личность) не были предоставлены, то CID выведет сообщение об ошибке:

  • Если данные были предоставлены, то CID выведет экран биометрической аутентификац

4) Пользователь осуществляет сканирования лица клиента и CID проводит определение живости лица и выделение лучшего кадра

5) CID проводит сверку фото лица полученного из государственной базы данных с фото лица полученного при сканировании в CID, завершает сессию и передает номер сессии в ИС партнера на указанный URI

6) ИС - партнера по номеру сессии получает данные сессии ( результаты биометрической аутентификации)

Токен, получаемый ИС партнера для сессии - одноразовый. Период жизизни токена состовляет 15 минут

Методы взаимодействия

Получение токена

Запрос


curl --location 'http://cid.supreme-team.tech/api/v1/customer-identification/session-token?identificationType=GOV_DOC_REFERENCE&redirectUri=https%3A%2F%2Foidcdebugger.com%2Fdebug&state=someState' \
 
--header 'Content-Type: application/json' \
 
--header 'Authorization: Basic Y2lkLWNsaWVudDpwYXNzd29yZA==' \
 
--data '{
 
   "govData": {
 
      "identificationNumberType": "IIN",
 
      "identificationNumber": "123456789012",
 
      "allowFaceMatchFailure": TRUE
 
   }
 
}

Параметры запроса

Заголовок

Параметр
Значение
Обязательный
Коментарий

identificationType

GOV_DOC_REFERENCE

Да

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

redirectUri

Указывается в ИС Партнера

Да

ИС Партнера передает ссылку на ресурс, куда CID вернет данные сессии.

Ограничения - указанная ссылка на ресурс должна быть в списке разрешенных. Партнер за ранее должен предоставить BTSD список uri для включения в список разрешенных

state

Указывается в ИС Партнера

Нет

Состояние системы Партнера которое будет передано CID в редиректе на ресурс ИС партнера в неизменном состоянии. Длина параметра должна быть не более 500 символов

Тело запроса

identificationNumberType

String

Да

Тип идентификационного пераметра физического лица. Допустима передача следующего типа:

  • IIN - типом идентификационного параметра является ИИН

identificationNumber

String

Да

Идентификационный параметр физического лица, передается номер ИИН. Обязательно должно быть передано 12 цифр.

allowFaceMatchFailure

Boolean

Нет

Признак низко-рисковой операции, если в параметре передано значение TRUE.

При низко-рисковой операции в случае, если биометрическая аутентификация будет не пройдена клиентом, то ИС Партнера получит ответ в котором будут переданы параметры следующих объектов: liveness, errorInfo

Ответ

{
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzZXNzaW9uU2VjcmV0IjoiMjI3MmQyODAtZjA4Zi00M2VmLWJkODQtM2E0M2JkZDM1Mjc1IiwiZXhwIjoxNzQyOTgzNzg1fQ.oOptJPqKxv1LMUKfKnNevyx0hyYstjXiNIW2gbwpfAxoTxzoKd8FHYU2UYu-R79o4-1hbjIGNQUmRDW5X2DmQQ"
}

Старт сессии

https://cid.test.supreme-team.tech?token=$token

Структура запроса

Параметр

Тип

Обязательный

Описание

token

String

Yes

Токен, полученный в методе получения токена

Получение данных сессии

Запрос

curl --location 'http://cid.test.supreme-team.tech/api/v1/customer-identification/6cd28065-a96e-40c0-91be-35da38610e1e/identification-result' \
--header 'Authorization: Basic Y2lkLWNsaWVudDpwYXNzd29yZA==' \
--data ''

Структура запроса

Параметр

Тип

Обязательный

Описание

<идентификатор сессии>

String

Yes

Уникальный идентификатор сессии в CID

identification-result

String

Yes

Тип запрашиваемых данных.

identification-result - вернуть результат сессии.

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

В случае если сессия завершилась успешно, то ИС получит данные ошибки

Ответ

Пример - сессия завершена успешно (пользователь прошел биометрическую аутентификацию)

{
    "sessionId": "6cd28065-a96e-40c0-91be-35da38610e1e",
    "sessionStarted": "2024-03-27T12:10:34.745435Z",
    "sessionEnd": "2024-03-27T12:13:11.813523Z",
    "sessionStatus": "SUCCESS",
    "document": {
        "recognizedDocumentType": "ID_CARD",
        "countryCode": "KAZ",
        "documentNumber": "12345678",
        "firstName": "МАРЖАН",
        "lastName": "ТҰРСЫН",
        "patronymic": "АЛИ",
        "gender": "F",
        "dateOfBirth": "1986-07-12",
        "placeOfBirth": "АЛМАТЫ ОБЛ.",
        "nationality": "ҚАЗАҚ",
        "issueDate": "2020-10-08",
        "expireDate": "2030-10-07",
        "authority": "ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ІІМ",
        "identificationNumber": "860712401756"
    },
    "liveness": {
        "verificationType": "VERIFICATION_3D",
        "selfieConfidenceLevel": 0.91967,
        "creationTime": "2024-03-27T12:13:07.397741Z",
        "responseTime": "2024-03-27T12:13:11.813523Z"
    },
    "errorInfo": null
}

Пример - сессия завершена не успешно пользователь завершил сессию (пользователь не прошел биометрическую аутентификацию)

{
    "sessionId": "bc8f8267-0c1d-44d0-8473-927035688941",
    "sessionStarted": "2024-03-28T07:48:25.045395Z",
    "sessionEnd": "2024-03-28T07:50:52.255556Z",
    "sessionStatus": "FAILED",
    "document": null,
    "liveness": {
        "verificationType": "VERIFICATION_3D",
        "selfieConfidenceLevel": 0.315,
        "creationTime": "2024-03-27T12:13:07.397741Z",
        "responseTime": "2024-03-27T12:13:11.813523Z"
    },
    "errorInfo": {
        "eventType": "LIVENESS_FAILED",
        "error": "CID_9",
        "errorMessage": "The face in the photo and the face on the document did not match, start the whole process again"
    }
}

Структура ответа

Параметр

Тип

Обязательный

Описание

sessionId

String

Yes

Уникальный идентификатор сессии в CID

sessionStarted

DateTime

Yes

Дата/время начала сессии в CID

sessionEnd

DateTime

Yes

Дата/время окончания сессии в CID

sessionStatus

String

Yes

Статус сессии в CID. Может принимать следующие значения:

  • SUCCESS - сессия завершена успешно биометрическая аутентификация пройдена

  • FAILED - сессия не завершена, остановлена пользователем

document

Object

No

Данные документа, удостоверяющего личность

  • recognizedDocumentType

String

YES

Вид документа удостоверяющего личность. Может принимать следующие значения

  • RESIDENCE_PERMIT - Вид на жительство РК

  • ID_CARD - УЛ гражданина РК

  • countryCode

String

YES

Код страны (ISO 3166-1 Alfa-3), выдавшей документ. Для УЛ РК и ВНЖ РК - KAZ

  • documentNumber

String

YES

Номер документа

  • firstName

String

YES

Имя

  • lastName

String

YES

Фамилия

  • patronymic

String

NO

Отчество

  • gender

String

YES

Пол. Передается:

  • F - для женщин

  • M - для мужчин

  • dateOfBirth

Data

YES

Дата рождения

  • placeOfBirth

String

NO

Место рождения

  • nationality

String

YES

  • Указывается страна гражданства для документов: RESIDENCE_PERMIT

  • Указывается национальность для ID_CARD

  • issueDate

Data

NO

Дата выдачи

  • expireDate

Data

YES

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

  • authority

String

NO

Орган выдавший документ

  • identificationNumber

String

NO

ИИН

liveness

Object

No

Данные биометрической аутентификации

  • verificationType

String

YES

Тип биометрической верификации примененной CID.

  • VERIFICATION_3D - была применена 3D Liveness

  • selfieConfidenceLevel

String

YES

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

  • creationTime

DateTime

YES

Дата создания медиа материалов (прохождение лайвнеса)

  • responseTime

DateTime

YES

Дата/время формирования ответа

errorInfo

Object

No

Данные об ошибке

  • eventType

String

Yes

Событие/этап на котором произошла ошибка

  • error

String

Yes

Код ошибки

  • errorMessage

String

Yes

Текст ошибки

Ошибки

Перечень ошибок см., статью Ошибки сервисов CID

Получение медиа-данных сессии

В рамках данной сессии в CID фиксируются следующие медиа-данные

  • Лучший снимок с изображением лица;

  • Видо-ролик определеия живости лица.

Описание методов получения медиа-данных см., статью Получение медиа-данных сессии

Last updated

Was this helpful?