为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 3-中国金融集成电路(IC)卡借记贷记规范-应用无关部分

3-中国金融集成电路(IC)卡借记贷记规范-应用无关部分

2017-11-12 50页 doc 377KB 27阅读

用户头像

is_594886

暂无简介

举报
3-中国金融集成电路(IC)卡借记贷记规范-应用无关部分3-中国金融集成电路(IC)卡借记贷记规范-应用无关部分 ICS 35.240.40 A11 备案号: JR JR/T 0025.3—2004 中国金融集成电路(IC)卡规范 第3部分:与借记/贷记应用无关的IC卡 与终端接口需求 China financial integrated circuit card specifications— Part 3:Debit/credit application independent ICC to terminal interface requirements (送审...
3-中国金融集成电路(IC)卡借记贷记规范-应用无关部分
3-中国金融集成电路(IC)卡借记贷记-应用无关部分 ICS 35.240.40 A11 备案号: JR JR/T 0025.3—2004 中国金融集成电路(IC)卡规范 第3部分:与借记/贷记应用无关的IC卡 与终端接口需求 China financial integrated circuit card specifications— Part 3:Debit/credit application independent ICC to terminal interface requirements (送审稿) 200×-××-××实施 200×-××-××发布 JR/T 0025.3—2004 目 次 前 言 ................................................................................................................................................................ III 引 言 ................................................................................................................................................................. V 1 范围 .................................................................................................................................................................. 1 2 规范性引用文件 .............................................................................................................................................. 1 3 术语和定义 ...................................................................................................................................................... 1 4 符号和缩略语 .................................................................................................................................................. 4 5 机电接口 .......................................................................................................................................................... 8 5.1 低电压ICC移植 ........................................................................................................................................... 8 5.2 IC卡的机械特性 ........................................................................................................................................... 8 5.3 IC卡电气特性 ............................................................................................................................................. 10 5.4 终端的机械特性 ......................................................................................................................................... 13 5.5 终端的电气特性 ......................................................................................................................................... 14 6 卡片操作过程 ................................................................................................................................................ 19 6.1 正常卡片操作过程 ..................................................................................................................................... 19 6.2 交易过程的异常结束 ................................................................................................................................. 21 7 字符的物理传输 ............................................................................................................................................ 23 7.1 位持续时间 ................................................................................................................................................. 23 7.2 字符帧 ......................................................................................................................................................... 23 8 复位应答 ........................................................................................................................................................ 24 8.1 复位应答期间回送字符的物理传输 ......................................................................................................... 24 8.2 复位应答期间IC卡回送的字符 ............................................................................................................... 24 8.3 字符定义 ..................................................................................................................................................... 25 8.4 复位应答过程中终端的行为 ..................................................................................................................... 30 8.5 复位应答-终端流程 ................................................................................................................................. 31 9 传输 ........................................................................................................................................................ 32 9.1 物理层 ......................................................................................................................................................... 32 9.2 数据链路层 ................................................................................................................................................. 32 9.3 终端传输层(TTL) ....................................................................................................................................... 40 9.4 应用层 ......................................................................................................................................................... 44 10 文件 .............................................................................................................................................................. 45 10.1 文件结构 ................................................................................................................................................... 45 10.2 文件引用 ................................................................................................................................................... 46 11 命令 .............................................................................................................................................................. 47 11.1 报文结构 ................................................................................................................................................... 47 11.2 读(READ RECORD)命令-响应APDU ............................................................................................ 48 11.3 选择(SELECT)命令-响应APDU ............................................................................................................. 49 12 应用选择 ...................................................................................................................................................... 52 12.1 应用选择概述 ........................................................................................................................................... 52 I 12.2 用于应用选择的IC卡数据 ..................................................................................................................... 53 JR/T 0025.3—2004 12.3 建立候选列表 ........................................................................................................................................... 55 附录A (资料性附录) 使用T=0协议交换的示例 .................................................................................... 61 附录B (规范性附录) 数据元表 ................................................................................................................ 64 附录C (资料性附录) 目录结构示例 ........................................................................................................ 67 II JR/T 0025.3—2004 JR/T 0025《中国金融集成电路(IC)卡规范》由以下十部分组成: ????第1部分:电子钱包/电子存折卡片规范; ????第2部分:电子钱包/电子存折应用规范; ????第3部分:与借记/贷记应用无关的IC卡与终端接口需求; ????第4部分:借记/贷记应用规范; ????第5部分:借记/贷记卡片规范; ????第6部分:借记/贷记终端规范; ????第7部分:借记/贷记安全规范; ????第8部分:与应用无关的非接触式规范; ????第9部分:电子钱包扩展应用指南; ????第10部分:借记/贷记应用个人化指南。 本部分为JR/T 0025的第3部分。 本部分的附录B是规范性附录,附录A、附录C是资料性附录。 本部分由中国人民银行提出。 本部分由全国金融化技术委员会归口。 本部分主要起草单位:中国人民银行、中国工商银行、中国农业银行、中国银行、中国建设银行、 交通银行、上海浦东发展银行、中国银联股份有限公司、银行卡检测中心、中国印钞造币总公司和中国 金融电子化公司。 本部分主要起草人:张智敏、陆书春、杜宁、赵雷、赵宏鑫、林铁行、孙术、刁凤圣、周兆确、李 建峰、钱菲、苏国经、袁捷、秦彦、徐晋耀、杨辅祥、李春欢、刘志刚、聂舒、张艳。 III JR/T 0025.3—2004 引 言 本部分为JR/T 0025的第3部分,与JR/T 0025的第4部分、第5部分、第6部分和第7部分一起构成借记/贷记规范。 V JR/T 0025.3—2004 中国金融集成电路(IC)卡规范 第3部分:与借记/贷记应用无关的IC卡与终端接口需求1 范围 JR/T 0025?2004的本部分规定了借记/贷记卡片方面的内容,包括卡片的机电特性、逻辑接口和传 输协议,文件、数据元和命令及应用选择机制。 本部分适用于IC卡和终端生产商、支付系统的系统设计者和开发IC卡金融应用的人员。 2 规范性引用文件 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的 修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究 是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。 GB/T15120识别卡-记录技术-第1部分:凸印(eqv ISO/IEC 7811-1:2002) GB/T15273信息处理-8位单字节编码的图形字符集(eqv ISO/IEC 8859:1998) GB/T16649.1识别卡 带触点的集成电路卡 第1部分:物理性能(eqv ISO/IEC 7816-1:1998) GB/T16649.2识别卡 带触点的集成电路卡 第2部分:触点的尺寸和位置(eqv ISO/IEC 7816-2:1999) GB/T16649.3识别卡 带触点的集成电路卡 第3部分:电信号和传输协议(eqv ISO/IEC 7816-3:1997) GB/T16649.4识别卡 带触点的集成电路卡 第4部分:行业间交换用命令(eqv ISO/IEC 7816-4:1995) GB/T16649.5识别卡 带触点的集成电路卡 第5部分:应用标识符的编号系统和注册程序(eqv ISO/IEC 7816-5:1994) GB/T17554-1998识别卡-测试方法(eqv ISO/IEC 10373:1998) GB/T4880 语种名称代码 3 术语和定义 JR/T 2005的本部分采用下列术语和定义: 3.1 应用Application 卡片和终端之间的应用协议和相关的数据集 3.2 块 Block 包含两个或三个域(头域、信息域、尾域)的字符组 3.3 字节Byte 8个二进制位(bit) 3.4 卡片Card 支付系统定义的支付卡片 3.5 冷复位 Cold Reset 当IC卡的电源电压(VCC)和其它信号从静止状态中复苏且申请复位信号时,IC卡产生的复位 1 JR/T 0025.3—2004 3.6 命令 Command 终端向IC卡发出的一条信息,该信息启动一个操作或请求一个应答 3.7 触点 Contact 在集成电路卡和外部接口设备之间保持电流连续性的导电元件 3.8 密文 Cryptogram 加密运算的结果 3.9 下电序列 Deactivation Sequence 2.1.5节定义的下电序列 3.10 凸印 Embossing 在卡片正面凸起的字符 3.11 尾域Epilogue Field 块的最后一部分,包括错误校验代码(EDC)字节 3.12 金融交易 Financial Transaction 持卡人、商户和收单行之间基于收、付款方式的商品或服务交换行为 3.13 功能 Function 由一个或多个命令实现的处理过程,其操作结果用于完成全部或部分交易 3.14 保护时间 Guardtime 同一方向发送的前一个字符奇偶位下降沿和后一个字符起始位下降沿之间的最小时间 3.15 静止状态 Inactive 当IC卡上的电源电压(VCC)和其它信号相对于地的电压值小于或等于0.4伏时,则称电源电压和这 些信号处于静止状态 3.16 集成电路Integrated Circuit(IC) 完成处理和/或存储功能的电子器件 3.17 集成电路卡(IC卡) Integrated Circuit(s) Card 内部封装一个或多个集成电路用于执行处理和存储功能的卡片 3.18 集成电路模块 Integrated Circuit Module 嵌入在IC卡中包括IC、IC载体、连线和触点的子装置 3.19 接口设备 Interface Device 终端上插入IC卡的部分,包括其中的机械和电气部分 3.20 磁条 Magstripe 包括磁编码信息的条状物 2 JR/T 0025.3—2004 3.21 半字节 Nibble 一个字节的高四位或低四位 3.22 填充 Padding 在数据串任意端补充二进制位 3.23 路径 Path 没有分隔的文件标识符的连接 3.24 支付系统 Payment System 本规范中指Europay,Mastercard或Visa信用卡组织 3.25 支付系统环境 Payment System Environment 当符合本规范的支付系统应用被选择,或者用于支付系统应用目的的目录定义文件(DDF)被选择 后,IC卡中所确立的逻辑条件 3.26 头域 Prologue Field 块的第一部分,包括节点地址(AD)、协议控制字节(PCB)和长度(LEN) 3.27 响应 Response IC卡处理完收到的命令报文后,返回给终端的报文 3.28 信号幅度 Signal Applitude 信号高、低电压的差值 3.29 信号波动 Signal Perturbation 在正常工作中信号的异常,如下冲/上冲、电子噪声、纹波、尖刺、串扰等。外部源引起的随机波 动不在本规范之列 3.30 状态H State H 高电平状态。根据IC卡中的逻辑约定,可以是逻辑1或逻辑0 3.31 状态L State L 低电平状态。根据IC卡中的逻辑约定,可以是逻辑1或逻辑0 3.32 模板 Template 结构数据对象的值域,定义为数据对象的逻辑分组 3.33 终端 Terminal 为完成金融交易而在交易点安装的设备,用于同IC卡的连接。它包括接口设备,也可包括其它部件和接口,例如与主机通讯的接口 3.34 热复位 Warm Reset 在时钟(CLK)和电源电压(VCC)处于激活状态的前提下,IC卡收到复位信号时产生的复位 3 JR/T 0025.3—2004 3.35 类型ABC Class ABC 卡片和终端支持的供电电压值类型。有三种可以支持的供电电压类型:分别为类型A=5.0伏,类 型B=3.0伏,类型C=1.8伏。卡片和终端可以支持其中的一种,也可以支持连续的两种或两种以上的 供电电压,如AB、ABC。 4 符号和缩略语 以下缩略语和符号表示适用于本部分: ACK 确认(Acknowledgment) ADF 应用数据文件(Application Definition File) AEF 应用基本文件(Application Elementary File) AFL 应用文件定位器(Application File Locator) AID 应用标识符(Application Identifier) an 字母数字型(Alphanumeric) ans 字母数字及特殊字符型(Alphanumeric Special) APDU 应用协议数据单元(Application Protocol Data Unit) ASI 应用选择标识(Application Selection Indicator) ATR 复位应答(Answer to Reset) b 二进制(Binary) BGT 块保护时间(Block Guard Time) BWI 块等待时间整数(Block Waiting Time Integer) BWT 块等待时间(Block Waiting Time) C 摄氏或摄氏度 C-APDU 命令APDU(Command APDU) CIN 输入电容(Input Capacitance) CLA 命令报文的类别字节(Class Byte of the Command Message) cn 压缩数字(Compressed Numeric) C-TPDU 命令TPDU(Command TPDU) CWI 字符等待时间整数(Character Waiting Time Integer) CWT 字符等待时间(Character Waiting Time) DAD 目标节点地址(Destination Node Address) DC 直流 DDF 目录定义文件(Directory Definition File) DF 专用文件(Dedicated File) DIR 目录(Directory) DIS 国际标准草案 EDC 错误检测代码(Error Detection Code) EF 基本文件(Elementary File) etu 基本时间单元(Elementary Time Unit) FCI 文件控制信息(File Control Information) f 频率(Frequency) GND 地(Ground) hex. 十六进制(Hexadecimal) I-block 信息块(Information Block) IC 集成电路(Integrated Circuit) 4 JR/T 0025.3—2004 ICC 集成电路卡(Integrated Circuit Card) IEC 国际电工委员会(International Electrotechnical Commission) IFD 接口设备(Interface Device) IFS 信息域大小(Information Field Size) IFSC IC卡信息域大小(Information Field Size for the ICC) IFSD 终端信息域大小(Information Field Size for the Terminal) IFSI 信息域大小整数(Information Field Size Integer) IIH 高电平输入电流(High Level Input Current) IIL 低电平输入电流(Low Level Input Current) INF 信息域(Information Field) INS 命令报文的指令字节(Instruction Byte of Command Message) I/O 输入/输出(Input/Output) IOH 高电平输出电流(High Level Output Current) IOL 低电平输出电流(Low Level Output Current) ISO 国际标准化组织(International Organization for Standardization) kΩ 千欧 Lc 终端应用层(TAL)在情况3或情况4命令中发出数据的实际长度(Exact Length of Data Sent by the TAL in a Case 3 or 4 Command) Le 在情况2或情况4命令中返回给终端应用层(TAL)的数据最大期望长度(Maximum Length of Data Expected by the TAL in Response to a Case 2 or 4 Command) Licc IC卡在响应接收到的情况2或情况4命令时卡内有效或剩余的数据(由IC卡决 定)的实际长度 (Exact Length of Data Available in the ICC to be Returned in Response to the Case 2 or 4 Command Received by the ICC) LEN 长度(Length) Lr 响应数据域的长度(Length of Response Data Field) LRC 冗余校验(Longitudinal Redundancy Check) l.s. 最低位 M 必备(Mandatory) μm 微米 mA 毫安 MAC 报文认证码(Message Authentication Code) max. 最大值 MF 主文件(Mater File) MHz 兆赫 min 最小值 mm 毫米 m.s. 最高位 mΩ 兆欧 m/s 米/秒 μA 微安 μs 微秒 N 牛顿 n 数字型(Numeric) 5 JR/T 0025.3—2004 NAD 节点地址(Node Address) NAK 否定的确认(Negative Acknowledgment) nAs 纳安秒 ns 纳秒 O 可选(Optional) P1 参数1(Parameter 1) P2 参数2(Parameter 2) P3 参数3(Parameter 3) PCB 协议控制字节(Protocol Control Byte) PDOL 处理选项数据对象列表(Processing Options Data Object List) pF 皮法 PSE 支付系统环境(Payment System Environment) PTS 协议类型选择(Protocol Type Selection) R-APDU 响应APDU(Response APDU) R-block 接收就绪块(Receive Ready Block) RFU 保留(Reserved for Future Use) RID 注册应用提供商标识(Registered Application Provider Identifier) RST 复位(Reset) R-TPDU 响应TPDU(Response TPDU) SAD 源节点地址(Source Node Address) S-block 管理块(Supervisory Block) SFI 短文件标识符(Short File Identifier) SW1 状态字1(Status Word One) SW2 状态字2(Status Word Two) TAL 终端应用层(Terminal Application Layer) TCK 校验字符(Check Character) t 信号幅度从90%下降到10%的时间(Fall Time Between 90% and 10% of Signal F Amplitude) TLV 标签、长度、值(Tag Length Value) TPDU 传输协议数据单元(Transport Protocol Data Unit) t 信号幅度从10%上升到90%的时间(Rise Time Between 10% and 90% of Signal R Amplitude) TTL 终端传输层(Terminal Transport Layer) V 伏特(Volt) var. 变长(Variable) VCC VCC触点上的测得电压(Voltage Measured on VCC Contact) VCC 电源电压(Supply Voltage) VIH 高电平输入电压(High Level Input Voltage) VIL 低电平输入电压(Low Level Input Voltage) VOH 高电平输出电压(High Level Output Voltage) VOL 低电平输出电压(Low Level Output Voltage) VPP 编程电压(Programming Voltage) WI 等待时间整数(Waiting Time Integer) WTX 等待时间扩展(Waiting Time Extension) 6 ‘0’-’9’ 16个十六进制数字(16 hexadecimal digits) JR/T 0025.3—2004 ‘A’-’F’ xx 任意值 专用的 本规范内未定义或/和超出本规范范围的 必须 表示强制的要求 应该 表示推荐的要求 7 JR/T 0025.3—2004 5 机电接口 本章包括IC卡和终端的电气、机械特性。IC卡和终端的规范指标有所不同,其目的是为防止对IC卡的损坏而预留安全余地。 本章定义的IC卡特性遵从GB/T 16649系列标准,并依据实际需要与技术发展,作了一些细小变动。 5.1 低电压ICC移植 目前正在向低电压卡做逐步移植。只支持类型A的卡片将被逐渐淘汰,并将在2009年6月底前被类型AB或者类型ABC的卡片所替代。当使用中的卡片都支持类型AB或者类型ABC时,除了配置只支持类型A的终端,还有可能配置只支持类型B的终端。可以到EMVCo网站上的通用公告11上了解移植的详细安排。 下面描述的是由于发生这种移植而引起对卡片和终端的要求。在表1用符号表明了不同点。 表 1低电压卡移植 符号 信息 值 在2009年6月底前的类型A卡片 应用于类型A卡片 在2009年6月底前被允许用于流通中的 卡片。从2009年7月份起流通中的卡片 要么是类型AB,要么就是类型ABC。 从2009年7月份开始的新卡值 应用于下列卡片: 立即被应用直到进一步的通知。从2009 , 类型A(2009年6月底前) 年7月份起类型A卡片不再流通;从2009 , 类型AB 年7月份起只有类型AB或者类型ABC , 类型ABC 可以流通。 2009年6月份底前的类型A终端 应用于类型A终端(或者是多类型终在2009年6月份底前应被应用于类型A 端的类型A部件) 终端。从2009年7月份起,对于使用中 的采用这些值的终端不要求做升级。 从2009年7月份起的新终端值 应用于类型A,类型B和类型C终端 在2009年6月份底前不能被应用于终端。 从2009年7月份起,应该被应用于新的 类型A或类型B终端。在EMVCo规定 之前不能配置类型C终端(除非是EMV 范围外的特定目的)。 5.2 IC卡的机械特性 本节描述了IC卡的物理特性、触点分配和机械强度。 5.2.1 物理特性 除本节的特殊规定外,IC卡应满足ISO 7816-1中规定的物理特性。同时IC卡应该满足GB/T 16649.1定义的其它特性,如紫外线、X-射线、触点的表面断面、机械强度、电磁特性、抗静电特性等的要求, 并能在上述条件下正确地运行。 5.2.1.1 1.2.1.1模块高度 IC模块表面的最高点不应高于卡表面平面0.10mm。 IC模块表面的最低点不应低于卡表面平面0.10mm。 5.2.2 触点的尺寸和位置 触点的尺寸和位置必须如图1所示: 8 JR/T 0025.3—2004 图 1 IC卡触点的位置和尺寸 区域C1、C2、C3、C5和C7表面必须用导电层完全覆盖,构成IC卡的基本触点。区域C4、C6、 C8和ISO/IEC7816-2附录B所定义的区域Z1到Z8可以选择导电表面,但强烈建议Z1到Z8区域无导 电表面。如果区域C6和Z1到Z8有导电表面,则它们必须和集成电路(IC)、相互之间以及其它触点区 域在电路上隔离1。同时,任何两个导电区域之间除了通过IC都不能导通。基本触点必须如表2所示分配。 触点相对于凸印及/或磁条的布局必须如图2所示: 图 2 触点的布局 注:应注意不能让凸印破坏IC。同时,在IC背面的签名条签字过重亦可能造成IC的破坏。 5.2.3 触点的分配 IC卡上触点的分配遵循ISO 7816-2的规定,如表2所示: 1 电路上隔绝意味着:在此触点和任何其它导电表面上施以5V DC电压时在二者上测得的电阻必须?10MΩ。 9 JR/T 0025.3—2004 表 2 IC卡触点的分配 电源电压(VCC) 接地(GND) C1 C5 2复位信号(RST) 未使用 C2 C6 时钟信号(CLK) 输入/输出(I/0) C3 C7 C4和C8未使用,可以不作实际设置。 5.3 IC卡电气特性 本节描述了在IC卡触点上测量出的信号的电气特性。 5.3.1 测量约定 所有测量均应在IC卡和接口设备(IFD)之间的触点上进行,并以GND为参照。环境温度范围为0?~50?。IC卡必须能够在0?~50?之间正确操作。所有流入IC卡的电流均视为正值。 注:温度范围的限定是由PVC(大部分卡所用的材料)的特性决定的,而不是由集成电路的特性决定的。 输入/输出 (I/O) 该触点作为输入端(接收模式)从终端接收数据或者作为输出端(发送模式)向终端传送数据。在操作过程中,IC卡和终端不能同时处于发送模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不能损坏IC卡。 5.3.2.1 接收模式 在接收模式下,当电源电压(VCC)在1.3.6节中规定的范围内时,IC卡必须能正确地解释特性如表3所示的来自终端的信号: 表 3 IC卡接收模式下I/O的电气特性 符 号 最小值 最大值 单 位 V 0.7×Vcc Vcc V IH V 0 0.8 V IL t和t - 1.0 ,s RF 符 号 最小值 最大值 单 位 V 0.7×Vcc Vcc V IH V 0 0.2 x V V ILCC t和t - 1.0 ,s RF 注:在-0.3V到Vcc+0.3V范围内的I/O信号干扰不应损坏IC卡。 5.3.2.2 发送模式 在发送模式下,IC卡必须向终端传送特性如表4所示的数据: 表 4 IC卡发送模式下I/O的电气特性 2 GB/T 16649定义为编程电压(VPP) 10 JR/T 0025.3—2004 符号 条 件 最小值 最大值 单位 <0,Vcc=min. -20,A<I0.7×Vcc Vcc V OHOHV<1mA,Vcc=min. 0<IV 0 0.4 V OLOL t和t C= 30pF max. - 终端1.0 ,s RFIN() 20097 符号 条 件 最小值 最大值 单位 <0,Vcc=min. 0.7×Vcc -20,A<IV Vcc V OHOH 类型A: V V 0 0.08 x VOLCC 0<I<1mA 0.15 x V OLCC 类型B和类型C: 0 0 < I < 0.5mA OL t和t C=30pF max. _ 1.0 ,s RFIN(terminal) 除向终端发送数据时,IC卡应将其I/O信号驱动模式设置为接收模式,且不要求I/O具备任何电流源性能。 5.3.3 编程电压 (VPP) IC卡不需要编程电压VPP(见1.2.3的注释) 5.3.4 时钟 (CLK) 当VCC在1.3.6节所规定的范围内时,IC卡必须能在具有表5所示特性的时钟信号作用下正常工 作: 表 5到IC卡的CLK电气特性 符 号 条 件 最小值 最大值 单 位 V Vcc-0.7 Vcc V IH V 0 0.5 V IL t和t Vcc=min. 到 max. 9%的时钟周期 _ ,s RF 20097 符 号 条 件 最小值 最大值 单 位 V Vcc-0.7 Vcc V IH V 0 0.2 x V V ILCC t和t 9%的时钟周期 _ ,s RF 注:在-0.3V到Vcc+0.3V范围内的CLK端干扰信号不应损坏IC卡。 当时钟占空因数处于其稳定运行周期的44%~56%之间时,IC卡必须能正常工作。 当时钟频率处于1MHz到5MHz之间时,IC卡必须能正常工作。 注:在卡片操作过程中,频率值必须由终端维持在复位应答期间所用频率的?1%之内。 11 JR/T 0025.3—2004 5.3.5 复位 (RST) 当VCC在1.3.6节所规定的范围内时,IC卡必须能正确的解释具有表6所示电气特性的复位信号: 表 6 RST的电气特性 符号 条 件 最小值 最大值 单 位 V Vcc-0.7 Vcc V IH V 0 0.6 V IL t和t Vcc=min. 到 max. - 1.0 ,s RF 20097 符号 条 件 最小值 最大值 单 位 V 0.7 x Vcc Vcc V IH V 0 0.2 x V V ILCC t和T Vcc=min.to max. _ 1.0 ,s RF 注:在-0.3V到Vcc+0.3V范围内的RST端的干扰信号不应损坏IC卡。 IC卡必须利用激活的低复位信号,采用异步方式进行复位应答。 5.3.6 电源电压(VCC) 在电源电压Vcc为5V?0.5V直流电的情况下,IC卡必须能正常工作。此时,时钟频率应在1.3.4节中所规定的范围内,最大电流为50mA。 在给ICC提供规定的电压基础上定义了三种类型的操作,如表7定义。ICC应该支持类型A,也可以可选地支持一个或者多个连续类型。如果提供了在该类型支持范围内的电压,则ICC要能正确工作。 表 7 操作类型 2009年7月份起的新卡值 符号 条件 最小值 最大值 单位 类型A V 4.50 5.50 V CC 类型B 2.70 3.30 类型C 1.62 1.98 I类型A 50 mA CC 类型B 50 类型C 30 当ICC在它不支持的类型下操作时不应被损坏(如果ICC不再按规定操作,或者它包含错误数据, 则认为ICC已被损坏)。 如果ICC不只支持一个类型,在给它提供所支持类型规定范围内的电压时,它应能正确操作。(如 下面的表8所示) 表 8 强制和可选操作电压范围 2009年7月份起的新卡值 支持类型 ICC应该操作于 ICC可操作于 单位 A和B 4.50-5.50 3.0-4.50 V 12 JR/T 0025.3—2004 2.70-3.30 A,B,和C 4.50-5.50 3.30-4.50 V 2.70-3.30 1.98-2.70 1.62-1.98 出于特定原因,终端可以支持与ICC协商所使用电压的能力,但是这个超出了EMV规范的范围,因此不要求满足该规范的ICC支持这种协商。如果ICC在ATR中返回了如ISO/IEC7816-3所定义的类型指示符,那么遵循EMV规范的终端可以拒绝这个ATR。为了避免互用性的问题,应该在冷复位ATR中返回任何使用的类型指示符;为了保证冷复位ATR被拒绝后该ICC能被终端接受,则热复位的ATR应为基本ATR。 注:建议IC卡的电流损耗尽可能低。在以后颁布的标准中,IC卡所允许的最大损耗电流将被降低。当IC卡中存在多个应用时,应确保IC卡的电流损耗与其可能用到的所有终端均能相匹配。 5.3.7 触点电阻 在整个设计寿命期间,IC卡触点的电阻(在清洁的IC卡和清洁的标准接口设备触点间测量时)必须小于500mΩ。(见ISO/IEC 10373的测试方法) 注:一个标准接口设备触点可以看作是在5.00µm镍表面上的1.25µm的镀金触点。 5.4 终端的机械特性 本节描述了终端接口设备的机械特性。 5.4.1 接口设备 用于插入IC卡的接口设备必须具备接收IC卡的能力,并具有以下特性: , 物理特性满足GB/T 16649.1的规定 , 正面触点位置应满足GB/T 16649.2中图2的规定。 , 凸印应满足ISO/IEC 7811-1和3的规定 接口设备的触点分布必须保证如图3所示的IC卡插入后,所有触点都可以正确导通。除了用于导 通IC卡的C1到C8的触点之外,接口设备不应该有其它触点。 图 3 终端触点分布和尺寸 定位的导轨和夹板(如果使用)不应损坏IC卡,尤其不能损坏卡上磁条、签名条、凸印和全息标志 13 等区域。 JR/T 0025.3—2004 注:作为一个基本原则,持卡人应在任何时候都能将IC卡插入或拔出。因而接口设备上插入IC卡位置处,应该配有一种机械设备,使持卡人能够在设备发生故障(如掉电)时取回IC卡。 5.4.2 触点压力 任何一个接口设备触点对相应的IC卡触点所施加的压力应在0.2N到0.6N之间。 5.4.3 触点分配 接口设备触点的分配如表9所示。 表 9 接口设备触点的分配 电源电压(VCC) 地(GND) C1 C5 3复位信号(RST) 未使用 C2 C6 时钟信号(CLK) 输入/输出(I/0) C3 C7 C4和C8不使用,在物理上可以不存在。 5.5 终端的电气特性 本节描述了在IFD触点上测量出的信号的电气特性。 5.5.1 测量约定 除非生产商另有指明,所有测量应是在IC卡和接口设备之间的触点上进行,并以GND为参考。环境温度范围为5?~40?。必须限制终端的内部温度,以防损坏IC卡。 所有流出终端的电流均为正值。 5.5.2 输入/输出 (I/O) 该触点作为输出端(发送模式)向IC卡传送数据,作为输入端(接收模式)从IC卡接收数据。在操作过程中,终端和IC卡不能同时处于发送模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏终端。 当终端和IC卡都处于接收模式时,触点必须处于高电平状态。除非VCC加电并稳定在1.5.6节中允许的范围内,终端不应将I/O置于高电平状态。见2.1.2节有关触点激活的内容。 在任何情况下,均应将流入或流出I/O触点的电流限定在?15mA以内。 5.5.2.1 发送模式 在发送模式下,终端必须向IC卡传送特性如表10所示的数据: 表 10 发送模式下的终端I/O电气特性 符号 条 件 最小值 最大值 单位 <20,A,Vcc=min. 0<IV 0.8×Vcc Vcc V OHOH <0,Vcc=min. -0.5mA<IV 0 0.4 V OLOL t和t - C=30pF max. 0.8 ,s RFIN(ICC) 信号干扰 低电平 -0.25 0.4 V 高电平 0.8×Vcc Vcc+0.25 V 符号 条 件 最小值 最大值 单位 3 GB/T 16649中定义为编程电压(VPP)。 14 JR/T 0025.3—2004 <20,A 0<I 0.8×Vcc Vcc V OHOHV<0 -0.5mA<IV 0 0.15 x V V OLOLCCt和t - C=30pF max. 0.8 ,s RFIN(ICC) 信号干扰 低电平 -0.25 0.15 x V V CC 高电平 0.8×Vcc Vcc+0.25 V 除向IC卡传送数据时,终端应将其I/O信号驱动模式设置为接收模式。 5.5.2.2 接收模式 在接收模式下,终端必须能正确解释从IC卡发来的具有表11所示特性的信号: 表 11 接收模式下的终端I/O电气特性 符 号 最小值 最大值 单 位 V 0.6×Vcc Vcc V IH V 0 0.5 V IL t和t - 1.2 ,s RF 符 号 最小值 最大值 单位 0.6×Vcc V Vcc V IH V 0 0.20 x V V ILCC t和T - 1.2 ,s RF 5.5.3 编程电压(VPP) C6必须在电气上隔离。电气隔离意味着在C6和其它任何触点上施以5V DC的电压时,二者之间的电阻应该?10MΩ。如果在终端中导通,则C6必须在整个卡片操作过程中保持在GND和1.05×Vcc之间。 注:在新终端中隔离C6可以把它用于本规范未来版本可能规定的其它用途上。 5.5.4 时钟(CLK) 终端必须产生具有表12所示特性的时钟信号: 表 12 终端CLK的电气特性 符号 条 件 最小值 最大值 单位 <50,A,Vcc=min. 0<IV Vcc-0.5 Vcc V OHOH <0,Vcc=min. -50,A<IV 0 0.4 V OLOL t和t 8%的时钟周期 C=30pF max. _ ,s RFIN(ICC) 信号干扰 低电平 -0.25 0.4 V 高电平 Vcc-0.5 Vcc+0.25 符号 条 件 最小值 最大值 单位 <50,A 0<IV 0.8 x Vcc Vcc V OHOH <0 -50,A<IV0 0.15 x V V OLOLCC 15 JR/T 0025.3—2004 和t - 8%的时钟周期 C=30pF max. ,s RFIN(ICC)t 信号干扰 低电平 -0.25 0.15 x V V CC 高电平 0.8 x Vcc Vcc+0.25 V 稳定运行时,时钟占空因数应在其周期的45%~55%之间。 频率范围必须在1MHz~5MHz之间,且在整个交易期间,除非通过复位应答采用了专用的协商技 术,其变化范围不应超过?1%。 5.5.5 复位(RST) 终端必须产生具有表13所示特性的复位信号: 表 13 终端RST的电气特性 符号 条件 最小值 最大值 单 位 <50,A,Vcc=min. 0<IV Vcc-0.5 Vcc V OHOH <0,Vcc=min. -50,A<IV 0 0.4 V OLOL t和t - C=30pF max. 0.8 ,s RFIN(ICC) 信号干扰 低电平 -0.25 0.4 V 高电平 Vcc-0.5 Vcc+0.25 V 20097 符号 条件 最小值 最大值 单 位 <50,A 0<IV 0.8 x Vcc Vcc V OHOH <0 -50,A<IV 0 0.15 x V V OLOLCC t和t - C=30pF max. 0.8 ,s RFIN(ICC) 信号干扰 低电平 -0.25 0.15 x V V CC 高电平 0.8 x Vcc Vcc+0.25 V 5.5.6 电源电压(VCC) 终端必须提供5V?0.4V的直流电压,并必须能稳定输出0~55mA的电流。终端应带有保护电路以 防止在误操作如对地或VCC短路时所造成的损坏。误操作既可能来源于内部,也可能来自外部接口如 电源干扰、通讯链路故障等。以GND为基准,Vcc决不可以低于-0.25V。 在正常的IC卡操作中,电流脉冲会在IC卡触点上引起VCC波动。电源应能抵消电量?30nAs、持续时间?400ns、幅度?100mA及电流变化率?1mA/ns的电流负载瞬时波动,以确保VCC在规定的范围之内。脉冲的最大包络参见图4。 16 JR/T 0025.3—2004 图 4最大电流脉冲包络 终端应该为所支持的类型产生一个满足表14定义范围内的V,并且能在V维持在该范围内CCCC释放相应稳定的输出电流。如果终端不只支持一种类型,它应该从包含最大电压值范围的类型中产 生一个V。 CC 基于特定的原因,终端可以支持与ICC协商所使用电压的能力,但是这已经超出了EMV的范围,符合该规范的ICC不支持这种协商能力。企图与这样的ICC进行类型协商将导致该ICC不被接受。 所提供的电压应被保护,以避免由于终端的内部操作和从电源线、通信线路等引入的外部干 涉而引起的短暂冲击和振荡的影响。V不应低于-0.25V(相对地)。 CC 表 14终端电压和电流 符号 条件 最小值 最大值 单位 类型A V4.60 5.40 V CC 类型B 2.76 3.24 类型C 1.66 1.94 I类型A 55 mA CC 类型B 55 类型C 35 在ICC的正常操作中,在ICC触点上测量由于电流脉冲引起的VCC电压波动。所提供的电能应能抵消ICC消耗电流中的波动,这种ICC应处于图5所示的类型操作最大电荷包络中,确保VCC维持在所规定的范围内。 图 5最大电流脉冲包络 注:如果需要,终端应能够具有大于55mA的传输能力,但建议终端将稳定电流限制在200mA以内。 5.5.7 触点电阻 在终端的整个设计寿命期间,触点电阻(在清洁的接口设备和清洁的标准IC卡触点间测量时)应小于500mΩ。(参见GB/T 16649.1的测试方法) 注:标准的IC卡触点可以看作是在5.00µm 的镍表面上的1.25µm镀金触点。 5.5.8 短路保护 当任何两个触点之间发生短路时,无论时间长短,终端都不应损坏或功能失常,例如:插入一块 金属板片。 17 5.5.9 插入IC卡后,终端的加电和断电 JR/T 0025.3—2004 插入IC卡后,当对终端进行加电或断电时,所有的信号电压必须保持在1.5节规定的范围之内,触点激活和释放的时序应分别符合2.1.2节和2.1.5节的规定。 18 JR/T 0025.3—2004 6 卡片操作过程 本节描述了从卡片插入接口设备、完成交易处理直至卡片拔出的操作过程的所有步骤。 6.1 正常卡片操作过程 本节描述了执行一个正常交易的操作过程。 6.1.1 操作步骤 卡片的操作过程包括以下步骤: , 将IC卡插入接口设备,导通并激活触点; , 将IC卡复位,同时在终端和IC卡之间建立通讯联系; , 进行交易处理; , 释放触点并从接口设备中取出IC卡。 6.1.2 IC卡插入与触点激活时序 当IC卡插入接口设备时,终端应确保其所有触点处于低电平状态(V符合1.5节的规定,Vcc在OL 触点接触时必须小于或等于0.4V)。当IC卡正确插入接口设备以后,触点必须按如下方式激活(参见图 6): 图 6 触点激活时序 , 终端必须在整个激活时序中保持RST为低电平状态; , 触点物理接触之后,应在I/O或CLK激活之前给Vcc加电; , 终端确认Vcc稳定在1.5.6节所规定的范围内以后,必须将I/O置于接收模式并提供1.5.4节规 定的合适、稳定的时钟。终端可以在时钟启动之前即将其I/O置于接收模式,但最迟也不得超 过时钟启动后的200个时钟周期。 注:根据设计,终端可以通过测量、等待足够的等待时间使之稳定或通过其它方式来确定Vcc的状态。终端将其I/O置为接收模式后,其I/O状态取决于IC卡上I/O的状态。 6.1.3 IC卡复位 IC卡必须利用激活的低复位信号,采用异步方式进行复位应答。 复位应答(ATR)的传送方式在第3节中描述,而其内容在4.2和4.3节中描述。 6.1.3.1 冷复位 在2.1.2节所述的触点激活后,终端将发出一个冷复位信号,并从IC卡获得一个复位应答信号(见图7),过程如下: , 终端必须在T0时启动CLK。 , 在T0后的不超过200个时钟周期内,IC卡将其I/O置为接收模式。由于终端也要在同样时间 19 内将其I/O置为接收模式,因此IC卡上的I/O应确保在T0后最迟不超过200个时钟周期内置JR/T 0025.3—2004 为高电平; , 终端应从T0开始保持RST为低电平状态40,000到45,000个时钟周期直到T1,然后将RST 置为高电平状态; , IC卡上I/O的复位应答将在T1后的400到40,000个时钟周期(如图7中的t1所示)内开始; , 终端必须在T1之后380个时钟周期之内打开一个接收窗口且不能在T1之后42,000个时钟周 期内关闭(如图7中T1所示)。如果没有收到来自IC卡的复位应答信息,终端必须在不早于 T1后42,001个时钟周期之后、不晚于T1后42,000个时钟周期加50ms之前启动释放时序。 图 7 冷复位时序 6.1.3.2 热复位 在2.1.3节中所述的冷复位过程之后,如果收到的复位应答信号不能满足本规范第4节中的规定, 终端将启动热复位并从IC卡获得复位应答(见图8)。其过程如下: , 热复位必须从T0‘开始,此时终端将RST置为低电平状态; , 在整个热复位时序中,终端必须根据1.4.4节和1.4.6节的规定保持Vcc和CLK的稳定; , 在T0‘后的不超过200个时钟周期内,IC卡和终端将其I/O置为接收模式。因此其I/O应确保 在T0‘后最迟不超过200个时钟周期内置为高电平; , 终端应从T0‘开始保持RST为低电平状态40,000到45,000个时钟周期直到T1‘,然后将RST 置为高电平状态; , IC卡上I/O的复位应答将在T1‘后的400到40,000个时钟周期(如图8中的t1‘所示)内开始; , 终端必须在T1‘之后380个时钟周期之内打开一个接收窗口且不能在T1‘之后42,000个时钟周 期内关闭(如图8中T1‘所示)。如果没有收到来自IC卡的复位应答信息,终端必须在不早于 T1‘后42,001个时钟周期之后、不晚于T1‘后42,000个时钟周期加50ms之前启动释放时序。 20 JR/T 0025.3—2004 图 8 热复位时序 6.1.4 交易执行 IC卡中的应用选择和随后IC卡和终端的信息交换在本规范第8部分中描述。 6.1.5 触点释放时序 作为卡片操作的最后一步,根据交易的正常或异常结束(包括在卡片操作过程中将卡片从接口设备 中拔出),终端必须如下释放接口设备触点(见图9): , 终端必须通过把RST置为低电平状态来启动释放时序; , 在置RST为低电平状态之后VCC断电之前,终端必须将CLK和I/O设定为低电平状态; , 在置RST、CLK和I/O为低电平状态之后且卡片触点与接口设备触点物理分离之前,终端必 须切断VCC电源。此时的Vcc应小于或等于0.4V。 , 释放过程必须在100ms内完成。这一时间段从RST置于低电平状态开始到Vcc达到或低于0.4V 为止。 图 9 触点释放时序 6.2 交易过程的异常结束 在交易过程中,如果IC卡以最高1m/s的速度过早地从终端中拔出,终端必须能够检测到IC卡相对于接口设备触点的移动。并在相对位移达到1mm之前,根据2.1.5节描述的方式释放接口设备的所 有触点。在这种情况下,IC卡的电气或机械特性不能受到损坏。 21 JR/T 0025.3—2004 注:对于滑触式结构的接口设备,终端有可能检测到IC卡触点与接口设备触点之间的相对位移。此处不对能否感。 知到相对运动作强制性要求,但在IC卡和接口设备的触点脱离之前必须释放触点 22 JR/T 0025.3—2004 7 字符的物理传输 在卡片操作过程中,数据通过I/O在终端和IC卡之间以异步半双工方式进行双向传输。终端向IC卡提供一个用作数据交换的时序控制时钟信号。数据位和字符的交换机制在下面描述。这种交换机制适 用于复位应答,并在第5节中描述的两种传输协议中使用。 7.1 位持续时间 在I/O上使用的位持续时间定义为基本时间单元(etu)。I/O上etu和CLK频率(f)之间呈线性关系。 复位应答期间的位持续时间称为初始etu,由下列方程给出: 372 初始etu = 秒,式中f的单位是赫兹 f 复位应答 (和全局参数F和D的确定,参见第4节) 后的位持续时间称为当前etu,由下列方程给出: F 当前etu = 秒,式中f的单位是赫兹 Df 372 注:本规范描述的基本复位应答,仅支持F=372和D=1。这样初始etu和当前etu相同且均等于。除非另有f说明,以后所提到的etu,均为当前etu。 7.2 字符帧 数据在I/O上以如下所述的字符帧方式传输。采用的约定由IC卡在复位应答时发送的初始字符(TS)确定(见4.3.1节)。 字符传输之前,I/O应被置为高电平状态。 一个字符由10个连续位组成(见图10): , 1个低电平状态的起始位; , 组成数据字节的8个数据位; , 一个奇偶校验位。 起始位由接收端通过对I/O周期采样测得,采样时间应小于或等于0.2etu。 一个字符中的逻辑?1‘的数目必须是偶数,8个数据位和校验位自身均参加校验计算,但起始位不参 加校验计算。 起始时刻固定地从最后一个检测到的高电平状态到第一个检测到的低电平状态的中间算起,起始位 的存在性必须在0.7etu之内验证,后续各位必须在(n+0.5?0.2)etu(n为各位的次序号)间隔内接收到,起始位的次序号为1。 在一个字符内,从起始位的下降沿到第n位的后沿之间的时间是(n?0.2)etu。 两个连续字符起始位下降沿之间的间隔时间,等于字符持续时间(10?0.2)etu加上一个保护时间。在保护时间内,IC卡与终端都应处于接收模式(即I/O为高电平状态)。当T=0时,如果IC卡或终端作为接收方对刚收到的字符检测出奇偶错误,则I/O将被设置为低电平状态,以向发送方表明出现错误(见5.2.3节)。 23 JR/T 0025.3—2004 图 10 字符帧 在终端传输层(TTL),数据总是采用高字节先送方式(m.s.)在I/O上传输。一个字节内部二进制位的传输顺序(即:低位先送还是高位先送)由复位应答回送的TS字符确定(见4.3节)。 8 复位应答 如2.1.3节所述,终端发出复位信号以后,IC卡以一串字节作为应答(即复位应答)。这些传输到终端的字节规定了卡片和终端之间即将建立的通讯的特性。传输这些字节的方法及字节的含义在下面描 述。 注:在第4节和第5节中,一个字符的最高位指的是b8位,最低位是b1位。在单引号中的值表示以十六进制值编 码,例如:?3F‘。 8.1 复位应答期间回送字符的物理传输 本节描述了复位应答期间回送字符的结构和时序。 位持续时间在3.1节定义,字符帧在3.2节定义。 在复位应答过程中,两个连续字节的起始位下降沿之间的最小时间间隔为12个初始etu,最大时间间隔为9600个初始etu。 4在复位应答期间,IC卡应在19,200个初始etu内发送完所有要回送的字符。发送时间应从第一个 字符(TS)起始位的下降沿开始,到最后一个字符起始位下降沿后的12个初始etu为止。 8.2 复位应答期间IC卡回送的字符 在复位应答期间,IC卡回送字符的数目和编码随传输协议和所支持的传输控制参数值的不同而不 同。本节中描述了两种基本的复位应答:一种是针对支持T=0协议的IC卡,另一种是针对T=1协议的IC卡(卡片只支持其中一种)。本节还规定了回送字符和传输控制参数值的允许范围。IC卡回送两种复位应答的任何一种,均能保证操作的正确性和与符合本规范的终端的互操作性。 根据特殊需要,IC卡可以选择支持多种传输协议,但其中之一必须是T=0或T=1,且首选协议必须是T=0或T=1。除非终端因为特殊需要而支持选择IC卡提供的其它协议的机制,终端必须使用首选 协议对卡片进行操作。对这种机制的支持不作要求,亦不在本规范的规定之列。 注:本规范不支持同时支持T=0和T=1协议的IC卡。这种IC卡的读写只能通过专用的方法完成,而这不在本规 范规定之列。 基于同样的考虑,IC卡还可以选择支持由发卡行确定的其它传输控制参数值,但这已超出本规范 的范围。符合本规范的终端可以拒绝这种卡片,且不必为支持这种卡片而增加相应的特殊功能。 在两种基本复位应答中,IC卡回送的字符如表11和表12所示,字符的次序按照IC卡发送的顺序排列,即TS为第一个字符。 4 因为etu代表的周期与频率相关(见3.1),复位应答的最大时间会随时钟频率的变化而变化。 24 JR/T 0025.3—2004 对于采用T=0协议(基于字符的异步半双工传输协议)的IC卡,其回送字符如表15所示: 表 15 T=0时的基本ATR 字符 值 备 注 ?3B‘或?3F‘ 指明正向或反向约定 TS TB1和TC1存在,X表示历史字节的存在个数 T0 ?6X‘ 不使用VPP TB1 ?00‘ ?00‘到?FF‘ 指明所需额外保护时间的数量,?FF‘值为特定含义值(见4.3.3.3节) TC1 对于采用T=1协议(基于块的异步半双工传输协议)的IC卡,其回送字符如表16所示: 表 16 T=1时的基本ATR 字符 值 备 注 ?3B‘或?3F‘ 指明正向或反向约定 TS TB1到TD1存在,x表示历史字节的存在个数 T0 ?Ex‘ 不使用VPP TB1 ?00‘ ?00‘到?FF‘ 表明所需额外保护时间的数量,‘FF‘值为特定含义值(见4.3.3.3) TC1 TA2到TC2不存在,TD2存在;使用T=1协议 TD1 ?81‘ TA3和TB3存在,TC3和TD3不存在,使用T=1协议 TD2 ?31‘ ?10‘到 ?FE‘ 返回IFSI,表示IC卡信息域大小的初始值且具有16~254字节的IFSC TA3 高位半字节‘0‘到?4‘,低位BWI=0到4 TB3 半字节?0‘到?5‘ CWI=0到5 见4.3.4节 校验字符 TCK 8.3 字符定义 本节对复位应答中可能回送的字符进行了详细描述。 每个字符的描述按以下结构组织: , 标题 , GB/T 16649.3描述的用途 , EMV基本应答。为保证互操作性,热复位应答中必须包括这些字符。 , 如果终端收到EMV规定范围之外的字符,终端的规定动作。 在符合基本ATR的情况下,一个字符是否存在,以及允许的取值范围(如果存在)由―基本应答‖信息指明。基本应答描述既不排斥其它字符值的使用,也不排斥发卡行增加或删减字符。例如,如果IC卡支持多个传输协议,它可以回送附加字符(见第5节)。但是,只有在IC卡返回一个基本ATR,或返回一个下面描述的满足最低功能需求的终端所支持的ATR时,才能保证字符的正确交换。 符合本规范的终端仅需支持本部分描述的基本ATR(最小功能)及一些附加要求。终端可以拒绝不 按此要求返回ATR的IC卡。此外,终端可以具备正确解释不符合本规范但由专用IC卡(如:国内专用)返回的ATR的能力。这种功能并非强制性要求,且超出了本规范的范围。作为一个基本原则,终端应 接受回送非基本ATR的IC卡,只要终端能正确处理该ATR即可。 终端必须能对复位应答返回的字符进行奇偶校验,但不必即时校验。如果终端检测到校验错,它 必须拒绝IC卡。 在以下描述中,如果指明终端必须 , 拒绝复位应答,则意味着终端必须在拒绝冷复位后执行热复位,或在拒绝热复位后释放触点 25 JR/T 0025.3—2004 以结束卡片操作过程。 , 拒绝IC卡,则意味着终端必须释放触点以结束卡片操作过程。 , 接受复位应答,则意味着终端必须在本节规定的对其它所有字符的要求都满足的情况下接受复 位。 8.3.1 TS-初始字符 TS有两个功能:向终端提供一个用于位同步的已知位模式并指定解释后续字符的逻辑约定。 使用反向逻辑约定时,I/O的低电平状态等效于逻辑?1‘,且该数据字节的最高位在起始位之后首先 发送。 使用正向逻辑约定时,I/O的高电平状态等效于逻辑?1‘,且该数据字节的最低位在起始位之后首先 发送,第1个半字节LHHL用于位同步。 基本响应:IC卡将回送的TS为以下两个值之一: , (H)LHHLLLLLLH—反向约定,值为?3F‘ , (H)LHHLHHHLLH—正向约定,值为?3B‘ 冷复位和热复位的约定可能不同。 终端要求:终端必须能够同时支持反向和正向约定,并接收IC卡回送的值为?3B‘或?3F‘的TS,但应拒绝接受返回包含其他TS值的ATR的ICC。 注:强烈推荐使用?3B‘作为IC卡的回送值,因为在以后的版本中可能不再支持?3F‘。 8.3.2 T0-格式字符 T0由两部分组成,高半字节(b5-b8)表示后续字符TA1到TD1是否存在,b5-b8位设置成逻辑?1‘表明TA1到TD1存在;相应地,低半字节(b1-b4)表明可选历史字符的数目(0到15)(见表13-T符的基本应答编码)。 基本响应:当仅选择T=0时,IC卡应回送T0=?6x‘,表示字符TB1和TC1存在;当仅选择T=1时,IC卡应回送T0=?Ex‘,表示字符TB1到TD1存在。?x‘的值表示要回送的可选历史字符的数目。 终端要求:在T0回送值正确且包含了所需的接口字符(TA1到TD1)和历史字符时,终端应接受包 含任何T0值的ATR。 表 17 T0的基本响应编码 b8 b7 b6 b5 b4 b3 b2 b1 T=0 0 1 1 0 x x x x T=1 1 1 1 0 x x x x 8.3.3 TA1到TC3-接口字符 在复位应答后的终端和IC卡信息交换期间,TA1到TC3表示传输控制参数F、D、I、P、N、IFSC、块等待时间整数(BWI)及字符等待时间整数(CWI)的值。这些参数用于GB/T 16649.3中定义的T=1协议。TA1,TB1,TC1,TA2和TB2传送的信息将用于后续数据交换且与所使用的协议类型无关。 8.3.3.1 TA1 TA1传送FI和DI的值,其中: , 高半字节FI用于确定F的值,F为时钟速率转换因子。用于修改复位应答之后终端所提供的 时钟频率。 , 低半字节DI用于确定D的值,D为位速率调节因子。用于调整复位应答之后所使用的位持续 时间。 26 ATR后的位持续时间(当前etu)的计算方法见3.1。 JR/T 0025.3—2004 在复位应答期间使用的缺省值FI=1和DI=1,分别表示F=372和D=1。 基本响应:ATR不包括TA1,因而在后续交换中使用缺省值F=372和D=1。 终端要求:如果ATR中存在TA1(T0的b5设为?1‘)且TA2的b5=?0‘(具体模式、参数由接口字符 定义),则 , 如果TA1的值在?11‘到?13‘之间,终端必须接收ATR,且必须立即采用指明的F和D值(F=372, D=1,2,4)。 , 如果TA1的值不在?11‘到?13‘之间,终端必须拒绝ATR,除非它可以支持并立即采用指明的 条件。 如果ATR中返回TA1(T0的b5设为?1‘)且TA2没有返回(协商模式),终端必须接收ATR且继续在后续信息交换过程中使用缺省值D=1和F=372,除非它支持使用协商参数的特殊方法。 如果ATR中没有返回TA1,则后续交换中使用缺省值D=1和F=372。 8.3.3.2 TB1 TB1传送PI1和II的值,其中: , PI1在b1到b5位中定义,用于确定IC卡所需的编程电压P值。PI1=0表示IC卡不使用VPP。 , II在b6和b7位中定义,用于确定IC卡所需的最大编程电流I值。PI1=0表示不使用此参数。 , b8位不使用,置为逻辑?0‘。 基本响应:ATR中必须包含TB1=?00‘,表示IC卡不使用VPP。 终端要求:在冷复位应答中,终端只能接收TB1=?00‘的ATR。 在热复位应答中,终端必须能够接 收TB1为任何值的ATR(只要T0的b6置为?1‘)或不包括TB1的ATR(如果T0的b6设为?0‘);此时终端必须当作TB1=?00‘,继续后续操作。终端不提供编程电压VPP。 注:终端可以保持Vpp为静止状态 (见1.3.3)。 字符TB1的基本响应代码如表18所示: 表 18 TB1的基本响应编码 b8 b7 b6 b5 b4 b3 b2 b1 0 0 0 0 0 0 0 0 8.3.3.3 TC1 TC1传送N值,N用于表示增加到最小持续时间的额外保护时间,此处的最小持续时间表示从终 端发送到IC卡的、作为后续信息交换的两个连续字符的起始位下降沿之间的时间。N在TC1的b1-b8位为二进制编码,其值作为额外保护时间表示增加的etu数目,其值可在0到255之间任选。N=255具有特殊含义,表示在使用T=0协议时,两个连续字符的起始位下降沿之间的最小延迟时间可减少到12个etu,而在使用T=1协议时可减小到11个etu。 注:TC1只适用于终端向IC卡发送的两个连续字符间的时序,而不适用于IC卡向终端发送字符的情况,也不适用于在相反方向发送字符的情况,见5.2.2.1节和5.2.4.2.2节。 如果TC1值在?00‘到?FE‘之间,增加到字符间最小持续时间的额外保护时间为0到254个etu。对于后续传输,额外保护时间必须在12到266个etu之间。 如果TC1=?FF‘,则后续传输的字符间最小持续时间在使用T=0协议时为12个etu,使用T=1协议时为11个etu。 基本响应:IC卡必须回送?00‘到?FF‘之间的TC1值。 终端要求:终端必须能够接收不包含TC1的ATR(只要T0的b7置为?0‘),如果接收了这样的ATR,则它必须继续卡片操作过程,就象回送了TC1=?00‘一样。 字符TC1的基本响应代码如表19所示: 27 JR/T 0025.3—2004 表 19 TC1的基本响应编码 b8 b7 b6 b5 b4 b3 b2 b1 x x x x x x x x 注:强烈推荐将TC1设置为IC卡可接受的最小值。TC1取值过大将导致终端与IC卡之间的通讯缓慢,这样会延长交易时间。 8.3.3.4 TD1 TD1表示是否还要发送更多的接口字节以及后续传输所使用的协议类型,其中: , 高半字节用于表示字符TA2到TD2是否存在,这些位(b5-b8)设置为逻辑?1‘状态时,分别表 示TA2到TD2字符的存在; , 低半字节用于表示后续信息交换所使用的协议类型。 基本响应:当仅选用T=0协议时,IC卡不回送TD1,且以T=0协议作为后续传输类型的缺省值。 当选用T=1协议时,IC卡将回送TD1=?81‘,表示TD2存在,且后续传输协议类型为T=1协议。 终端要求:如果回送值正确且包含了所需的接口字符TA2到TD2,则终端必须接受这样的ATR,即其所回送的TD1的高半字节为任意值且低半字节的值为?0‘或?1‘。终端必须拒绝包含其它TD1值的ATR。 字符TD1的基本响应编码如表20所示: 表 20 TD1的基本响应编码(T=1) b8 b7 b6 b5 b4 b3 b2 b1 1 0 0 0 0 0 0 1 8.3.3.5 TA2 TA2的存在与否表示IC卡是以特定模式还是以协商模式工作。 当提供TA2,TA2传输有关特殊模式操作的信息: , b8表明ICC是否有能力改变它的操作模式。如果b8置1则表明具有着一个能力,而如果b8 置0则表明不具有这样的能力。 , b7-b6是RFU,(设置为00) , b5表明在复位应答后是按接口字节提供的传输参数进行,还是按终端默认的传输参数进行。 如果b5置0,则按照接口字节定义的传输参数进行;如果b5置1,则按照终端默认的传输参 数进行。 基本响应:IC卡不回送TA2,TA2不存在表示以协商模式工作。 终端要求:TA2最低位表明的协议类型正是ATR中第一次表明的协议类型,如果在复位应答期间 TA2的b5=0,且终端能够支持IC卡返回的接口参数所指明的确切条件,终端应该接受包含TA2的ATR,并立即使用这些条件。否则,终端应拒绝接受含有TA2的ATR。 8.3.3.6 TB2 TB2传送PI2,PI2用于确定IC卡所需的编程电压P的值,当PI2出现时,它将取代TB1中回送的PI1的值。 基本响应:IC卡不回送TB2。 终端要求:终端应该拒绝包含TB2的ATR。 注:终端可以保持Vpp为空闲状态(见1.3.3)。 8.3.3.7 TC2 TC2专用于T=0协议,传输工作等待时间整数(WI),WI用来确定由IC卡发送的任意一个字符起 始位下降沿与IC卡或终端发送的前一个字符起始位下降沿之间的最大时间间隔。工作等待时间为: 28 960×D×WI。 JR/T 0025.3—2004 基本响应:IC卡不回送TC2,且后续通讯中使用缺省值WI=10。 终端要求:终端必须: , 拒绝包含TC2=?00‘的ATR。 , 接收包含TC2=?0A‘的ATR。 , 拒绝TC2为其它任何值的ATR,除非它可以支持。 8.3.3.8 TD2 TD2表示是否还要发送更多的接口字节以及后续传输所使用的协议类型,其中: , 高半字节用于表示字符TA3到TD3是否存在,这些位(b5-b8)设置为逻辑?1‘状态时,分别表示 TA3到TD3字符的存在; , 低半字节用于表示后续信息交换所使用的协议类型,当选用T=1协议类型时,该低半字节值 为?1‘。 基本响应:当选用T=0协议时,IC卡不回送TD2,且以T=0协议作为后续传输类型的缺省值。当 选用T=1协议时,IC卡将回送TD2=?31‘,表示TA3和TB3存在,且后续传输协议类型为T=1。 终端要求:如果回送值正确且包含了所需的接口字符TA3到TD3,则终端不能拒绝这样的IC卡。即,其所回送TD2的高半字节为任意值且低半字节的值为?1‘或?E‘(如果TD1的低半字节为‘0’)。终端应拒绝IC卡回送其它的TD2值。 字符TD2的基本响应编码如表21所示: 表 21 TD2的基本响应编码(T=1) b8 b7 b6 b5 b4 b3 b2 b1 0 0 1 1 0 0 0 1 8.3.3.9 TA3 TA3(如果TD2中指明T=1)回送IC卡的信息域大小整数(IFSI),IFSI决定了IFSC,并指明了卡片可接收的块信息区域的最大长度(INF)。TA3以字节形式表示IFSC的长度,其取值范围从?01‘到?FE‘。?00‘和?FF‘保留为将来使用。 基本响应:如果选用T=1协议则IC卡应回送?10‘到?FE‘之间的TA3值,表明初始IFSC在16到254字节范围内。 终端要求:如果TD2的b5位为?0‘,则终端不能拒绝不回送TA3的IC卡,但如果终端接受了这样 的IC卡,则应令TA3=?20‘来继续卡片操作过程。终端应拒绝那些回送的TA3 值在?00‘到?0F‘之间或为?FF‘的IC卡。 字符TA3的基本响应编码如表22所示: 表 22 TA3的基本响应编码 b8 b7 b6 b5 b4 b3 b2 b1 T=1 x x x x x x x x ?00‘到?0F‘和?FF‘不允许 8.3.3.10 TB3 TB3(如果TD2中指明T=1)表明了用来计算CWT和BWT的CWI和BWI值,TB3由两部分组成。低半字节(b1-b4)用于表明CWI值,而高半字节(b5-b8)用于表明BWI值。 基本响应:在选用T=1协议的前提下,IC卡应回送这样的TB3:低半字节取值为?0‘到?5‘,高半字节取值为?0‘到?4‘。即:CWI的值在0到5之间,BWI的值在0到4之间。 字符TB3的基本响应编码如表23所示: 29 表 23 TB3的基本响应编码 JR/T 0025.3—2004 b8 b7 b6 b5 b4 b3 b2 b1 T=1 0 x x x 0 y y y xxx取值范围为000到100 yyy取值范围为000到101 终端要求:终端应拒绝以下的ATR:不包含TB3,包含BWI大于4和/或 CWI大于5的TB3,或包含CWI 使2?(N + 1)的TB3。终端应接受包含其它TB3值的ATR。 注:N为TC1中指定的额外保护时间。若TC1=255,N的值必须置为 –1。 当T=1时,由于CWI所规定的最大值是5,TC1的值应在?00‘与?1E‘之间或等于?FF‘,以避免TC1与TB3之间的矛盾。 8.3.3.11 TC3 TC3(如果TD2中指明T=1)指明了所用的块错误检测代码的类型,所用代码类型用b1位表示,b2到b8位未使用。 基本响应:ATR不应包含TC3,表明用纵向冗余校验(LRC)作为错误代码。 终端要求:终端必须能够接收包括TC3=?00‘的ATR,而拒绝TC3为其它任何值的ATR。 8.3.4 TCK - 校验字符 TCK具有一个检验复位应答期间所发送数据完整性的值。TCK的值应使从T0到包括TCK在内的所有字节进行异或运算的结果为零。 基本响应:在使用T=0协议时,IC卡不回送TCK。而在其它情况下,IC卡应回送TCK。 终端要求:当TCK正确返回时,终端必须能校验它。如果仅选择T=0协议,终端必须能够接受不 包含TCK的ATR。其它情况下,终端必须拒绝不包含TCK或TCK不正确的ATR。 8.4 复位应答过程中终端的行为 在IC卡的触点如2.1.2节所描述的那样激活之后,终端应启动一个如2.1.3.1节所定义的冷复位。然后执行以下步骤: , 如果终端如4.3节的描述拒绝IC卡,则它必须在ATR的TS起始位的下降沿开始的24,000个 初始etu(19,200 + 4,800初始etu)之内启动下电时序。 , 如果终端根据4.3节的描述拒绝接受冷复位应答,则它不应立即终止卡片操作过程,而必须在 冷复位的TS起始位的下降沿开始的24,000个初始etu(19,200 + 4,800初始etu)之内置RST为 低电平,启动热复位。 , 如果终端如4.3节的描述拒绝热复位应答,则它必须在热复位的TS起始位的下降沿开始的 24,000个初始etu(19,200 + 4,800初始etu)之内启动下电时序。 , 终端必须能够接收两个连续字符的起始位下降沿的最小间隔为11.8etu的ATR。 , 终端必须能够接收两个连续字符的起始位下降沿的最大间隔为10,080初始etu(9,600 初始etu + 480初始etu)的ATR。如果某个字符没有接收到,则终端必须在最后一个接收到的字符(之后 发生超时的字符)的起始位下降沿开始的14,400个初始etu(9,600初始etu + 4,800初始etu)之内 启动下电时序,结束卡片操作。 , 终端必须能够接收总持续时间小于或等于20,160初始etu的ATR。如果ATR(热复位或冷复位) 未完成,则终端必须在TS的起始位的下降沿开始的24,000个初始etu(19,200 + 4,800初始etu) 之内启动下电时序,结束卡片操作。 , 如果终端在ATR中接收到的字符里检测到校验错,则它必须在TS的起始位下降沿开始的 24,000个初始etu(19,200 + 4,800初始etu)之内启动下电时序,结束卡片操作。 , 在接收到了符合上述时序的有效冷复位或热复位应答后,终端必须使用接收到的参数继续卡 片操作过程。终端可以在有效ATR的最后一个字符(由位图字符T0和/或TDi指明)和TCK(如 果存在)接收到以后继续卡片操作过程。在继续传输之前,终端必须从有效ATR最后一个字符 30 JR/T 0025.3—2004 起始位的下降沿开始至少等待所用协议规定的保护时间(T=0为16etu,T=1为BGT)。 8.5 复位应答-终端流程 图11显示了IC卡向终端回送复位应答的过程,以及由终端执行检查以确保该复位应答符合第4节中规定的实例。 设置 Case = 1 (见注1) 冷复位t 热复位 设置 Case = 2 Yes TCK(如果存在) Yes No No Case = 1? 和奇偶性OK? ATR OK? (见注2) No Yes (见注 3) 继续使用上面决定的参数 见注 4 图 11 ATR-终端上的流程图 注1:―case‖是一个过程变量,用来表示是执行冷复位还是执行热复位。case=1时为冷复位,case=2时为热复位。 注2:如果过程在此处结束,则IC卡可能根据商业协议在此终端接受。终端应在卡片插入前事先做好准备,以便 接受这种卡。随后的处理过程也是专用的,不在本规范之列。 注3:如果过程在此处结束,则可以将IC卡从终端中拔出,并按照要求正确操作而使IC卡重新复位。终端上应显示一条相应的信息。 注4:本规范以外的专用交易操作可以通过使用协议选择程序而在此处被启动。 31 JR/T 0025.3—2004 9 传输协议 本章规定了在异步半双工传输协议中,终端为实现传输控制和特殊控制而发出的命令的结构及其处 理过程。 这里定义了两种协议:字符传输协议(T=0)和块传输协议(T=1)。IC卡必须支持T=0协议或T=1协 议。终端必须支持两种协议。TD1规定了后续传输中采用的传输协议(T=0或T=1),如果TD1在ATR 中不存在,则假定T=0。由于没有PTS过程,在复位应答之后,由IC卡指明的协议将立即被采用。在ATR中提供的其它参数和与特定协议相关的参数将在本节相应的部分定义。 协议根据以下层次模型定义: , 物理层:定义了位交换,是两个协议的公共部分。 , 数据链路层,包含以下定义: - 字符帧,定义了字符交换,是两种协议的公共部分。 - T=0,定义了T=0时的字符交换。 - 对T=0的检错与纠错。 - T=1,定义了T=1时的块交换。 - 对T=1的检错与纠错。 , 传输层,定义了针对每个协议的面向应用的报文传输。 , 应用层,根据相同的应用协议,定义报文交换的内容。 9.1 物理层 T=0与T=1协议均使用了物理层和第3节中定义的字符帧。 9.2 数据链路层 本节描述了传输协议T=0和T=1的时序、具体选项和错误处理。 9.2.1 字符帧 在3.2节中定义的字符帧适用于IC卡与终端之间所有的报文交换。 9.2.2 字符协议T=0 9.2.2.1 具体选项 - 用于T=0的时序 在复位应答中,TC1的值决定了终端发送到IC卡的两个连续字符起始位下降沿之间的最小时间间 隔在12和266个etu之间(见4.2和4.3节)。这一时间间隔可以小于在相反方向发送的两个连续字符之 间的最小间隔16etu。如果TC1返回的值是N,IC卡必须能够正确解释从终端传来的相邻字符起始位下 降沿最小间隔为11.8 + N etu的连续字符。 IC卡发送到终端的两个连续字符起始位下降沿之间的最小时间间隔为12个etu。终端必须能够正确解释从IC卡传来的相邻字符起始位下降沿最小间隔为11.8etu的连续字符。 IC卡发送的任意字符的起始位下降沿与IC卡或终端发送的前一个字符的起始位下降沿之间的最大 时间间隔(工作等待时间)不能超过960×D×WI=9600个etu。(D和W1分别在TA1和TC2中返回。) 终端必须能够正确解释IC卡发送的起始位下降沿与IC卡或终端发送的上一个字符的起始位下降沿最大间隔为WWT + (D × 480) etu的字符。如果没有接收到字符,终端必须在发生超时的字符起始位 下降沿开始的WWT + (D × 9600) etu内启动下电时序。 对于IC卡和终端,在相反方向发送的两个连续字符的起始位下降沿之间的最小时间间隔不能小于 16个etu。IC卡或终端必须能够正确解释接收到的其起始位下降沿和最后发送的字节起始位下降沿间隔 为15etu的字符。此处的时序不适用于重发字符。 9.2.2.2 命令头 命令均由终端应用层(TAL)发出,它用5个字节组成的命令头通过TTL向IC卡发送指令。命令头由5个连续字节CLA、INS、P1、P2和P3组成: 32 JR/T 0025.3—2004 , CLA:命令类别; , INS:指令代码; , P1和P2:附加参数; , P3:根据不同的INS,P3指明发送给IC卡的命令中数据的字节长度或期待IC卡响应的最大 数据长度。 对于T=0,这些字节和通过命令发送的数据一起构成命令传输协议数据单元(C-TPPU),命令应用协议数据单元(C-APPU)到C-TPPU的映射将在5.3节中描述。 TTL传送5个字节的命令头给IC卡并等待一个过程字节。 9.2.2.3 命令处理 IC卡收到命令头以后向TTL回传过程字节或状态字节SW1 SW2(以后简称―状态‖)。TTL和IC卡在二者之间的命令和数据交换的任何时刻都必须知道数据流的方向和I/O线路由谁驱动。 9.2.2.3.1 过程字节 过程字节向TTL表明它必须执行的动作。其编码与TTL动作的对应关系如表24所示: 表 24 终端对过程字节的响应 过 程 字 节 值 动作 与INS字节值相同 所有余下的数据将要由TTL传送或者TTL准备接收所有的来自IC 卡的数据。 下一个数据字节将由TTL传送或者TTL将准备接收来自IC卡的下与INS字节值的补码相同(INS) 一个数据字节。 TTL 提供根据本条所定义的额外工作等待时间 ?60‘ TTL必须等待另一个过程字节然后再以最大长度?xx‘向IC卡发送取 ?61‘ 应答(GET RESPONSE)命令头,其中?xx‘是第二个过程字节的值。 TTL必须等待另一个过程字节然后再以最大长度?xx‘向IC卡立即重 ?6C‘ 发命令头,其中 ?xx‘是第二个过程字节的值。 在任何情况下,完成指定的动作后,TTL必须等待下一个过程字节或状态字节。 9.2.2.3.2 状态字节 状态字节向TTL表明IC卡对命令的处理已经完成。状态字节的意义与处理的命令有关。表21显示了TTL必须采取的动作和第一个状态字节的对应关系。 表 25 状态字节编码 第一个状态字节的值 动作 ?6x‘或?9x‘(除了 ?60‘, ?61‘, ?6C‘)-状态字节SW1 TTL必须等待另一个状态字节(状态字节SW2) 接收到第二个状态字节后,TTL必须在应答APDU(R-APDU)中向TAL回送状态字节(及其它数据-参见5.3.1),然后等待下一个C-APDU。 9.2.2.4 C-APDU的传输 采用T=0协议时,只包含传向IC卡的命令数据或只包含IC卡响应数据的C-APDU,可直接映射到C-TPDU(5.4节中的情况2和情况3)。无数据且不要求回送数据的C-APDU,或者要求IC卡接收/发送数据(5.4节中情况1和4)的C-APDU将通过5.4节定义的T=0的C-TPDU传输规则进行传输。 9.2.3 T=0的错误检测及纠错 在T=0协议中,错误检测及纠错是必须的,但不适用于复位应答过程。 若接收到校验不正确的字符,接收方必须在字符起始位的下降沿之后的10.5?0.2个etu内,向I/O 33 发送持续1-2个etu的低电平信号,以表示有错误发生。 JR/T 0025.3—2004 发送方必须在字符起始位下降沿脉冲发出后的11?0.2个etu内,检测I/O的电平状态,此时若I/O为高电平状态,则表明字符已准确收到。 若发送方检测到错误,则必须在检出错误之后至少延迟2个etu,并重复发送一次有错误嫌疑的字 符。发送方最多再重发三次,即总共五次(最初一次、第一次重复和然后的三次重复)。 如果最后一次重发未成功,终端必须在接收到最后一个无效字符的起始位的上升沿开始的(D x 960) 个etu内启动下电时序(如果它是接收方);或者在IC卡显示有校验错开始的(D x 960)个etu内启动下电时序(如果它是发送方)。 图12显示了字符重发的时序。 图 12 字符重发时序 在等待过程字节或状态字节时,如果IC卡返回的字节的值未在5.2.2.3.1节和5.2.2.3.2节中定义,则终端必须在接收到的(无效)字符起始位下降沿开始的9,600个etu以内启动下电时序。 9.2.4 块传输协议T=1 T=1协议在TAL和IC卡之间传送命令、R-APDU和传输控制信息(如确认信息)的块。 以下定义了数据链路层的块帧结构、协议的具体选项和协议操作(包括错误处理)。 9.2.4.1 块帧结构 字符帧采用3.2节中的定义。 块的结构如下(参见表26): , 头域(必备) , 信息域(可选) , 尾域(必备) 表 26 块帧结构 头域 信息域 尾域 节点地址 协议控制字节 长度 APDU或控制 错误校验码 信息(INF) (NAD) (PCB) (LEN) (EDC) 1字节 1字节 1字节 0-254字节 1字节 9.2.4.1.1 头域 头域由三个必备字节组成: 34 , 用于标识数据块的源地址和目的地址,以及提供VPP状态控制的节点地址。 JR/T 0025.3—2004 , 控制数据传输的协议控制字节。 , 可选的数据域长度。 1.1.1.1.1.1 节点地址 NAD第1至第3位表明块的源节点地址(SAD),而第5至第7位表明块的目的地址(DAD),第4位 5和第8位不用,必须设定为0。 本规范不支持节点寻址。终端在ATR之后发送的块及其后终端和IC卡发送的块必须把NAD设为 ?00‘。 在卡片操作过程中,如果终端或IC卡接收到NAD??00‘的块,则可以视为非法块。在这种情况下,必须使用5.2.5节中描述的侦错和纠错技术。 1.1.1.1.1.2 协议控制字节 PCB表明了传输块类型,有以下三种类型: , 用于传送APDU的信息块(I块); , 用于传送确认(ACK或者NAK)的接收就绪块(R块); , 用于交换控制信息的管理块(S块)。 PCB的编码取决于其类型,见表27、表28和表29。 表 27 I块的PCB编码 b8 0 序列号 b7 链接(更多的数据) b6 保留 (RFU) b5-b1 表 28 R块的PCB编码 b8 1 b7 0 b6 0 序列号 b5 0=无错 b4-b1 1=EDC或校验出错 2=其他错误 其他值保留为将来使用 表 29 S块的PCB编码 b8 1 b7 1 0=请求 b6 1=应答 0=再同步请求 b5-b1 1=信息域大小请求 5 GB/T 16649定义为VPP控制。0值表示VPP必须维持在空闲状态。 35 JR/T 0025.3—2004 2=放弃请求 3=BWT扩展请求 6 4=Vpp错误其他值保留为将来使用 1.1.1.1.1.3 长度 LEN指明块的INF部分的长度,根据块的类型,其取值范围从0到254。 注:本规范不支持LEN=0的I块。 9.2.4.1.2 信息域 信息域INF是有条件的,当出现在I块中时,它传送的是应用数据,当出现在S块中时,它传送的是控制信息。R块不包含INF。 9.2.4.1.3 尾域 尾域包含所传送块的EDC,奇偶校验出错和/或EDC出错时,块无效。本规范仅支持LRC作为EDC。LRC长度为一个字节,其值由以NAD开始到INF(如果存在的话)的全部字节作异或运算得到。 注:TC(i>2)指明要使用的错误检测代码类型,IC卡在ATR中并不回送。因此LCR的正常缺省状态可用作i EDC。 9.2.4.1.4 块编号 I块采用在某一位上模2数字编码的方式进行编码,IC卡和终端作为发送方分别处理各自的编码系 统。复位应答后,发送方发送的第一个I块的编号为零,其后每传送一个I块,编号值增加1。当再同步后,发送方把编号值复位到零。 R块采用在某一位上模2数字编码的方式进行编码,一个R块用来确认一个链接的I块或者请求一个无效的块重发。在这两种情况下,R块中PCB字节中的b5位的值是下一个期望收到的I块的序列号。 S块不携带编号。 9.2.4.2 具体选项 本节定义了用于T=1传输协议的信息域的大小和时序。 9.2.4.2.1 信息域大小 IFSC是指IC卡能收到的信息域的最大长度,其定义是:在复位应答期间,IC卡在TA3中回送的IFSI指明了IC卡能够容纳的IFSC的大小,IFSI取值范围是?10‘到?FE‘,对应的IFSC大小是16到254字节。因此IC卡能收到的最大数据块长度是(IFSC+3+1)字节,其中包括头域和尾域。复位应答期间建 立起来的这个值在整个卡片操作过程中使用,或持续到由于IC卡向终端发送S块(IFS请求)而取得新的IFSC值为止。 终端信息域大小IFSD是指终端能够接收到的块的信息域最大长度。紧接在复位应答后的初始大小 必须为254字节,此值必须在随后的整个卡片操作过程中使用。 9.2.4.2.2 T=1协议时序 终端发往IC卡的两个连续字符的起始位下降沿之间的最短时间间隔为11到42个etu,由复位应答回送的TC1值决定(见4.2节和4.3节)。如果TC1返回的值是N,IC卡必须能够正确解释终端发送的起 始位下降沿最小间隔为(11.8 + N)etu的连续字符。 由IC卡发往终端的两个连续字符的起始位下降沿之间的最短时间间隔必须为11个etu。终端必须 6 符合本规范要求的IC卡和终端未使用。 36 JR/T 0025.3—2004 能够正确解释IC卡发送的起始位下降沿最小间隔为10.8个etu的连续字符。 同一块中两个连续字符起始位下降沿之间的最大时间间隔(字符等待时间,CWT)不应超过CWI(2+11)个etu。其中CWI在4.3.3.10节中规定,取值为0~5,所以CWT的取值范围是12到43个etu。接收方必须能够正确解释起始位下降沿与上一字节起始位下降沿最大间隔为(CWT + 4) etu 的字符。 终端发送给IC卡的最后一个字符的起始位下降沿与由IC卡发出的第一个字符起始位下降沿之间的 BWI最大时间间隔(块等待时间,BWT)不应超过{(2×960)+11}个etu。在4.3.3.10节中所规定的BWI的取值范围是0到4,所以BWT的取值范围是971到15,371个etu。 终端必须能够正确解释IC卡在BWT + (D x 960) 个etu内发送的块的第一个字节。 对终端或IC卡,最后一个接收到的字符的起始位下降沿和在相反方向发送的第一个字符起始位下 降沿的最小时间间隔(块保护时间,BGT)必须为22etu。IC卡或终端必须能够正确解释和最后一个发送 的字符的起始位下降沿间隔21etu以内接收到的字符。 注:通常,对于FI和DI不是1的情况,BWT采用以下公式计算: BWIBWT={[2×960×372D/F]+11}etu 9.2.4.3 无错操作 协议规则的无错操作如下: 1. 复位应答后,第一个数据块是由终端发往IC卡的,而且只能是一个PCB=?C1‘,IFSD=254(单 字节INF域中指定的值)的S块(IFS请求)。卡片操作过程中,终端不能再发送S块(IFS请求)。 2. IC卡必须向终端返回S块(IFS应答),确认IFSD的改变。S块(IFS应答)的PCB值应为?E1‘, INF域应该和请求块相同。 3. 若IC卡希望改变在复位应答后指定的IFSC的大小,则必须向终端发送一个S块(IFS请求),S 块(IFS请求)的PCB应具有值C1以表明是一个改变IFSC的请求,INF域包含一个字节,其值 表示所要求的新IFSC的字节数,该字节的取值范围从?10‘到?FE‘。终端必须向IC卡回送一个S 块(IFS响应),确认卡片改变IFSC长度。其中S块(IFS响应)的PCB值应是?E1‘,且INF域与 请求改变S块的INF域有相同的值。 4. 在卡片操作过程中,只有本节中定义的块才能改变。在半双工传输协议下,终端和IC卡交替 发送传输块。发送方完成块发送以后即转入接收状态。 5. 当接收方所收到的字符数与LEN和EDC的值一致时,接收方取得发送权。 6. IC卡需要确认由终端传来的I块。确认在IC卡回送给终端的I块序列号中指明。若使用链接, 则在R块的序列号中指明(链接的最后一个数据块除外)。 7. 若响应中收到的I块序列号与前一个已收到的I块序列号不同,则发送方即可认为发送的非链 接I块或链接I块的最后一块已被确认。若前面没有收到过I块,响应中的I块序列号应该是0。 8. 接收到R块后,必须验证b5。接收方不必验证PCB的b4-b1。对b4-b1的可选验证不能与本规 范的规定冲突。 9. 在链接的情况下,如果在应答中发送的R块的序列号和响应的I块的序列号不同,则链接的I 块(链中的最后一个I块除外)可以视为已经确认。 10. 若IC卡需要比BWT更长的时间来处理已收到的I块,则必须发送一个等待时间扩展请求S块 (WTX请求),其中的INF域包含有一个字节的二进制整数,其值为所请求的BWT值的倍数。 终端必须发送一个INF中具有相同值的等待时间扩展请求S块(WTX响应),以表示对延时请 求的确认。取得的时间(就是在S(WTX请求)块中请求,并且只在本次实例中替换BWT) 从S块(WTX响应)的最后一个字符的起始位下降沿开始采用。在卡片响应结束后,ICC卡仍然 使用原来的BWT作为允许的时间来处理I块。 11. S块总是配对使用,一个S请求块后总是跟随一个S响应块。 37 JR/T 0025.3—2004 如果以上的同步过程失败,则采用5.2.5节中描述的过程。 9.2.4.4 链接 当发送方需要传送的数据长度超过IFSC或IFSD所定义的字节数时,就要将其分成几个连续的I块。传送多个I块数据时,使用以下规定的链接功能。 I块的链接由PCB的b6控制。b6的编码定义如下: , b6=0,链的最后一块; , b6=1,后面还有后续块。 根据5.2.4.1节中的规定,包含b6=1的任何I块都必须由R块确认。 终端发送的链中的最后块如果正确接收,则以I块确认;如果未正确接收,则以R块确认。IC发送的链的最后块如果未正确接收,则以R块确认;如果正确接收且还要处理另一条命令,则终端只能 继续发送I块。 9.2.4.4.1 链接规则 TTL必须支持发送和接收块的链接。IC卡是否支持发送到终端的链接块是可选的。链接在一个时 刻只能在同一个方向进行。其规则如下: , 当终端是接收方时,终端必须能够接收IC卡发送的每块长度?IFSD字节的链接I块。 , 当IC卡是接收方时,IC卡必须能够接收终端发送的除最后一块外每块长度LEN=IFSC的链接 I块。最后一块的长度为1到IFSC(包括)。 , 当IC卡是接受方时,IC卡必须用R块拒绝终端发送的长度>IFSC的I块。 , 如果IC卡作为发送方链接发送到终端的块,则必须使每个发送I块的长度?IFSD。 , 当终端是发送方时,终端必须能够发送除最后一块外每块长度LEN=IFSC的链接I块。最后 一块的长度为1到IFSC(包括)。 , 在链接过程中,ICC不能企图向终端发送S(IFSC请求)块而采用新的IFSC值。 9.2.4.4.2 链接块的构造 C-APDU包含在I块的INF域中,从TTL传送到IC卡(见5.3.2节)。如果一个C-APDU因太长而 不能放在一个数据块中时,可通过如下的方法用几个链接块传送。 Block (1) CLA INS P1 P2 Lc Data Data Block (2) Data Data Data Block (n) Data Data Le 如果由IC卡回送的数据和状态码因太长而不能放在一个块中,可以按照下述方法通过几个I块来处理。 Block (1) Data Data Data Block (2) Data Data Data Block (n) Data Data SW1 SW2 注:上面是针对命令情况4的举例,仅显示链接块的INF域。每个块还有一个头域和一个尾域。如果IC卡是发送方,全部链接块都应包含一个长度范围1到IFSD字节的INF域。如果终端是发送方,则包含一个长度范围1到IFSC字节的INF域。 38 JR/T 0025.3—2004 9.2.5 T=1协议的错误检测和纠正 TTL应能检测到以下错误: , 传输错误(错误的奇偶校验和/或EDC错误)或BWT超时。 , 实际块大小和LEN表明的大小不同,导致同步失调。 , 协议错误(违背协议规则); , 终止链接块请求。 如果检测到一个奇偶校验错误,T=1协议下不能实现字符重发。 按照下述方法进行错误恢复: TTL以下列的次序按照下述技术方法纠错: , 块重发; , 释放IC卡触点。 IC卡必须重发块,以恢复错误。 如果重发块,则重发的块必须和原发送块一致。 注:某些终端上,出错处理不完全由TTL承担。这种情况下,?TTL‘表示终端中可用的所有相关功 能。 以下类型的块视为非法: , 包含传输错误的块,例如校验/EDC错误 , 包含格式错误的块,例如发送方错误地组成了块(语法错误) , 在交换过程中出现了违背协议规则的块。如在I块的应答中收到了S(应答)块。 表明错误条件的R块不能视为非法块。 9.2.5.1 错误处理的协议规则 下述规则用于错误处理和更正。在任意一种情况下,当发送一个R块时,错误码的b4-b1是否验证是可选的,但不能引发和本规范定义的规则冲突的动作。 1. 当IC卡在复位应答后接收到的第一个块无效时,就应回送一个R块给TTL,并置b5=0和 NAD=0。 2. 如果接收不到TTL发送给IC卡的块的应答,终端必须: a) 启动下电序列。 或 b) 如果未应答的块为I块、R块或S(应答)块,终端必须根据5.2.4.1.4节的规定传送一个带 有序列号的R块。 或 c) 如果未应答的块为S(请求)块,终端必须重新传送S(请求)块。 以上动作必须在未收到应答的块的最后一个字节的起始位下降沿开始的{BWT + (D x 960)} 个etu到{BWT + (D x 4800)}个etu之间完成。如果使用了等待时间扩展,则必须在{BWT + (n x D x 960)}个etu到{BWT + (n x D x 4800)}个etu内完成。 3. 如果终端在接收块的过程中没有收到期望的字符,终端必须: a) 启动下电时序 或 b) 如果未应答的块为I块、R块或S(应答)块,终端必须根据5.2.4.1.4节的规定传送一个带 有序列号的R块。 或 c) 如果未应答的块为S(请求)块,终端必须重新传送S(请求)块。 以上动作必须在最后一个接收到的字符的起始位下降沿开始的(CWT + 4)个etu到(CWT + 39 JR/T 0025.3—2004 4,800)个etu之内完成。 4. 如果在I块的应答中收到了非法块,发送方必须按5.2.4.1.4节的规定传送带有序列号的R块。 5. 如果在R块的应答中收到了非法块,发送方必须重发R块。 6. 如果响应S块(…请求)的S(…响应)块没有收到,发送方必须重发一个S(…请求)块。 7. 如果响应S(…响应)块的应答中收到无效块,发送方必须按5.2.4.1.4节的规定传送带有序列号 的R块。 8. 如果TTL连续发送三个任何块,而没有得到有效的响应,则TTL必须在请求重发的块的最 后一个字节的起始位下降沿开始的{BWT + (D x 14,400)}个etu内启动下电序列。 注:本规范中不要求再同步。如果终端需要支持再同步,它可以通过发送一个S(再同步)块, 相关操作在ISO7816-3中定义。 如果IC卡最多连续发送两次而没有收到有效应答,则它必须保持在接收状态。 9. TTL不能发送S(放弃请求)块。如果TTL从IC卡收到一个S(放弃请求)块,TTL必须在S(放 弃请求)块的最后一个字节的起始位下降沿开始的(D x 9,600)个etu内启动下电时序。 注:本规范不要求交易终止。如果因特殊原因要求IC卡或终端支持交易终止功能,它可以发出一个S(放弃请求)块。但要注意,如接收方不支持终止功能时,它只会收到一个无效的响应,卡片将按照上述规则结束卡片操作过程。如 果终端收到来自IC卡的S(放弃请求)块,且支持终止功能,则它可以回送一个S(放弃响应)块,而不是主动结束卡片操作过程。 9.3 终端传输层(TTL) 本节描述了在终端和IC卡之间传输命令和响应APDU的机制。APDU是命令或响应报文。由于命 令和响应报文都可以包含数据,TTL应能处理在5.4节中定义的命令的四种格式。C-APDU和R-APDU的组成将在5.4.1节和5.4.2节中描述。 TAL向TTL传送C-APDU。在发送到IC卡之前,应将其变换成传输协议认可的形式。IC卡处理完命令后,以R-APDU的格式将数据(如果存在)和状态码回送给TTL。 9.3.1 T=0协议下APDU的传送 本节描述了C-APDU和R-APDU的映射方式,TTL和IC卡之间的数据交换机制以及在命令情况2或4中如何使用取应答命令取回IC卡的数据。 9.3.1.1 C-APDU和R-APDU的映射方式和数据交换 C-APDU到T=0命令头的映射取决于命令情况。将IC卡回送的数据(如果存在)和状态码映射到R-APDU的形式取决于回送数据的长度。 由IC卡回送的过程字节SW1 SW2=?61xx‘和SW1 SW2=?6Cxx‘用来控制IC卡和TTL之间的数据交换,它不会回送给TAL。过程字节SW1 SW2=?61xx‘或SW1 SW2=?6Cxx‘表示命令在IC卡中的处理没有完成。 注:因为某些特殊原因,TTL可能接收除?61‘和?6C‘以外的来自IC卡的其它过程字节。这些功能 不在本规范定义的范围之内。 如果IC卡回送给TTL的状态码是SW1 SW2=?9000‘,则表示正常完成了命令的处理。TTL在接收到任何其它的状态(不包括过程字节?61xx‘和?6Cxx‘)时,都必须中断命令的处理(例如向TAL传送R-APDU,等待来自TAL的C-APDU)。(当是第四种形式的命令时,在向IC卡成功传输命令数据以后, 如果收到警告字节(?62xx‘或?63xx‘)或应用相关的状态字节(?9xxx‘除?9000‘外),则TTL必须继续处理命令。) 以下描述的是将IC卡回送的数据和状态字节映射到R-APDU格式的方法,仅适用于IC卡已成功完成了命令处理或全部数据(如果存在)在过程字节?61xx‘和?6Cxx‘的控制下已被IC卡返回的情况。INS、INS和?60‘过程字节的详细使用在此不作描述。 IC卡返回的状态字和最后一条收到的命令相关;当在情况2或情况4时,一个GET RESPONSE命 40 令用来完成一条命令的处理,ICC卡在接收到GETRESPONSE命令后返回的任何状态字和GET JR/T 0025.3—2004 RESPONSE命令相关,而与它要完成的情况2或情况4的命令无关。 9.3.1.1.1 情况1 C-APDU头映射到T=0命令头的前四个字节,T=0命令头的P3置为?00‘。 交换流程如下: 1. TTL发送T=0的命令头到IC卡; 2. IC卡收到命令头后,无论正常或非正常处理,IC卡都必须向TTL回送状态码。 (IC卡必须分析T=0命令头,判断是在处理情况1命令还是在处理请求最大长度数据的情况2 命令。) 3. 收到来自IC卡的状态字节以后,TTL必须中止该命令的处理。 TTL和IC卡交换的具体细节参见附录A的A1节。 命令处理结束后从IC卡返回到TTL的状态必须原封不动地映射到R-APDU的结尾。 9.3.1.1.2 情况2 C-APDU头映射到T=0命令头的前四个字节,长度字节?Le‘从C-APDU的条件体映射到T=0 命令头的P3。在应用选择中发出的读记录(READ RECORED)命令和按本规范第三册发出的所有情 况2的命令的Le都必须为?00‘。 交换流程如下: 1. TTL发送T=0的命令头到IC卡。 2. IC卡收到命令头以后: a) 正常处理以后必须向TTL返回数据和状态。IC卡必须用状态字节?6Cxx‘(如果需要,亦可 用?61xx‘)控制返回的数据。 或 b) 在非正常处理后仅向TTL返回状态。 3. 接收到来自IC卡的数据(如果存在)和状态之后,TTL必须中止该命令的处理。 TTL和IC卡的交换细节,包括过程字节?61xx‘和?6Cxx‘的使用,请参考附录A的A2节。 命令处理完成后从IC卡返回TTL的数据(如果存在)和状态或IC卡返回的导致TTL终止命令 处理的状态按以下规则与R-APDU映射: 返回的数据(如果存在)映射到R-APDU的条件体。如果没有数据返回,则R-APDU的条件体 留空。 返回的状态原封不动地映射到R-APDU的结尾。 9.3.1.1.3 情况3 C-APDU头映射到T=0命令头的前四个字节,C-APDU条件体的长度字节?Lc‘映射到T=0命令头的P3。 交换流程如下: 1. TTL发送T=0的命令头到IC卡。 2. 收到命令头后,如果IC卡: a) 回送一个过程字节,则TTL必须在此过程字节的控制下向IC卡发送C-APDU条件体的部 分数据。 或 b) 如果IC卡回送状态码,TTL必须中止命令处理过程。 3. 如果处理过程没有在步骤2(b)中断,则IC卡必须在接收到C-APDU的条件体之后返回命令处 理结束后的状态。 41 JR/T 0025.3—2004 4. 收到来自IC卡的状态码之后,TTL必须中止该命令的执行。 TTL和IC卡之间的交换细节,请参见附录A的A3节。 IC卡处理命令结束后返回到TTL的状态或导致TTL终止命令执行的状态原封不动地映射到 R-APDU。 9.3.1.1.4 情况4 C-APDU头映射到T=0命令头的前四个字节,C-APDU条件体的长度字节?Lc‘映射到T=0命令头的P3。应用选择中发出的选择(SELECT)命令和本规范第三册规定的所有情况4命令的Le都必须为?00‘。 交换流程如下: 1. TTL发送T=0命令头到IC卡。 2. 接收到命令头以后,IC卡必须: a) 返回一个状态字节,TTL必须在此状态字节的控制下向IC卡发送C-APDU条件体的数据 部分。 或 b) 如果IC卡回送状态码,TTL将中止命令处理过程。 3. 如果处理过程在步骤2中没有中止,IC卡在接收到C-APDU的条件体之后必须:a) 在正常处 理下,回送过程字节?61xx‘给TTL,请求TTL发出取应答(GET RESPONSE)命令从IC卡取回 数据。 或 b)在非正常处理下,只向TTL返回状态。 4. 收到第3步返回的过程字节或状态后,如果IC卡: a) 返回3(a)中的?61xx‘过程字节,TTL必须向IC卡发送P3小于或等于过程字节?61xx‘中的 ?xx‘的取应答(GET RESPONSE)命令头 或 b) 返回3(b)中的警告状态(?62xx‘或?63xx‘)或应用相关的警告状态(?9xxx‘但不包括?9000‘), TTL必须发送Le=?00‘的取应答(GET RESPONSE)命令。 或 c) 返回3(b)中出现的但未在4(b)中描述的状态,TTL必须中止命令的处理。 5. 如果4(c)中没有中止处理,则必须按照5.3.1.1.2节情况2的描述处理取应答命令。 TTL和IC卡的交换细节包括过程字节?61xx‘和?6Cxx‘的使用,请参考附录A的A4。 IC卡完成命令处理之后返回TTL的数据(如果存在)和状态或IC卡返回的导致TTL中止命令 执行的状态,按以下规则与R-APDU映射: 返回的数据(如果存在)映射到R-APDU的条件体。如果无返回数据,则R-APDU的条件体留 空。 整个情况4的命令处理过程中返回的第一个状态,包括可能使用到的取应答命令,原封不动地 映射到R-APDU的结尾。 9.3.1.2 过程字节‘61xx’和‘6Cxx’的使用 由IC卡回送到TTL的过程字节?61xx‘和?6Cxx‘指明了TTL取回当前正在处理的 命令请求数据的方式。在T=0协议下,这些过程字节仅仅用在命令情况2和4中。 过程字节?61xx‘通知TTL发出取应答(GET RESPONSE)命令到IC卡。取应答命令头的P3置为? ?xx‘。 过程字节?6Cxx‘通知TTL立即重发上一条命令,同时命令头置为P3=?xx‘。 命令情况2和4在无错处理过程中使用过程字节的规定如下。发生错误时,IC卡回送错误或警告状态码而不是?61xx‘或?6Cxx‘。 42 JR/T 0025.3—2004 9.3.1.2.1 情况2命令 1. 如果IC卡收到一个情况2的命令头并且Le=?00‘或Le>Licc,则它必须返回 a) 过程字节?6C Licc‘,要求TTL以P3=Licc立即重发命令头 或 b) 表明警告或错误条件(除SW1 SW2 = ?9000‘)的状态。 注:如果Le=?00‘且IC卡需要返回256个字节,则它必须按以下Le=Licc的规则处理。 2. 如果IC卡收到情况2的命令头并且Le=Licc,它必须 a) 在INS、或?60‘及相关过程字节的控制下返回长度为Le(=Licc)的数据 INS 或 b) 返回状态字节?61xx‘,要求TTL发出最大长度为?xx‘的取应答命令。 或 c) 返回表明警告或错误条件的状态(SW1 SW2 = ?9000‘除外)。 3. 如果IC卡收到情况2的命令头并且Le < Licc,它必须 a) 返回过程字节?61xx‘, 要求TTL发送最大长度为?xx‘的取应答命令,然后在INS、INS或 ?60‘的控制下返回长度为Le(=Licc)的数据, 或 b) 返回过程字节?6C Licc‘要求TTL以P3=Licc立即重发命令头 或 c) 返回表明警告或错误条件的状态(SW1 SW2 = ?9000‘除外) 3(b)不是IC卡对取应答命令的合法应答。 9.3.1.2.2 情况4命令 如果IC卡收到一个情况4的命令,处理完随C-APDU一同发送来的数据之后,它必须 a) 返回过程字节?61xx‘,通知TTL按最大长度?xx‘发出取应答命令。 或 b) 返回表明警告或错误情况的状态码(SW1 SW2=?9000‘除外)。 此时发出的取应答命令的处理方法参见5.3.1.2.1节对情况2命令中的描述。 9.3.1.3 取应答(GET RESPONSE)命令 TTL发出取应答命令,是为了从IC卡取得对应于情况2和4的命令的数据。取应答仅适用于T=0 协议类型。 命令报文的结构如表30: 表 30 命令报文结构 CLA ?00‘ INS ?C0‘ P1 ?00‘ P2 ?00‘ 预期数据的最大长度 Le 正常处理结束后,IC卡回送状态码SW1 SW2=?9000‘和Licc字节的数据。 在错误情况发生时,错误状态码(SW1 SW2)的编码见表31: 表 31 取应答错误响应 43 JR/T 0025.3—2004 含义 SW1 SW2 返回的部分数据可能已破坏 ?62‘ ?81‘ 长度域错误 ?67‘ ?00‘ ?6A‘ ?86‘ P1 P2??00‘ 无准确诊断 ?6F‘ ?00‘ 9.3.2 T=1协议下APDU的传送 C-APDU从TAL传送到TTL,TTL将其不加变化地映射到C-APDU的一个I块的INF域中,然后把这个I块发送到IC卡。 IC卡在I块的INF域中向TTL回送响应数据(如果存在)和状态码。如果IC卡返回表明正常处理(?61xx‘)、一个警告(?62xx‘或?63xx‘),与应用相关(?9xxx‘)或?9000‘状态码,则它必须同时返回与命令处 理相关的数据(如果有)。其它状态下不能返回数据。块的INF域的内容原封不动地映射到R-APDU,然后返回给TAL。 如果终端发送的APDU中Le=0,而命令执行后ICC返回状态码为“0x9000”或者“0x61La”时,则都认为该命令得到成功执行,且状态码均为“0x9000”。 注:如果有必要,C-APDU和响应数据/状态码可以分成多个数据块的INF域的链接。 9.4 应用层 应用协议由TAL和TTL之间一组有序的数据交换组成,本节的后续部分定义了应用协议。 应用层交换的每一步由命令-响应对组成,其中TAL通过TTL给IC卡发送命令,IC卡处理该命令后通过TTL返回一个响应给TAL。每一个特定的命令都与一个特定的响应相匹配。一个APDU就是一个命令报文或一个响应报文。 命令报文和响应报文都可以包含数据,传输协议通过TTL来管理四种命令情况的情况,见表32所示: 表 32 APDU中数据存在的情况 情况 命令数据 响应数据 无 无 1 无 有 2 有 无 3 有 有 4 注:由于安全报文传送总有数据(至少是MAC)要送往IC卡,因此仅适用于命令情况3和4的情况。当使用安全报文传送时,情况1的命令就变为情况3,情况2的命令就变为情况4。 9.4.1 C-APDU C-APDU包含一个必备的连续四字节的命令头,用CLA、INS、P1和P2表示,同时包括一个可变长度的条件体。 命令头定义如下: , CLA:指令类型;除?FF‘外可赋任何值。 , INS:指令类型的指令码。只有在低半字节为0,且高半字节既不是?6‘也不是?9‘时,INS才有 效。 , P1 P2:完成INS的参数字节。 44 注:每一个命令头的完整定义将在本规范第7章中描述。 JR/T 0025.3—2004 条件体包括如下定义的字节串: , Lc占一个字节,定义了在C-APDU中发送数据的字节数。Lc的取值范围从1到255。 , 在C-APDU中将要发送的数据,字节数由Lc定义。 , Le占一个字节,指出R-APDU中期望返回的最大字节数。Le的取值范围从0到255;如果 Le=0,则期望返回数据的字节数的最大长度是256。 注:每个命令的条件体数据域的完整定义将在本规范的第7章中描述。 可能的C-APDU结构的四种情况见表33: 表 33 C-APDU的情况 情况 结 构 1 CLA INS P1 P2 2 CLA INS P1 P2 Le 3 CLA INS P1 P2 Lc Data 4 CLA INS P1 P2 Lc Data Le 9.4.2 R-APDU R-APDU是一串字节,这一串字节由一个条件体以及必备的两字节状态码SW1 SW2组成。 条件体是一串数据字节,其最大长度在C-APDU中的Le中定义。 必备的状态码表明IC卡在处理完命令后的状态。 SW1 SW2的编码在本规范第7章规定。 10 文件 IC卡中的每个应用都包括一系列信息项(通常以文件形式存在),终端成功地完成应用选择后就可以访问这些信息。 一个信息项称为一个数据元,数据元是信息的最小单位,它是可以用名称、逻辑内容描述、格式及 代码来标识的最小信息单元。 由发卡行保证数据项在卡片中存储格式的正确性。但是,如果终端在常规处理的过程中发现数据格 式不正确(例如,结构数据对象的解析有误),则必须终止卡片操作过程。 附录B中表B-1定义了可能在应用选择中使用到的数据元。未在附录B表B-1中定义的用于应用选择的数据元不在本规范的范围之内。 10.1 文件结构 本规范中的文件组织结构来自且符合GB/T 16649.4的基本组织结构。 本部分描述了符合本规范的应用文件结构。 从终端的角度来看,IC卡上的文件是一种树形结构。树的每一个分支是一个应用数据文件(ADF)或 一个目录定义文件(DDF)。一个ADF是一个或者多个应用基本文件(AEF)的入口点。一个ADF及其相关的数据文件处于树的同一分支上。一个DDF是其他ADF或者DDF的入口点。 10.1.1 应用数据文件(ADF) ADF的树形结构: , 能够将数据文件与应用联系起来; , 确保应用之间的独立性; 45 JR/T 0025.3—2004 , 可以通过应用选择实现对其逻辑结构的访问。 从终端的角度看,ADF是一个只包含封装在其文件控制信息(FCI)中的数据对象的文件,参见表40。 10.1.2 应用基本文件(AEF) AEF所使用的结构是应用相关的。本规范第三册中描述了针对EMV借记/贷记应用的文件结构。 10.1.3 文件到GB/T 16649.4的文件结构的映射 使用下列到GB/T 16649.4的映射: , 一个GB/T 16649.4定义的专用文件(DF)映射为一个ADF或一个DDF。可以通过它来访问基 本文件和DF。在卡片中处于最高层的DF称为主文件(MF)。 , GB/T 16649.4定义的一个基本文件(EF) 对应一个AEF。EF永远不会成为另一个文件的入 口点。 在本规范中,如果嵌入了DF,对与之相连的EF的访问是透明的。 10.1.4 目录结构 当存在8.2.2节中描述的支付系统环境(PSE)时,IC卡必须为PSE中发卡行希望通过目录选择的应用 列表提供一个目录结构。在这种情况下,目录结构由一个支付系统目录文件(DIR文件)和符合本章中描述的目录定义文件(DDF)结构的可选附加目录组成。 目录结构允许以应用标识符(AID)检索一个应用,或以AID的前n个字节作为DDF名检索一组应用。 在选择PSE的响应报文中必须有DIR文件存在的编码(参见选择(SELECT)命令)。 根据ISO/IEC7816-5的定义,DIR文件是一个AEF(亦即EF)和含下列数据对象的记录结构: , 本规范第8章描述的一个或多个应用模板(标签为?61‘)。 , 可能在目录自定义模板(标签为?73‘)中出现的其他数据对象,此模板中包含的数据对象不 在本规范的范围内定义。 IC卡中的目录是可选的,但对可能存在的目录数目没有限制。其中每个目录的位置由每个DDF中的FCI的目录SFI数据对象指定。 10.2 文件引用 根据其类型,文件可以通过文件名或SFI引用。 10.2.1 通过文件名引用 卡片中的任何ADF或DDF都可以通过其DF名引用。ADF的DF名与其AID对应或包含AID作为DF的开始字符。在一张给定的卡片内,每个DF名必须唯一。 10.2.2 通过短文件标识符(SFI)引用 SFI用于选择AEF。在给定应用中的任何AEF都可以通过SFI(5位编码,取值范围从1到30)引用。SFI的编码在每一个用到它的命令中进行描述。在一个应用中SFI必须是唯一的。 46 JR/T 0025.3—2004 11 命令 11.1 报文结构 报文根据ATR所选择的传输协议(参见本规范第一部分)在终端和卡片之间传输。终端和卡片必须按 第I部分的定义实现物理层、数据链路层和传输层。 为了运行一个应用,在终端上还要实现一个附加的应用协议层。它包括向卡片发送命令、卡片内处 理命令和返回IC卡处理应答等步骤。本部分和本规范后续部分定义的所有命令和应答都定义在应用层。 应用层发出的命令报文和卡片回送到应用层的应答报文统称为应用协议数据单元(APDU)。应答是和命令相对应的,通常被称为APDU命令-应答对。在一个APDU命令-应答对中,命令报文或应答报文 都可能包含数据。 本章描述了在应用选择功能中所必需的APDU命令-应答对的结构,这些结构是本规范第一卷所定 义的应用层所必需的。其它所有的命令由特定的应用来实现,但是也应该遵循此处定义的APDU结构(格式)。 11.1.1 命令APDU格式 命令APDU由一个4字节长的必备头后跟一个变长的条件体组成,见图13: CLA INS P1 P2 Lc Data Le 必备头 条件体 ? ? ? ? 图 13 命令 APDU 结构 命令APDU中发送的数据长度用Lc(命令数据域的长度)表示。 应答APDU中期望返回的数据字节数用Le(期望数据长度)表示。当Le存在且值为0时,表示要求可能的最大字节数(?256)。在应用选择中所给出的读记录(READ RECORD)命令、选择(SELECT)命令以及本规范第三册中所给出的所有情况2和第情况4命令中,Le应该等于?00‘。 命令APDU报文的内容见表34: 表 34 命令 APDU 内容 代码 描述 长度 命令类别 CLA 1 指令代码 INS 1 指令参数1 P1 1 指令参数2 P2 1 命令数据域中存在的字节数 0或1 Lc 命令发送的数据位串(=Lc) 变长 Data 应答数据域中期望的最大数据字节数 0或1 Le 命令APDU结构的不同类别在本规范第I部分中描述。 11.1.2 应答APDU格式 应答APDU格式由一个变长的条件体和后随两字节长的必备尾组成,见图14: Data SW1 SW2 条件体 必备尾 ? ? ? ? 47 JR/T 0025.3—2004 图 14 应答 APDU 结构 当使用T=1协议时,对于所有Le=’00’的命令, 状态码SW1 SW2 = ’90 00’ 或 ’61 La’ 均 表示命令的成功执行。但由于可读性的需要,在整篇文章中这两种应答码只用了’90 00’作为参 考。 应答APDU中接收到的数据字节数用Lr(应答数据域长度)表示。Lr不通过传输层返回,应用层在需要时可以依靠应答报文数据域对象结构计算出Lr。 应答结尾的2个字节代码是命令的处理状态,它们通过传输层回送。 应答APDU的内容见表35: 表 35 应答 APDU 内容 代码 描述 长度 应答中接收的数据位串 变长(=Lr) Data 命令处理状态 SW1 1 命令处理限定 SW2 1 11.1.3 命令-应答APDU约定 在一个APDU命令-应答对中,命令报文和应答报文都可能包含数据,4类命令的数据包含情况见表36: 表 36 命令-应答对APDU 的数据 类别 命令数据 应答数据 不存在 不存在 1 不存在 存在 2 存在 不存在 3 存在 存在 4 这4类命令使用本规范第I部分所描述的传输协议进行处理。 11.2 读记录(READ RECORD)命令-响应APDU 11.2.1 定义和范围 读记录命令用于读取线性文件中的记录。 IC卡的应答由回送记录组成。 11.2.2 命令报文 读记录命令报文编码见表37: 表 37 读记录命令报文 代码 值 CLA ?00‘ INS ?B2‘ 记录号 P1 引用控制参数(见表34) P2 不存在 Lc 48 JR/T 0025.3—2004 不存在 Data Le ?00‘ 表38定义了命令报文的引用控制参数。 表 38 读记录命令引用控制参数 含义 b8 b7 b6 b5 b4 B3 b2 b1 X X X X X SF1 P1为记录号 1 0 0 11.2.3 命令报文数据域 命令报文数据域不存在。 11.2.4 应答报文数据域 执行成功的读记录命令的应答报文数据域由读取的记录组成。在应用选择过程中读取的记录是目录 记录(格式由8.2.3节定义)。应用处理中读取的记录格式与应用有关。 11.2.5 应答报文状态码 此命令执行成功的状态码是?9000‘。 11.3 选择(SELECT)命令-响应APDU 11.3.1 定义和范围 选择命令通过文件名或AID来选择IC卡中的PSE、DDF或ADF。应用选择在本规范的第8章中描述。 成功执行该命令设定PSE、DDF或ADF的路径。后续命令作用于与用SFI选定的PSE、DDF或ADF 相联系的AEF。 从IC卡返回的应答报文包含回送FCI。 11.3.2 命令报文 选择命令报文编码见表39: 表 39 SELECT命令报文 代码 值 CLA ?00‘ INS ?A4‘ 引用控制参数(见表36) P1 选择选项(见表37) P2 Lc ?05‘ - ?10‘ 文件名 Data Le ?00‘ 表40定义了选择(SELECT)命令报文的引用控制参数: 表 40 SELECT命令引用控制参数 含义 b8 b7 b6 b5 b4 b3 b2 b1 0 0 0 0 0 49 JR/T 0025.3—2004 通过名称选择 1 0 0 表41定义了选择(SELECT)命令报文的选择选项P2: 表 41 选择(SELECT)命令的可选参数 含义 b8 b7 b6 b5 b4 b3 b2 b1 第一个有或仅有一个 0 0 下一个 1 0 11.3.3 命令报文数据域 命令报文数据域应包括所选择的PSE名、DF名或AID。 11.3.4 应答报文数据域 应答报文中数据域应包括所选择的PSE、DDF或ADF的FCI。表38、表39和表40定义了本规范所应用的标识。在选择命令的应答报文回送的FCI模板中,除了‘BF0C‘ 模板中包含的数据元之外,不应 有附加数据元素。 表42定义了成功选择PSE后回送的FCI: 表 42 选择PSE的应答报文 (FCI) 标识 值 存在性 FCI模板 ?6F‘ M DF名 ?84‘ M FCI数据专用模板 ?A5‘ M 目录基本文件的SFI ?88‘ M 语言选择 ?5F2D‘ O 发卡行代码表索引 ?9F11‘ O 发卡行自定义数据(FCI) ?BF0C‘ O 来自从应用提供商、发卡行或IC卡供应商、?XXXX‘ (根据第3册附录或EMV规范定义的专属于‘BF0C‘标签的1个 O B建立的标签) 或多个附加(专用)数据元。 表43定义了成功选择DDF后回送的FCI: 表 43 选择DDF的应答报文 (FCI) 标签 值 存在性 FCI模板 ?6F‘ M DF名 ?84‘ M FCI数据专用模板 ?A5‘ M 目录基本文件的SFI ?88‘ M 发卡行自定义数据(FCI) ?BF0C‘ O 50 JR/T 0025.3—2004 来自从应用提供商、发卡行或IC卡供应商、或?XXXX‘ (根据第3册附录BEMV规范定义的专属于‘BF0C‘标签的1个或多个 O 建立标识符) 附加(专用)数据元。 表44定义了成功选择ADF后回送的FCI: 表 44 选择ADF的应答报文 (FCI) 标签 值 存在性 FCI模板 ?6F‘ M DF名 ?84‘ M FCI数据专用模板 ?A5‘ M 应用标签 ?50‘ O 应用优先指示符 ?87‘ O ?9F38‘ PDOL O 首选语言 ?5F2D‘ O 发卡行代码表索引 ?9F11‘ O 应用优先名称 ?9F12‘ O 发卡行自定义数据(FCI) ?BF0C‘ O 来自从应用提供商、发卡行或IC卡供?XXXX‘ 应商借记贷记规范v2.0-应用无关部(根据第3册附录B建立 O 分:7.3.4 表42的1个或多个附加(专的标识符) 用)数据元。 注意:对于多应用卡片,强烈建议在响应报文中包含“应用标签”数据元,使得在终端用“AID列表”方法进行应用选择时,能方便持卡人选择/确认应用。 11.3.5 应答报文状态码 此命令执行成功的状态码是?9000‘。 IC卡是否支持使用部分DF名进行DF文件选择不作强制规定。但是,如果IC卡支持部分名称选择, 那么它应该遵守下列规则: 当一个DF成功选中后,终端重复发出选择(SELECT)命令,且P2设置为选择下一个文件的选项(参见表37)及使用相同的部分DF名时,卡片应该选中与部分DF名称匹配的不同的DF文件(如果这样的DF存在)。在没有应用层命令干扰的情况下重复发出相同的选择(SELECT)命令,卡片应该可以找到所有满足 条件的DF文件,且每个文件不会被找到两次。当所有满足条件的DF都被选择后,再发出同样的选择 (SELECT)命令,应该得到没有文件被选择的结果,卡片应该响应SW1SW2=?6A82‘(文件未找到)。 51 JR/T 0025.3—2004 12 应用选择 12.1 应用选择概述 应用选择是触点激活/卡片复位之后、在第一个应用功能之前执行的处理过程。如果紧接在EMV卡片操作之前或之后执行了专有的处理操作(包括任何专有的应用选择方式),那么不需要在两个 操作之间拔出/重新插入卡片。如果专有的处理操作发生在EMV卡片操作之前,卡片触点需在开始 EMV卡片操作前释放。 本章从卡片和终端两个角度描述了应用选择的过程。首先描述了该过程所需要的卡片上的数据和文 件的逻辑结构,之后描述了处理这种卡片结构的终端逻辑。 IC卡和终端可以支持应用隐含选择,但由于在交互环境中并不有用,,所以不推荐IC卡和终端使用ISO7816中定义的隐含选择。如果使用了隐含选择,它应该在EMV卡片操作过程(在6.1.1节中定义)之外执行。 终端按本章所描述的应用选择过程,根据这里所定义的协议使用IC卡上的数据来决定选择哪个终端 程序和IC卡应用进行交易,其过程分为两个步骤: 1. 建立终端支持的IC卡应用列表(这个列表在下面使用名称―候选列表‖指代)。这个过程在8.3节中 描述。 2. 在步骤1生成的候选列表中选择一个将要运行的应用。这个过程在8.3.4节中描述。 本章描述了为完成正确的应用选择所需的卡上的信息以及两个终端选择算法。其它能够实现同样结 果的终端选择算法也可用来代替本章描述的算法。 一个支付系统应用应该包括以下内容: , IC卡上一组已由发卡行定制的数据文件。 , 终端上由收单行或商户提供的的数据。 , 一套卡片和终端共同遵守的应用协议。 所有应用都唯一地由一个应用标识符(AID)标识。应用标识符格式符合GB/T 16649.5(参见8.2.1节)的有关规定。 这里描述的支付系统所采用的技术在设计上应能满足下列主要目标: , 在很大范围上能支持具有各种不同功能的IC卡。 , 在很大范围上具有各种不同功能的终端,能根据本规范支持所有包含支付系统应用的IC卡。 , 符合ISO标准。 , IC卡支持多个应用,但不要求所有的应用都是支付系统应用。 , IC卡能够提供被单个终端程序支持的多组应用(例如:一张卡可以包含多个借记/贷记应用,每 个应用代表了不同的服务类型、服务级别或不同帐户)。 , 尽可能使符合本规范的应用能够与卡上现有应用共存。 , 最小的存储和处理开销。 , 具有允许发卡行优化选择过程的能力。 IC卡上包含的支持给定应用的数据,由终端使用选择(SELECT)命令选择出的ADF和IC卡响应取处理选项命令(GET PROCESSING OPTIONS)而返回的AFL所定义。 52 JR/T 0025.3—2004 12.2 用于应用选择的IC卡数据 12.2.1 支付系统应用标识符编码 应用标识符(AID)的结构符合GB/T 16649.5,包括两个部分: 1. 注册应用提供商标识符(RID)(长度为5字节),唯一地标识应用提供商,并根据GB/T 16649.5分 配。 2. 最长为11字节的可选域,由应用提供商定义。这个域被称为―专有应用标识符扩展码(PIX)‖, 可包含应用提供商定义的长度为0到11字节的值。该域的含义只对应于特定的RID,不同RID 下的PIX不需要唯一。 IC卡上允许存在其它应用提供商的应用数据文件(ADF),但是其RID的定义应该避免与分配给支付 系统的RID的范围发生重复。可遵照GB/T 16649.5的规定定义RID,以确保其编码不发生冲突。 12.2.2 支付系统环境结构 在IC卡上,支付系统环境起始于一个名为―1PAY.SYS.DDF01‖的目录定义文件(DDF)。该DDF在IC卡上是否存在是可选的,但如果存在,则应遵守本规范的相关规定。如果这个DDF存在,那么这个DDF被映射到卡中的某个DF,这个DF可以是MF,也可以不是。和所有的DDF一样,该DDF也应该包含一个支付系统目录。该DDF的文件控制信息(FCI)中至少要包含第7章中对所有DDF定义的信息,另外,还可 以包括语言选择(标识?5F2D‘)和发卡行代码表索引(标识?9F11‘)。 首选语言和发卡行代码表索引是可选的数据项,可以在两个位置出现:PSE的FCI中和ADF文件的FCI中。 如果这些数据项中的任一个出现在一个位置而不是另一个,那么终端应使用出现的这个数 7据元。如果它们在这两个位置都出现,但值不同,终端可以使用两个位置中任一处的值。 初始DDF所附带的目录包含了ADF的入口地址。尽管这些ADF定义的应用既可以符合也可以不符合 本规范,但其入口地址格式是符合本规范定义的。该目录也可以包含其它支付系统DDF的入口地址。同 样,这些入口地址也必须符合本规范。 不要求该目录包含卡上所有的DDF和ADF的入口地址,也不要求沿着DDF的链接一定能够找到卡片 支持的全部应用。当然,如果PSE存在,只有从初始目录开始,沿着DDF的链接能够找到的应用,才具 备国际互通性。 包含PSE的IC卡的内部逻辑结构的举例,参考附录C。 12.2.3 支付系统目录编码 支付系统目录(以下简称目录)是一个线性EF文件,用1到10的短文件标识符(SFI)标识。该目录附属 于DDF,目录的SFI包含在DDF的文件控制信息中。目录可以使用本规范第7章中所定义的读记录(READ RECORD)命令进行读取。一个记录可以包含几个入口地址,但一个入口地址只能封装在一个记录中。 支付系统目录中的每一个记录都是一个结构数据对象,其值由如下所示的一个或多个目录的入口组 成。 每个记录的格式参见表45: 表 45 PSE 目录记录格式 标签 数据域长标识符 目录入口1目录入口1 标识符 目录入口n 目录入口n …… 7当终端使用8.3.2节中所描述的过程建立候选列表时,在所要运行的应用被选中之前,终端只看到PSE的FCI指明的值,而看不到ADF的FCI指出的值;当终端使用8.3.3节中所描述的过程建立候选列表时,能够看到ADF的FCI指明的值。为了确保在对持卡人的界面中保持一致,这些值必须相同。 53 JR/T 0025.3—2004 度 长度 (ADF或 长度 (ADF或?70‘ ?61‘ ?61‘ (L) DDF) DDF) 支付系统目录中的每一个入口都是一个应用模板(标签?61‘),它包含表42或表43所示的信息。除了在模板‘73’中包含的数据元,任何附加数据元都不能在支付系统目录记录(标签‘70’)中出现。由于终端不支持任何发卡行特定操作而未预期的或不能解释的,在支付系统目录记录中出现的模板 ‘61’或‘73’数据元,都应该被忽略。 任何没有封装在目录记录的应用模板(标签?61‘)当中的数据对象或其它在目录入口中出现但是没有 在表46或表47中列出的数据对象都应该被忽略。 表 46 DDF目录入口格式 标签 长度 值 存在方式 DDF名称 ?9D‘ 5-16 M 8变长 目录自定义模板 ?73‘ O ?XXXX‘ 应用提供商、发卡行或IC卡供应商、或EMV定义的专属(根据第3册附录B变长 O 于模板‘73‘的标签增加的1个或多个附加(专用)数据元。 建立的标识符) 表 47 ADF目录入口格式 标签 长度 值 存在方式 ADF名称(AID) ?4F‘ 5-16 M 应用标签 ?50‘ 1-16 M 应用优先名称 ?9F12‘ 1-16 O 应用优先权标识符 ?87‘ 1 O 8变长 目录自定义模板 ?73‘ O 应用提供商、发行商或IC卡供应商、或EMV定义的专?XXXX‘ (根据第3卷附录B变长 属于模板‘73‘的标签增加的1个或多个附加(专用)数据 O 建立的标识符) 元。 表 48 应用优先权标识符格式 定义 B8 b7-b5 b4-b1 需要持卡人确认方可选择应用 1 不需持卡人确认即可选择应用 0 保留 x x x 未指定优先权 0 0 0 0 8其它与本规范无关的数据对象也可以用来构造此数据对象。 54 JR/T 0025.3—2004 x x x x 应用的排列或选择顺序,从1-15,其中最高优先权为1 (0 0 0 0 除外) 12.2.4 其它目录的编码 IC卡上的每个目录都由一个单独的DDF所包含。卡上的DDF和目录是可选的,而且对它们的存在数 目没有明确限制。每个目录都由一个目录SFI数据对象来定位,这个SFI必须包含在DDF的FCI中(参见7.3节关于选择(SELECT)命令的描述)。目录SFI的低5位包含了读记录(READ RECORD)命令读取目录所需的SFI。当包含该目录的DDF为当前选定的文件时,SFI可用来读取这个目录。 如8.2.3节所示,包括初始目录在内的所有目录都使用相同的格式。 12.2.5 FCI 响应数据错误处理 应用标签,应用优先名称,发卡行代码表索引和首选语言这些数据元是为了持卡人的方便而给 出的,不是应用选择成功处理的关键数据元。如果在FCI中给出了这些数据元,发卡行将负责它们 的正确编码。 终端无需支持这些数据元的正确格式。如果应用优先名称或应用标签中包含了某一无效的格式 定义的字符,那么如果终端能显示出这个字符,终端应显示这个字符,如果终端不能显示这个无效 字符,终端应忽略该字符或以空格或其它相近字符代替。另外,如果终端检测到这些数据元中任意 一个数据元的格式错误,终端应忽略这些错误,就如卡片应答中未包含这些数据元一样。更重要的 是,终端不应终止卡片操作,而应继续进行应用选择。 如果终端不能识别‘发卡行代码表索引‘或‘首选语言‘的代码,它应将该数据元视为不存在。 12.3 建立候选列表 终端应该维护一个终端所支持的应用及其所对应的应用标识符(AID)列表。本节描述了两种应用选 择过程。如果卡内不存在PSE,则应遵循8.3.3节所描述的过程。 需要注意的是终端可以通过本节没有描述的其它方式来确定或者排除IC卡上的专有应用。当然这些 方式的前提是IC卡上所有的通用应用都可以使用这里所描述的技术来确定其位置。 12.3.1 终端应用与IC卡应用的匹配 终端是通过比较IC卡和其本身的应用AID来确定IC卡上的哪些应用是可用的。 在某些情况下,终端只有在IC卡上的AID和其本身的AID的长度和值都相同的时才支持此IC卡应 用。这种情况限制了IC卡上至多只有一个匹配的ADF。 在另一些情况下,终端支持IC卡上AID的开始部分与完整的终端AID相同的应用。这允许IC卡可以 通过给对应的AID增加唯一的信息而使多个ADF与终端应用匹配。如果卡上只有一个ADF与终端AID匹 配,那么就用这个为终端所知的AID来标识此ADF。如果IC卡有多个被终端AID所支持的ADF,那么IC 卡必须满足以下要求: , IC卡必须支持本规范第7章所描述的部分名称选择(参见选择(SELECT)命令)。 , IC卡上所有匹配的AID必须在专有应用标识符扩展码(PIX)中加入唯一的数据标识来区别。IC 卡AID中应该没有一个和终端的AID的长度相同。 对于终端所支持的应用列表中的每一个AID,终端都应有标志表明将使用哪个匹配规则。 12.3.2 使用支付系统目录 如果终端选择支持使用支付系统目录方法进行应用选择,它应该遵循本节所描述的过程来确定卡所 支持的应用。图15是如下逻辑描述的流程图。 下面是终端使用目录方法的步骤: 55 JR/T 0025.3—2004 1. 终端通过使用选择(SELECT)命令(参见第7章)来选择文件名为?1PAY.SYS.DDF01‘的支付系 统环境而开始,由此建立支付系统环境并进入初始目录。 如果卡被锁定或者选择(SELECT)命令不支持(这两种情况都会回送状态码SW1 SW2 = ?6A81‘),终端必须中断选择过程。 如果IC卡上没有PSE,那么IC卡应该对PSE的选择(SELECT)命令回送状态码?6A82‘ (文件 没有找到)。在这种情况下,终端必须使用8.3.3节所描述的使用应用列表的方式。 如果PSE被锁定,IC卡应该回送状态码?6283‘。在这种情况下,终端应该使用8.3.3节所描 述的使用应用列表的方式。 如果IC卡回送状态码SW1 SW2 = ?9000‘,终端则转入步骤2。 如果卡回送其他状态码SW1 SW2,终端应该使用8.3.3节所描述的使用应用列表的方式。 如果在步骤2到步骤5中出现任何错误(包括SW1 SW2 ?‘90 00‘, ‘6A 83‘),终端应清除候 选列表并使用12.3.3节描述的应用列表方式重新进行应用选择,以寻找匹配的应用。 2. 终端使用卡片返回的FCI中的目录SFI,从目录的第1条记录开始,连续读取后续记录,直到 卡回送状态码SW1 SW2 = ?6A83‘,表示所请求的记录序号已不存在 (如果读记录(READ RECORD)命令中记录号大于文件的最后一条记录号时,卡应该回送状态码?6A83‘) 。如果在 执行读记录(READ RECORD)命令查找第1个记录时,卡回送状态码?6A83‘,则表示目录入口 为空,转到下面的步骤6。 对于目录中的每一条记录,终端从第一个目录入口地址开始顺序执行步骤3到步骤5所描述的过程。如果记录中不包含目录入口,终端应处理下一个目录记录。 3. 如果该入口对应某一ADF,且ADF名与终端支持的一个应用相匹配(如8.3.1节定义),则在应 用选择标识(ASI)(保存在终端中,与该AID对应)的控制下将该应用列入最终应用选择 的―候选列表‖中。 应用选择标识表明终端的应用标识符需要完整匹配(长度和值都相同)还是只需要部分 匹配卡片中相关的ADF名(标签为‘4F’)。 在下面任一种情况下,该应用将被选入候选列表: , 获得的AID入口是完整匹配,或者 , 对应终端中该AID的应用选择标识符表明允许部分名称匹配。 如果得到的ADF入口不是完整匹配,并且终端AID的应用选择标识表明需要完整匹配时, 应用不能被加入候选列表。 4. 如果该入口对应一个DDF,则终端将中断当前的目录记录处理过程,在堆栈中设置中断恢 复信息,使用该DDF的名称选择该DDF。新的目录将使用步骤2到步骤5的过程进行读出和 处理,完成新的目录处理后,终端将回到前一个被中断的目录处理的位置继续处理下一个入 口。 5. 当终端处理完成第一个目录(PSE)中最后一个记录中的所有入口后,所有能够按此方法找到 的ADF就确定了,查找和产生候选列表的工作完成。如果发现了至少一个匹配的AID,终端 将继续处理8.3.4节所描述的处理过程。 6. 如果步骤1到步骤5中没有发现与终端支持的应用所匹配的目录入口,终端应该使用8.3.3节所 描述的使用应用列表的方式来寻找匹配的应用。 56 JR/T 0025.3—2004 开始如果卡和中断支持7816-4所定义 应用选择的绝对选择,则优先执行本步骤 终端支持PSE? 是否 选择DF名= '1PAY.SYS.DDF01' 参见下一章的中断是卡已锁定?“使用AID列表”过程 否 结束,转到找到PSE?否最终选择 是 是 PSE已锁定? 否 否清空 候选列表 从FCI中得到 目录SFI 设定读取记录号为1 读取目录记录 堆栈中有目录候选列表中记录找到?否否入口地址?有入口地址? 是是是 记录中包含从堆栈中得到上一候选列表建立完入口地址?个目录的入口地址成,可从列表进行 选择应用是否 中断当前目录,在从记录中得到恢复处理 堆栈中置恢复信息第一个入口地址上一个目录 否 从入口地址得到DDF是一个ADF的在这个记录中有 名称入口地址?其它入口地址? 是否读取记录号加1 是终端支持得到下一个选择新的DDF的应用?入口地址 是图 15 使用目录方法的终端逻辑 加入候选列表 57 JR/T 0025.3—2004 12.3.3 使用AID列表 如果卡片或终端有一方不支持PSE方法或者终端使用PSE目录没有找到匹配的应用,那么终端应使 用它所支持的应用列表的方法建立候选列表。图16是如下逻辑描述的流程图。 终端执行以下步骤: 91. 终端使用其列表中的第一个AID作为文件名发出选择(SELECT)命令。 2. 如果卡被锁定或者选择(SELECT)命令不支持导致选择(SELECT)命令失败(IC卡回送状态码 SW1 SW2 = ?6A81‘), 终端将中断选择过程。 3. 如果选择(SELECT)命令执行成功(SW1 SW2 = ?9000‘或?6283‘),终端应比较AID和卡返回的FCI 中的DF名。DF名应该同AID相同(包括长度),或者DF名以AID为开始并且长度大于AID。如果 DF名比AID长,卡将进行部分名称选择处理。如果DF名同AID相同,终端应进入到步骤4。如 果进行了部分名称选择,终端应进入步骤6。如果终端返回其它状态,应进入步骤5。 4. 如果选择(SELECT)命令成功(SW1 SW2 = ?9000‘),终端应将所选择文件的FCI信息添加到候选 列表中10并进入步骤5。如果应用已锁定(SW1 SW2 = ?6283‘),终端应直接进入步骤5而不将DF 名添加到候选列表。 5. 终端使用其列表中的下一个AID发出另一个选择(SELECT)命令,回到步骤3。如果列表中没有 剩余的AID,那么候选列表建立完成,终端按照8.3.4节的规定进行后续处理。 6. 对应于AID列表,终端还保存了表明卡是否允许有多个应用匹配的应用选择标识。终端在选择 应用时会检查该指示符。如果指示符表明需要完整匹配(包括长度和名称),那么终端将不会 把文件添加到候选列表,而是进入步骤7。 如果允许多应用匹配,那么部分名称匹配即可。 如果应用没有锁定(SW1 SW2 = ?9000‘),终端将会添加FCI信息到候选列表,然后进入步骤7。 如果允许多应用匹配但是应用已锁定(SW1 SW2 ? ?9000‘),则终端应直接进入步骤7而不将FCI信息添加到候选列表。 7. 终端使用与之前相同的命令数据,但将命令中的P2参数设置为02(―选择下一个‖),重复发出选 择(SELECT)命令, 如果IC卡返回状态码SW1 SW2=‘9000‘,‘62XX‘,或者‘63XX‘,然后回 到步骤3。如果返回其它状态码,终端转到步骤5。 9为了更清楚的帮助理解本节所描述的过程,有必要区别终端上的AID和IC卡上AID。可以参见8.3.1节,即使在应用匹配时,这两者也不是完全相同的。术语“AID”用于终端上的应用标识符,“DF名”用于卡上的应用标识符。 10如果在最终选择期间给持卡人提供列表,则应用标签和应用优先名称必须保存。DF名和应用优先权标识符在任何情况 下都可能需要。 58 JR/T 0025.3—2004 AID 开始 应用选择 清空 候选列表 从终端列表中得到 第一个AID 使用DF名=AID 选择文件 中断卡已锁定?过程 否 找到文件?否 是 必须完全FCI中的DF名相同,包是应用已锁定?是= AID?括长度。 否 得到列表中的添加FCI信息到列表中的否是下一个AID候选列表另一个AID? 否 结束,转到检查终端应用使用DF名=AID最终选择选择指示器选择文件 允许部分添加FCI信息到是应用已锁定?否名称选择?候选列表 否是 选择下一个 DF名=终端AID 图 16 使用终端中的应用列表 59 12.3.4 最终选择 JR/T 0025.3—2004 当终端确定了卡与终端共同支持的应用列表之后,就进行如下处理: 1. 如果没有共同支持的应用,交易终止。 2. 如果只有一个共同支持的应用,则如果有应用优先级标识符(API),终端检查该应用的应 用优先级标识符的b8位。如果b8 = ?0‘,则终端选择该应用。如果b8 = ?1‘并且终端提供持卡人 的确认功能,终端即请求持卡人确认。如持卡人确认,则选择该应用。如果终端不提供持卡人 的确认功能,或终端请求确认而持卡人拒绝,则终端终止该交易过程。 3. 如果有多个共同支持的应用,则可以按照步骤4中的描述显示列表供持卡人选择,或者按照步 骤5的描述自动完成选择。步骤4是首选的方法。 4. 如果向持卡人显示列表,则该列表应该按照级别优先的顺序排列,高优先级的应用应该在前。 如果卡上没有指定应用的优先顺序,则以终端的应用优先顺序为准,如果终端也没有指定应用 的优先顺序,则按照应用在卡中出现的顺序为准。如果出现多个应用有相同的优先级,或某个 入口缺少应用优先级标识符的情况,也可采用类似的方法。也就是说,在这种情况下,终端可 以使用自己的优先顺序,也可以按卡上应用出现的的顺序将有重复优先级或没有优先级的应用 显示出来。 5. 终端可以无需持卡人的介入而直接选择应用。在这种情况下,终端从共同支持的应用列表中选 择优先级别最高的应用。如果终端不提供持卡人对选择的应用确认,则那些不经过持卡人确认 就不能选择的应用(应用优先级标识符的b8=?1‘)应从可选列表从删除。 一旦终端或持卡人确定了待执行的应用,则该应用应被选中。终端向该应用发出选择(SELECT)命 令(按照第7章进行编码,使用建立候选列表时得到的ADF名称(如果采用目录方式)或者FCI中的DF名(如 果采用应用列表方式)作为数据域)。如果命令回送的状态码SW1 SW2 ? ?9000‘, 或者选择命令的应答中有不同于12.2.5节所描述的格式错误,则此应用应该从候选列表中删除,然后回到步骤1。如果持卡人选择或确认了某个应用,而随后该应用又因为应用锁定或其它原因被从候选列表中删除,则应用不能 在没有持卡人确认的情况下被选中。 在任何情况下,终端应该在适当的时候提示持卡人相关动作的完成。 60 JR/T 0025.3—2004 附录A (资料性附录) 使用T=0协议交换的示例 以下示例说明了使用T=0协议在TTL和IC卡之间数据和过程字节的交换。请注意: , 过程字节?60‘和的用法没有说明。 INS , [Data(x)]表示x个字节的数据。 , 情况2和4中Le = ?00‘的命令要求从IC卡返回可能的最多数据。这些示例中使用Le= ?00‘来 说明执行本规范第三册中定义的应用时观察到的典型交换。 A1到A4的示例说明了使用情况1到情况4的典型交换。A5和A6中的示例说明了在情况2 和4的命令中使用过程字节?61xx‘的交换。A7说明了一个情况4的命令的警告条件。 A.1 情况 1 下的命令 一个形如{CLA INS P1 P2}的C-APDU从TAL传送到到TTL(注意C-TPDU的P3置为?00‘)。 TTL ICC {CLA INS P1 P2 00}==> <=90 00 TTL向TAL返回形如{90 00}的R-APDU。 A.2 情况 2 下的命令 一个形如{CLA INS P1 P2}的C-APDU从TAL 传到到TTL。 TTL ICC [ CLA INS P1 P2 00]=> <=6C Licc [CLA INS P1 P2 Licc]=> <=INS[Data(Licc)] 90 00 TTL向TAL返回形如{[Data(Licc)]90 00}的R-APDU。 A.3 情况3下的命令 TAL向TTL传递一个形如{CLA INS P1 P2 Lc [Dara(Lc)]}的C-APDU TTL ICC [ CLA INS P1 P2 Lc] => <=INS [Data(Lc)]=> <=90 00 TTL向TAL返回一个形如{90 00}的R-APDU。 A.4 情况4下的命令 TAL向TAL传送一个形如{CLA INS P1 P2 Lc [Data(Lc)]00}的C-APDU。 61 JR/T 0025.3—2004 TTL ICC [CLA INS P1 P2 Lc]=> <=[INS] [Data(Lc)]=> <=61 Licc [00 C0 00 00 Licc]=> <=C0 [Data(Licc)]90 00 TTL向TAL传送形如{[Data(Licc)90 00 ]}的R-APDU。 A.5 采用过程字节?61‘和?6C‘的情况2命令 TAL向TTL传送形如{CLA INS P1 P2 00}的C-APDU。 TTL ICC [CLA INS P1 P2 00]=> <=6C Licc [CLA INS P1 P2 Licc]=> <=61 XX [00 C0 00 00 yy]=> <=C0 [Data(yy)] 61 zz [00 C0 00 00 zz]=> <=C0[Data(zz)] 90 00 当yy ? xx时 TTL向TAL传送形如{[Data(yy+zz)]90 00}的R-APDU。 A.6 采用过程字节?61‘的情况4命令 TAL向TTL传送形如{CLA INS P1 P2 Lc[Data Lc] 00}的C-APDU。 TTL ICC [CLA INS P1 P2 Lc]=> <=[INS] [Data(Lc)]=> <=61xx [00 C0 00 00 xx]=> <=C0 [Data(xx)] 61 yy [00 C0 00 00 yy]=> <=C0 [Data(yy)] 90 00 TTL向TAL返回形如{[Data(xx+yy)] 90 00}的R-APDU。 A.7 带警告条件的情况4命令 TAL向TTL传送形如{CLA INS P1 P2 Lc[Data Lc]00}的C-APDU。 TTL ICC [CLA INS P1 P2 Lc]=> <=[INS] [Data(Lc)]=> <=62 xx 62 JR/T 0025.3—2004 [00 C0 00 00 00]=> <=6C Licc [00 C0 00 00 Licc]=> <=C0 [Data(Licc)] 90 00 TTL向TAL返回形如{Data(Licc)}62 xx}的R-APDU,其中包含了与警告状态字节一起的返回 的数据。 63 JR/T 0025.3—2004 附录B (规范性附录 ) 数据元表 表B.1 定义了可能用于应用选择和它们在数据对象和文件的映射的数据元。 表B.1 数据元字典 名 称 描 述 来格式 模板 标签 长度 源 应用标识符标示了在GB/T 16649.5中描述的应用 ?61‘或 ?A5‘ ICB ?4F‘ 5-16 (AID)-卡片 卡 应用标识符标示了在GB/T 16649.5中描述的应用 终没有 B ?9F06‘ 5-16 (AID)-终端 端 应用标签 与ISO/IEC中的AID相关的记忆符号 Ans(特殊?61‘或?A5‘ IC?50‘ 1-16 卡 字符仅限 于空格) 应用优先名与AID相关的优先记忆符号 ?61‘或?A5‘ ICans ?9F12‘ 1-16 称 卡 应用优先指指明了在一个目录下一个给定应用或一组应用的?61‘或 ?A5‘ ICB ?87‘ 1 示符 优先权 卡 应用选择标对于被终端应用支持的IC卡应用,应用选择标识终由终端判没有 没有 看格识 指明了终端上相关的AID是否一定正好符合卡上端 定。这个式 的AID,这包括AID的长度,或仅仅等于终端AID数据不通 的长度。 过接口发 终端支持的每个AID仅仅有一个应用选择标识。 送。 专用文件表明了GB/T 16649.4中描述的DF名称 ICB ?6f‘ ?84‘ 5-16 (DF)名称 卡 目录定义文标明与目录相关的DF名称 ?61‘或?A5‘ ICB ?9D‘ 5-16 件(DDF)名称 卡 目录自定义GB/T 16649.5的目录的发卡行自定义部分 ?61‘或?A5‘ ICVar. ?73‘ Var.模板 卡 一直 到252 文件控制信FCI的发卡行自定义部分 ICVar. ?A5‘ ?BF0C‘ Var.息(FCI)发卡卡 一直行自定义数到222 据 文件控制信按照与GB/T 16649.4相关的FCI模板中的规范来ICVar. ?6f‘ ?A5‘ Var. 息(FCI)专有标识数据对象专有的 卡 模板 文件控制信标识与ISO/IEC7816-4相关的FCI模板 ICVar. - ?6F‘ Var.息(FCI)模板 卡 到252 64 JR/T 0025.3—2004 发卡行的代指明了与ISO8859相关的代码表格来显示应用优ICN2 ?A5‘ ?9F11‘ 1 码表格检索 先名称 卡 首选语言 1-4种语言按优先选择的次序来储存,每一种语言ICan2 ?A5‘ ?5F2D‘ 2-8 用2个数字字符按照ISO639来表示 卡 注意:EMVCo强烈建议:以 ‘5F2D’数据元私 有化卡片,该数据元以小写字母编码,而无论该数 据元是大写还是小写形式,终端都要认可该数据 元。 处理选项数包括终端常驻数据对象(标签和长度)的列表,这些ICB ?A5‘ ?9F38‘ Var. 据对象列表数据对象被卡用在处理GET PROCESSING 卡 OPITONS命令或其它应用特殊的命令中 (PDOL) 短文件标识用在与应用基本文件或目录定义文件相关的命令ICB ?A5‘ ?88‘ 1 符(SFI) 中标识了SFI。SFI数据对象是二进制,其中高三卡 位置为0 应用模板 包含一个或多个GB/T 16649.5中描述的应用目录ICB '70' '61' Var. 入口相关的数据对象 卡 到252 银行标识符如ISO 9362中的定义,唯一标识一家银行 ‘BF0C‘ 或 ICVar. '5F54' 8 or 代码(BIC) 卡 ?73‘ 11 国际银行帐如ISO 13616中的定义,唯一标识金融机构中的消‘BF0C‘ 或 ICVar. '5F53' Var.号(IBAN) 费者帐号 卡 到34 ?73‘ 发卡行国家如ISO 3166中分定义,标识发卡行国家(使用一‘BF0C‘ 或 ICa 2 '5F55' 2 代码(alpha2 个2字符的字母编码) 卡 ?73‘ 格式) 发卡行国家如ISO 3166中的定义,标识发卡行国家(使用一‘BF0C‘ 或 ICa 2 '5F56' 3 代码(alpha3 个3字符的字母编码) 卡 ?73‘ 格式) 行业识别码识别主要行业和发卡行的号码,该号码组成了主帐‘BF0C‘ 或 ICa 6 '42' 3 (IIN) 号(PAN)的第一部分 卡 ?73‘ 发卡行URL 该URL提供了网络上发卡行的库服务器的位置 ‘BF0C‘ 或 ICans '5F50' Var. 卡 ?73‘ 记录入口 提供交易记录的SFI ‘BF0C‘ 或 ICB '9F4D' 2 卡 ?73‘ 当数据对象定义的长度大于实际数据长度时,应遵守下列规则: , 格式n数据元右对齐并在前面填充16进制的00 , 格式an 的数据元左对齐并在后面填充16进制的00 当数据从一处传递到另一处(例如,从卡片到终端)时,应按照从高位到低位的顺序传输,而不管数 据内部是如何储存的。同样的规则也适用于连接。 65 JR/T 0025.3—2004 分配给数据元的标签参照表 B.2: 表 B.2 数据元标签 名称 模板 标签 应用标识符(AID)-卡片 ?61‘或‘ ?A5‘ ?4F‘ 应用标识符(AID)-终端 没有 ?9F06‘ 应用标签 ?61‘或‘ ?A5‘ ?50‘ 优先语言 ?A5‘ ?5F2D‘ 文件控制信息(FCI)模板 - ?6F‘ 命令自定义模板 ?61‘或 ?A5‘ ?73‘ 专用文件(DF)名称 ‘6F‘ ?84‘ 语言优先级指示符 ‘61‘或 ?A5‘ ?87‘ 短文件标识符(SFI) ?A5‘ ?88‘ 目录定义文件(DDF)名称 ?61‘或‘ ?A5‘ ?9D‘ 发卡行代码表索引 ?A5‘ ?9F11‘ 应用首选名称 ?61‘或?A5‘ ?9F12‘ 处理选项数据对象列表(PDOL) ?A5‘ ?9F38‘ 文件控制信息(FCI)专有模板 ?6F‘ ?A5‘ 文件控制信息(FCI)发卡行自定义数据 ?A5‘ ?BF0C‘ 66 JR/T 0025.3—2004 附录C (资料性附录) 目录结构示例 C.1 目录结构示例 本附录中的示例描述了可能的IC卡文件逻辑结构。示例说明了目录结构层次,但没有涉及到ISO描述的文件层次。 图C.1图示了一个简单的应用卡片,它仅有单层目录。在这个示例中,主文件(在GB/T 16649.4中定义的文件标识符为?3F00‘)是卡上唯一的一个目录定义文件。主文件必须按照8.2定义的赋予首层DDF的唯一支付系统名。主文件的FCI必须包含SFI数据对象。 本例中的?DIR A‘不一定是ISO的DIR文件,但它必须遵循本规范,包括它必须包含一个范围为1-10的SFI的要求。ISO DIR文件的标识符为?2F00‘,这表明SFI可能未在正确的范围之内。 图C.1最简单的卡结构单应用 图C.2举了一个具有单个目录的多应用卡的示例。在这个示例中根文件(MF)不支持符合本规范的应用,因而对主文件的功能没有限制。根据GB/T 16649.4,可能存在DIR文件,但第8节中定义的应用选择算法没有用到。同时注意目录没有到达所有ADF(ADF2到ADF5)的入口,因为ADF5被忽略了。ADF5只能被―知道‖ADF5可能在卡片上存在的终端选择。终端搜索ADF5的方法不在本规范返回之内。 图C.2 单级目录 图C.3 是一个有n层目录结构的多应用卡的示例。第一层目录( ?DIR A‘)有两个ADF的入口-ADF3和ADF4和一个DDF的入口-DDF2。与DDF2相连的目录(?DIR B‘)有两个ADF的入口-ADF21和ADF22和一个DDF的入口-DDF6。DDF5在根目录中没有入口,因而只能被―知道‖DDF5存在的终端找到。终端找到DDF5的方法不在本规范范围之内。但是连到DF5的目录结构(?DIR C‘)也可以遵循本 67 JR/T 0025.3—2004 规范,且如果被终端找到,可以把终端引到DF51、DF52和DF53。连到DDF6的DIR D是第三层的目录且指向四个文件(未显示),它们可能是ADF和更多的DDF。 图C.3 三级目录 68
/
本文档为【3-中国金融集成电路(IC)卡借记贷记规范-应用无关部分】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索