Верификация по NFC-чипу

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

Short answer

NFC считывает криптографически подписанный чип в паспорте или ID-карте с чипом и проверяет, что подпись выстраивается в цепочку до страны, выдавшей документ. Для этого нужен телефон с NFC-модулем, поэтому функция доступна через нативный SDK, а не через обычную страницу в браузере - и всегда переключается на обычную фотопроверку, если чип не удаётся считать. $0,15 за завершённое считывание, никогда не входит в бесплатный тариф.

#Что на самом деле доказывает NFC

Обычная проверка документа считывает то, что напечатано на поверхности. NFC считывает чип, а чип подписан государством, выдавшим документ. Это значит, что NFC может доказать две вещи, которые не может доказать фото:

  • Данные действительно поступили от выдавшего органа, потому что подпись выстраивается в цепочку до удостоверяющего центра этой страны.
  • Документ не был изменён, потому что вмешательство ломает подпись - в том числе такое вмешательство, которое невозможно заметить визуально.

Это самая надёжная проверка документа из тех, что предлагает Didit. Она также возвращает данные, которых нет на печатной поверхности, включая портретное изображение с самого чипа.

Note

После годичного контролируемого тестирования испанские Tesoro Público, Banco de España, SEPBLAC и CNMV пришли к выводу, что верификация Didit по NFC + liveness как минимум не менее безопасна, чем очная проверка документа в рамках правил противодействия отмыванию денег. См. сертификации и соответствие требованиям.

#Где NFC работает, а где нет

Для NFC нужен NFC-модуль телефона, а значит, нужен контекст приложения, который может его использовать:

Способ доставкиNFC доступен?
Нативный мобильный SDK (iOS, Android, React Native, Flutter)Да
Страница в браузере на телефонеНет - чип нельзя считать с обычной веб-страницы
ДесктопНет

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

#Резервный вариант работает автоматически

Когда NFC недоступен - в документе нет чипа, у устройства нет NFC-модуля, модуль выключен или пользователь не может достаточно ровно удержать телефон - поток переключается на стандартную проверку документа по фото плюс сравнение лиц. Сессия всё равно завершается; массив результатов NFC просто возвращается пустым.

Именно этот резервный вариант делает NFC безопасным для включения по умолчанию для всех. Но именно его нужно переопределить, если ваша политика звучит как "чип или ничего": чтобы требовать считывание чипа, настройте шаг NFC на отклонение, если чип не был подтверждён, и уберите из воркфлоу путь захвата по фото. Иначе пользователь, пропустивший NFC, всё равно пройдёт проверку через фото.

#Как читать результат

У каждой попытки NFC есть собственный статус и собственные предупреждения. Вот те, что важны:

ПредупреждениеЧто оно значитЧто делать
NFC_NOT_READЧип так и не был считан - обычно телефон сдвинулсяДайте попробовать ещё раз; это не признак мошенничества
NFC_BAC_FAILEDЧип не открылся ключом, полученным из напечатанных данныхОбычно плохое распознавание MRZ по OCR; повторите попытку
NFC_DATA_DOES_NOT_MATCH_OCRДанные чипа и напечатанные данные не совпадаютСчитать документ подделанным. Не одобряйте
NFC_PASSIVE_AUTHENTICATION_FAILEDПодпись чипа не выстроилась в цепочку до доверенного эмитентаОстановите поток
NFC_CHIP_CLONEDОбнаружены признаки клонирования чипаОстановите поток
NFC_DOCUMENT_REVOKEDДокумент был аннулирован выдавшим органомОстановите поток

Различие, которое стоит запомнить: NFC_NOT_READ и NFC_BAC_FAILED - это сбои удобства использования, которые заслуживают повторной попытки. Остальные - это нарушения целостности, которые заслуживают отклонения.

Tip

Для разработчиков: поле результата - это массив во множественном числе nfc_verifications[]. Некоторые ранние интеграции искали ключ в единственном числе nfc_verification, которого не существует.

#Как помочь пользователям действительно считать чип

Чип находится не в середине документа, а антенна - не в середине телефона. Две самые полезные инструкции для пользователя:

  1. Положить документ на стол и опереть телефон на него, а не держать оба предмета в руках.
  2. Медленно двигать телефон вокруг документа, пока не установится соединение - на большинстве телефонов антенна находится ближе к верхнему краю задней панели.

Чехлы и толстые кошельки между телефоном и документом также блокируют считывание.

#Сколько это стоит

NFC стоит $0,15 за завершённую верификацию и не входит в бесплатный тариф. Оплачивается отдельно от верификации ID, поэтому сессия, которая считывает чип и при этом проходит стандартную проверку документа, тарифицируется по обоим направлениям. См. что считается платной проверкой.

#Какие документы имеют чип

Большинство паспортов, выданных за последнее десятилетие, и всё больше национальных ID-карт и видов на жительство. Покрытие уже, чем покрытие OCR, именно потому, что зависит от физического документа. Актуальный список - в документации: документы с поддержкой NFC.