ISO7816传输协议.docx
- 文档编号:29191925
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:46
- 大小:83.42KB
ISO7816传输协议.docx
《ISO7816传输协议.docx》由会员分享,可在线阅读,更多相关《ISO7816传输协议.docx(46页珍藏版)》请在冰豆网上搜索。
ISO7816传输协议
第一部分:
卡的电气特性
一、卡的触点分配
IC卡触点的分配遵循ISO7816-2的规定,如下所示:
C1
电源电压(Vcc)
C5
地(GND)
C2
复位信号(RST)
C6
不使用
C3
时钟信号(CLK)
C7
输入/输出(I/0)
二、卡的电气特性
1、测量约定
所有测量均应在IC卡和接口设备(IFD)之间的触点上进行,并以GND为参照。
环境温度范围为0℃~50℃。
所有流入IC卡的电流均为正值。
2、输入/输出(I/O)
该触点作为输入端(接收模式)从终端接收数据或者作为输出端(传输模式)向终端传送数据。
在操作过程中,IC卡和终端不能同时处于传输模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏IC卡。
(1)接收模式
在接收模式下,当电源电压(VCC)在第6中所规定的范围内时,IC卡应能正确的解释来自终端的信号,其特性如表2所示:
符号
最小值
最大值
单位
VIH
0.7×Vcc
Vcc
V
VIL
0
0.8
V
tR和tF
----
1.0
μs
表2接收模式下的I/O的电气特性
(2)传输模式
在传输模式下,IC卡向终端传送数据,其特性如表3所示:
符号
条件
最小值
最大值
单位
VoH
-20μA 0.7×Vcc Vcc V VoL 0 0 0.4 V tR和tF CIN(terminal)=30pFmax. ----- 1.0 μs 表3传输模式下的I/O的电气特性 除向终端传送数据外,IC卡应将其I/O信号驱动模式设置为接收模式,且不要求I/O具备任何电流源性能。 3、编程电压(Vpp) IC卡不需要编程电压Vpp。 4、时钟(CLK) 当VCC在第6中所规定的范围内时,IC卡将在具有表4所示特性的时钟信号作用下正常工作。 符号 条件 最小值 最大值 单位 VIH Vcc-0.7 Vcc V VIL 0 0.5 V tR和tF Vcc=min.Tomax. ----- 9%的时钟周期 μs 表4CLK的电气特性 当时钟占空因数处于其稳定运行周期的44%~56%之间时,IC卡应能正常工作。 当时钟频率处于1MHZ到5MHZ之间时,IC卡应能正常工作。 注: 在卡片操作过程中,频率值将由终端维持在复位应答期间所用频率的±10%之内。 5、复位(RST) 当VCC在第6中所规定的范围内时,IC卡应能正确的解释具有表5所示电气特性的复位信号。 符号 条件 最小值 最大值 单位 VIH Vcc-0.7 Vcc V VIL 0 0.6 V tR和tF Vcc=min.Tomax. ----- 1.0 μs 表5RST的电气特性 IC卡将利用激活的低复位信号,采用异步方式进行复位应答。 6、电源电压(VCC) 在电源电压VCC为5V±0.5V直流电的情况下,IC卡应能正常工作。 此时,时钟频率应在 第4中所规定的范围内。 最大电流为50mA。 7、触点电阻 在整个生命周期内,IC卡触点电阻(在清洁的IC卡和清洁的标准接口设备触点间测量时)应小于500mΩ。 三、终端的电气特性 1、测量约定 同卡片。 2、输入/输出(I/O) 该触点作为输出端(传输模式)向IC卡传送数据,作为输入端(接收模式)从IC卡接收数据。 在操作过程中,终端和IC卡不能同时处于传输模式,若万一发生此情况,I/O触点的状态(电平)将处于不确定状态,但不应损坏终端。 当终端和IC卡都处于接收模式时,触点将处于高电平状态。 为了达到这种状态,终端应在VCC上或其它装置上连接一个上拉电阻。 除非VCC加电并稳定在第6中允许的范围内,终端不应将I/O置于高电平状态。 见卡操作过程中有关触点激活的内容。 在任何情况下,均应将流入或流出I/O触点的电流限定在±5mA以内。 (1)传输模式 在传输模式下,终端向IC卡传送数据,其特性如表7所示: 符号 条件 最小值 最大值 单位 VoH -20μA 0.8×Vcc Vcc V VoL -1mA 0 0.4 V tR和tF CIN(ICC)=30pFmax. ----- 1.0 Μs 正负脉冲峰值 -0.25 Vcc+0.25 V 表7传输模式下的I/O的电气特性 (2)接收模式 在接收模式下,终端应能正确的解释从IC卡发来的具有表8所示特性的信号。 符号 最小值 最大值 单位 VIH 0.7×Vcc Vcc V VIL 0 0.8 V tR和tF ---- 1.0 Μs 表8接收模式下的I/O的电气特性 3、编程电压(VPP) 终端不产生编程电压VPP。 4、时钟(CLK) 终端将产生一个具有表9所示特性的时钟信号: 符号 条件 最小值 最大值 单位 VoH 0 Vcc-0.5 Vcc V VoL -50μA 0 0.4 V tR和tF CIN(ICC)=30pFmax. ----- 8%的时钟周期 Μs 正负脉冲峰值 -0.25 Vcc+0.25 V 表9CLK的电气特性 频率范围在1MHZ~5MHZ之间,且在整个交易期间,其变化范围不超过±1%(见卡的操作过程)。 时钟占空因数应在其稳定运行周期的45%~55%之间。 5、复位(RST) 终端产生一个具有表10所示特性的复位信号: 符号 条件 最小值 最大值 单位 VoH 0 Vcc-0.5 Vcc V VoL -50μA 0 0.4 V tR和tF CIN(ICC)=30pFmax. ----- 0.8 Μs 正负脉冲峰值 -0.25 Vcc+0.25 V 表10RST的电气特性 6、电源电压(VCC) 终端提供一个5V±0.4V的直流电压,并能稳定输出0~55mA的电流。 终端应带有保护电路以防止在误操作如对地或VCC短路时所造成的损坏。 误操作既可能来源于内部,也可能来自外部接口如电源干扰、通讯链路故障等。 在IC卡的正常操作中,电流脉冲可在IC卡触点上引起VCC波动。 电源应能中和小于40nAs且持续时间不超过400ns的电源波动。 并能承受IC卡上100mA的电流消耗。 7、触点电阻 在终端的整个设计寿命期间,触点电阻(在清洁的接口设备和清洁的标准IC卡触点间测量时)应小于500mΩ。 8、短路保护 当任何两个触点之间发生短路时,无论时间长短,终端都不应被损坏或功能失常。 9、插入IC卡后,当对终端进行加电或断电 插入IC卡后,当对终端进行加电或断电时,触点的接口界面不应出现杂乱信号或电源干扰,触点激活和释放的时序见用卡过程。 第二部分: IC卡的用卡过程 以下用卡过程是按照《EMV规范》(即《支付系统集成电路卡规范》)的规定来叙述的。 对于其它应用的IC卡,只要符合ISO-7816标准的规定,其用卡过程也大体相同。 一、用卡过程 (一)正常的用卡过程 这里所说的正常用卡过程,是指IC卡所插入的终端设备将其触点断电后,持卡人才拔出IC卡而结束的用卡过程。 1、用卡过程可划分为如下几个阶段: 1)把IC卡插入IFD(接口设备InterfaceDevice)并接通各触点。 2)使IC卡复位并在终端和IC卡间建立通讯。 3)执行交易 4)释放触点并取出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的状态。 3、IC卡的复位 (1)冷复位 触点接通后,终端将发出一个冷复位信号,并从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卡未在这段时间内进行复位应答,则终端必须启动一个触点释放时序。 (2)热复位 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卡未在这段时间内进行复位应答,则终端必须启动一个触点释放时序。 4、执行交易 IC卡的应用选择以及其后在IC卡与终端间的信息交换都是执行一项交易所必不可少的,详情将在以后叙述。 5、触点释放序列 作为用卡过程的最后一个步骤,不论交易是正常或异常结束(包括用卡过程中从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” 不使用Vpp TC1 “00”到“FF” 表示需要额外保护时间,数据“FF”有特殊含义 表2T=1的复位应答回送的字符 字符 值 备注 TS “3B”或“3F” 表示正向或反向约定 T0 “EX” TB1和TD1出现,X表示历史字节存在的个数 TB1 “00” 不需要Vpp TC1 “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“至”5 BWI=0至4 CWI=0至5 TCK 参看4。 3。 3。 5 校验字符 三、字符定义 以下将对复位应答中可能回送的字符做具体的说明。 如果复位应答符合基本ATR(复位应答)二者之一,则一个字符是否出现,以及其容许的数值范围(如果出现的话),由说明每个字符的“基本响应”来表示。 复位应答中回送字符的最大个数(包括历史字符,但不包括TS)为32个。 《EMV》规范只要求(最低限度)终端支持这里所说的基本的ATR,以及在“终端反应”中所指定的任何附加要求。 以下的说明中,如果指出一个终端必须拒绝IC卡,这就意味着终端必须发出一个热复位或释放IC卡的触点以结束用卡过程。 1、TS——起始字符 TS执行两项功能: ●向终端提供了一个已知的位组合模型,以便于同步; ●提示所用逻辑约定,以便对后继的字符进行解释。 基本响应: IC卡必须以下列二值之一来回送TS 反向约定(H)LHHLLLLLLH,其值为“3F”; 正向约定(H)LHHLHHHLLH,其值为“3B”。 终端反应: 终端必须拒绝回送的TS不等于“3B”或“3F”的IC卡。 注: 特别推荐使用“3B”作为IC卡的回送值,因为在以后的版本中可能不支持“3F”。 2、T0——格式字符 T0由两部分组成,高四位(b5-b8)称之为Y1,用来指示后继字符TA1至TD1是否存在,b5-b8位被置为逻辑“1“状态者,相应地表明TA1至TD1的存在。 低四位组(b1-b4)称之为K,则表明历史字节存在的数量(0-15)。 字符的构成及编码如下: T0的构成: B8 B7 B6 B5 B4 B3 B2 B1 |Y1|Y2| 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 基本响应: 如果只使用了T=0,IC卡将回送T0=“6X”,指明字符TB1和TC1的存在。 如果只使用了T=1,则IC卡回送T0=“EX“,指明字符TB1至TD1的存在。 “X”之值表明传送的历史字符的数量。 终端反应: 若IC卡回送的T0为任意值,只要它正确地指明并和接口字符TA1至TD1及实际回送的历史字节一致,终端不得拒绝。 3、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指明的信息: B8 B7 B6 B5 B4 B3 B2 B1 |Yi+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所指明的协议类型。 (1)TA1 TA1传达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。 (2)TB1 TB1传送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的基本响应代码: B8 B7 B6 B5 B4 B3 B2 B1 0 0 0 0 0 0 0 0 (3)TC1 TC1传送N之值,N为额外保护时间。 N为TC1的b8~b1位的二进制码,其值表示了额外保护时间所增加的etu数,其值为0~255之间。 N=255(TC1=“FF”)有特别的含义,它表明两相邻字符的起始位前沿之间的最短间隔时间: T=0,为12etu T=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卡间的通信过慢,从而延长了交易时间。 (4)TD1 TD1表示有无更多的接口字节传送,以及关于传输协议类型的信息,其中 ●高半字节用来表示字符TA2至TD2是否存在,b5~b8各位中被置为逻辑“1”的,就表示相应的TA2至TD2中该字符的存在。 ●低半字节提供了关于后继交换所用传输协议类型的信息。 基本响应: 当选用T=0协议时,则IC卡将不回送TD1,后继传送协议缺省为T=0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ISO7816 传输 协议