Верификация по NFC-чипу
NFC считывает подписанный чип внутри электронного паспорта или ID-карты с чипом с помощью телефона - самая надёжная проверка документа из доступных, которую испанские финансовые регуляторы признали как минимум не менее безопасной, чем очная проверка.
NFC считывает криптографически подписанный чип в паспорте или ID-карте с чипом и проверяет, что подпись выстраивается в цепочку до страны, выдавшей документ. Для этого нужен телефон с NFC-модулем, поэтому функция доступна через нативный SDK, а не через обычную страницу в браузере - и всегда переключается на обычную фотопроверку, если чип не удаётся считать. $0,15 за завершённое считывание, никогда не входит в бесплатный тариф.
#Что на самом деле доказывает NFC
Обычная проверка документа считывает то, что напечатано на поверхности. NFC считывает чип, а чип подписан государством, выдавшим документ. Это значит, что NFC может доказать две вещи, которые не может доказать фото:
- Данные действительно поступили от выдавшего органа, потому что подпись выстраивается в цепочку до удостоверяющего центра этой страны.
- Документ не был изменён, потому что вмешательство ломает подпись - в том числе такое вмешательство, которое невозможно заметить визуально.
Это самая надёжная проверка документа из тех, что предлагает Didit. Она также возвращает данные, которых нет на печатной поверхности, включая портретное изображение с самого чипа.
После годичного контролируемого тестирования испанские 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 - это сбои удобства использования, которые заслуживают повторной попытки. Остальные - это нарушения целостности, которые заслуживают отклонения.
Для разработчиков: поле результата - это массив во множественном числе nfc_verifications[].
Некоторые ранние интеграции искали ключ в единственном числе nfc_verification, которого не
существует.
#Как помочь пользователям действительно считать чип
Чип находится не в середине документа, а антенна - не в середине телефона. Две самые полезные инструкции для пользователя:
- Положить документ на стол и опереть телефон на него, а не держать оба предмета в руках.
- Медленно двигать телефон вокруг документа, пока не установится соединение - на большинстве телефонов антенна находится ближе к верхнему краю задней панели.
Чехлы и толстые кошельки между телефоном и документом также блокируют считывание.
#Сколько это стоит
NFC стоит $0,15 за завершённую верификацию и не входит в бесплатный тариф. Оплачивается отдельно от верификации ID, поэтому сессия, которая считывает чип и при этом проходит стандартную проверку документа, тарифицируется по обоим направлениям. См. что считается платной проверкой.
#Какие документы имеют чип
Большинство паспортов, выданных за последнее десятилетие, и всё больше национальных ID-карт и видов на жительство. Покрытие уже, чем покрытие OCR, именно потому, что зависит от физического документа. Актуальный список - в документации: документы с поддержкой NFC.