首页 ISO7816(传输协议)

ISO7816(传输协议)

举报
开通vip

ISO7816(传输协议)如有侵权,请联系网站删除,仅供学习与交流【精品文档】第PAGE31页ISO7816(传输协议)第一部分:卡的电气特性卡的触点分配IC卡触点的分配遵循ISO7816-2的规定,如下所示:C1电源电压(Vcc)C5地(GND)C2复位信号(RST)C6不使用C3时钟信号(CLK)C7输入/输出(I/0)卡的电气特性测量约定所有测量均应在IC卡和接口设备(IFD)之间的触点上进行,并以GND为参照。环境温度范围为0℃~50℃。所有流入IC卡的电流均为正值。输入/输出(I/O)该触点作为...

ISO7816(传输协议)
如有侵权,请联系网站删除,仅供学习与交流【精品文档】第PAGE31页ISO7816(传输 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 )第一部分:卡的电气特性卡的触点分配IC卡触点的分配遵循ISO7816-2的规定,如下所示:C1电源电压(Vcc)C5地(GND)C2复位信号(RST)C6不使用C3时钟信号(CLK)C7输入/输出(I/0)卡的电气特性测量约定所有测量均应在IC卡和接口设备(IFD)之间的触点上进行,并以GND为参照。环境温度范围为0℃~50℃。所有流入IC卡的电流均为正值。输入/输出(I/O)该触点作为输入端(接收模式)从终端接收数据或者作为输出端(传输模式)向终端传送数据。在操作过程中,IC卡和终端不能同时处于传输模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏IC卡。接收模式在接收模式下,当电源电压(VCC)在第6中所规定的范围内时,IC卡应能正确的解释来自终端的信号,其特性如表2所示:符号最小值最大值单位VIH0.7×VccVccVVIL00.8VtR和tF----1.0μs表2接收模式下的I/O的电气特性(2)传输模式在传输模式下,IC卡向终端传送数据,其特性如表3所示:符号条件最小值最大值单位VoH-20μA 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 接口设备触点间测量时)应小于500mΩ。三、终端的电气特性测量约定同卡片。输入/输出(I/O)该触点作为输出端(传输模式)向IC卡传送数据,作为输入端(接收模式)从IC卡接收数据。在操作过程中,终端和IC卡不能同时处于传输模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏终端。当终端和IC卡都处于接收模式时,触点将处于高电平状态。为了达到这种状态,终端应在VCC上或其它装置上连接一个上拉电阻。除非VCC加电并稳定在第6中允许的范围内,终端不应将I/O置于高电平状态。见卡操作过程中有关触点激活的内容。在任何情况下,均应将流入或流出I/O触点的电流限定在±5mA以内。传输模式在传输模式下,终端向IC卡传送数据,其特性如表7所示:符号条件最小值最大值单位VoH-20μA 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 》(即《支付系统集成电路卡规范》)的规定来叙述的。对于其它应用的IC卡,只要符合ISO-7816标准的规定,其用卡过程也大体相同。用卡过程(一)正常的用卡过程这里所说的正常用卡过程,是指IC卡所插入的终端设备将其触点断电后,持卡人才拔出IC卡而结束的用卡过程。1、用卡过程可划分为如下几个阶段:把IC卡插入IFD(接口设备InterfaceDevice)并接通各触点。使IC卡复位并在终端和IC卡间建立通讯。执行交易释放触点并取出IC卡。所谓释放触点。2、IC卡插入和触点接通序列IC卡插入IFD,但触点还没有进行物理接触时,终端必须确保所有触点都处于低电平状态(VOL值应满足终端电气特性的规定(一般为0~0.4V),而VCC小于或等于0.4V或0.4V以下)。当IC卡按插入的方向置入时,IFD应能检测它是否定位在标准的正确位置,即IFD触点的中心恰好和IC触点的中心相重合的位置,允许误差为±0.5mm。当IFD检测到IC卡是处在这个范围内时,且所有的触点都已接触上,其激活过程如下(如图1-4所示):1、终端在整个激活过程中始终保持RST(复位Reset)为低电平状态;2、触点物理接通后,应在I/O或CLK(时钟Clock)激活之前给VCC加电;3、终端确认VCC稳定在5V±0.4V(状态H)的范围内后,终端将I/O线置为接收方式,并提供一个(5。1。4。4)规定的稳定而适用的时钟,终端将其I/O置于接收方式可以在时钟启动之前,最迟不得超过时钟启动后的200个时钟周期。注:根据设计,终端可以给VCC一个足够的等待时间使之稳定,待稳定后再通过测量或其它方式检查它的状态。终端将其I/O置为接收模式后,其I/O状态取决于IC卡上I/O的状态。IC卡的复位冷复位触点接通后,终端将发出一个冷复位信号,并从IC卡得到一个复位应答,过程如下:从T0时刻起,终端施加CLK;在T0后不超过200个时钟周期内,IC卡必须将其I/O线置为接收方式。由于终端也必须在这段期限内置其I/O线驱动器为接收方式,所以I/O线在T0后最迟不超过200个时钟周期的时间内置为高电平。为此,终端的I/O触点应经过一个上拉电阻接到VCC;终端应从T0开始保持RST端为低电平状态,并在从T0开始到T1后的40,000至45,000个时钟周期内将RST置为高电平;IC卡上I/O的复位应答将在T1时刻后的400至40,000个时钟周期内开始;如果IC卡未在这段时间内进行复位应答,则终端必须启动一个触点释放时序。热复位IC卡对终端的复位应答有着规定的规格和内容(详见后述),如果终端收到的复位应答不符合规定要求时,终端将启动一个热复位并从IC卡获得复位信号。过程如下:热复位从时刻T0‘开始,此时终端置RST为低电平状态;在整个热复位过程中,终端应保持VCC和CLK稳定并符合上一部分的规定;在T0‘之后的最多200周期内,IC卡和终端都必须置I/O为接收方式,即I/O线在T0‘后最迟不超过200个时钟周期内置为高电平;终端应从T0‘开始保持RST为低电平状态,并在T0‘至T1‘后的40,000到45,000个时钟周期内将RST端置为高电平状态。IC卡上I/O的复位应答将在T1‘后的400至40,000个时钟周期内开始;如果IC卡未在这段时间内进行复位应答,则终端必须启动一个触点释放时序。执行交易IC卡的应用选择以及其后在IC卡与终端间的信息交换都是执行一项交易所必不可少的,详情将在以后叙述。触点释放序列作为用卡过程的最后一个步骤,不论交易是正常或异常结束(包括用卡过程中从IFD取回IC卡),终端必须按以下步骤释放IFD的触点。终端以置RST为低电平状态来开始触点释放序列;在置RST为低电平状态之后且Vcc断电之前,终端将CLK和I/O也置为低电平;最后,在实际断开触点之前,终端必须先将VCC去电,VCC在IFD触点实际断开之前必须为0.4V或更低些。(二)交易过程的非正常结束如果在执行一项交易的过程中,过早地把IC卡从终端以高达1m/S的速度取出时,终端必须能够觉察出IC卡的运动,并按照上述触点释放序列,并在相对位移达到1mm之前,释放所有的IFD的触点。在这种情况下不得对IC卡产生任何电气的或机械的损伤。二、字符的物理传送交易过程中,数据以异步半双工方式经I/O线在终端和IC卡双向传送。由终端向IC卡提供时钟信号,并以此来控制交易的时序。信息交换时的数据位和字符的规定如下所述,它适用于复位应答,以及现行的符合ISO7816标准规定的T=0和T=1两种传输协议。(一)位持续时间I/O线上所用的位持续时间被确定为基本时间单位(etu-elementarytimeuint),它和时钟频率间存在着线性关系。终端给出时钟信号的IC卡被称为外时钟卡。复位应答时的位持续时间称为初始etu,并由正式算出初始etu=372/f秒式中f的单位为Hz,表示复位响应时的初始频率。复位应答(以及全局参数F与D的设立,见后述)之后的持续时间,称为当前etu,其计算公式为:当前etu=F/Df秒式中f的单位为Hz,表示后续传送时的当前工作频率。注:《EMV卡规范》约定当前仅F=372、D=1之值受到支持,因而,初始的和当前的etu是一样的,均由372/f算出。今后,除非特别说明,凡提到etu指的都是当前etu。在卡的整个交易过程中,f的值应在1~5MHZ之间。(二)字符帧数据在I/O线上以字符帧传送,所用约定在IC卡复位应答传送的起始字符TS中予以规定(参见后述)。字符传送之前,I/O线置为高电平状态。一个字符帧包含着10个相连的数位:——1个状态为L的起始——8数位组成的数据字节——1位偶校验位起始位由接收端周期性地对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将被置为低电平状态,以向发送方表明出现错误。三、复位应答IC卡被终端复位后,用一串称之为复位应答(ATR-AnswerToResest)的字节应答。这些字节传达给终端的信息规定了IC卡和终端之间要建立的通讯的某种特性。我们规定一个字符的最高位为b8位,最低位为b1位,其代码用括在引号的16进制数表示,如“3F”。(一)复位应答期间回送字符的物理传输复位应答期间,相连二字符的起始位上升沿之间的最小间隔为12初始etu,而最大间隔为9600初始etu。在复位应答期间(热的或冷的),IC卡应在19,200个初始etu之内发送完所有要回送的字符。发送时间应从第一字符(TS)起始位的上升沿开始,到最后一个字符的起始位上升沿后的12个初始etu之间。(二)复位应答时回送的字符IC卡在复位应答时回送的字符的数量和编码随传输协议和所支持的传输控制参数之值而定。本节描述两各种基本的复位应答:一种是IC卡支持T=0,另一种是IC卡支持T=1,它规定了回送的字符,以及所容许的传输控制参数的数值范围。表1T=0的复位应答回送的字符字符值备注TS“3B“或“3F”表示正向或反向约定T0“6X”TB和TC1出现,X表示历史字节的存在个数TB1“00”不使用VppTC1“00”到“FF”表示需要额外保护时间,数据“FF”有特殊含义表2T=1的复位应答回送的字符字符值备注TS“3B”或“3F”表示正向或反向约定T0“EX”TB1和TD1出现,X表示历史字节存在的个数TB1“00”不需要VppTC1“00”到“FF”表示所需额外保护时间的数量,数据“FF”有特殊含义。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)为32个。《EMV》规范只要求(最低限度)终端支持这里所说的基本的ATR,以及在“终端反应”中所指定的任何附加要求。以下的说明中,如果指出一个终端必须拒绝IC卡,这就意味着终端必须发出一个热复位或释放IC卡的触点以结束用卡过程。TS——起始字符TS执行两项功能:向终端提供了一个已知的位组合模型,以便于同步;提示所用逻辑约定,以便对后继的字符进行解释。基本响应:IC卡必须以下列二值之一来回送TS反向约定(H)LHHLLLLLLH,其值为“3F”;正向约定(H)LHHLHHHLLH,其值为“3B”。终端反应:终端必须拒绝回送的TS不等于“3B”或“3F”的IC卡。注:特别推荐使用“3B”作为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,则IC卡回送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|Yi+1|T|Yi+1——接口字符存在的指示符B5=1,发送TAi+1B6=1,发送TBi+1B7=1,发送TCi+1B8=1,发送TDi+1T=0异步半双工字符传输协议T=1异步半双工字组传输协议TA1、TB1、TC1、TB2是全局性接口字符,其余的TAi、TBi、和Tci是专用接口字符,它们的解释取决于TDi-1中的T所指明的协议类型。TA1TA1传达FI和DI的数值,其中:FI用来确定F的数值,F为时钟频率转换因子,用于修改继复位应答之后由终端所提供的时钟频率。DI用来确定D的数值,称为比特率调节因子,用于调整复位应答之后所使用的位持续时间,ATR后位持续时间(当前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。TB1TB1传送PI1和I1之值,其中:——PI1在b1~b5位中定义,用于确定IC卡所需的最大编程电压P值。PI1=0表示IC卡不使用Vpp。——I1在b6~b7位中定义,用于确定IC卡所需的最大编程电流I值。PI1=0表示不使用此参数。——b8位不使用,并设置为逻辑“0”。基本响应:IC卡将回送TB1=“00”,表示IC卡不使用VPP。终端响应:若T0的b6被置“1”,IC卡回送的TB1为任意值时,或T0的b6被置为“0”,IC卡回送TB1时,终端不得拒绝此卡,但也不产生VPP,并继续用卡过程,就象回送了TB1=“00”一样。TB1的基本响应代码:B8B7B6B5B4B3B2B100000000TC1TC1传送N之值,N为额外保护时间。N为TC1的b8~b1位的二进制码,其值表示了额外保护时间所增加的etu数,其值为0~255之间。N=255(TC1=“FF”)有特别的含义,它表明两相邻字符的起始位前沿之间的最短间隔时间:T=0,为12etuT=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表示有无更多的接口字节传送,以及关于传输协议类型的信息,其中高半字节用来表示字符TA2至TD2是否存在,b5~b8各位中被置为逻辑“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的存在与否相应地表示IC卡是以特定模式或是交互模式工作。基本响应:IC卡UQF不回送TA2,TA2不存在表示以交互模式工作。终端反应:如果终端在复位应答期间能够支持由IC卡通过TA2所指明的额外条件,它不拒绝这样的IC卡,并应能立即使用这些条件。TB2TB2传送PI2,PI2用于确定IC卡所需编程电压P的值。当它存在时,它就取代由TB1中回送的PI1的值。基本响应:IC卡不应回送TB2。终端反应:终端不应拒绝IC卡回送TB2,但不论是否回送、回送了何值,终端均不产生VPP。TC2TC2是T=0型协议所特有的,它传达了用来 决定 郑伟家庭教育讲座全集个人独资股东决定成立安全领导小组关于成立临时党支部关于注销分公司决定 由IC卡发送的任意一个字符起始位上升沿与由IC卡或终端传送的前一字符的起始位上升沿之间的最大间隔的工作等待时间(WI)。工作等待时间为:960×D×WI。基本响应:IC卡不得回送TC2,且后续通讯中使用缺省值WI=10。终端反应:终端不得拒绝回送TC2=10的IC卡。TD2TD2表示是否还要发送更多的接口字节,以及关于后继传输所用的协议类型,其中高半字节用来表示字符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。终端反应:当IC卡回送的TD2的高半字节有任意值(假设回送之值正确且与实际回送的接口字符TA3至TD3一致),而低半字节的值为“1”或“E”,则终端不得拒绝,终端必须拒绝回送其它TD2之值的IC卡。TA3TA3回送信息域长度整数(IFSI),它决定了IC卡信息字段长度(IFSC),并规定了IC卡能够接收的字组的最大长度。它以字节形式表示IFSC的长度,取值范围为“01”至“FE”之间的任何值,“00”和“FF”二值留作备用。基本响应:如果使用了T=1,则IC卡必须以TA3为“10”至“FE”间之值予以回送,以表示初始的IFSC在16至254字节的范围内。终端反应:终端不得拒绝未回送TA3(假设TD2的b5位被置为“0”)的IC卡,但如果接受了这样的IC卡,它必须以“20”作为TA3之值继续用卡过程。终端必须拒绝回送的TA3之值在“00”至“0F”间或为“FF”的IC卡。(10)、TB3TB3表明了用来计算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之间。(11)、TC3TC3指明了所用的块错误检测代码的类型,类型由b1位表示,而b2至b8未用。基本响应:使用纵向冗余校验(LRC)作为错误检测码时,IC卡不必回送TC3。TCK——校验字符TCK具有一个检验复位应答期间所发送数据完整性的值,TCK的值应使从T0至TCK(包括TCK)的所有字节的异或操作结果为0。基本响应:如使用T=0协议,将不发送TCK,而在其他情况下,都发送TCK。终端反应:在使用T=0协议时,终端应拒绝回送TCK的IC卡。如果IC卡回送了TCK,终端应能对TCK进行赋值。接口字符的基本响应字符编码表接口字符编码条件B8b7b6b5b3b2b1说明TA1BXXXXXXX可不回送,缺省值为F=372,D=1TB1B0000000Vpp未连至IC卡TC1BXXXXXXX额外保护时间N之值TD1T=110000001T=0时,可不回送TD1TA2专用接口字符————————协商方式(非专用)时,可不回送TA2TB2------————————不得回送,因为是表示Vpp之值的PI2TC2T=0————————传达WI用,IC卡不得回送,缺省为10TD2T=100110001T=0时,不得回送TA3T=1XXXXXXXX“00”—“F”及“FF”禁止使用TB3T=10XXX0YYYXXX在000~100内,YYY在000~101内TC3T=1可不回送,缺省之意为采用LRG校验表中B表示适用于T=0和T=1两种传输协议;X或Y表示可为0或1,编码的限制参看各有关说明,——表示《EMV规范》中未采用。(四)复位应答的序列和一致性随着IC卡的触点的实际接通,终端必须启动一个冷复位。如果IC卡的冷复位的应答所回送的字节不符合前面小节中的规定,或IC卡的复位应答未在19,200初始etu之内完成,终端不必立刻取消用卡过程,而是发出一个热复位信号。如果应答符合要求,而且是在19,200初始etu之内回送,则终端必须使用回送的参数进行卡片操作过程。如果终端启动了一个上述的热复位,而IC卡对热复位的应答所回送的字节仍不符合上述小节中的规定,或IC卡的复位应答未能在19,200初始etu之内完成,则终端将执行释放IC卡的触点序列,从而取消用卡过程。如果对热复位的应答符合这些规定,而且是在19,200初始之内回送,则终端必须使用回送的参数处理卡片操作过程。不论是对冷复位或热复位,如果在应答时由IC卡回送的相邻二字节的起始位的上升沿之间的时间超过了9,600初始etu,终端就必须执行释放触点序列,从而取消用卡过程。(五)复位应答——终端的 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图10展示出IC卡回送复位应答给终端的流程,以及由终端为保证对本节的一致性而执行的检测。注2:如果过程在这一点上取消,IC卡可能是一个经业务上同意由此终端接受的非金融方面的支付卡,终端应用其插入之前,通过一特殊过程,做好接受此支付卡的准备,这可由终端设置的一个专用按钮来完成,因此,该设置就具有专用性质.置情况=2冷复位情况=1吗?ATROK?继续使用如上决定之参数或参看注4启动置情况=1(参看注1)冷复位TCK(如果出现)和奇偶校验OK?注1:“情况”是一个过程变量用来指示冷或热复位在工作.情况=1----冷复位情况=2-----热复位是是是是是是取消参看注2ATR为OK,若由IC卡回送的ATR的参数和结构遵照了第8节的需求或识别了一个专用ATR.注4:不属的专有应用,可在这一点上使用一个协议选择过程来启动.取消(参看注3)注3:如果过程在这一点取消,随着从终端中取出IC卡,并采取所需之正确措施后,重新置入IC卡再试之,此时在终端上应显示相应报文.图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)过程。在复位应答中提供的其它参数,以及相关的具体协议将在本节的相应部分予以规定。两种协议都是按照如下的分层模型制定的:——物理层,描述信息位的交换,是两种协议共用的。——数据链路层,包括下列规定:a)字符帧,规定字符的交换,是两种协议共用的。b)字符协议T=0,规定了T=0所指定的字符交换。c)规定了T=0的错误检测和校正。d)字组协议T=1规定了T=1所指定的字组交换。e)规定了T=1的错误检测和校正。——传输层,规定了各个协议的面向应用的报文传送。——应用层,根据应用协议规定了报文的交换,应用协议对于两种传送协议是共用的。(一)物理层:T=0和T=1两协议所用的物理层和字符帧已在前面章节做了规定,适用于IC卡和终端交换的所有报文。(二)数据链路层:本小节说明T=0和T=1协议的时序、信息字段INF(INFormationField)和错误处理。字符帧在前面章节中描述的字符帧适用于IC卡和终端之间的所有交换报文。T=0字符协议特定选项——用于T=0的时段分配在复位应答中,TC1的值决定了终端送到IC卡的相邻二字符的起始位的上升沿的最小区间在12至266etu之间。由IC卡传送给终端的相邻二字符的起始位上升沿之间的最小间隔必须是12etu。由IC卡送出的任何字符的起始位上升沿与由IC卡或终端送出的前一字符的起始位上升之间的最大时间间隔(工作等待时间)必须不超过960×D×WI=9,600etu。(位速率转换因子D的缺省值为1。当ATR中不回送TC2时,WI的缺省值为10)。相邻二字符起始位上升沿间的最小时间间隔在反方向传输时不小于16个etu.。由终端传送给IC卡的相邻二字符的起始位上升沿之间的最小时间间隔是由TC1之值控制的,可以小于反方向传送的二字符间所容许的最小区间16etu。命令头CLAINSP1P2P3命令均由由终端应用层(TAL——TerminalApplicationLayer)发出的。它经终端传输层(TTL——TerminalTransportLayer)以5个字节的称做命令头的形式向IC卡发出命令。命令头由五相连的字节构成:CLA——命令类别INS——指令代码P1、P2——指令附加特定参数P3——由INS的编码而定,或是表示命令中送给IC卡的数据,或是等待从IC卡响应的最大数据长度。对于T=0,这些字节和随命令一起发送的数据就构成了命令传输协议数据单元(C-TP-DU)。命令应用协议数据单元C-APDU到C-TPDU的变换在后面讲述。TTL传送这五个命令头字节给IC卡并等待着一个过程字节。过程字节IC卡收到命令头后,应回送给终端传输层(TTL)一过程字节或状态字节。过程字节向TTL指明下一步必须采取的措施。过程字节的编码和必须采取的措施如表4-1所示。在情况Ⅰ、Ⅱ或Ⅲ时,当TTL采取的措施实行后,它就等待着另一个过程字节。当情况为Ⅳ时,在收到第2个状态字节SW2之后,TTL必须处理如下:如果过程字节为“61”,则TTL送出一条GETRESPONSE命令头标给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终端对过程字节的响应过程字节之值措施Ⅰ等于INS字节由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=0时,这个过程是强制的,但在复位应答时不使用。如果一个字符没有正确地接收到或接收正确但奇偶位错,则接收方必须在字符起始位的上升沿之后的(10.5±0.2)个etu内,向I/O线发送持续1-2个etu的低电平信号,以指示出了错误。发送方必须在被送出的字符的起始位的上升沿后的(11±0.2)个etu内,检测I/O的电平状态,若I/O线处在高电平状态,由表明字符已被正确接收。如果发送方检测到一个错误,则在检测到此错误之后至少延迟2etu,并重发送有争议的字符,最多只发送三次。T=1字组协议协议包含IC卡和TTL间的字组传送,以传达命令和R-APDU及控制信息(例如,确认)。数据链路层的字组帧结构,协议的时序和INF,以及协议的运用规定如下。1)字组帧结构前面所规定的字符帧仍是适用的,字组的结构如(表4-2所示)下:强制性的组头字段可选性的信息字段强制性的组尾字段表4-2字组的结构组头字段信息字段组尾字段结点地址(NAD)协议控制字节(PCB)长度(LEN)APDU或控制信息(INF)错误检测(EDC)1字节1字节1字节0—254字节1字节A、组头字段组头字段由3个强制性的字节组成:结点地址用以标识数据块的源地址和目标地址,并提供对VPP状态控制的节点地址。协议控制字节,控制数据的传送。长度,指可选数据域长度。结点地址(NAD—NODEADDRESS)NAD的b1~b3位表明字组的源点地址(SAD—SourceNodeAddress),而b5~b7则表明字组指向的目标地址(DAD—DestinationNodeAddress)b4和b8位未用且必须置为0。终端对结点编址的使用是可选的,但IC卡在使用T=1型协议时,必须支持按如下规则的结点编址:若不使用节点地址,终端发往IC卡的第一个数据块的SAD和DAD值均应设为0。若使用节点地址,由终端发给IC卡的第一数据块的SAD和DAD应设定为不同的值(其中之一可以是零)。若使用了结点地址,在卡片操作过程中,IC卡收到的第一个有效I块和S块中的NAD,用于建立起整个卡片操作过程中的终端和IC卡的节点地址,在同一个过程中,终端发给IC卡的后续块应使用同一个NAD,如此建立的结点地址适用于所有类型的数据块。在一个用卡过程中,任何由IC卡送向终端的字组,在此过程中必须使用由终端送向IC卡的第一字组确定的结点地址。(注意,从终端送向IC卡的源点和目标地址,在由IC卡送向终端时要分别变为目标和源点地址)。在卡片操作过程中,若IC卡接收到的数据块的NAD和交易开始时所建立的NAD不同,则IC卡应向交易开始时建立的DAD回复一个R块。协议控制字节(PCB-ProtocolControlByte)协议控制字节对数据块的类型进行编码,有三种类型的数据块,规定如下:用于传送APDU的信息字组(I块)用于传达确认(ACK-Acknowlegement)或否认(NAK-NegativeAcknowlegement)的接收就绪块(R块)用于交换控制信息的管理块(S块)PCB的编码按其类型而定,如表4-3所示。表4-3PCB的编码信息位I-字组R-字组S-字组B8011B7顺序号01B6链接(多个数据)00=请求1=响应顺序号0=再同步请求B5B4B3B2B1RFURFURFURFURFU1=信息字段容量请求2=取消请求3=扩充BWT请求4=VPP错误(《EMV规范》未用)未用值为RFU长度(LEN-Length)长度指明块的INF(InformationField)的长度,取值范围2~254个字节。注意:在《EMV规范》中不支持LEN=0的I-块。信息域(INF)信息字段是有条件的,当出现在I块中时,它传送的是应用数据;在S块中,它传送控制信息;在R块中不包含INF。尾域(EDC-ErrorDetectionCode检错码)组尾字段包含所传送的字组的错误检测码(EDC)。当奇偶错或EDC错误发生时,字组是无效的。作为EDC在《EMV规范》中仅支持纵向冗余校验(LRC-LongitudinalRedundancyCheck)。LRC的长度是一个字节,从NAD开始到INF的最后字节在内的所有字节的“异或”值即为此字节之值。块的编号I块的编号采用了一位编码的模2数,编号系统对IC卡保持独立,而终端则作为发送方。在复位应答后,发送方传送的第一个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卡可能接收的最大块长度为(IFSC+3+1)字节,包括了头域和尾域。在复位应答中所确定的长度必须用于用卡过程中的其余部分,直至由于IC卡向终端发送S块(IFS请求)取得新的IFSC值为止。终端的信息域大小(IFSD)即终端可能接收的数据块的最大长度。紧接在复位应答的起始长度必须是32字节,这个长度适用于用卡过程的其余部分,或由终端向IC卡发送一个S块(IFS请求)而得到一个新的IFSC值为止。为了加快IC卡对终端的通讯,建议终端应支持的IFSD之值为254字节。T=1的时序按复位应答中TC1之值的规定,由终端送给IC卡的相邻二字符起始位的上升沿间的最小区间必须在11至266etu之间。由IC卡送给终端的相邻二字符起始位的上升沿间的最短时间间隔应是11个etu,同一块中两个连续字符起始位上升沿之间的最大时间间隔CWT不得超过(2CWI+11)etu,CWI之值在0-5之间,所以CWT的取值范围为12-43etu之间。终端发给IC卡的最后一个字符的起始位上升沿与由IC卡发出的第一个字符起始位上升沿之间的最大时间间隔BWT不应超过{(2BWI×960)+11}etu。BWI之值在0-4之间,所以BWT将在971-15371etu之间。反向传送的二相邻字符的起始位上升沿之间的最小时间间隔(块保护时间BGT)为22etu。容错操作容错操作时的协议规则定义如下:A、在复位应答后,第一个数据块是则终端发往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请求)块给终端。S(IFS请求)块的PCB之值必须为“C1”,以表达一个改变IFSC的请求。INF字段必须包含有一字节,其值表明了所请求的新的IFSC的长度的字节数。这个字节的取值范围为必须在“10”至“FE”之间。终端必须回送一个S(IFS响应)块给IC卡,以确认对IFSC的长度的改变。在响应中送出的S(IFS响应)块的PCB之值必须是“E1”,且INF字段必须和请求改变的字组中的INF字段有相同之值。D、如果使用了结点编址,则由终端所传送的第一个块中的SAD和DAD必须被置为贯穿整个用卡过程始终所用之值。若不采用节点地址,则将其设成零。E、在用卡过程中,只有本节所规定的块才能相互传送。半双工块传输协议包括了终端和IC卡交替传输块的情况。当发送方完整的传输了一个字组后,就应节换至接收状态。F、当接收方接收的字符数符合LEN和EDC之值时,接收方就获得了发送权。G、若接收方需要确认发送方传来的I块,则应在回送给发送方的I块中指明。若使用链接,则在R块的序列号中指明(链接的最后一个数据块除外)H、若响应中收到的I-块的序列号与前一个已收到的I-块序列号不同,则发送方即认为此I-块已被确认。如果先前未收到过I-块,则在响应中I-块序列号必须为0。I、当链接时,如果在响应中收R-块的序列号与已确认的I-块的序列号不同,则发送方即认为此I-块已被确认。J、如果IC卡需要比BWT长的时间去处理先前接收到I-块,它就要发送一个等待时间扩展请求S块(WTX请求——WaitingTimeExension请求),其中INF包含有所需的BWT值的一个字节的二进制整数,其值为BWT的倍数。终端必须传送一个在INF中具有相同值的等待时间扩充响应S(WTX响应)块来确认。取得的时间从S块(WTX响应)的最末字符的上升沿开始算起。K、S块总是成对使用,一个S(请求)块总对应个S(响应)块。链接当发送方要传输的数据长度超过IFSC或IFSD所定义的字节数时,它必须把其分成几个相连的I块。使用了下述的链接功能来实现这样的多个I块的传输。I-块的链接为PCB中的b6所实现,b6的编码如下:——b6=0,链中的最后一个块;——b6=1,后面还有后续块。任何一个b6=1的I-块,必须由一个R-块来确认。如果接收正确,对应b6=0的最末块,会被I-块确认,否则,就会被R块确认。A、链接的规则IC卡和TTL都必须支持链接,而且链接只能沿一个方向来进行,其规则如下:——终端是接收方时,只要来自IC卡的每个块的长度≤IFSC字节,终端应能够接收一组链接的I块。——终端是接收方时,如果IC卡发送的I块的长度>IFSC,终端应通过发送一个R块来表示拒绝,R块的PCB的b1~b4位之值为“2”——IC卡是接收方时,只要来自终端的每个块长度≤IFSC字节,IC卡必须接受一系列从终端发送的链接在一起的I-块。——IC卡是接收方时,IC卡通过发回一个R-块来拒绝由终端发送的长度>IFSC的I-块,R块的PCB的b1~b4位的值为“2”。——IC卡是发送方时,IC卡必须能发送链接在一起的I块,每块的长度≤IFSC字节。——终端是发送方时,终端必须发送链接在一起的I块,每块的长度≤IFSC字节。链接块的结构C-APDU是在I块的INF域中。并由TTL传送给IC卡的。若C-APDU太长,以致不能装入一个块,可通过如下的方法链接在几个块中,说明如下:字组(1)CLAINSP1P2LCDATADATA字组(2)DATADATA字组(n)DATALe如果由IC卡回送的数据和状态太多,以致不能装入一个块,则就链接在几个I-块中,如下所示:字组(1)DATADATADATA字组(2)DATADATADATA字组(n)DATASW1-SW2以上是以情况4的命令为例来说明的,只展示了链接愉的INF域,每一块还有头域和尾域。T=1的错误检测和校正下列错误必须由TTL检出:传输错误(奇偶错或EDC错)或BWT超时。丧失同步(关于字符数量的上溢运行或下溢运行)。协议错(违反协议的规则)。取消关于链接块的请求。按照下述方法进行纠正错误:——重新传输块——释放IC卡的触点。错在IC卡,则IC卡应按下面给定的顺序,尝试纠正错误;——重新传输块。——处于无响应的。A、错误处理协议规则下列规则用于错误的处理和校正,在每一种情况下有一个R-块送出,低半字节应按表4-3的规定置成相应之值。——若在复位应答后,IC卡所接收的第一个块无效。它必须回送一个R块给TTL,并置b5=0和NAD=0。——如果TTL发送的任何块在BWT时间内没有得到IC卡的响应,TTL将通过使IC卡的触点处于静止状态来结束卡片操作过程。——如果响应I块的无效块被收到,发送方应发送一个R块,其中b5位置成期望的I块编号。——如果响应R块的无效块被收到,发送方应重发R块。——如果响应S块(请求)的S(响应)块没有收到,,发送方应重发一个S块(请求)。——如果响应S(响应)块的应答中收到无效块,发送方应重发一个R块,b5位设为下一个期望I块的编号。——如果TTL连续三次传送一个块,或IC卡连续两次传送一个块,而得不到有效的响应时,TTL必须释放IC卡的触点结束此用卡过程。——如果接收方检测到了上溢运行或下溢运行,在重新传输前必须等待一段时间(取CWT或BWT的最大值)——IC卡最多连续三次传送一个S(IFS请求)块,以试图从TTL获得一个有效的S(IFS响应)字组。在三次不成功的尝试后,IC卡即进入接收方式。——TTL不应发送一个S(ABORT取消请求)块,如果TTL从IC卡收到了一个S(ABORT请求),它必须释放IC卡触点以结束此用卡过程。(三)终端传输层(TTL)本节叙述的是在终端和IC卡用以传输命令和响应的APDU的机制。APDU都是命令或响应报文,既是命令或响应报文就可能包含着数据,TTL必须能对(五)中所规定的四种情况进行处理。C-APDU和R-APDU的结构也将在其中说明。C-APDU由TAL(终端应用层)传至TTL,在传送IC卡之前,应将其转换成传输协议认可的形式。IC卡处理完命令后,以R-APDU的格式将数据(如果存在)和状态码回送给TTL。T=0APDU的传送本小节叙述C-APDU和R-APDU的变换,TTL和IC卡间进行数据变换的机制,以及使用情况2或4的命令时,以GETRESPONSE命令取回IC卡的数据。1)C-APDU和R-APDU的变换及数据交换C-APDU和T=0命令头的变换与命令的情况有关。由数据(如果存在)与IC卡回送的状态变换到R-APDU取决于回送数据的长度以及状态字节的含义。状态字节SW1SW2=“61”或“6C”都是由IC卡回送来用以控制IC卡和TTL之间的变换的,它不会回送给TAL。若SW1SW2=“61”或“6C”就表示IC卡对命令的处理尚未完成。若SW1SW2=“9000”,就表示IC卡已在正常状态下完成了对命令的处理。SW1SW2的其它值(“61”或“6C”除外)均表示IC卡已结束对命令的处理,但处理不成功,原因在状态字节中指出。下面所述的是将IC卡加送的数据和状态字节构造成R-APDU方法,仅适用于IC卡已经完成命令处理(不管理成功与否)之后,以有IC卡在状态字节“61”或“6C”的控制下已经回送所有的数据(如果存在)之后,INS,INS和“60”过程字节的具体使用未做叙述。A、情况1C-APDU的头映射到T=0的命令头的前四个字节,而T=0的命令头的P3被置为“00”,交换的流程是:——TTL传送T=0的命令头标给IC卡;——IC卡回
本文档为【ISO7816(传输协议)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
人生旅程
暂无简介~
格式:doc
大小:210KB
软件:Word
页数:26
分类:初中语文
上传时间:2021-12-14
浏览量:95