身份文件

电子护照

电子护照遵循国际民航组织(ICAO)Doc9303规范,规范文本发布在:https://www.icao.int/publications/pages/publication.aspx?docnum=9303

其中数据格式部分位于 Part 10: Logical Data Structure (LDS) for Storage of Biometrics and Other Data in the Contactless Integrated Circuit (IC)

目录结构

doc9303.png

文件列表

Data Group EF Name Short File Identifier FID Tag
Common EF.COM 1E 01 1E 60
DG1 EF.DG1 01 01 01 61
DG2 EF.DG2 02 01 02 75
DG3 EF.DG3 03 01 03 63
DG4 EF.DG4 04 01 04 76
DG5 EF.DG5 05 01 05 65
DG6 EF.DG6 06 01 06 66
DG7 EF.DG7 07 01 07 67
DG8 EF.DG8 08 01 08 68
DG9 EF.DG9 09 01 09 69
DG10 EF.DG10 0A 01 0A 6A
DG11 EF.DG11 0B 01 0B 6B
DG12 EF.DG12 0C 01 0C 6C
DG13 EF.DG13 0D 01 0D 6D
DG14 EF.DG14 0E 01 0E 6E
DG15 EF.DG15 0F 01 0F 6F
DG16 EF.DG16 10 01 10 70
Document Security Object EF.SOD 1D 01 1D 77
Common EF.CARDACCESS 1C 01 1C  
Common EF.ATR/INFO      
Common EF.CardSecurity 1D 01 1D  

二代居民身份证

中华人民共和国居民身份证是由公安机关签发的用于证明大陆居民身份的证件。二代居民身份证中增加了射频芯片,里面存储了包括照片在内的个人信息,用于机器读取。

机读信息

二代证中存储的机读信息由行业标准 GA/T 490 规定,数据加密后存储在卡片中,读取时需用 SAM 解密。所用加密算法包括SM1[1]

卡片包括如下文件:

机读文字信息文件(256字节)
序号 数据项名称 字节数 标识符 说明
1 姓名 30 xm  
2 性别代码 2 xbdm 符合 GB/T 2261.1 的规定
3 民族代码 4 mzdm 符合 GB/T 3304 的规定
4 出生日期 16 csrq 年月日 YYYYMMDD
5 住址 70 dzmc  
6 公民身份号码 36 gmsfhm 符合 GB 11643 的规定
7 签发机关 30 qfjgmc  
8 有效期起始日期 16 yxqqsrq 居民身份证的有效期截止日期符合 GA/T 2000.16 的规定
9 有效期截止日期 16 yxqjzrq 居民身份证的有效期截止日期符合 GA/T 2000.16 的规定
10 预留区域 36    
机读照片信息文件(1024字节)
序号 数据项名称 字节数 标识符 说明
1 机读相片 1024 jdxp 以二进制数存储的 WLT 格式图片(参考发明专利 CN1779717A)
机读指纹信息文件
序号 数据项名称 字节数 标识符 说明
1 指纹一_指纹特征数据 512 zwy_zwtzsj 第一枚指纹的指纹特征数据,以二进制数存储
2 指纹二_指纹特征数据 512 zwe_zwtzsj 第二枚指纹的指纹特征数据,以二进制数存储
追加住址信息文件
序号 数据项名称 字节数 标识符
1 机读追加住址 1 70 jdzjzz1
2 机读追加住址 2 70 jdzjzz2
3 机读追加住址 3 70 jdzjzz3
4 机读追加住址 4 70 jdzjzz4
卡体管理号文件
序号 数据项名称 字节数 标识符
1 居民身份证专用集成电路序列号 8 jmsfzzyjcdlxlh
2 居民身份证证卡序列号 16 jmsfzzkxlh

通信协议

卡内射频芯片按照 ISO14443-3 Type-B 制式与读卡器通信。与一般 CPU 卡不同,二代证直接在 ISO14443-3 层收发 APDU,不支持 ISO14443-4。

命令 CLA INS P1 P2 Lc Data Le Response
选择文件 00 A4 00 00 02 EF-ID 状态码
读二进制文件 80 B0 偏移量高位 偏移量低位 读取长度 内容+状态码
内部(卡片)认证 00 88 00 42 0A 10字节认证数据 8字节认证响应+状态码
外部(读卡器)认证 00 82 00 42 0A 10字节认证数据 状态码
获取随机数 00 84 00 00 08 8字节随机数+状态码
读芯片序列号 00 36 00 00 08 8字节序列号+状态码