小白
发布于 2026-03-09 / 12 阅读
0
0

护照知多少 | 第4篇:护照底部的“密码”

前言

大家好,我是小白,今天我们开启“护照知多少”系列第4篇——护照底部的“密码”。通过前三篇文章,大家对中国护照的种类、样式和发展历史已经有了基本了解。今天,我们来聊一个很多人注意过,也可能好奇过,但是不太了解的知识——护照资料页底部那两行看起来像乱码一样的字符到底是什么?有啥用?且听小白道来,其实那玩意儿叫“机读码”,顾名思义,就是用来给机器阅读的,用来显示这两行字符的区域叫做“机读区”,相对应的,机读区上面给人看的地方叫“视读区”。为了方便理解,我做了一张图。

普通护照-资料页-sr64.jpg

中国普通护照视读区与机读区示意图

那机读码到底起啥作用呢?如果你留心观察,每次你通关的时候,边检人员会把你的护照放在一个小盒子一样的机器上刷一下,几秒钟就能调出你的全部信息。这个神奇的过程,靠的就是护照底部的机读码。今天,就让小白带你破解这串“密码”,看看它到底藏着什么秘密。

一、机读区是什么

目前,在绝大多数国家的护照资料页底部,都能够看到两行字符,由若干字母、数字和小于号<构成,且这些字符使用一种特殊的字体印刷,看起来方方正正、整整齐齐,和上面的正常文字信息形成鲜明对比。这个区域就是“机读区”,英文叫Machine Readable Zone,简称MRZ,我们来看一张特写,中国护照的照片已经用得够多了,咱们拿一张美国护照机读码来作为例子。

美国护照-资料页机读区.jpg

美国护照资料页机读区

根据规范表述,机读区是印制在护照、签证、身份证等旅行证件底部的一个特定区域,由两行或三行标准化的字符组成。这些字符使用特殊的OCR-B字体印刷,这种字体是专门为光学字符识别设计的,机器可以非常快速准确地读取信息。

关于机读区的历史可以追溯到上世纪六十年代。当时国际民航组织(英文简称ICAO)意识到,随着国际旅行人数的增加,传统的人工查验护照效率太低,且容易出错,还存在安全隐患。于是他们开始研究如何让机器自动读取护照信息。1980年,国际民航组织发布了Doc 9303文件,正式确立了机读旅行证件的标准。澳大利亚、加拿大和美国成为首批发行机读护照的国家。经过几十年的推广,到2010年,国际民航组织要求所有成员国都必须发行带有机读码的护照。如今,机读区已经成为全球旅行证件的“标配”。下面是首批发行机读护照三个国家的护照资料页,请各位看官鉴赏,注意看底部机读区,这是咱们本期的重点。

美国护照-资料页.jpg

美国护照资料页

加拿大护照-资料页.png

加拿大护照资料页

澳大利亚护照-资料页.jpg

澳大利亚护照资料页

二、机读区的三种格式

但是,根据文件规范,机读区也并不全是上图显示的这种格式,根据证件类型的不同,机读区一共有三种标准格式。

第一种叫TD1格式,主要用于身份证等小型证件。这种格式有三行,每行三十个字符。因为身份证尺寸较小,所以采用这种紧凑的格式,比如爱尔兰护照卡,见下图。

TD1.jpg

TD1格式规范示意图及证件样本

第二种叫TD2格式,主要用于签证和一些国家的身份证。这种格式有两行,每行三十六个字符。相比TD1,每行多了六个字符,可以容纳更多信息,小白没找到真实的证件,所以用DOC 9303规范中的示例图片给大家看看。

TD2.jpeg

TD2格式规范示意图

第三种叫TD3格式,这是我们最常见的护照格式。中国普通护照采用的就是TD3格式,有两行,每行四十四个字符。因为护照页面较大,所以可以采用这种信息量最大的格式。下图是三种格式的对比。

 

机读区三种格式对比

三、机读区里有什么信息

那么,机读码中的每个字符代表什么意思呢?小白今天以中国普通护照为例,逐行为大家解读。

普通护照-机读码.jpg

中国普通护照机读码

第一行以字母P开头,前两位代表护照类型,如上图,这个PO代表普通护照(Ordinary Passport),除此之外,我国外交护照用PD表示(Diplomatic Passport),公务护照用PS表示(Service Passport)。接下来三个字母是CHN,这是证件签发国的国家代码,按照ISO 3166标准,每个国家都有唯一的三字母代码,比如美国是USA,日本是JPN,英国是GBR。

再往后是你的姓名。机读区中的姓名格式是姓在前、名在后,中间用两个小于号(<<)分隔。比如张三,在机读区中显示为ZHANG<<SAN,上面图片是证件样本的机读区,所以姓名显示为ZHENGJIAN<<YANGBEN。如果持证人的名字比较长,超出了字符限制,就会被截断。如果名字中有空格或者连字符,也会用小于号代替。第一行的剩余部分用小于号填充,直到填满四十四个字符。这些填充的小于号没有实际意义,只是为了保持格式统一。

第二行包含更多关键信息。前九个字符是持证人的护照号码,中国电子护照的号码以E开头,后面跟着八位数字或者一位字母和七位数字。第十位是一个校验位,用于验证护照号码的正确性。接下来三个字符又是CHN,表示持证人的国籍(此处有小彩蛋,第一行的证件签发国和第二行的国籍国有可能是不同的,所以才会分别用两处国家代码来表示,比如埃及为巴勒斯坦人签发的旅行证件,第一行签发国为EGY,第二行国籍国为PSE,也有的人没有国籍,那么第二行就是XXX,或者XXA,或者XXB)。再往后六个字符是持证人的出生日期,格式是年年月月日日,比如1990年1月15日就写成900115。出生日期后面又是一个校验位。

接下来一个字符表示性别,M代表男性(Male),F代表女性(Female)。再往后六个字符是护照的有效期截止日期,同样是年年月月日日的格式,后面也跟着一个校验位。然后是可选的个人号码,比如有些国家会放身份证号码等,中国护照这个字段通常是空的,用小于号填充。最后是最终的复合校验位,用于验证整行数据的完整性。

小彩蛋又来了:这就是为什么不要在社交媒体上晒护照照片的原因。即使你把姓名和照片打码了,机读区里的信息仍然会暴露你的个人信息。

mrz_structure.png

护照机读区TD3格式结构图

四、校验位的秘密

大家有注意到,上文提到很多次“校验位”,啥是校验位呢?这其实是机读区中一个非常重要的安全机制,校验位上的数字是一种简单的错误检测码,可以防止数据录入错误或者证件被篡改。

校验位的计算方法是这样的:首先,每个字符被赋予一个数值。数字0到9就是本身的值,字母A到Z分别对应10到35。然后,每个位置有一个权重系数,按照7-3-1-7-3-1-7-3的循环规律分配。把每个字符的值乘以对应位置的权重,把所有乘积相加,最后用总和除以10,得到的余数就是校验位。

举个例子,假设护照号码是E12345678。E对应数值14,乘以位置1的权重7,得到98;1对应数值1,乘以位置2的权重3,得到3;2对应数值2,乘以位置3的权重1,得到2……以此类推,把所有乘积相加,除以10,余数就是校验位。计算过程见下图。

ICAO机读码校验.jpg

ICAO机读码校验计算

当机器读取机读区时,会重新计算校验位,然后与机读区中的校验位进行比较。如果两者不一致,说明数据可能有错误或者被篡改,系统就会发出警告。这个机制虽然简单,但非常有效,可以检测出大部分的单字符错误和相邻字符交换错误。

五、机读区与电子芯片

机读区的功能还不止上面那么多,对于电子护照来说,机读区还有一个更重要的功能:它是访问护照芯片的“密钥”。

电子护照的封底内嵌有一个射频识别芯片,芯片中存储着持照人的详细信息,包括高清照片、指纹等生物特征数据。为了保护隐私,芯片中的数据是加密的,不能随意读取。要解锁芯片,需要提供一个访问密钥,而这个密钥就是从机读区中的护照号码、出生日期和有效期计算出来的。

具体来说,访问密钥由护照号码后四位数字、出生日期的年月日六位数字、有效期的年月日六位数字组成,一共十六位数字。只有同时知道这三个信息,才能计算出正确的密钥,读取芯片中的数据。这个设计非常巧妙,既保证了芯片数据的安全性,又方便了合法使用。边检人员在读取机读区的同时,也就获得了访问芯片的密钥,可以无缝地完成芯片数据的读取和验证。

六、机读区的应用与安全

除了在边境通关中使用,机读区技术还被广泛应用于其他领域。在酒店入住时,前台可以用扫描设备读取护照机读区,快速录入客人信息,避免手工输入的错误。在银行开户时,机读区可以帮助验证客户的身份信息。在租车、购买火车票、办理电话卡等场景中,机读区都能发挥重要作用。

近年来,随着智能手机技术的发展,机读区识别也开始走向移动端。现在很多手机应用都可以通过手机摄像头读取护照机读区,完成远程身份验证。这在疫情期间尤为重要,很多人无法亲自到场,通过手机就能完成身份核验。

机读区的设计充分考虑了安全性。首先,校验位机制可以检测出大部分的数据错误和简单篡改。其次,机读区与芯片的结合,形成了双因素认证,即使机读区被伪造,没有正确的密钥也无法读取芯片数据。再次,机读区使用特殊的OCR-B字体和印刷工艺,难以被普通打印机复制。当然,机读区并不是绝对安全的,因此现代护照还采用了许多其他防伪技术,比如水印、安全线、激光穿孔、紫外线荧光图案等,与机读区形成多重防护。

好了,关于护照机读区的知识,今天就聊到这里。下次你在机场通关时,看到边检人员刷一下你的护照就能调出信息,你就知道背后的原理了。那两行看起来像乱码的字符,其实是你身份信息的数字化编码,是现代国际旅行不可或缺的基础设施。我是小白,我们下篇见。

这里留一个思考题:你能区分机读区的数字0和字母O吗?


评论