已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能卡数据传输T1传输协议类别:消费电子 阅读:883 T1传输协议是智能卡的异步半双工通信协议。它立足于国际标准ISO/IEC 7816-3。EMV规范也和此协议 有关。T1协议是面向字组的协议,这就是说一个字组是卡和终端之间可以传输的最小数据单元。 这项协议以严格的层次划分为特点,可作为数据链路层归入OSI参考模型中。在这种意义上,层次划分也 就意味着数据指向较高的层次,诸如应用层,并可完全由数据链路层透明地处理。除了这一层直接和所传输 的数据的内容的解释与修改有关之外,不再需要别的层次。特别是报文的安全性需要严格地遵守层次划分,只有这样才能使用户加密的数据通过接口而不必求助于复 杂的方法或技巧。目前,T=1是惟一的国际智能卡协议可以使安全数据得以在其所有变型的情况下传输而没 有任何问题或危及其安全性。传输的过程开始于卡送出ATR之后,或在成功执行了PTS之后。第1个字组由终端发送,下一个则由卡发送 。于是,通信按此方式继续,发送权在终端与卡之间轮换。顺便提及,T1协议的应用不限于智能卡终端的通信,它被用于多种终端和它们与之相连的计算机间交 换有用的数据和控制数据。数据传输率对任何协议自然都是一个最令人感兴趣的方面,表1列出了T=1协议传输某些典型命令的时间。表1 T=1传输协议对某些典型命令的数据传输时间(时钟频率为3.5712MHz,分频值为372,X0R差错检测码,每条命令有2位停止位和8位数据字节,C命令 ,R=应答) 1,字组结构 所传送的字组实质上用于两种不同的目的,其中之一是透明传输的应用专用数据,另一个则是传输协议控 制数据或对传输差错的处理。传输的字组由开始的组头字段,信息字段和最后的组尾字段组成,组头和组尾字段是强制性的,必须总是 发送的。相反,信息字段是可选的,它含有应用层的数据,它可能是发送给智能卡的命令APDU或是来自卡的 应答APDU。传输字组的结构如图1所示。 图1 T1传输字组的结构 在T=1中有三种基本的不同类型的字组:信息字组、接收确认字组和系统字组。信息字组(I字组)用于透 明地交换应用层的数据。接收确认字组(R字组),它不含有任何数据字段,被用于对接收的认可或否认。 系统字组(S字组)用于和协议本身有联系的控制信息,取决于特定的控制信息,它们可能有一个信息字段 。2组头字段 组头字段含有三个子段:结点地址(NAD),协议控制字节(PCB)和长度(LEN),它为三字节长并含有对 实际传输字组的控制和指针数据。这三个子段的编码见表2表5。1)结点地址NAD(Node ADdress) 组头字段的第1个字节被称为结点地址(NAD)字节,它含有字组的目标和源地址,它们的每一个用三位编 码,如果未用地址,则有关位置为0。此外,为了和老的微控制器相容,对EEPROM或EPROM的编程电压提供了 控制。然而,这一点没有实际应用,因为现在的所有智能卡微控制器在芯片内都有一个电荷泵。表2 结点地址(NAD字段)2)协议控制字节PCB(Protocol Control Byte) 接着结点地址的子段是协议控制字节(PCB)。如同名字所暗示,它用来控制和管理传输协议,这就增加了 所需的编码数量,PCB字段主要用来编码字组类型,以及有关的补充信息。表3 I字组的PCB字段表4 R字组的PCB字段表5 S字组的PCB字段3)长度LEN(LEngth Field) 字节的长度字段(LEN)以十六进制的形式指明信息字段的长度,其值可为00至FE。编码FF目 前未用而留各未来扩充之用。3,信息字段 在I字组中,信息字段起着应用层数据(OSI第7层)的集装箱的作用。此字段的内容被完整而透明地传送, 这就是说此内容由传输协议直接送出,而不经任何分析或评估。在S字组中,这个字段传送关于传输协议的数据,这是此字段的内容用于传输层的惟一情形。按照ISO标准,信息字段的大小范围为00至FE(254)字节,FF(255)被ISO为未来应用而保 留。终端和卡可以有不同大小的I字段。终端I字段的缺省大小为32字节的接口设备信息字段大小(Inf。 rmation Field Size for the interface Device),它可以通过特殊的s字段来改变,这个32字节的缺省值 也适用于卡的卡信息字段大小IFSC(Information Field Size for the Card),但它可由ATR中的一个参 数来修改。在实践中,对于终端和卡二者,I字段的大小在50140字节之间。4,组尾字段 这个字段在字组的末尾传送,含有一差错检测码,是由字组中前面所有的字节算得的。计算使用的要么是 纵向冗余检测LRC(Longitudinal Redundancy Check)要么是循环冗余检测CRC(Cyclic Redundancy Check )。所用方法必须在ATR的接口字符中予以规定。如果没有规定,则隐含地约定使用LRC法。否则,根据ISO 3309就进行CRC计算。所用除法多项式和V.41的推荐是一样的,G(X)=X16+X12+X5+1。两种差错检测码只能用 于差错检测,它们不能校正一个字组差错。单字节的纵向冗余校验和是串行级联所有字组中前面的字节经X0R算出的。这项计算可以执行得非常之快,而 它的实现也用不了多少代码。通常,它的执行是在数据传输或接收时进行的,它实际上是所有实现的T=1的标 准部分。使用CRC方法产生的差错检测码比起相对简单的的X0R校验和来要产生远为高得多的差错检测概率。然而,在 实际上这个方法目前几乎从来都未被使用过,因为它实现起来是高代码强度的而且很慢。此外,组尾字段要扩 充为2字节,它进一步降低了传输率。5发送和接收序列计数器 在T=1协议中的每个信息字组有一个在PCB字节中的仅有1位的发送序列号。它按模2增量,这就是说它在0和1 之间交替。发送序列计数器也被称作N(S)。协议开初的开始值为0,终端和智能卡的计数器是相互独立地增 量的。发送序列计数器的主要目的是支持对于重发接收到的有差错字组的请求,因为各个数据字组能由N(S)毫不 含糊地寻址。6,等待时间 在数据传输时,定义了不同的等待时间以提供发送方和接收方可以在精确规定的最小和最大时间区间内的不 同处理。它们也提供了规定的方法去结束通信,以便防止在出差错情况下的死锁。标准中对所有这些等待时间 都规定了缺省值,但可以修改它们以提高传输率,修改值是在ATR的特定接口字符中指明的。1)字符等待时间(CWT) 字符等待时间的定义是字组内相连两字符开始边之间的最大区间,如图2所示。接收方在每一开始边处启动一 减数定时器,以字符等待时间作为初始值,如果定时器已满而又没有检测到新一位的开始边,则接收方可认为 传送的字组已被完整接收。于是,“CWT接收准则”可一般用作字组结束的检测。然而,它却显著地减小了数 据传输率,因为每1字组的时间都被字符等待时间CWT(Character Waiting Time)的持续时间增大了,字组的 结束最好是用计数接收的字节数来检测。 图2 字符等待时间(CWT)的定义 CWT用ATR中所含CWI来计算,根据下列公式: CWT=(2CWI+11)工作etu CWI的缺省值为13,由此可得CWT的如下之值: CWT=(213+11)工作etu=8.203工作etu 对于时钟频率为3.5712MHz,而分频值为372时,结果的区间为0.85秒。 这个区间在标准中被规定为缺省设定,对快速数据传送而言是太高了。实践中,CWI的常用范围在3和5之间 ,这就是说对正常的传输序列,其中字符一个接着一个而无需任何时间延迟,接收方在检测出字组的尾部或 一个通信错误之前要等待一至二个字符的时间。通常,接收程序从LEN字段的长度信息来检测出字组的结束。然而,如果这个字段的内容是错误的,则字符 等待时间可用作一种另外的手段来结束接收。这个问题本身仅仅出现在长度信息过长时,在这种情况下接收 方将等待永远没有到达的另外字符。这样将阻塞了传输协议,这种状态只能由卡复位来清除,而字符等待机 制则绕过了这一问题。2)字组等待时间(BWT) 字组等待时间BWT(Block Wailing Time)被定义来当智能卡没有响应时去建立一种结束通信的方法。它是 发送给卡的字组中最后一字节的开始边和卡回送的第1个字节的开始边之间的最大允许区间,参看图3。 图3 字组等待时间(BWT)的定义 以常规的T=1字组而言,这是命令字组组尾字段的X0R字节的前沿和卡的应答的NAD字节的前沿之间的最大 允许区间。如果这段等待期间已满之时而仍未从卡接收到应答,则终端可以认为卡出了故障并启动相应的措 施。例如,这可能是一个卡复位,接着是建立通信的新尝试。ATR中的接口字符以缩短形式的BWI的编码来规定BWT。 如果在ATR中没有规定BWI之值,则使用之缺省值为4,对于3.5712MHz和372的分频值,则给出的字组等待时 间为1.6s 可以看出,这个数值是过分慷慨了。实践中,BWI的常用值为3,它产生的字组等待时间为0.8s。在卡中 的典型命令执行时间通常为0.2s。这样的阿的持续时间则表现了在正常的命令执行时间和快速检测出智 能卡不再对命令做出响应之间的折中。3)字组保护时间(BOT) 最后一字节的开始沿和相对方的第1个字节的开始沿之间的最小区间称之为字组保护时间BOT(Block Guard Time),参见图4。它和叮是相反的,后者被定义为两个规定的开始沿之间的最大时间。另一个区别是字 组保护时间对双方是强制性的,而且都必须遵守,而字组等待时间仅对智能卡有意义。字组保护时间的目的 是提供给字组发送方一个最短的时间区间,在其间可从发送转换为接收。 图4 字组保护时间(BOT)的定义 字组保护时间有一个固定值,它已标准化为22etu。在一个运行于3.5712MHz,分频值为372的智能卡中, 它产生的区间大约为2.3ms。7传输协议机制 I)等待时间的扩充 如果卡需要比由字组等待时间(BWT)最多允许的还要多些的时间来产生其应答,它可向终端请求等待时 间扩充。智能卡发送一个请求扩充的专门的s字组来做到这一点,而它接收一个从终端来的相应的S字组以确 认,不允许终端拒绝这一请求。等待时间的扩充过程如图5所示。 图5 扩充等待时间的过程 信息字段的一个字节通知终端扩充时间的长度。这个字节乘以终端等待时间给出了新的字组等待时间。然 而,它仅对最近发送的I字组有效。2)字组链接 T1协议的一项根本特性是字组链接功能,它使得任一方可传送大于发送或接收缓存器大小的数据字组。考虑到智能卡的有限存储器容量,这一点是特别有用的。只允许信息字组可以链接,因为 只有这些字组才包含有大量的数据。在链接过程中,应用数据被划分成各个数组,然后一个接一个地发送给 接收方。应用层的数据必须划分成各个段,其结果应没有大于接收方能接收的最大字组。按照T=1协议,第1段被安 放在一信息字段中,补充上组头和组尾字段后即可发送给接收方。M位(尚有数据位)被设定在字组的PCB字 段中,以便向接收方表明已经使用了字组链接功能,被链的数据在随后的字组中,链接字组的传送如图6所示。 图6 从终端向智能卡传输数据的字组链接举例 随着接收方成功收到这个具有用户数据第1段的信息字组,它回送一个序列号N(R)是下一个I字组的发送 序列计数N(S)的R字组,以表明已准各好接收下一个链接的I字组了。于是,下一个字组被发送给接收方。这样来来往往传送I和R字组,一直继续到发送方发布一个PCB字段的M位表明它是链中的最后一个字组(M位 =0)的I字组时为止。接收到这一字组后,接收方就有了应用层的全部数据,并可对全部数据字组进行处理 。对应用于字组链接的程序有一点限制,在一单个的命令应答对中,链接只能在一个方向上进行。例如, 如果终端发送了链接字组,卡就不能在响应中发送链接字组。这里还有更进一步的限制,不过不是协议本身的,而是由于卡非常有限的存储引起的。实现字组链接机制 包括了一定数量的额外软件,而它的用途极其有限,因为命令和应答并不都是那么长,因此通常都不需要链 接。如果卡在BAM中的缓存器不是足够大以存储所有用字组链接传送的数据,它就必须把缓存器放在EEPROM 中。然而,这将引起传输率的明显下降,因为EEPROM(和BAM不同)使处理器不能以全速写入。结果许多T1的实现没有链接功能,因为价格收益比经常不有利于它。这是一个典型的例子,在实际实 践中对标准的解释常常是太随意了。在这种情况下的解释等于把字组链接当做是T=1中的补充选项,它不是 绝对需要的。8,差错处理 T1协议显示出相当完善的差错检测与处理机制,如果接收到了不正确的字组,则协议试图用准确规定的 方法恢复无差错通信。从终端的角度来看,存在着三个同步阶段,在第1阶段,差错字组的发送方接收到一 个表明EDC/奇偶位差错或一般差错的R字组,接收到此R字组后必须重发最后发送的字组。如果已证明利用此机制无法恢复无差错的连接,则求助于第2阶段。这就是说,智能卡收到一个从终端发出的以s字组形式的再同步请求,而终端期待着一个再同步应答的答复。于是,终端和卡双方把它们的发送和接收计数器复位为零,它相应于紧接着ATR的协议状态。基于此,终端试图建立起新的连接。第1和第2阶段仅影响协议层次,它们对应用本身毫无影响。然而,第3阶段将影响智能卡的所有层次。如果用前两个阶段终端仍无法建立起一个无差错的通信连接,它经复位引线启动一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工地项目钢材运输合同
- 安装工程分包合同
- 2024年其他有色金属矿项目投资申请报告代可行性研究报告
- 2024年妇科炎症类用药项目资金筹措计划书代可行性研究报告
- 协作办公培训报告模板
- 校园卫生指导模板
- 小学艺术课程导引模板
- 线条艺术讲座模板
- 幼儿户外活动保育课件
- 如何做好车间安全管理工作
- 人工智能数据标注试题及答案
- 2024届上海市华师大二附中高一上数学期末检测试题含解析
- 《城南旧事》常考知识点梳理及阅读训练题全套
- 校长研修计划(通用9篇)
- 国有企业人才培养机制
- 美容医疗机构、医疗美容科(室)基本标准试行
- 运动人体科学概论考核试题题库及答案
- GB 1103.1-2023棉花第1部分:锯齿加工细绒棉
- 电动吸痰的使用PPT
- 冷凝器更换施工方案
- 施耐德ATS互投柜说明书WTSA、B控制器说明书
评论
0/150
提交评论