智能卡手册 本手册仅包含非接触式智能卡 AID 索引 AID 可能的卡种 325041592E5359532E4444463031 EMV卡、交通联合卡 A00000000386980701 城市一卡通、清华大学校园卡 5041592E535A54 深圳通 4150312E5748435443... 武汉通 5041592E41505059, 5041592E5449434C 岭南通 A000000333010101 银联借记卡 A000000333010102 银联贷记卡(信用卡) A000000333010103 银联准贷记卡 A000000632010105 交通联合卡电子钱包 A000000632010106 交通联合卡电子现金 A000000003... VISA A000000004... MasterCard A000000025... American Express A000000065... JCB A000000098... VISA USA A000000152... Discover A0000006472F0001 FIDO U2F A00000030800001000 PIV A0000005272101 OATH Applet D27600012401... OpenPGP Card 4A43416C6754657374 JcAlgTest 交通卡 数字城市一卡通(City Union) 适用范围 根据 GB/T 31778-2015 《数字城市一卡通互联互通 通用技术要求》的表述,数字城市一卡通适用于互联互通城市间综合交通(公共汽车、地铁、轻轨、轮渡、出租车、公共自行车)、公用事业缴费、风景园林、社区/园区应用、停车场管理等领域应用。 目前,该标准覆盖的城市和项目为: 上海 天津 澳门(特别行政区) 浙江:宁波、绍兴、湖州、台州、舟山、长兴、金华、温州、义乌、嘉兴 江苏:常熟、昆山、淮安、江阴、无锡、南通、泰州、宜兴、太仓、盐城 甘肃:兰州、白银、华亭 江西:南昌、九江、鹰潭、赣州、上饶 湖南:永州、株洲、 湘潭、望城 辽宁:葫芦岛、锦州、抚顺、沈阳、营口、兴城、铁岭、本溪 四川:江油、自贡、西昌、阆中 福建:福州、龙岩、泉州、莆田、晋江 海南:三亚 广东:湛江、珠海 吉林:辽源、松原 新疆:克拉玛依 陕西:榆林、渭南、咸阳、杨凌 河南:驻马店、郑州、南阳、漯河、荥阳、新郑、平顶山 贵州:凯里、遵义、都匀 云南:昆明、大理 湖北:十堰、潜江 安徽:淮南、阜阳 山东:临沂 河北:邯郸 互联互通项目:招商通、全国景区一卡通、无锡灵山、社区有我、北京未来科学城、天津海河游轮 需要指出的是, 以上列出的城市/项目,仅表示该城市/项目使用了由中华人民共和国住房和城乡建设部生成的密钥,并不意味着所发行的卡片可以互通。例如,上海发行的紫色卡,虽然采用了该标准,但仅与江苏、浙江的部分城市互通。 文件目录  互联互通应用的基本文件目录应至少包括下图中所有文件: 注意:由于标准发布于2015年,对于早期参与到该标准的城市,卡内数据可能不遵守这个规范,但可以保证的是,0x15和0x18文件总是存在,其中0x18里包含了所有类型的交易记录。 密钥类型 密钥名称 密钥代码 密钥标识 分散级别 密钥作用 应用主控子密钥 DACK 00 1 控制应用区内结构添加和删除 应用锁定子密钥 - - 2 应用锁定 应用解锁子密钥 - - 1 应用解锁 文件更新子密钥 - - 1 应用区内有关信息文件的更新保护 复合消费维护密钥 DCPK 01 1 复合消费文件维护 PIN解锁密钥 DPUK 00 2 解锁PIN PIN重装密钥 DPLK 00 2 重装PIN 消费子密钥 DPK 01~0A 2 共10组密钥 圈存子密钥 DLK 01~02 1 共2组密钥 TAC子密钥 DTK 00 2 消费交易验证 其中,应用锁定子密钥、消费子密钥、TAC子密钥是互通的;其他密钥均由发卡方自行管理。 文件结构 公共应用基本信息文件 SFI 0x15  文件类型 二进制文件  文件大小 0x1E  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~02 发卡方代码 2 BCD   03~04 城市/项目代码 2 HEX   05 多算法支持 1 BCD   06 行业代码 1 BCD   07~08 预留 2 HEX   09 互联互通启用标识 1 HEX 0x00为未启用,非0x00为启用 10 应用版本 1 HEX   11~12 互联互通标识 2 HEX 同城市/项目代码 13~20 用户卡应用序列号 8 HEX   21~24 应用生效日期(YYYYMMDD) 4 BCD   25~28 应用失效日期(YYYYMMDD) 4 BCD   29~30 预留 2 HEX   复合交易记录文件 SFI 0x17 文件类型 变长记录文件  文件大小 0xA0  权限 读=自由  写=SM/复合交易 记录标识 字节 数据元 长度 格式 说明 0x09 01 0x09 1 HEX   02 复合消费数据长度 1 HEX   03 复合消费锁定标识 1 HEX 0x00表示允许,非0x00表示禁止 04~48 应用方自定义 45 自定义   电子钱包本地消费交易明细记录文件 SFI 0x18 文件类型 循环记录文件 记录长度 0x17 权限 读=自由  写=N/A 字节 数据元 长度 格式 说明 01~02 电子钱包消费交易序号 2 HEX   03~05 预留 3 HEX   06~09 交易金额 4 HEX   10 交易类型 1 HEX 0x06表示消费,0x09表示复合消费 11~16 交易终端编号 6 BCD   17~20 交易日期(YYYYMMDD) 4 BCD   21~23 交易时间(HHMMSS) 3 BCD   电子钱包异地消费交易明细记录文件 SFI 0x10 文件类型 循环记录文件 记录长度 0x17 权限 读=自由  写=N/A 字节 数据元 长度 格式 说明 01~02 电子钱包消费交易序号 2 HEX   03~05 预留 3 HEX   06~09 交易金额 4 HEX   10 交易类型 1 HEX 0x06表示消费,0x09表示复合消费 11~16 交易终端编号 6 BCD   17~20 交易日期(YYYYMMDD) 4 BCD   21~23 交易时间(HHMMSS) 3 BCD   电子钱包充值消费交易明细记录文件 SFI 0x1A 文件类型 循环记录文件 记录长度 0x17 权限 读=自由  写=N/A 字节 数据元 长度 格式 说明 01~02 电子钱包充值交易序号 2 HEX   03~05 预留 3 HEX   06~09 交易金额 4 HEX   10 交易类型 1 HEX 0x02 11~16 交易终端编号 6 BCD   17~20 交易日期(YYYYMMDD) 4 BCD   21~23 交易时间(HHMMSS) 3 BCD   其他说明 城市/项目代码表(城市邮编前4位) 城市/项目 代码 上海 2000 天津 3000 招商通   全国景区一卡通   无锡灵山   社区有我   北京未来科学城 0001 天津海河游轮   北京市政公交一卡通(BMAC) 参考标准 DB11/T 159.2-2015 目录结构 文件结构 发行信息文件(MF) SFI 0x04  文件类型 二进制文件  文件大小 0x3C  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~08 卡号 8 BCD   09~24 不详 15 N/A   25~28 应用生效日期(YYYYMMDD) 4 BCD   29~32 应用失效日期(YYYYMMDD) 4 BCD   23~60 不详 28 N/A   基本信息文件(MF) SFI 0x05  文件类型 二进制文件  文件大小 0x20  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~03 透支金额 3 HEX   04~05 累计交易次数 2 HEX   06~32 不详 27 N/A   充值记录文件(DF-ID=1001) SFI 0x13  文件类型 循环记录  记录长度 0x17  记录数量 3 权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~03 充值前金额 3 HEX   04~06 充值后金额 3 HEX   07~08 不详 2 N/A   09~11 充值日期 3 BCD YYMMDD 12~17 终端编号 6 HEX   18~23 不详 6 N/A   公交过程数据文件(DF-ID=1001) SFI 0x14  文件类型 二进制  文件长度 0x18  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~06 上车时间 6 BCD YYMMDDhhmmss 07 方向? 1 HEX AB或BA 08~09 不详 2 N/A   10~11 线路 2 HEX 小端序 12~24 不详 13 N/A   地铁线路数据 交易终端以300开头的,表示地铁的终端设备。 十六进制表示的第4、5位为地铁线路编号,例如 300040000570 的 04 表示编号。 编号 线路 01 一号线 02 二号线 04 四号线 05 五号线 06 六号线 07 七号线 08 八号线 09 九号线 10 十号线 13 十三号线 14 十四号线 15 十五号线 18 西郊线 88 大兴机场线 93 大兴线 94 昌平线 95 房山线 96 亦庄线 97 八通线 98 首都机场线   交通联合卡(T-Union) 概况 交通联合卡是由交通部主导的标准,采取电子现金、电子钱包双应用模式。截止2018年7月,已有210个城市市区全部公交线路实现互联互通,13个城市轨道线路实现互联互通,35个城市开通了试运行公交线路,总计覆盖全国2.2万条公交线路、52条轨道线路。 来源: https://www.cttic.cn/info/3171 文件要求 文件可以通过 AID 或 SFI 引用,SFI 的范围如下: 数值 说明 0x1A, 0x1E 发卡基本信息,按标准使用 0x15~0x19 电子现金应用中由机构自定义 0x05~0x08, 0x19 电子钱包应用中由机构自定义 其他 预留 文件结构 变长记录文件(0x1A)的记录见下表: 记录号 记录描述 1 城市轨道应用信息记录 2 公共汽电车应用信息记录 3 城市水上客运应用信息记录 4 出租汽车应用信息记录 5 租赁汽车应用信息记录 6 公共自行车应用信息记录 7 停车收费应用信息记录 8 长途客运应用信息记录 9 轮渡应用信息记录 10 城际铁路应用信息记录 11 民航应用信息记录 12 高速公路收费应用信息记录 13 优惠信息记录 14~18 预留 应用选择 终端通过选择 DF 名称 2PAY.SYS.DDF01,然后根据卡片返回的应用信息和 AID 选择电子现金或电子钱包应用。 电子钱包文件 公共应用信息文件 SFI 0x15  文件类型 二进制文件  文件大小 0x1E  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~08 发卡机构标识 8 HEX   09 应用类型标识 1 HEX   10 发卡机构应用版本 1 HEX   11~20 应用序列号 10 HEX   21~24 应用生效日期(YYYYMMDD) 4 BCD   25~28 应用失效日期(YYYYMMDD) 4 BCD   29~30 发卡机构自定义 FCI 数据 2 HEX   持卡人基本信息文件 SFI 0x16 文件类型 二进制文件  文件大小 0x37 权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01 卡类型标识 1 HEX   02 本行职工标识 1 HEX   03~22 持卡人姓名 22 HEX   23~54 持卡人证件号码 32 HEX   55 持卡人证件类型 1 HEX   管理信息文件 SFI 0x17 文件类型 二进制文件  文件大小 0x3C 权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~04 国际代码 4 HEX   05~06 省级代码 2 HEX   07~08 城市代码 2 HEX  银联地区码 09~10 互通卡种 2 HEX   11 卡种类型 1 HEX   12~60 预留 49 HEX   交易明细记录文件 SFI 0x18 文件类型 循环记录文件 记录长度 0x17 权限 读=自由  写=N/A 字节 数据元 长度 格式 说明 01~02 电子钱包消费交易序号 2 HEX   03~05 透支限额 3 HEX   06~09 交易金额 4 HEX   10 交易类型 1 HEX 0x06 表示消费,0x09 表示复合消费 11~16 交易终端编号 6 BCD   17~20 交易日期(YYYYMMDD) 4 BCD   21~23 交易时间(HHMMSS) 3 BCD   深圳通(Shenzhen Tong) 文件目录 AID: 5041592E535A54   文件结构 公共应用基本信息文件 SFI 0x15  文件类型 二进制文件  文件大小 0x20  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~16 不详 16 N/A   17~20 卡号 4 HEX 小端序 21~24 应用生效日期(YYYYMMDD) 4 BCD   25~28 应用失效日期(YYYYMMDD) 4 BCD   29~32 预留 4 HEX   电子钱包交易明细记录文件 SFI 0x18 文件类型 循环记录文件 记录长度 0x17 权限 读=自由  写=N/A 字节 数据元 长度 格式 说明 01~02 电子钱包交易序号 2 HEX   03~05 预留 3 HEX   06~09 交易金额 4 HEX   10 交易类型 1 HEX 0x09表示消费,0x02表示充值 11~16 交易终端编号 6 BCD   17~20 交易日期(YYYYMMDD) 4 BCD   21~23 交易时间(HHMMSS) 3 BCD   八达通 System Code: 0x8008 EZ-Link 悠游卡 Oyster 岭南通(Lingnan Pass) 文件结构 公共应用基本信息文件(DF-ID=DDF1) SFI 0x15  文件类型 二进制文件  文件大小 0x58  权限 读=自由  写=SM  字节 数据元 长度 格式 说明 01~11 不详 11 N/A   12~16 卡号 5 BCD   17~88 不详 62 N/A   金融卡 EMV PBOC 2.0 区域性一卡通 新开普一卡通 身份文件 电子护照 电子护照遵循国际民航组织(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) 目录结构 文件列表 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字节序列号+状态码 [1] http://www.gov.cn/jrzg/2011-09/08/content_1942943.htm 其他 YubiKey YubiKey 是 Yubico, Inc. 发行的,具有 OTP、TOTP、FIDO 2FA、静态密码、Challenge-Response、PIV、OpenPGP Card 等功能的便携密码学硬件。本文主要描述其智能卡相关功能,即 PIV 与 OpenPGP Card。 YubiKey Neo, YubiKey 5 NFC 具有 NFC 功能,其余的 YubiKey 均通过  USB 与主机进行通信。 详细的访问方式如下表所示: 功能 接口 AID OTP/静态密码(NDEF) USB-HID/NFC D2 76 00 00 85 01 01 U2F USB-HID/NFC A0 00 00 06 47 2F 00 01 OpenPGP USB-CCID/NFC D2 76 00 01 24 01 02 00 00 00 00 00 00 01 00 00 PIV USB-CCID/NFC A0 00 00 03 08 00 00 10 00 01 00 TOTP(OATH) USB-CCID/NFC  A0 00 00 05 27 21 01 01  FIDO U2F NXP JCOP Javacard NXP JCOP 是由 NXP 公司开发的 Javacard 操作系统,NXP 公司的 Javacard 和一些安全芯片搭载了该系统。 其版本命名规则为: J3 A 080 G dd(d) / T 0B rr ff o J = NXP JCOP J5=NFC(S2C) J3=Dual IF,CD=PKI+DES J2=CT,CD=PKI+DES J1=CT,DES A = JCOP version A=JCOP 2.4.1 R3(Java Card 2.2.2 GP 2.1.1) C=JCOP 2.4.2 R1 D=JCOP 2.4.2 R2(Java Card 3.0.1 GP 2.2.1) E=JCOP 2.4.2 R3(Java Card 3.0.1 GP 2.2.1) G=JCOP 3.0 H=JCOP3 P60-2 O=JCOP 4.0 Q=JCOP 4.2 080 = EEPROM Size 80K G = JCOP type G=Java Std-Generic V=Java Std-VISA C=Java Std-Customized M=Java Std-MasterCard C=Java Static-Generic U=Java Static-VISA T=Java Static-MasterCard dd(d) = Delivery type UA=sawn wafer 150u FFC X0=PDM module A4=MOB4 A6=MOB6 HN1=HVQFN32 package T = FAB ID 0B = HW Version rr = ROM code ID ff = FAB key ID o = Option 0=no Mifare 1=1k Mifare 4=4k Mifare 7=7k DESFire 8=8k DESFire 获取详细信息可以发送 IDENTIFY 命令:00A4040009A000000167413000FF00 返回信息格式如下:   Canokey Canokey是开源的安全认证USB设备,提供4个接口:U2F/FIDO2(HID)、OpenPGP Card(CCID)、PIV+OATH(CCID)和WebUSB。 MIFARE Classic MIFARE Classic 有 1K 和 4K 两种类型,1k 和 4k 代表存储空间的大小。 在 MIFARE Classic 中,有 Sector 和 Block 的概念,每个 Sector 有若干个 Block,其中最后一个 Block 是特殊的(称为 Sector Trailer),保存了这个 Sector 的一些信息:Key A、Access Bits、GPB 和 Key B。对于 Classic 4K,首先是 32 个有 4 blocks 的 sector,然后是 8 个 有 16 blocks 的 sector, 整体的内存布局大概是: Sector 0: Block 0 Block 1 Block 2 Block 3(Sector Trailer) Sector 1: Block 4 Block 5 Block 6 Block 7(Sector Trailer) ... Sector 32: Block 128 Block 129 ... Block 143(Sector Trailer) ... Sector 39: ... Sector 0: Block 0 Block 1 Block 2 Block 3(Sector Trailer) Sector 1: Block 4 Block 5 Block 6 Block 7(Sector Trailer) ... Sector 32: Block 128 Block 129 ... Block 143(Sector Trailer) ... Sector 39: ... 每个 Block 有 16 字节,一共 256 个 block,所以是 4K 大小的存储空间。Block 0 比较特殊,保存的是生产商写入的信息,不可更改(特殊的卡除外)。 见 MIFARE Classic 配置 NDEF 智能卡类型 类型 二层协议 三层协议 四层协议 四层协议 2 NFC Forum MIFARE Classic ISO 14443-2 Type A ISO 14443-3 Type A     Type 2 MIFARE Plus EV1 ISO 14443-2 Type A ISO 14443-3 Type A ISO 14443-4 Type A ISO 7816-4 Type 4 MIFARE Plus X/SE ISO 14443-2 Type A ISO 14443-3 Type A ISO 14443-4 Type A   ? MIFARE Ultralight ISO 14443-2 Type A ISO 14443-3 Type A     Type 2 MIFARE DESFire ISO 14443-2 Type A ISO 14443-3 Type A ISO 14443-4 Type A ISO 7816-4 Type 4 FeliCa ISO 18092 ISO 18092 ISO 18092 JIS X 6219-4 Type 3 NTAG 213/215/216 ISO 14443-2 Type A ISO 14443-3 Type A     Type 2 ICODE SLIX ISO 15693-2 ISO 15693-3     Type 5 Note: 1. MIFARE Classic 4k 的产品名字是 MF1 S70 2. MIFARE 各产品的协议标准的表格 3. Type 2 tag spec