核心优势
如何启用 NFC 验证
原生 SDK 集成 (推荐)
NFC 验证可通过我们的原生 SDK实现,这些 SDK 提供了对设备 NFC 功能的完全访问权限:
iOS SDK 会自动处理所有 NFC 配置,包括:
- 针对电子护照的 ISO7816 应用程序标识符
- 权限和功能的设置
- 带有直观视觉反馈的实时芯片读取
Web 集成
⚠️ 浏览器限制 由于平台限制,NFC 验证在 Web 浏览器中不可用:对于 Web 集成,系统会自动跳过 NFC 验证,用户将继续进行标准的证件加自拍照验证。
工作原理
会话发起
用户通过您的应用或平台启动验证流程:
- 原生 SDK:直接在您的应用内启动验证工作流
- Web/移动端 Web:引导用户使用 Didit App 进行支持 NFC 的验证,或继续进行标准验证
证件拍照采集
用户拍摄其身份证件照片,采集以下内容:
- MRZ(机读区):用于派生芯片访问密钥
- 证件正反面图像:视觉数据与防伪特征
- 视觉防伪特征:全息图、水印、缩微印刷
NFC 支持检测
系统自动检查设备与证件的兼容性:
若 NFC 不可用,验证将无缝切换为标准的证件 + 生物识别验证继续进行。
NFC 芯片读取
对于兼容的设备与证件:
- 引导用户将证件贴近手机的 NFC 读取区域
- 视觉反馈实时显示读取进度
- 使用 PACE/BAC 协议与芯片建立安全通信
数据提取
系统遵循 ICAO 9303 标准从芯片中提取完整数据:
密码学验证
提取的数据将经过严格的密码学验证:
数字签名验证
数字签名验证
将每个数据组的哈希值与 SOD 中存储的签名进行核对验证,确保数据完整性。
证书链验证
证书链验证
验证信任链:证件证书 → 国家签名 CA → ICAO PKD 根证书,对照 CSCA 主列表和 ICAO 公钥目录进行核验。
证书吊销检查
证书吊销检查
对照证书吊销列表(CRL)核验证书,确保其未被吊销且证件未被报告为失窃或已遭到泄露。
交叉验证
交叉验证
将 NFC 提取的数据与证件照片的 OCR 数据、人脸生物特征比对结果以及 MRZ 校验和验证进行交叉核验。
结果与置信度分数
最终验证结果包括:
支持的证件
NFC 验证适用于包含 NFC 芯片的电子护照和电子身份证,证件上通常带有此标识:
日本个人编号卡(JPKI)
日本个人编号卡(マイナンバーカード)内含芯片,但并非 ICAO 9303 芯片。它包含依据日本公钥基础设施(JPKI)签发的证书,以及仅在持卡人输入卡片 PIN 码后才进行签名的私钥。Didit 在相同的 NFC 步骤中通过 JPKI(而非 ICAO 9303)读取该卡片,每个 NFC 结果都会在chip_protocol(icao 或 jpki)中指明所使用的协议。
要求
用户的操作步骤
拍摄卡片照片
用户在身份证件验证步骤中拍摄个人编号卡,与处理任何其他证件一致。Didit 会识别该卡片,并发起 JPKI NFC 步骤,而不是护照芯片读取。
输入卡片 PIN 码
SDK 会提示输入卡片的 4 位 PIN 码(利用者証明用電子証明書の暗証番号)。当 NFC 节点的
jpki_request_attributes 设置开启时(默认开启),还会要求输入签名密码,也称签名 PIN 码(署名用電子証明書の暗証番号,6 至 16 位大写英文字母和数字)。将卡片贴近手机
SDK 读取卡片证书,卡片会使用其自身的密钥对来自 Didit 的一次性挑战进行签名。SDK 上传证书和签名。PIN 码仅发送给卡片,绝不会传输给 Didit。
卡片会记录错误输入次数:连续输入错误 3 次后将锁定 4 位 PIN 码,连续输入错误 5 次后将锁定签名密码,被锁定的 PIN 码或签名密码必须由持卡人在所属的市区町村役所进行重置。输入错误后,SDK 会显示剩余尝试次数。SDK 绝不会进行最后一次尝试:当只剩一次机会时,它会停止尝试并告知用户在何处进行重置。请提醒用户在开始前准备好其 PIN 码和签名密码。
Didit 核验的内容
每项操作都是 NFC 节点上的配置项,因此您可以将其更改为无操作、审核中或已拒绝。请参阅 NFC 警告和 NFC 功能配置。
未核查吊销状态的含义
revocation_status: "unchecked" 表示 Didit 已验证证书链和卡片签名,但未能获取证书是否已被吊销的响应。例如,当卡片挂失时,证书会被吊销。由于无法排除卡片已被吊销的可能性,unchecked 绝不会被视为 good。它会触发 JPKI_REVOCATION_UNCHECKED,默认情况下将 NFC 步骤转入审核中。您可以通过 jpki_revocation_unchecked_action 选择其他结果。
当证书链或签名无效时,Didit 不会查询吊销状态:状态将保持为 unchecked,且仅触发证书链或签名警告。
持卡人数据与隐私
- 开启
jpki_request_attributes后,决策结果将在jpki.attributes下包含签名证书中的持卡人姓名、出生日期、性别和地址。关闭该项时,用户只需输入 4 位 PIN 码:读取过程仍会验证卡片和 PIN 码,但不携带持卡人数据,亦不会与卡片照片进行比对。 - NFC 步骤绝不会从芯片中读取卡片的 12 位个人编号(My Number)。
- 决策结果仅报告卡片所证明的内容,绝不会包含证书本身、其序列号或签名。