ISO7816(传输协议)参考_第1页
ISO7816(传输协议)参考_第2页
ISO7816(传输协议)参考_第3页
ISO7816(传输协议)参考_第4页
ISO7816(传输协议)参考_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ISO7816(传输协议)ISO7816(传输协议)36/36ISO7816(传输协议)第一部分:卡的电气特性卡的触点分配IC卡触点的分配遵循ISO7816-2的规定,如下所示:C1电源电压(Vcc)C5地(GND)C2复位信号(RST)C6不使用C3时钟信号(CLK)C7输入/输出(I/0)卡的电气特性测量约定 所有测量均应在IC卡和接口设备(IFD)之间的触点上进行,并以GND为参照。环境温度范围为050。 所有流入IC卡的电流均为正值。输入/输出(I/O) 该触点作为输入端(接收模式)从终端接收数据或者作为输出端(传输模式)向终端传送数据。在操作过程中,IC卡和终端不能同时处于传输模式,

2、若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏IC卡。接收模式 在接收模式下,当电源电压(VCC)在第6中所规定的范围内时,IC卡应能正确的解释来自终端的信号,其特性如表2所示:符 号最小值最大值单 位VIH07VccVccVVIL00.8VtR 和 tF1.0s 表2 接收模式下的I/O的电气特性 (2) 传输模式 在传输模式下,IC卡向终端传送数据,其特性如表3所示:符 号条 件最小值最大值单 位VoH-20AIoH0,Vcc=min.0.7VccVccVVoL0 IOL1mA,Vcc=min.00.4VtR 和 tFCIN(terminal)=30pF max.1

3、.0s 表3 传输模式下的I/O的电气特性 除向终端传送数据外,IC卡应将其I/O信号驱动模式设置为接收模式,且不要求I/O具备任何电流源性能。编程电压(Vpp)IC卡不需要编程电压Vpp。时钟(CLK) 当VCC在第6中所规定的范围内时,IC卡将在具有表4所示特性的时钟信号作用下正常工作。 符 号条 件最小值最大值单 位VIHVcc-0.7VccVVIL00.5VtR 和 tFVcc=min. To max.9%的时钟周期s 表4 CLK的电气特性 当时钟占空因数处于其稳定运行周期的44%56%之间时,IC卡应能正常工作。当时钟频率处于1MHZ到5MHZ之间时,IC卡应能正常工作。注:在卡片

4、操作过程中,频率值将由终端维持在复位应答期间所用频率的10%之内。复位(RST) 当VCC在第6中所规定的范围内时,IC卡应能正确的解释具有表5所示电气特性的复位信号。 符 号条 件最小值最大值单 位VIHVcc-0.7VccVVIL00.6VtR 和 tFVcc=min. To max.1.0s 表5 RST的电气特性IC卡将利用激活的低复位信号,采用异步方式进行复位应答。电源电压(VCC) 在电源电压VCC为5V0.5V直流电的情况下,IC卡应能正常工作。此时,时钟频率应在第4中所规定的范围内。最大电流为50mA。触点电阻 在整个生命周期内,IC卡触点电阻(在清洁的IC卡和清洁的标准接口设

5、备触点间测量时)应小于500m。 三、终端的电气特性测量约定同卡片。输入/输出(I/O) 该触点作为输出端(传输模式)向IC卡传送数据,作为输入端(接收模式)从IC卡接收数据。在操作过程中,终端和IC卡不能同时处于传输模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏终端。 当终端和IC卡都处于接收模式时,触点将处于高电平状态。为了达到这种状态,终端应在VCC上或其它装置上连接一个上拉电阻。除非VCC加电并稳定在第6中允许的范围内,终端不应将I/O置于高电平状态。见卡操作过程中有关触点激活的内容。 在任何情况下,均应将流入或流出I/O触点的电流限定在5mA以内。传输模

6、式在传输模式下,终端向IC卡传送数据,其特性如表7所示:符 号条 件最小值最大值单 位VoH-20AIoH20A,Vcc=min.0.8VccVccVVoL- 1mA IOL0,Vcc=min.00.4VtR 和 tFCIN(ICC)=30pF max.1.0s正负脉冲峰值-0.25Vcc+0.25V 表7 传输模式下的I/O的电气特性接收模式在接收模式下,终端应能正确的解释从IC卡发来的具有表8所示特性的信号。符 号最小值最大值单 位VIH07VccVccVVIL00.8VtR 和 tF1.0s 表8 接收模式下的I/O的电气特性编程电压(VPP)终端不产生编程电压VPP。时钟(CLK)终端

7、将产生一个具有表9所示特性的时钟信号:符 号条 件最小值最大值单 位VoH0IoH50A, Vcc=min.Vcc-0.5VccVVoL- 50A IOL0, Vcc=min.00.4VtR 和 tFCIN(ICC)=30pF max.8%的时钟周期s正负脉冲峰值-0.25Vcc+0.25V 表9 CLK的电气特性 频率范围在1MHZ5MHZ之间,且在整个交易期间,其变化范围不超过1%(见卡的操作过程)。时钟占空因数应在其稳定运行周期的45%55%之间。复位(RST)终端产生一个具有表10所示特性的复位信号:符 号条 件最小值最大值单 位VoH0IoH50A, Vcc=min.Vcc-0.5V

8、ccVVoL- 50A IOL0, Vcc=min.00.4VtR 和 tFCIN(ICC)=30pF max.08s正负脉冲峰值-0.25Vcc+0.25V 表10 RST的电气特性电源电压(VCC) 终端提供一个5V0.4V的直流电压,并能稳定输出055mA的电流。终端应带有保护电路以防止在误操作如对地或VCC短路时所造成的损坏。误操作既可能来源于内部,也可能来自外部接口如电源干扰、通讯链路故障等。 在IC卡的正常操作中,电流脉冲可在IC卡触点上引起VCC波动。电源应能中和小于40nAs且持续时间不超过400ns的电源波动。并能承受IC卡上100mA的电流消耗。触点电阻 在终端的整个设计寿

9、命期间,触点电阻(在清洁的接口设备和清洁的标准IC卡触点间测量时)应小于500m。短路保护当任何两个触点之间发生短路时,无论时间长短,终端都不应被损坏或功能失常。插入IC卡后,当对终端进行加电或断电 插入IC卡后,当对终端进行加电或断电时,触点的接口界面不应出现杂乱信号或电源干扰,触点激活和释放的时序见用卡过程。第二部分:IC卡的用卡过程 以下用卡过程是按照EMV规范(即支付系统集成电路卡规范)的规定来叙述的。对于其它应用的IC卡,只要符合ISO-7816标准的规定,其用卡过程也大体相同。用卡过程 (一) 正常的用卡过程 这里所说的正常用卡过程,是指IC卡所插入的终端设备将其触点断电后,持卡人

10、才拔出IC卡而结束的用卡过程。 、用卡过程可划分为如下几个阶段:把IC卡插入IFD(接口设备Interface Device)并接通各触点。使IC卡复位并在终端和IC卡间建立通讯。执行交易释放触点并取出IC卡。所谓释放触点。、卡插入和触点接通序列 IC卡插入IFD,但触点还没有进行物理接触时,终端必须确保所有触点都处于低电平状态(VOL值应满足终端电气特性的规定(一般为00.4V),而VCC小于或等于.V或0.4V以 下)。当IC卡按插入的方向置入时,IFD应能检测它是否定位在标准的正确位置,即IFD触点的中心恰好和IC触点的中心相重合的位置,允许误差为0.5mm。 当IFD检测到IC卡是处在

11、这个范围内时,且所有的触点都已接触上,其激活过程如下(如图1-4所示):1、终端在整个激活过程中始终保持RST(复位Reset)为低电平状态;2、触点物理接通后,应在I/O或CLK(时钟Clock)激活之前给VCC加电;3、终端确认VCC稳定在5V0.4V(状态H)的范围内后,终端将I/O线置为接收方式,并提供一个(5。1。4。4)规定的稳定而适用的时钟,终端将其I/O置于接收方式可以在时钟启动之前,最迟不得超过时钟启动后的200个时钟周期。 注:根据设计,终端可以给VCC一个足够的等待时间使之稳定,待稳定后再通过测量或其它方式检查它的状态。终端将其I/O置为接收模式后,其I/O状态取决于IC

12、卡上I/O的状态。IC卡的复位冷复位 触点接通后,终端将发出一个冷复位信号,并从IC卡得到一个复位应答,过程如下:从T0时刻起,终端施加CLK;在T0后不超过200个时钟周期内,IC卡必须将其I/O线置为接收方式。由于终端也必须在这段期限内置其I/O线驱动器为接收方式,所以I/O线在T0后最迟不超过200个时钟周期的时间内置为高电平。为此,终端的I/O触点应经过一个上拉电阻接到V CC;终端应从T0开始保持RST端为低电平状态,并在从T 0 开始到T 1后的40,000至45,000个时钟周期内将RST置为高电平;IC卡上I/O的复位应答将在T 1时刻后的400至40,000个时钟周期内开始;

13、如果IC卡未在这段时间内进行复位应答,则终端必须启动一个触点释放时序。热复位IC卡对终端的复位应答有着规定的规格和内容(详见后述),如果终端收到的复位应答不符合规定要求时,终端将启动一个热复位并从IC卡获得复位信号。过程如下:热复位从时刻T 0 开始,此时终端置RST为低电平状态;在整个热复位过程中,终端应保持V CC和CLK稳定并符合上一部分的规定;在T 0 之后的最多200周期内,IC卡和终端都必须置I/O为接收方式,即I/O线在T 0 后最迟不超过200个时钟周期内置为高电平;终端应从T 0 开始保持RST为低电平状态,并在T 0 至T 1 后的40,000到45,000个时钟周期内将R

14、ST端置为高电平状态。IC卡上I/O的复位应答将在T 1 后的400至40,000个时钟周期内开始;如果IC卡未在这段时间内进行复位应答,则终端必须启动一个触点释放时序。执行交易IC卡的应用选择以及其后在IC卡与终端间的信息交换都是执行一项交易所必不可少的,详情将在以后叙述。触点释放序列作为用卡过程的最后一个步骤,不论交易是正常或异常结束(包括用卡过程中从IFD取回IC卡),终端必须按以下步骤释放IFD的触点。终端以置RST为低电平状态来开始触点释放序列;在置RST为低电平状态之后且Vcc断电之前,终端将CLK和I/O也置为低电平;最后,在实际断开触点之前,终端必须先将V CC去电,V CC在

15、IFD触点实际断开之前必须为0.4V或更低些。(二)交易过程的非正常结束 如果在执行一项交易的过程中,过早地把IC卡从终端以高达1m/S的速度取出时,终端必须能够觉察出IC卡的运动,并按照上述触点释放序列,并在相对位移达到1mm之前,释放所有的IFD的触点。在这种情况下不得对IC卡产生任何电气的或机械的损伤。二、字符的物理传送 交易过程中,数据以异步半双工方式经I/O线在终端和IC卡双向传送。由终端向IC卡提供时钟信号,并以此来控制交易的时序。信息交换时的数据位和字符的规定如下所述,它适用于复位应答,以及现行的符合ISO7816标准规定的T=0和T=1两种传输协议。(一)位持续时间 I/O线上

16、所用的位持续时间被确定为基本时间单位(etu-elementary time uint),它和时钟频率间存在着线性关系。终端给出时钟信号的IC卡被称为外时钟卡。复位应答时的位持续时间称为初始etu,并由正式算出初始etu=372/f 秒 式中 f 的单位为Hz,表示复位响应时的初始频率。 复位应答(以及全局参数F与D的设立,见后述)之后的持续时间,称为当前etu,其计算公式为: 当前etu=F/Df 秒 式中f 的单位为Hz,表示后续传送时的当前工作频率。 注:EMV卡规范约定当前仅F=372、D=1之值受到支持,因而,初始的和当前的etu是一样的,均由372/f算出。今后,除非特别说明,凡提

17、到etu指的都是当前etu。 在卡的整个交易过程中,f的值应在15MHZ之间。(二)字符帧 数据在I/O线上以字符帧传送,所用约定在IC卡复位应答传送的起始字符TS中予以规定(参见后述)。 字符传送之前,I/O线置为高电平状态。 一个字符帧包含着10个相连的数位: 1个状态为L的起始 8数位组成的数据字节 1位偶校验位 起始位由接收端周期性地对I/O线采样检测。采样时间小于或等于0.2etu. 在一个字符帧中的逻辑1的数量必须为偶数,8个数据位和奇偶位本身都包括在此校验中,但起始位不作校验计算。 起始时间固定地从最后一个检测到的高电平至第一个检测到的低电平的中间算起,起始位的存在必须在0.7e

18、tu之内确定,相继的的各位必须在(n+0.50.2)etu区间内被接收。(n为各数位之秩),起始位为位1。 在一个字符帧内,从它的起始位的前沿起到第n位的后沿间的时间是(n0.2)etu. 相连两字符的起始位前沿之间的区间包括了字符宽度(100.2)etu,加上保护时间,在保护时间内,IC卡和终端二者都处于接收方式(I/O线处于高电平状态)。当T=0时,如果IC卡或终端作为接收方对刚收到的字符检测出奇偶错误,则I/O将被置为低电平状态,以向发送方表明出现错误。三 、复位应答 IC卡被终端复位后,用一串称之为复位应答(ATR-Answer To Resest)的字节应答。这些字节传达给终端的信息

19、规定了IC卡和终端之间要建立的通讯的某种特性。 我们规定一个字符的最高位为b8位,最低位为b1位,其代码用括在引号的16进制数表示,如“3F”。(一)复位应答期间回送字符的物理传输 复位应答期间,相连二字符的起始位上升沿之间的最小间隔为12初始etu,而最大间隔为9600初始etu。 在复位应答期间(热的或冷的),IC卡应在19,200个初始etu之内发送完所有要回送的字符。发送时间应从第一字符(TS)起始位的上升沿开始,到最后一个字符的起始位上升沿后的12个初始etu之间。(二)复位应答时回送的字符 IC卡在复位应答时回送的字符的数量和编码随传输协议和所支持的传输控制参数之值而定。本节描述两

20、各种基本的复位应答:一种是IC卡支持T=0,另一种是IC卡支持T=1,它规定了回送的字符,以及所容许的传输控制参数的数值范围。 表1 T=0的复位应答回送的字符字符值备注TS“3B“或“3F”表示正向或反向约定T0“6X”TB和TC1出现,X表示历史字节的存在个数TB1“00”不使用VppTC1“00”到“FF”表示需要额外保护时间,数据“FF”有特殊含义 表2 T=1的复位应答回送的字符字符值备注TS“3B”或 “3F”表示正向或反向约定T0“EX”TB1和TD1出现,X表示历史字节存在的个数TB1“00”不需要VppTC1“00”到“FF”表示所需额外保护时间的数量,数据“FF”有特殊含义

21、。TD1“81”使用T=1协议,TA2至TC2不存在,TD2存在TD2“31”使用T=1协议,TA3至TB3存在,TC3和 TD3不存在TA3“10”至“FE”回送IFSI,表示IC卡信息域大小的初始值,其初始值为16-254字节TB3高四位组“0”至“4低四位组“0“至”5BWI=0至4CWI=0至5TCK参看4。3。3。5校验字符三、字符定义 以下将对复位应答中可能回送的字符做具体的说明。如果复位应答符合基本ATR(复位应答)二者之一,则一个字符是否出现,以及其容许的数值范围(如果出现的话),由说明每个字符的“基本响应”来表示。 复位应答中回送字符的最大个数(包括历史字符,但不包括TS)为

22、32个。 EMV规范只要求(最低限度)终端支持这里所说的基本的ATR,以及在“终端反应”中所指定的任何附加要求。 以下的说明中,如果指出一个终端必须拒绝IC卡,这就意味着终端必须发出一个热复位或释放IC卡的触点以结束用卡过程。TS起始字符TS执行两项功能:向终端提供了一个已知的位组合模型,以便于同步;提示所用逻辑约定,以便对后继的字符进行解释。基本响应:IC卡必须以下列二值之一来回送TS 反向约定 (H)LHHLLLLLLH,其值为“3F”; 正向约定 (H)LHHLHHHLLH,其值为“3B”。 终端反应:终端必须拒绝回送的TS不等于“3B”或“3F”的IC卡。 注:特别推荐使用“3B”作为

23、IC卡的回送值,因为在以后的版本中可能不支持“3F”。T0格式字符T0由两部分组成,高四位(b5-b8)称之为Y1,用来指示后继字符TA1至TD1是否存在,b5-b8位被置为逻辑“1“状态者,相应地表明TA1至TD1的存在。低四位组(b1-b4)称之为K,则表明历史字节存在的数量(0-15)。字符的构成及编码如下: T0的构成:B8B7B6B5B4B3B2B1 | Y1 | Y2 | T0的基本响应代码: B8B7B6B5B4B3B2B1T=00110XXXXT=11110XXXX 基本响应:如果只使用了T=0,IC卡将回送T0=“6X”,指明字符TB1和TC1的存在。如果只使用了T=1,则I

24、C卡回送T0=“EX“,指明字符TB1至TD1的存在。“X”之值表明传送的历史字符的数量。 终端反应:若IC卡回送的T0为任意值,只要它正确地指明并和接口字符TA1至TD1及实际回送的历史字节一致,终端不得拒绝。TAi、TBi、TCi、TDi(i=1、2、3等等)接口字符TAi、TBi、TCi(i=1、2、3等等)指明了协议参数。 TDi指明协议类型和是否存在后续接口字符,TDi包括Yi+1和T两部分,Yi+1为高四位组,分别表示后续接口字符TAi+1、TBi+1、TCi+1、TDi+1是否存在,T为低四位组,表示后续发送的协议类型。 Tdi指明的信息:B8B7B6B5B4B3B2B1 | Y

25、i+1 | T | Yi+1接口字符存在的指示符 B5=1,发送TAi+1 B6=1,发送TBi+1 B7=1,发送TCi+1 B8=1,发送TDi+1 T=0 异步半双工字符传输协议 T=1 异步半双工字组传输协议 TA1、TB1、TC1、TB2是全局性接口字符,其余的 TAi、TBi、和Tci是专用接口字符,它们的解释取决于TDi-1中的T所指明的协议类型。 TA1TA1传达FI和DI的数值,其中:FI用来确定F的数值,F为时钟频率转换因子,用于 修改继复位应答之后由终端所提供的时钟频率。DI用来确定D的数值,称为比特率调节因子,用于调整复位应答之后所使用的位持续时间,ATR后位持续时间(

26、当前etu)的计算方法见五(一)。 复位应答期间使用的缺省值为:FI=1和DI=1,表示:F=372和D=1 基本响应:IC卡不回送TA1,则在整个后续信息交换过程中继续使用缺省值F=372和D=1。 终端反应:终端不得拒绝一个回送TA1=“11”的IC卡(如果T0的b5位被置为1),并在所有后继交易中,继续使用F=372,D=1。 TB1 TB1传送PI1和I1之值,其中: PI1在b1b5位中定义,用于确定IC卡所需的最大编程电压P值。PI1=0表示IC卡不 使用Vpp。 I1在b6b7位中定义,用于确定IC卡所需的最大编程电流I值。PI1=0表示不使用此 参数。 b8位不使用,并设置为逻

27、辑“0”。基本响应:IC卡将回送TB1=“00”,表示IC卡不使用VPP。 终端响应:若T0的b6被置“1”,IC卡回送的TB1为任意值时,或T0的b6被置为“0”,IC卡回送TB1时,终端不得拒绝此卡,但也不产生VPP,并继续用卡过程,就象回送了TB1=“00”一样。 TB1的基本响应代码: B8B7B6B5B4B3B2B100000000TC1 TC1传送N之值,N为额外保护时间。N为TC1的b8b1位的二进制码,其值表示了额外保护时间所增加的etu数,其值为0255之间。N=255(TC1=“FF”)有特别的含义,它表明两相邻字符的起始位前沿之间的最短间隔时间: T=0,为12etu T

28、=1, 为 11etu 注意,TC1仅用于从终端送到IC卡的两相邻字符间的定时,它既不用于从IC卡送到终端的两相邻字符间的定时,也不用于反向传送的二字符间的定时(请参看传输协议一节中关于T=0或T=1的时序的叙述)。 基本响应:IC卡回送的TC1之值应在“00”至“FF”的范围内。 终端响应:当IC卡不回送TC1(假定T0的b7位被置为“0”)时,终端不得拒绝,并继续用卡过程的处理,就像回送了TC1=“00”一样。 建议在设计IC卡时,应把TC1置成IC卡可接受的最小值,较大的TC1值会导致终端和IC卡间的通信过慢,从而延长了交易时间。TD1TD1表示有无更多的接口字节传送,以及关于传输协议类

29、型的信息,其中高半字节用来表示字符TA2至TD2是否存在,b5b8各位中被置为逻辑“1”的,就表示相应的TA2至TD2中该字符的存在。低半字节提供了关于后继交换所用传输协议类型的信息。 基本响应:当选用T=0协议时,则IC卡将不回送TD1,后继传送协议缺省为T=0。 当选用T=1协议时,则IC卡必须回送TD1=“81”,以表明TD2的存在,并 后继传送传输协议为T=1。 终端反应:当IC卡回送的TD1的高四位组有任意值(假设回送之值正确地表示并与实际回送的接口字符TA2至TD2一致),且低四位组之值为“0“或“1”,则终端不得拒绝。终端必须拒绝回送其它TD1之值的IC卡。TA2字符TA2的存在

30、与否相应地表示IC卡是以特定模式或是交互模式工作。基本响应:IC卡UQF 不回送TA2,TA2不存在表示以交互模式工作。终端反应:如果终端在复位应答期间能够支持由IC卡通过TA2所指明的额外条件,它不拒绝这样的IC卡,并应能立即使用这些条件。TB2 TB2传送PI2,PI2用于确定IC卡所需编程电压P的值。当它存在时,它就取代由TB1中回送的PI1的值。基本响应:IC卡不应回送TB2。 终端反应:终端不应拒绝IC卡回送TB2,但不论是否回送、回送了何值,终端均不产生VPP。TC2 TC2是T=0型协议所特有的,它传达了用来决定由IC卡发送的任意一个字符起始位上升沿与由IC卡或终端传送的前一字符

31、的起始位上升沿之间的最大间隔的工作等待时间(WI)。工作等待时间为:960DWI。 基本响应:IC卡不得回送TC2,且后续通讯中使用缺省值WI=10。 终端反应:终端不得拒绝回送TC2=10的IC卡。TD2TD2表示是否还要发送更多的接口字节,以及关于后继传输所用的协议类型,其中高半字节用来表示字符TA3至TD3是否存在,b5b8各位中被置为逻辑“1”的,就表示相应的TA3至TD3的存在。低半字节表示用于后继传送的协议类型,如果使用T=1,低半字节值为“1”。 基本响应:如果使用的是T=0,则IC卡不回送TD2,后续传输协议缺省的T=0。 如果使用的是T=1,而IC卡必须回送TD2=“31”,

32、以表示TA3和TB3的存 在,而后续传输协议为T=1。 终端反应:当IC卡回送的TD2的高半字节有任意值(假设回送之值正确且与实际回送的接口字符TA3至TD3一致),而低半字节的值为“1”或“E”,则终端不得拒绝,终端必须拒绝回送其它TD2之值的IC卡。 TA3 TA3回送信息域长度整数(IFSI),它决定了IC卡信息字段长度(IFSC),并规定了IC卡能够接收的字组的最大长度。它以字节形式表示IFSC的长度,取值范围为“01”至“FE”之间的任何值,“00”和“FF”二值留作备用。 基本响应:如果使用了T=1,则IC卡必须以TA3为“10”至“FE”间之值予以回送,以表示初始的IFSC在16

33、至254字节的范围内。 终端反应:终端不得拒绝未回送TA3(假设TD2的b5位被置为“0”)的IC卡,但如果接受了这样的IC卡,它必须以“20”作为TA3之值继续用卡过程。终端必须拒绝回送的TA3之值在“00”至“0F”间或为“FF”的IC卡。(10)、TB3 TB3表明了用来计算CWT和BWT的CWI和BWI之值, TB3由两部分组成,低半字节(b1b4)用来表示CWI之值,而高半字节(b5b8)用来表示BWI之值。 基本响应:如果使用了T=1,则IC卡应回送这样的TB3:高半字节取值为05,低半字节取值为04。即CWI之值为0至5之间,而BWI之值为04之间。(11)、TC3 TC3指明了

34、所用的块错误检测代码的类型,类型由b1位表示,而b2至b8未用。 基本响应:使用纵向冗余校验(LRC)作为错误检测码时,IC卡不必回送TC3。TCK校验字符 TCK具有一个检验复位应答期间所发送数据完整性的值,TCK的值应使从T0至TCK(包括TCK)的所有字节的异或操作结果为0。 基本响应: 如使用T=0协议,将不发送TCK,而在其他情况下,都发送TCK。 终端反应:在使用T=0协议时,终端应拒绝回送TCK的IC卡。如果IC卡回送了TCK,终端应能对TCK进行赋值。接口字符的基本响应字符编码表接口字符编码条件B8 b7 b6 b5 b3 b2 b1说 明TA1B X X X X X X X可

35、不回送,缺省值为F=372,D=1TB1B 0 0 0 0 0 0 0Vpp未连至IC卡TC1BX X X X X X X额外保护时间N之值TD1T=11 0 0 0 0 0 0 1T=0时,可不回送TD1TA2专用接口字符协商方式(非专用)时,可不回送TA2TB2不得回送,因为是表示Vpp之值的PI2TC2T=0传达WI用,IC卡不得回送,缺省为10TD2T=10 0 1 1 0 0 0 1T=0时,不得回送TA3T=1X X X X X X X X“00”“F”及“FF”禁止使用TB3T=10 X X X 0 Y Y YXXX在000100内,YYY在000101内TC3T=1可不回送,缺

36、省之意为采用LRG校验 表中B表示适用于T=0和T=1两种传输协议;X或Y表示可为0或1,编码的限制参看各有关说明,表示EMV规范中未采用。(四)复位应答的序列和一致性 随着IC卡的触点的实际接通,终端必须启动一个冷复位。如果IC卡的冷复位的应答所回送的字节不符合前面小节中的规定,或IC卡的复位应答未在19,200初始etu之内完成,终端不必立刻取消用卡过程,而是发出一个热复位信号。如果应答符合要求,而且是在19,200初始etu之内回送,则终端必须使用回送的参数进行卡片操作过程。如果终端启动了一个上述的热复位,而IC卡对热复位的应答所回送的字节仍不符合上述小节中的规定,或IC卡的复位应答未能

37、在19,200初始etu之内完成,则终端将执行释放IC卡的触点序列,从而取消用卡过程。如果对热复位的应答符合这些规定,而且是在19,200初始之内回送,则终端必须使用回送的参数处理卡片操作过程。不论是对冷复位或热复位,如果在应答时由IC卡回送的相邻二字节的起始位的上升沿之间的时间超过了9,600初始etu,终端就必须执行释放触点序列,从而取消用卡过程。(五)复位应答终端的流程 图10展示出IC卡回送复位应答给终端的流程,以及由终端为保证对本节的一致性而执行的检测。注2:如果过程在这一点上取消,IC卡可能是一个经业务上同意由此终端接受的非金融方面的支付卡,终端应用其插入之前,通过一特殊过程,做好

38、接受此支付卡的准备,这可由终端设置的一个专用按钮来完成,因此,该设置就具有专用性质.置情况=2冷复位情况=1吗?ATR OK?继续使用如上决定之参数或参看注4启动置情况=1(参看注1)冷复位TCK(如果出现)和奇偶校验OK?注1:“情况”是一个过程变量用来指示冷或热复位在工作.情况=1冷复位情况=2热复位是是是是是是取消参看注2ATR为OK,若由IC卡回送的ATR的参数和结构遵照了第8节的需求或识别了一个专用ATR.注4:不属的专有应用,可在这一点上使用一个协议选择过程来启动.取 消(参看注3)注3:如果过程在这一点取消,随着从终端中取出IC卡,并采取所需之正确措施后,重新置入IC卡再试之,此

39、时在终端上应显示相应报文.图10 复位应答终端的流程四、传输协议 本节规定了在异步半双工传输协议中,终端为实现传输控制和特殊控制而发出的命令的结构及其处理过程。 在此规定了两种类型的协议:字符协议(T=0)和字组协议(T=1)。IC卡必须支持T=0协议或T=1协议中的一种,但不是同时支持这两种协议。终端则必须同时支持T=0和T=1的两种协议。在IC卡和终端间后续的通讯所用的协议在TD1中指明,必须是T=0或T=1,如果在ATR(复位应答)中无TD1,则设定为T=0。在复位应答后立即使用IC卡使用的协议,因为这里没有协议类型选择(PTS)过程。在复位应答中提供的其它参数,以及相关的具体协议将在本

40、节的相应部分予以规定。 两种协议都是按照如下的分层模型制定的:物理层,描述信息位的交换,是两种协议共用的。数据链路层,包括下列规定: a) 字符帧,规定字符的交换,是两种协议共用的。 b) 字符协议T=0,规定了T=0所指定的字符交换。 c) 规定了T=0的错误检测和校正。 d) 字组协议T=1规定了T=1所指定的字组交换。 e) 规定了T=1的错误检测和校正。传输层,规定了各个协议的面向应用的报文传送。应用层,根据应用协议规定了报文的交换,应用协议对于两种传送协议是共用的。(一)物理层: T=0和T=1两协议所用的物理层和字符帧已在前面章节做了规定,适用于IC卡和终端交换的所有报文。(二)数

41、据链路层: 本小节说明T=0和T=1协议的时序、信息字段INF(INFormation Field)和错误处理。字符帧 在前面章节中描述的字符帧适用于IC卡和终端之间的所有交换报文。T=0字符协议特定选项用于T=0的时段分配 在复位应答中,TC1的值决定了终端送到IC卡的相邻二字符的起始位的上升沿的最小区间在12至266etu之间。由IC卡传送给终端的相邻二字符的起始位上升沿之间的最小间隔必须是12etu。由IC卡送出的任何字符的起始位上升沿与由IC卡或终端送出的前一字符的起始位上升 之间的最大时间间隔(工作等待时间)必须不超过960DWI=9,600etu。(位速率转换因子D的缺省值为1。当

42、ATR中不回送TC2时,WI的缺省值为10)。相邻二字符起始位上升沿间的最小时间间隔在反方向传输时不小于16个etu.。 由终端传送给IC卡的相邻二字符的起始位上升沿之间的最小时间间隔是由TC1之值控制的,可以小于反方向传送的二字符间所容许的最小区间16etu。命令头CLA INS P1 P2 P3命令均由由终端应用层(TALTerminal Application Layer)发出的。它经终端传输层(TTLTerminal Transport Layer)以5个字节的称做命令头的形式向IC卡发出命令。命令头由五相连的字节构成:CLA命令类别INS指令代码P1、P2指令附加特定参数P3由INS

43、的编码而定,或是表示命令中送给IC卡的数据,或是等待从IC卡响应的最大数据长度。 对于T=0,这些字节和随命令一起发送的数据就构成了命令传输协议数据单元(C-TP-DU)。命令应用协议数据单元C-APDU到C-TPDU的变换在后面讲述。TTL传送这五个命令头字节给IC卡并等待着一个过程字节。过程字节 IC卡收到命令头后,应回送给终端传输层(TTL)一过程字节或状态字节。过程字节向TTL指明下一步必须采取 的措施。过程字节的编码和必须采取的措施如表4-1所示。 在情况、或时,当TTL采取的措施实行后,它就等待着另一个过程字节。当情况为时,在收到第2个状态字节SW2之后,TTL必须处理如下:如果过

44、程字节为“61”,则TTL送出一条GET RESPONSE命令头标给IC卡,其中的最大长度为“XX”, “XX”为SW2的值.如果过程字节为“6C”, 则TTL立即重发前一个命令的命令头给IC卡,其长度为“XX”, “XX”是SW2之值.如果过程字节为“6X”(除了”60”、”61”和“6C”)或“9X”,则TTL在响应APDU(R-APDU)中回送状态字节以及相关的数据(参看后面章节),并等待下一个的C-APDU。 在TTL和IC卡之间交换命令和数据时,TTL和IC卡都必须清楚地知道数据的流向以及是由TTL还是由IC卡来驱动I/O线。 表4-1 终端对过程字节的响应过程字节之值 措 施等于I

45、NS字节由TTL传送所有其余数据字节,准备接收由IC卡送来的其余的数据字节等于INS字节的补码由TTL传送下一数据字节,或由TTL准备接收由IC卡送来的下一数据字节“60”TTL将提供附加的工作等待时间,如本书中所规定“6X”或“9X“,除“60”之外(状态字节SW1)TTL等待更进一步的状态字节SW24)C-APDU的传送 采用T=0协议时,C-APDU仅仅包含送至IC卡命令数据,或者仅仅只包含IC卡响应数据可直接映射到C-TPDU。含有数据或者不要求数据的C-APDU,或者在IC卡往返传送数据的C-APDU,均按T=0的C-TPDU的传送中所规定的规则进行解释。T=0的错误检测和校正 当T

46、=0时,这个过程是强制的,但在复位应答时不使用。 如果一个字符没有正确地接收到或接收正确但奇偶位错,则接收方必须在字符起始位的上升沿之后的(10.50.2)个etu内,向I/O线发送持续1-2个etu的低电平信号,以指示出了错误。 发送方必须在被送出的字符的起始位的上升沿后的(110.2)个etu内,检测I/O的电平状态,若I/O线处在高电平状态,由表明字符已被正确接收。 如果发送方检测到一个错误,则在检测到此错误之后至少延迟2etu,并重发送有争议的字符,最多只发送三次。T=1字组协议 协议包含IC卡和TTL间的字组传送,以传达命令和R-APDU及控制信息(例如,确认)。数据链路层的字组帧结

47、构,协议的时序和INF,以及协议的运用规定如下。 1)字组帧结构 前面所规定的字符帧仍是适用的,字组的结构如(表4-2所示)下:强制性的组头字段可选性的信息字段强制性的组尾字段 表4-2 字组的结构 组头字段信息字段组尾字段结点地址(NAD)协议控制字节(PCB) 长 度(LEN)APDU或控制信息(INF)错误检测(EDC)1字节1字节1字节0254字节1字节 A、组头字段组头字段由3个强制性的字节组成:结点地址用以标识数据块的源地址和目标地址,并提供对VPP状态控制的节点地址。协议控制字节,控制数据的传送。长度,指可选数据域长度。 结点地址(NADNODE ADDRESS) NAD 的b1

48、b3位表明字组的源点地址(SADSource Node Address),而b5b7则表明字组指向的目标地址(DADDestination Node Address)b4和b8位未用且必须置为0。 终端对结点编址的使用是可选的,但IC卡在使用T=1型协议时,必须支持按如下规则的结点编址:若不使用节点地址,终端发往IC卡的第一个数据块的SAD和DAD值均应设为0。若使用节点地址,由终端发给IC卡的第一数据块的SAD和DAD应设定为不同的值(其中之一可以是零)。若使用了结点地址,在卡片操作过程中,IC卡收到的第一个有效I块和S块中的NAD,用于建立起整个卡片操作过程中的终端和IC卡的节点地址,在同

49、一个过程中,终端发给IC卡的后续块应使用同一个NAD,如此建立的结点地址适用于所有类型的数据块。在一个用卡过程中,任何由IC卡送向终端的字组,在此过程中必须使用由终端送向IC卡的第一字组确定的结点地址。(注意,从终端送向IC卡的源点和目标地址,在由IC卡送向终端时要分别变为目标和源点地址)。在卡片操作过程中,若IC卡接收到的数据块的NAD和交易开始时所建立的NAD不同,则IC卡应向交易开始时建立的DAD回复一个R块。 协议控制字节(PCB-Protocol Control Byte) 协议控制字节对数据块的类型进行编码,有三种类型的数据块,规定如下:用于传送APDU的信息字组(I块)用于传达确

50、认(ACK-Acknowlegement)或否认(NAK-Negative Acknowlegement)的接收就绪块(R块)用于交换控制信息的管理块(S块) PCB的编码按其类型而定,如表4-3所示。表4-3 PCB的编码信息位I-字组R-字组S-字组B8011B7顺序号01B6链接(多个数据)00=请求 1=响应顺序号0=再同步请求B5B4B3B2B1RFURFURFURFURFU1=信息字段容量请求2=取消请求3=扩充BWT请求4=VPP错误(EMV规范未用)未用值为RFU 长度(LEN-Length) 长度指明块的INF(Information Field)的长度,取值范围2254个字

51、节。注意:在EMV规范中不支持LEN=0的I-块。信息域(INF) 信息字段是有条件的,当出现在I块中时,它传送的是应用数据;在S块中,它传送控制信息;在R块中不包含INF。尾域(EDC-Error Detection Code检错码) 组尾字段包含所传送的字组的错误检测码(EDC)。当奇偶错或EDC错误发生时,字组是无效的。作为EDC在EMV规范中仅支持纵向冗余校验(LRC-Longitudinal Redundancy Check)。LRC的长度是一个字节,从NAD开始到INF的最后字节在内的所有字节的“异或”值即为此字节之值。块的编号 I块的编号采用了一位编码的模2数,编号系统对IC卡保

52、持独立,而终端则作为发送方。在复位应答后,发送方传送的第一个I块的编号从0开始,而后,每传送一个I块就加1,此数由发送方在重新同步后,复位为0。 R块的编号也采用了一位编码的模2数。当用来在链接期间去确认一个I块时,R块带有所需求的下一个I块的编号。当用来请求重复某块时,R块带有所接收的I块的编号。 S块不带编号。 (2)信息字段INF的容量和时序(特别选择)信息域大小 IFSC是IC卡所能接收的字组信息字段INF的最大长度,复位应答时,IC卡在TA3中回送的IFSI表示了IC卡的接纳的IFSC的最大长度.IFSI的取值范围为”10”至”EF”,即IFSC的范围为16-254字节。因此,IC卡

53、可能接收的最大块长度为(IFSC+3+1)字节,包括了头域和尾域。在复位应答中所确定的长度必须用于用卡过程中的其余部分,直至由于IC卡向终端发送S块(IFS请求)取得新的IFSC值为止。 终端的信息域大小(IFSD)即终端可能接收的数据块的最大长度。紧接在复位应答的起始长度必须是32字节,这个长度适用于用卡过程的其余部分,或由终端向IC卡发送一个S块(IFS请求)而得到一个新的IFSC值为止。为了加快IC卡对终端的通讯,建议终端应支持的IFSD之值为254字节。T=1的时序 按复位应答中TC1之值的规定,由终端送给IC卡的相邻二字符起始位的上升沿间的最小区间必须在11至266etu之间。 由I

54、C卡送给终端的相邻二字符起始位的上升沿间的最短时间间隔应是11个etu,同一块中两个连续字符起始位上升沿之间的最大时间间隔CWT不得超过(2CWI+11)etu, CWI之值在0-5之间, 所以CWT的取值范围为12-43etu之间。 终端发给IC卡的最后一个字符的起始位上升沿与由IC卡发出的第一个字符起始位上升沿之间的最大时间间隔BWT不应超过(2BWI960)+11etu。BWI之值在0-4之间,所以BWT将在971-15371etu之间。 反向传送的二相邻字符的起始位上升沿之间的最小时间间隔(块保护时间BGT)为22etu。容错操作 容错操作时的协议规则定义如下: A、 在复位应答后,第

55、一个数据块是则终端发往IC卡,而且只能是一个I块S块。 B、若终端不希望使用长度为32字节的初始值,它必须发送一个S(IFS请求)块给IC卡。S(IFS请求)块的PCB之值必须为“c1”,以表达一个改变IFSD的请求。INF域包含一个字节,其值表明了所请求的新IFSD的长度的字节数。这个字节的取值范围为“20”“FE”之间。IC卡应向终端回送了一个S(IFS响应)块,以确认对IFSD的长度的改变。其中S(IFS响应)块的PCB之值应是“E1”,而INF域应具有与请求改变块的INF域相同的值。 C、若IC卡希望把IFSC的长度从复位应答中所给出其的起始值加以改变,它必须发送一个S(IFS请求)块

56、给终端。S(IFS请求)块的PCB之值必须为“C1”,以表达一个改变IFSC的请求。INF字段必须包含有一字节,其值表明了所请求的新的IFSC的长度的字节数。这个字节的取值范围为必须在“10”至“FE”之间。终端必须回送一个S(IFS响应)块给IC卡,以确认对IFSC的长度的改变。在响应中送出的S(IFS响应)块的PCB之值必须是“E1”,且INF字段必须和请求改变的字组中的INF字段有相同之值。 D、如果使用了结点编址,则由终端所传送的第一个块中的SAD和DAD必须被置为贯穿整个用卡过程始终所用之值。若不采用节点地址,则将其设成零。 E、在用卡过程中,只有本节所规定的块才能相互传送。半双工块

57、传输协议包括了终端和IC卡交替传输块的情况。当发送方完整的传输了一个字组后,就应节换至接收状态。 F、当接收方接收的字符数符合LEN和EDC之值时,接收方就获得了发送权。 G、若接收方需要确认发送方传来的I块,则应在回送给发送方的I块中指明。若使用链接,则在R块的序列号中指明(链接的最后一个数据块除外) H、若响应中收到的I-块的序列号与前一个已收到的I-块序列号不同,则发送方即认为此I-块已被确认。如果先前未收到过I-块,则在响应中I-块序列号必须为0。 I、当链接时,如果在响应中收R-块的序列号与已确认的I-块的序列号不同,则发送方即认为此I-块已被确认。 J、如果IC卡需要比BWT长的时

58、间去处理先前接收到I-块,它就要发送一个等待时间扩展请求S块(WTX请求Waiting Time Exension请求),其中INF包含有所需的BWT值的一个字节的二进制整数,其值为BWT的倍数。终端必须传送一个在INF中具有相同值的等待时间扩充响应S(WTX响应)块来确认。取得的时间从S块(WTX响应)的最末字符的上升沿开始算起。 K、S块总是成对使用,一个S(请求)块总对应个S(响应)块。链接 当发送方要传输的数据长度超过IFSC或IFSD所定义的字节数时,它必须把其分成几个相连的I块。使用了下述的链接功能来实现这样的多个I块的传输。I-块的链接为PCB中的b6所实现,b6的编码如下:b6

59、=0,链中的最后一个块;b6=1,后面还有后续块。 任何一个b6=1的I-块,必须由一个R-块来确认。 如果接收正确,对应b6=0的最末块,会被I-块确认,否则,就会被R块确认。 A、链接的规则IC卡和TTL都必须支持链接,而且链接只能沿一个方向来进行,其规则如下: 终端是接收方时,只要来自IC卡的每个块的长度IFSC字节,终端应能够接收一组 链接的I块。 终端是接收方时,如果IC卡发送的I块的长度IFSC,终端应通过发送一个R块 来表示拒绝,R块的PCB的b1b4位之值为“2”IC卡是接收方时,只要来自终端的每个块长度IFSC字节,IC卡必须接受一系 列从终端发送的链接在一起的I-块。 IC

60、卡是接收方时,IC卡通过发回一个R-块来拒绝由终端发送的长度IFSC的I- 块,R块的PCB的b1b4位的值为“2”。 IC卡是发送方时,IC卡必须能发送链接在一起的I块,每块的长度IFSC字节。 终端是发送方时,终端必须发送链接在一起的I块,每块的长度IFSC字节。链接块的结构C-APDU是在I块的INF域中。并由TTL传送给IC卡的。若C-APDU太长,以致不能装入一个块,可通过如下的方法链接在几个块中,说明如下:字组(1)CLA INS P1 P2 LC DATA DATA字组(2) DATA DATA 字组(n) DATA Le 如果由IC卡回送的数据和状态太多,以致不能装入一个块,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论