身份证明:Didit 如何从身份文件中检测公民身份 (ZH)
公民身份验证正日益成为银行、金融科技和政府服务的监管要求。以下是如何使用 Didit 从护照、入籍证书、出生证明等文件中提取、验证和确认公民身份。.

身份验证在历史上回答了一个问题:这个人是谁。姓名、出生日期、政府颁发的照片身份证件、生物识别匹配。足以开设账户、通过 AML 筛选并继续进行。
到 2026 年,多个司法管辖区的监管机构将增加第二个问题:这个人的公民身份是什么。美国财政部正在起草行政命令,要求银行收集客户的公民身份数据。欧盟的 eIDAS 2.0 框架将国籍作为数字身份钱包中的一级属性。选民登记、博彩许可、跨境金融服务、政府福利以及对移民敏感的行业都在推动国籍验证从锦上添花到强制要求。
本文档解释了 Didit 如何处理公民身份证明——支持哪些文件、提取方式、执行哪些真实性检查以及输出如何与其余 KYC 堆栈集成。
构成公民身份证明的内容
公民身份不是一个单一的数据点。它来自文件证据,并且被接受的证据因国家/地区而异。全球范围内存在一些模式:
- 护照 是最有力的证明。每个发行护照的国家/地区都将其发行限制给公民(以及一小部分例外情况,如难民旅行证件)。该文件本身是根据 ICAO 9303 标准发行的,这意味着它具有机器可读区、结构化视觉区以及——对于现代版本——包含由发行机构签名的相同数据的 NFC 芯片。
- 入籍和公民身份证书 证明了获得的公民身份。这些通常是由联邦或国家/地区当局发行的纸质文件。在美国,相关的表格是 N-550/N-570(入籍证书)和 N-560/N-561(公民身份证书)。
- 出生证明 证明在适用出生权公民制度的司法管辖区内出生的公民身份。格式差异很大——仅在美国,每个州、领土和许多县都会发行自己的出生证明。
- 在国外出生的公民报告(美国 CRBA / FS-240,其他国家的同等文件)涵盖在其公民国以外出生的公民。
- 国民身份证 表明在国民身份证仅颁发给公民的国家/地区具有公民身份(欧盟的大部分地区、拉丁美洲的一部分、中东的大部分地区)。在居民也可以持有国民身份证的国家/地区(例如,一些海湾国家、一些欧盟长期居民卡),国民身份证本身不能证明公民身份。
仅支持护照的验证提供商无法为从未持有护照的客户提供服务。大约 52% 的美国成年人,以及拉丁美洲和东南亚的大部分地区,没有护照。仅支持驾驶执照的提供商根本无法为任何公民身份验证要求提供服务——驾驶执照证明大多数司法管辖区内的合法居留权,而不是国籍。
Didit 的文档库涵盖以上所有内容,涵盖 220 多个国家/地区和 14,000 多种文档类型。
验证流程
从客户的角度来看,流程是在手机或桌面上进行的连续会话。在幕后,六个层并行运行。
第一层:文档捕获
系统提示客户拍摄文档照片。捕获 SDK 处理取景、眩光检测、对焦和低光照校正。它拒绝模糊、过暗或裁剪过度的扫描件。对于护照,它特别提示拍摄带有 MRZ 的页面,如果设备支持 NFC 并且护照具有芯片,则提供将护照对着手机点击进行芯片读取的提示。
对于出生证明和入籍证书——没有 MRZ 或芯片的情况下——捕获流程指导客户在对比表面上拍摄完整的文档照片,并可以接受多页用于跨越一页以上的文档。
第二层:文档分类
在提取任何字段之前,对文档进行分类:类型、国家/地区、发行机构、发行年份范围。分类运行在针对 14,000 多种文档库训练的模型上,这意味着它可以区分德克萨斯州的出生证明和佐治亚州的出生证明,1998 年版的入籍证书和当前版本,以及美国护照和美国护照卡。
分类输出驱动下游处理。不同的文档类型具有不同的字段模式、不同的安全功能和不同的真实性信号进行检查。
第三层:字段提取
OCR 提取已识别文档类型的结构化字段。对于 ICAO 护照,这意味着姓名、出生日期、国籍、护照号码、签发国家/地区、有效期、性别、出生地以及 MRZ 校验位。对于入籍证书,这意味着 A-号码、姓名、出生日期、前国籍、入籍日期和证书号码。对于美国各州的出生证明,这意味着姓名、出生日期、出生地、父母姓名和登记详细信息。
提取模型针对每种文档类型进行了调整。在密西西比州的出生证明上运行通用 OCR 会产生垃圾——排版不寻常、安全背景嘈杂、字段布局因发行年份而异。特定于文档的提取是 97% 和 60% 自动化率之间的区别。
第四层:真实性检查
这是大多数欺诈预防发生的地方。根据文档的不同,系统运行:
- MRZ 完整性检查——机器可读区包含从编码数据计算出的校验位。伪造或更改的护照将无法通过此检查。
- NFC 芯片验证——如果存在芯片,系统会读取签名数据组,根据国家/地区的信任列表(例如,ICAO PKD)验证发行者签名,并将芯片数据与视觉区进行比较。
- 安全功能检测——全息图、紫外线特征、微缩印刷、凹版、隐形图像。该模型查找发行机构为该文档版本使用的特定功能。
- 模板匹配——将文档与发行机构的参考模板进行比较,查找字体不匹配、布局偏差和颜色不一致。
- 篡改检测——拼接检测、复制粘贴伪影、照片替换、字段级编辑。这可以捕获在发行后修改的合法文档的案例。
- 图像取证——检测仅限数字的文档、屏幕截图伪影以及来自已知伪造工具的渲染签名。
对于出生证明和其他低安全性文档,真实性检查更多地依赖于模板匹配和篡改检测,因为这些文档本身具有较少的物理安全功能。这是文档类本身的结构性弱点,而不是验证的弱点——正确的缓解措施是将仅基于出生证明的验证与额外的信号(SSN 验证、地址历史记录、设备风险)配对,而不是假装清洁的出生证明 OCR 等于强大的证明。
第五层:生物识别匹配和活体检测
将文档照片与从客户设备捕获的实时自拍进行比较。活体检测层确认自拍是真人,而不是照片的照片、深度伪造、3D 蒙版或回放攻击。面部匹配层比较生物特征并返回匹配分数。
对于不包含照片的公民身份文件——美国出生证明、某些入籍证书、一些旧的国民身份证——生物识别步骤在同一会话中针对单独的、带有照片的身份证件运行。客户上传两个文档;生物特征与照片身份证件匹配;公民身份证据与相同的已验证身份相关联。
第六层:输出
API 返回结构化的验证记录:
- 文档类型、公民身份国家/地区、提取的字段
- 真实性分数以及通过或未通过的特定检查
- 生物识别匹配分数和活体检测结果
- 总体决策(批准、审查、拒绝)以及原因代码
- 带有哈希文档图像、时间戳和系统版本的防篡改审计跟踪
记录通过相同的 API 集成到制裁筛选、PEP 和不利媒体检查以及持续监控中——完整的 KYC 堆栈。
公民身份检测实际返回的内容
最常见的集成模式是单个调用来生成验证会话,以及在完成时传递结构化结果的 webhook。公民身份部分的简化结果示例:
```json
{
"status": "approved",
"document": {
"type": "certificate_of_naturalization",
"country_of_issue": "US",
"form_number": "N-550",
"extracted_fields": {
"a_number": "A-xxxxxxxxx",
"certificate_number": "xxxxxxxx",
"name": "JANE DOE",
"date_of_birth": "1985-06-12",
"country_of_former_citizenship": "MX",
"date_of_naturalization": "2014-09-18"
}
},
"citizenship": {
"status": "US",
"acquisition": "naturalization",
"evidence_document_type": "certificate_of_naturalization",
"confidence": 0.98
},
"authenticity": {
"overall_score": 0.96,
"checks": {
"template_match": "pass",
"security_features": "pass",
"tampering": "pass",
"image_forensics": "pass"
}
},
"biometric": {
"liveness": "pass",
"face_match_score": 0.93
}
}
```
相同的形状适用于文档类型。对于美国护照,公民身份字段将携带 status: "US"、acquisition: "birth_or_unspecified"、evidence_document_type: "passport" 以及 MRZ 和 NFC 结果在真实性块中。对于出生证明,公民身份字段携带派生状态、签发州和反映出生证明作为文档类别的较弱安全性的较低置信度分数。
下游系统——核心银行、合规案件管理、数据仓库——消耗结构化字段并相应地路由。
重要的边缘案例
真实的公民身份验证必须处理休闲实施遗漏的长期情况。
双重国籍。拥有美国国籍和墨西哥国籍的美国公民出示了墨西哥护照。该护照合法地证明了墨西哥国籍。它并未否定美国国籍。如果用例要求专门确认美国国籍,则流程必须在同一会话中接受其他美国颁发的证据。
无国籍人士和难民。根据 1951 年难民公约或 1954 年无国籍人士公约发行的旅行证件看起来像护照,但明确不确认国籍。Didit 会明确识别这些文档并显示正确的状态,而不是将其视为签发国家的公民身份证明。
最近入籍的公民。在过去 60 天内入籍的客户可能尚未拥有美国护照。他们将拥有入籍证书。该流程必须接受该证书作为主要公民身份证据,而不是坚持要求提供护照。
在国外出生的公民。在美国在德国出生的美国父母的公民拥有领事报告的外国出生情况(CRBA / FS-240),而不是美国出生证明。该流程必须将 CRBA 识别为公民身份证据。
姓名变更和文件不匹配。以一个名称入籍并在随后合法更改了名称的客户出示了带有旧名称的入籍证书和带有新名称的当前护照。验证必须将两者联系起来,而不会拒绝任何一个。
历史文档。1987 年发行的入籍证书看起来与 2024 年发行的入籍证书不同。模板匹配和真实性检查必须跨越发行历史,而不仅仅是当前格式。
一个默默地在这些案例中失败的验证堆栈实际上并没有解决公民身份问题——它正在解决一个简化的子集,同时将其余部分推到手动审查。Didit 的库包含历史和边缘案例的文档变体,这是一种设计。
隐私和数据处理
公民身份是敏感数据。大多数隐私框架将国籍和移民身份视为与种族、宗教和政治观点一起受保护的类别。不正确地存储它会在试图解决第一个问题时创建一个新的合规问题。
Didit 对公民身份数据的立场:
- 数据最小化。该平台仅返回客户配置的公民身份字段。只需要确认“此人是美国公民,是/否”的贷款人可以收到一个布尔值,而不是所有文档数据。
- 控制者/处理者边界。Didit 作为处理者。客户(银行、金融科技、平台)是控制器。处理的法律依据在于客户,Didit 的 DPA 反映了这一点。
- 静态和传输中的加密,并定期轮换密钥。
- 可配置的保留控制,每个客户最低要求符合监管义务,然后被清除。
- 对每次访问进行审计日志记录,用于内部问责制和监管传票响应。
- 符合 GDPR、LGPD、CCPA 和 APPI 的数据处理,在适用时提供特定于区域的驻留选项。
目标是让客户满足其监管义务,而不会从验证层继承新的义务。
集成公民身份验证
最快的生产路径是通过托管验证流程:一个 API 调用来创建一个会话、客户在其手机上访问的 URL、一个带有结果的 webhook。该流程在一个会话中处理捕获、OCR、真实性、生物识别匹配和结果传递。
对于需要更深层次定制的团队——白标的 UI、自定义分支逻辑、特定的文档类型限制——SDK 和直接 API 提供了对每个层的完全控制。
典型的集成模式:
- 银行和信用社:在开户期间以及根据新的美国规则,在现有帐户重新验证期间触发公民身份捕获。结果馈送核心银行系统和 AML 案件管理队列。
- 金融科技公司:在帐户升级或达到需要监管时(例如,当客户超过一个需要加强 KYC 的月度交易量时)进行公民身份捕获。
- 加密货币交易所:在运营商仅获得许可为特定国家的公民或居民提供服务的司法管辖区进行公民身份捕获。
- 博彩和 iGaming 运营商:在需要许可时进行公民身份捕获,并与年龄验证结合在同一流程中。
- 政府服务提供商:用于福利资格,与预定义的证据标准相关联。
- 跨境服务:公民身份捕获,以将客户路由到正确的司法管辖区合规流程。
这解锁了什么
完成得当的公民身份验证层不是一个复选框。它是一种新的身份数据形式,下游系统可以对其采取行动。银行可以根据公民身份将客户路由到正确的入职流程。交易所可以执行司法管辖区限制,而无需依赖基于 IP 的地理位置。政府可以验证福利资格,而无需进行纸质流程。平台可以符合新兴的公民身份门控法规,而无需重建其 KYC 堆栈。
四月 2026 年讨论中的美国行政命令是一个强制因素。它不会是最后一个。监管方向是朝着 身份验证作为更丰富的数据产品——身份、国籍、制裁状态、风险状况、持续监控——在两分钟内通过手机完成的单一流程中交付。
自一开始,Didit 的押注是,以广泛的文档覆盖、结构化输出、按检查付费定价和与客户现有系统无缝集成的 API 表面来提供服务。公民身份检测是该押注的自然延伸。
---
Didit 为银行、金融科技、加密平台和政府服务验证公民身份、身份和制裁暴露情况。14,000 多种文档类型、220 多个国家/地区、48 多种语言、每次验证 0.30 美元,没有最低限制。免费开始或与团队交谈。
