智能卡数据传输T1传输协议及详解.pdf
《智能卡数据传输T1传输协议及详解.pdf》由会员分享,可在线阅读,更多相关《智能卡数据传输T1传输协议及详解.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有你有帮助,请购买下载,谢谢!智能卡数据传输智能卡数据传输 T T1 1 传输协议传输协议类别:消费电子阅读:883T1 传输协议是智能卡的异步半双工通信协议。它立足于国际标准ISO/IEC 7816-3。EMV规范也和此协议 有关。T1 协议是面向字组的协议,这就是说一个字组是卡和终端之间可以传输的最小数据单元。这项协议以严格的层次划分为特点,可作为数据链路层归入OSI 参考模型中。在这种意义上,层次划分也 就意味着数据指向较高的层次,诸如应用层,并可完全由数据链路层透明地处理。除了这一层直接和所传输 的数据的内容的解释与修改有关之外,不再需要别的层次。特别是报文的安全性需要严格地遵守层次
2、划分, 只有这样才能使用户加密的数据通过接口而不必求助于复 杂的方法或技巧。目前,T=1 是惟一的国际智能卡协议可以使安全数据得以在其所有变型的情况下传输而没 有任何问题或危及其安全性。传输的过程开始于卡送出ATR 之后,或在成功执行了PTS 之后。第1 个字组由终端发送,下一个则由卡发送 。于是,通信按此方式继续,发送权在终端与卡之间轮换。顺便提及,T1 协议的应用不限于智能卡终端的通信,它被用于多种终端和它们与之相连的计算机间交 换有用的数据和控制数据。数据传输率对任何协议自然都是一个最令人感兴趣的方面,表1 列出了 T=1 协议传输某些典型命令的时间。表 1 T=1 传输协议对某些典型命
3、令的数据传输时间(时钟频率为 3.5712MHz,分频值为 372,X0R 差错检测码,每条命令有2 位停止位和 8 位数据字节,C命令 ,R=应答)1,字组结构所传送的字组实质上用于两种不同的目的,其中之一是透明传输的应用专用数据,另一个则是传输协议控制数据或对传输差错的处理。传输的字组由开始的组头字段, 信息字段和最后的组尾字段组成, 组头和组尾字段是强制性的,必须总是 发送的。相反,信息字段是可选的,它含有应用层的数据,它可能是发送给1 页如有你有帮助,请购买下载,谢谢!智能卡的命令 APDU 或是来自卡的 应答 APDU。传输字组的结构如图 1 所示。图 1 T1 传输字组的结构在 T
4、=1 中有三种基本的不同类型的字组: 信息字组、 接收确认字组和系统字组。 信息字组 (I 字组) 用于透 明地交换应用层的数据。 接收确认字组 (R 字组) ,它不含有任何数据字段,被用于对接收的认可或否认。 系统字组(S 字组)用于和协议本身有联系的控制信息,取决于特定的控制信息,它们可能有一个信息字段 。2组头字段组头字段含有三个子段:结点地址(NAD),协议控制字节(PCB)和长度(LEN),它为三字节长并含有对 实际传输字组的控制和指针数据。这三个子段的编码见表 2表 5。1) 结点地址 NAD (Node ADdress)组头字段的第 1 个字节被称为结点地址 (NAD)字节, 它
5、含有字组的目标和源地址, 它们的每一个用三位编 码, 如果未用地址, 则有关位置为 0。此外,为了和老的微控制器相容,对EEPROM 或 EPROM 的编程电压提供了 控制。然而,这一点没有实际应用,因为现在的所有智能卡微控制器在芯片内都有一个电荷泵。表 2 结点地址(NAD 字段)2)协议控制字节 PCB(Protocol Control Byte)接着结点地址的子段是协议控制字节(PCB)。如同名字所暗示,它用来控制和管理传输协议,这就增加了 所需的编码数量,PCB字段主要用来编码字组类型,以及有关的补充信息。表 3 I 字组的 PCB 字段表 4 R 字组的 PCB 字段2 页如有你有帮
6、助,请购买下载,谢谢!表 5 S 字组的 PCB 字段3)长度 LEN(LEngth Field)字节的长度字段(LEN)以十六进制的形式指明信息字段的长度,其值可为00至FE。编码FF目 前未用而留各未来扩充之用。3,信息字段在 I 字组中,信息字段起着应用层数据(OSI 第 7 层)的集装箱的作用。此字段的内容被完整而透明地传送, 这就是说此内容由传输协议直接送出,而不经任何分析或评估。在 S 字组中, 这个字段传送关于传输协议的数据, 这是此字段的内容用于传输层的惟一情形。按照 ISO 标准,信息字段的大小范围为00至FE(254)字节,FF(255)被 ISO 为未来应用而保 留。终端
7、和卡可以有不同大小的I 字段。终端 I 字段的缺省大小为 32 字节的接口设备信息字段大小(Inf。 rmation Field Size for the interface Device),它可以通过特殊的s 字段来改变,这个 32 字节的缺省值 也适用于卡的卡信息字段大小IFSC(Information Field Size forthe Card),但它可由 ATR中的一个参 数来修改。在实践中,对于终端和卡二者,I 字段的大小在 50140 字节之间。4,组尾字段这个字段在字组的末尾传送, 含有一差错检测码,是由字组中前面所有的字节算得的。计算使用的要么是 纵向冗余检测 LRC(Lon
8、gitudinal Redundancy Check)要么是循环冗余检测 CRC(Cyclic Redundancy Check )。所用方法必须在ATR 的接口字符中予以规定。如果没有规定,则隐含地约定使用LRC 法。否则,根据ISO 3309 就进行 CRC 计算。所用除法多项式和 V.41 的推荐是一样的,G(X)=X16+X12+X5+1。两种差错检测码只能用 于差错检测,它们不能校正一个字组差错。3 页如有你有帮助,请购买下载,谢谢!单字节的纵向冗余校验和是串行级联所有字组中前面的字节经X0R 算出的。这项计算可以执行得非常之快,而 它的实现也用不了多少代码。通常,它的执行是在数据传
9、输或接收时进行的,它实际上是所有实现的T=1 的标 准部分。使用CRC方法产生的差错检测码比起相对简单的的X0R校验和来要产生远为高得多的差错检测概率。然而,在 实际上这个方法目前几乎从来都未被使用过,因为它实现起来是高代码强度的而且很慢。此外,组尾字段要扩 充为 2 字节,它进一步降低了传输率。5发送和接收序列计数器在 T=1 协议中的每个信息字组有一个在PCB 字节中的仅有 1 位的发送序列号。它按模 2 增量,这就是说它在 0 和 1 之间交替。发送序列计数器也被称作 N(S)。协议开初的开始值为0,终端和智能卡的计数器是相互独立地增 量的。发送序列计数器的主要目的是支持对于重发接收到的
10、有差错字组的请求, 因为各个数据字组能由 N(S)毫不 含糊地寻址。6, 等待时间在数据传输时, 定义了不同的等待时间以提供发送方和接收方可以在精确规定的最小和最大时间区间内的不 同处理。它们也提供了规定的方法去结束通信,以便防止在出差错情况下的死锁。标准中对所有这些等待时间 都规定了缺省值,但可以修改它们以提高传输率,修改值是在ATR 的特定接口字符中指明的。1)字符等待时间(CWT)字符等待时间的定义是字组内相连两字符开始边之间的最大区间,如图 2 所示。接收方在每一开始边处启动一 减数定时器,以字符等待时间作为初始值,如果定时器已满而又没有检测到新一位的开始边,则接收方可认为 传送的字组
11、已被完整接收。于是,“CWT 接收准则”可一般用作字组结束的检测。然而,它却显著地减小了数 据传输率,因为每 1 字组的时间都被字符等待时间CWT(Character Waiting Time)的持续时间增大了,字组的 结束最好是用计数接收的字节数来检测。图 2 字符等待时间(CWT)的定义CWT 用 ATR 中所含 CWI 来计算,根据下列公式:CWT=(2CWI+11)工作etuCWI 的缺省值为 13,由此可得CWT 的如下之值:CWT=(213+11)工作 etu=8.203 工作 etu对于时钟频率为 3.5712MHz,而分频值为 372 时,结果的区间为 0.85 秒。 这个区间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能卡 数据传输 T1 传输 协议 详解
限制150内