跳到主要内容
Didit 融资 750 万美元,打造身份与欺诈基础设施
Didit
返回博客
博客 · 2026年7月28日

MRZ解读:机读区技术指南 (ZH)

本技术指南详细解读机读区:涵盖国际民航组织(ICAO)9303标准TD1、TD2和TD3版面布局、校验位计算、解析常见陷阱及其与NFC芯片的关系。.

作者:Didit更新于
mrz-machine-readable-zone-technical-guide.png

MRZ 指的是机读区(Machine Readable Zone):印在护照、身份证和其他机读旅行证件上的标准化等宽字符块。

它编码了选定的身份和证件字段,以便进行光学字符识别。校验位有助于检测读取或转录错误。它们不能证明证件是真实的,也不能证明数据是由受信任的机构签发的,或出示者是合法持有人。

关键要点

  • MRZ 是一系列布局,而非单一通用字符串。TD1 使用三行,每行30个字符;TD2 使用两行,每行36个字符;TD3 使用两行,每行44个字符。
  • 位置具有特定含义。解析器必须保留行边界、字段宽度、填充字符以及该证件所选的架构。
  • 校验位用于检测错误;它们不是签名。国际民航组织(ICAO)的模10计算使用字符值和重复权重7、3、1。
  • 姓名和日期需要策略,而非猜测。音译、截断、填充符和两位数年份可能导致语法上有效的解析在语义上不确定。
  • MRZ 和 NFC 承担不同的信任功能。MRZ 是光学可读数据;经过身份验证的电子护照芯片可以提供数字签名数据和可选的防克隆证据。

什么是 MRZ?

机读区是符合国际民航组织(ICAO)标准的机读旅行证件上强制性的机读区域。它与目视检查区(VIZ)分开显示,目视检查区显示标签、完整日期、肖像和其他证件详细信息。

国际民航组织 Doc 9303 通过多个部分定义了旅行证件系统。第3部分包含机读旅行证件的通用规范。第4、5和6部分分别定义了TD3、TD1和TD2布局。这些布局使用 OCR-B 字符和有意限制的字符集:

  • 大写字母 AZ
  • 数字 09
  • 填充字符 <

填充符并非装饰。它填充未使用的固定宽度字段,在指定位置替换空格或不支持的标点符号,并分隔姓名组成部分。在解析之前删除所有 < 会破坏关于字段边界和姓名信息。

MRZ 重复选定的证件数据。它针对可互操作的捕获进行了优化,而不是为了保留每个可见字段或国家文字的姓名。

TD1、TD2 和 TD3 格式比较

第一个解析决定是证件布局。行数和确切宽度提供了最强的初始判别依据。

格式典型外形尺寸MRZ 形状总字符数姓名位置
TD1信用卡大小的官方旅行证件或身份证3 × 3090第3行
TD2较大卡片或小册子数据页2 × 3672第1行
TD3机读护照和其他 TD3 证件2 × 4488第1行

不要仅凭证件代码(如 PI)推断格式。捕获可能遗漏一行、合并两行、插入空格或从错误区域返回裁剪。在分配字段位置之前,验证几何形状和允许的字符。

TD1:三行,每行30个字符

Doc 9303 第5部分 定义了 TD1 尺寸的机读官方旅行证件。由于卡片紧凑,MRZ 跨越三行。

TD1 第1行:证件和可选数据

位置长度字段
1–22证件代码
3–53签发国或组织
6–149证件号码
151证件号码校验位
16–3015可选数据

根据第5部分的布局,证件代码的第一个字符是 ACI。未使用的可选位置用 < 填充。

如果证件号码超过九个字符,上线位置15为 <。续行字符使用位置16到最多28;号码的校验位紧随其后在位置17-29,然后是一个填充符。在将位置16-30视为可选数据之前,解析此例外情况。

TD1 第2行:持有人属性和复合校验

位置长度字段
1–66出生日期,格式为 YYMMDD
71出生日期校验位
81性别:FM<
9–146有效期,格式为 YYMMDD
151有效期校验位
16–183国籍
19–2911可选数据
301复合校验位

复合校验位涵盖上线位置6-30,然后是中线位置1-7、9-15和19-29。它不包括第3行的持有人姓名。按顺序连接这些确切的范围。

TD1 第3行:姓名

所有30个位置都用于姓名。两个填充符 << 将主要标识符(通常是姓氏)与次要标识符分开。单个 < 在任一组内分隔组成部分。

例如:

ERIKSSON<<ANNA<MARIA<<<<<<<<<<

这表示主要标识符 ERIKSSON 和次要标识符 ANNA MARIA,后跟填充。使用签发机构的标识符组,而不是假设每种文化都使用一个姓氏后跟名字。

TD2:两行,每行36个字符

Doc 9303 第6部分 定义了 TD2 布局。

TD2 第1行

位置长度字段
1–22证件代码
3–53签发国或组织
6–3631姓名

与 TD1 相同,证件代码的第一个字符是 ACI。姓名遵循与 TD1 相同的“主要标识符、<<、次要标识符”结构,但可用长度不同。

TD2 第2行

位置长度字段
1–99证件号码
101证件号码校验位
11–133国籍
14–196出生日期
201出生日期校验位
211性别
22–276有效期
281有效期校验位
29–357可选数据
361复合校验位

复合校验位涵盖位置1-10、14-20和22-35。国籍位置11-13和性别位置21被排除在外。这种排除是“几乎正确”实现的常见来源。

如果证件号码超过九个字符,位置1-9包含其九个主要字符,位置10为 <,其余字符从位置29-35开始。证件号码校验位紧随最后一个续行字符之后,然后是一个填充符。在将位置29-35仅解释为可选数据之前,应用此例外情况。

TD3:两行,每行44个字符

Doc 9303 第4部分 定义了机读护照和其他 TD3 尺寸的证件。

TD3 第1行

位置长度字段
1–22证件代码
3–53签发国或组织
6–4439姓名

对于机读护照,证件代码的第一个字符是 P。第二个字符根据适用的第4部分规则标识护照类型。姓名组成部分使用与 TD1 和 TD2 相同的基于填充符的结构。

TD3 第2行

位置长度字段
1–99护照号码
101护照号码校验位
11–133国籍
14–196出生日期
201出生日期校验位
211性别
22–276有效期
281有效期校验位
29–4214个人号码或可选数据
431可选字段校验位
441复合校验位

当可选的个人号码字段未使用并用 < 填充时,第4部分允许其校验位根据签发机构的选择为 0<。验证器应接受允许的变体,而不削弱对已填充字段的检查。

最终的复合校验位涵盖位置1-10、14-20和22-43。因此,它包括这些范围内的单个校验位,但不包括国籍和性别。

MRZ 校验位的工作原理

国际民航组织(ICAO)校验位使用确定性的模10计算。

1. 将每个字符转换为一个值

字符
090–9
AZ10–35
<0

2. 应用重复权重

从受保护字段的第一个字符开始,将值乘以:

7, 3, 1, 7, 3, 1, ...

3. 求和并取余数

将乘积相加并计算和模10。余数(从 09)就是校验位。

对于示例护照号码 L898902C3

字符:   L   8   9   8   9   0   2   C   3
值:    21   8   9   8   9   0   2  12   3
权重:    7   3   1   7   3   1   7   3   1
乘积: 147  24   9  56  27   0  14  36   3
和: 316
316 mod 10 = 6

预期的校验位是 6

验证单个校验位和复合校验位。单个失败表明可能存在字段级别问题;仅复合失败可能表明可选数据、范围构建或另一个涵盖字符有误。

校验位可以捕获许多替换和转置错误,但攻击者可以重新计算它们。它们提供错误检测,而不是针对伪造的真实性。

导致生产系统崩溃的解析陷阱

丢失固定宽度结构

在格式检测之前修剪每行、折叠 < 或删除换行符会移动字段。只有在隔离 MRZ 后才标准化外部空白,然后要求每行精确30、36或44个字符。

将 OCR 输出视为事实依据

OCR 通常会混淆 O0I1,以及 B8。不要进行全局替换:字母在证件号码中有效,数字在日期中有效。使用字段允许的字符集、校验位、VIZ 和其他捕获来指导恢复。记录原始 OCR 结果和任何更正。

过早移除填充符

< 可以表示填充、分隔符、未指定值或架构要求的替换。首先解析位置。仅在选定字段内解释填充符。

假设 MRZ 保留了打印的姓名

MRZ 省略标点符号,音译国家字符,并可能截断姓名以适应。<< 分隔标识符组;组内的 < 分隔组成部分。将原始 MRZ 姓名和证件的视觉或权威姓名分开存储,而不是默默地用一个覆盖另一个。

最后一个可用姓名位置的字母字符表示可能存在截断。姓名可以精确地填满字段并触发相同的信号,因此将其视为不确定性。

推断错误的世纪

MRZ 出生日期和有效期使用两位数年份。校验位验证六个打印数字,但不选择世纪。使用证件类型、有效期规则、捕获日期、持有人上下文和明确策略来解析完整日期。保留原始 YYMMDD 值,以便后续规则更改仍可审计。

将三字母代码视为通用国家/地区库查找

签发机构和国籍使用 Doc 9303 指定的代码集,其中包括组织和特殊值以及国家/地区。严格的仅限 ISO 映射可能会拒绝有效证件或错误标记签发机构。版本化并测试解析器使用的 ICAO 代码表。

忽略签发机构选项和长证件号码

可选数据由签发机构定义,长证件号码规则可以重新定位续行字符和校验位。不要为每个可选字段分配通用含义,或在没有特定格式证据的情况下将其连接到证件号码中。

默默“修复”失败的校验位

失败的校验位可能来自眩光、裁剪、损坏的行、不支持的签发机构约定或篡改。保留原始捕获,识别失败的字段,并请求受控重新捕获或审查。默默纠正会抹去理解失败所需的证据。

MRZ 与 NFC 芯片数据

MRZ 和 NFC 是互补的,而不是同一检查的竞争版本。

属性打印的 MRZ非接触式电子护照或电子身份证芯片
捕获相机、扫描仪或手动转录支持 NFC 的阅读器
数据选定的固定宽度身份和证件字段结构化数据组,可能包括更高质量的肖像
错误控制模10校验位经过身份验证时的数据组哈希和数字签名
真实性仅凭 MRZ 无法确定被动认证可以确定签发机构签名和数据完整性
防克隆支持时,主动认证或芯片认证可能提供证据
可用性广泛应用于机读旅行证件仅限于具有支持的非接触式芯片和可读设备路径的证件

MRZ 也可以参与芯片访问。国际民航组织(ICAO)的电子护照访问控制指南解释说,基本访问控制从护照数据页读取的数据(通常通过 MRZ)派生访问密钥。PACE 是一种在较新证件中遇到的更强的访问控制协议。访问控制保护芯片通信;它与验证签发机构的签名不同。

访问后,被动认证 会检查数字签名,以便检查系统可以确定芯片数据是否由签发机构保存且未被更改。可选的主动或芯片认证机制可以增加防克隆证据。

因此,一个健壮的证件流程可以:

  1. 捕获 MRZ 并验证其结构和校验位;
  2. 使用所需的访问数据建立受保护的 NFC 会话;
  3. 读取芯片数据组;
  4. 根据受信任的签发机构证书执行被动认证;
  5. 当证件支持时,执行防克隆机制;
  6. 比较芯片、MRZ 和可见证件数据;
  7. 单独验证申请人与证件的关联。

在不验证其签名的情况下读取芯片不等同于对其进行认证。同样,有效的芯片本身并不能证明当前的申请人是其合法持有人。

实施和安全检查表

在发布 MRZ 解析器之前:

  • 在切分字段之前,从精确的行几何图形检测 TD1、TD2 或 TD3;
  • 保留原始图像、原始 OCR 行、标准化行和解析器版本;
  • 在受控标准化后,仅接受允许的 MRZ 字符集;
  • 根据编程语言的索引,将基于一的 ICAO 位置仔细翻译后进行解析;
  • 验证每个适用的字段数字和特定格式的复合校验位;
  • 支持签发机构允许的空字段和长证件号码情况;
  • 单独保留原始和解释的日期、代码、姓名和可选数据;
  • 将截断和世纪推断作为明确的不确定性呈现;
  • 比较 MRZ 结果与 VIZ 或芯片数据,不要默默覆盖不匹配项;
  • 避免将 MRZ 字符串放入分析、URL、崩溃报告或常规日志中;
  • 加密敏感保留数据并应用访问、保留和删除策略;
  • 测试来自不同签发机构、格式、长姓名、损坏捕获和 OCR 混淆的真实样本;
  • 模糊测试行长度、填充符、无效字符和校验位失败;
  • 将证件接受策略与解析成功分开。

解析器回答:“编码了哪些字符,校验位是否一致?”证件认证和持有人验证需要额外的证据。

Didit 的作用

Didit 将身份验证NFC 读取列为独立的证件和身份模块。它们的公布价格均为每个0.15美元工作流编排器列为免费。

这些产品链接并未改变本指南中的信任区别:MRZ 解析、芯片认证、证件策略和持有人关联仍然是独立的结论。当前模块费率可在定价页面上查阅。

常见问题

MRZ 代表什么?

MRZ 代表机读区(Machine Readable Zone),是打印在机读旅行证件上的标准化等宽字符区域。

护照上的 MRZ 在哪里?

在 TD3 护照数据页上,它是两行,每行44个字符的块,通常位于数据页底部。

TD1、TD2 和 TD3 有什么区别?

它们是国际民航组织(ICAO)的证件尺寸和 MRZ 布局。TD1 有三行,每行30个字符;TD2 有两行,每行36个字符;TD3 有两行,每行44个字符。

MRZ 校验位能证明护照是真实的吗?

不能。它能检测许多意外读取错误。它不是数字签名,数据更改后可以重新计算。

为什么 MRZ 使用 < 字符?

它填充未使用的位置,在需要时替换空格或不支持的标点符号,分隔姓名组成部分,并可以在定义的上下文中表示未指定的字段。

MRZ 与 NFC 芯片数据相同吗?

不。一些身份字段重叠,但芯片可以存储结构化数据组和加密安全对象。适当的芯片认证可以提供证据,证明签名数据来自签发机构且未被更改。

应用程序应该信任 OCR 校正的 MRZ 数据吗?

仅在有明确证据的情况下。校正应具有字段感知能力,由校验位或其他来源支持,并与原始 OCR 结果一起保留。未解决的不一致应触发重新捕获或审查。

主要参考文献

结论

MRZ 之所以成功,是因为它受到限制:固定的行长度、固定的位置、有限的字符集和可预测的校验位。这些相同的限制要求严格的解析。保持原始结构完整,选择正确的 TD 布局,计算精确的受保护范围,并保留姓名、日期和签发机构特定选项的不确定性。

然后停留在证据所证明的边界。有效的 MRZ 是有用的可互操作数据。经过认证的 NFC 芯片数据可以添加加密证件证据。持有人验证和最终的业务决策仍然是独立的步骤。

身份与欺诈基础设施。

一个 API 即可实现 KYC、KYB、交易监控和钱包筛选。5 分钟即可集成。

让 AI 总结此页面
MRZ解读:机读区技术指南.