已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能卡数据传输 T 1 传输协议类别:消费电子 阅读: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年)
- 2024年建筑劳务分包主体结构合同
- 个人质押担保借款合同模板
- 2024年度金融服务与投资咨询合同
- 标准版工程居间合同格式
- 合法劳务施工协议书样式
- 精美施工合同模板
- 全新版大学生创业园合作开发框架协议示例
- 义务教育英语课程标准(2022年版)
- 巴蜀文化智慧树知到答案章节测试2023年四川大学
- 中小学无人机创客实验室建设实施方案
- 外研版英语五年级下册Module7单元
- 淀粉基聚合物胶束作为药物载体的综述,高分子材料论文
- T-ESD 3008-2021 热固性防静电粉末涂料通用规范
- GB/T 37522-2019爆炸物安全检查与处置通用术语
- GB/T 23679-2009集装箱机械箱封
- GB/T 23505-2017石油天然气工业钻机和修井机
- 公务员职业道德与行为规范课件
- 初中英语-名词-单复数-练习题-含答案
评论
0/150
提交评论