ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:62.54KB ,
资源ID:3367852      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3367852.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(CPU卡中T通讯协议的分析与实现.doc)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

CPU卡中T通讯协议的分析与实现.doc

1、CPU卡中T=0通讯协议的分析与实现时间:2023-04-28 19:45:02 来源: 作者:IC卡的应用越来越广泛,从存储卡到逻辑加密卡,目前CPU卡已经逐渐在应用中占据主导地位。CPU卡根据通讯协议可分为两种:接触式和非接触式。接触式CPU卡重要采用两种通讯协议:T=0和T=1通讯协议。T=0是异步半双工字符传输协议,T=1是异步半双工块传输协议。目前T=0通讯协议的应用较为广泛,国内外大多数CPU卡都支持该协议,在金融交易中也采用这种通讯协议。为了便于说明问题,本文从T=0协议的功能出发,将该协议分为四个层次:物理层、数据链路层、终端传输层和应用层,见图1。由于该协议的特殊性,终端传输

2、层与应用层联系非常紧密,实现起来比较繁琐,在CPU卡中,这些任务通过卡片操作系统(COS)来实现。终端在与卡的信息互换中,始终处在积极地位,终端向卡发送符合T=0协议的命令字节,卡中的COS完毕对数据的解决并将解决结果返回给终端。下面对T=0协议的四个层次进行详述。1 T=0协议的物理层描述终端与智能卡之间通过改变I/O传输线上的电平来互换信息。由于T=0协议是面向字符的传输协议,这里先定义字符帧的结构,并对组成字符帧位的信息表达作了具体描述。字符帧的结构如图2所示。字符帧由1个起始位S、8个数据位和1个偶校验位P共10位组成。在数据传输中每一位的连续时间称为基本时间单元etu(element

3、ary time unit),etu的值由时钟频率决定,etu与时钟频率呈现性关系:1etu=(F/D) (1/f) (1)其中F称为时钟频率转换因子,D称为波特率调整因子。时钟频率的范围为1MHz5MHz,正常的工作频率为3.57MHz,数据传输的波特率采用9600bps,根据国际标准的取值范围,取F=372,D=1,代入式(1),可得:1etu=372/f=372 (2)即一个基本时间单元为372个时钟周期。将工作频率定为3.57MHz,可以保证数据传输的波特率为9600bps。假如要提高数据的传输率,可以调整参数F来拟定传输率。对每一位电平采用三次采样来拟定,在位连续时间的中间和左右15

4、%的间隔各取样一次,取样点如图3所示。当有两次以上电平为低,则判断该位为0;否则该位为1,这样保证了取样值的可靠性。由于数据位的连续时间是用汇编语句来控制的,可以通过延时语句调整采样的时间间隔。但实现采样的最基本汇编语句的执行时间不能再缩短,因此数据传输率有一上限。当每一位取样三次时,数据传输率最高可达成57600bps。假如再提高速率,取样时序将无法保证。字符帧的起始位为低电平,起始位的检测是通过周期性地对I/O传输线进行采样来得到。国际标准中规定采样时间间隔不得大于0.2etu,事实上起始位的采样时间间隔只有几个时钟周期,完全满足规定。2 T=0协议的数据链路层实现数据链路层描述了字符互换

5、的时序规定和差错控制以及终端对面向传输的错误的解决,在逻辑上保证终端和卡片之间可以对的可靠地通讯。采用上述的字符帧,终端与卡之间进行数据将互换,字符之间有严格的时序,时序是通过汇编程序语句的执行时间来控制的。从终端到卡发送的连续字符的起始位下降沿之间的最小时间间隔由复位应答信息告知终端,其值在12etu266etu之间。从卡发送到终端的连续字符的起始位下降沿之间的最小时间间隔应为12etu。假如字符接受不对的或字符接受对的但校验位不对的,接受端需要在字符起始位下降沿后的(10.50.2个etu时刻将I/O线置为低电平约12个etu,见图4,用于向发送端指明错误;发送端在(110.2)个etu时

6、刻检测I/O线。如为高电平则表达字符已经对的接受;假如发送端检测到错误,则在检测到错误那一刻起,2个etu后重发该字符,但反复发送同一字符的次数不得超过3次。假如最后一次发送失败,当终端是接受端时,则终端应当在无效字符的起始位下降沿后的960个etu时间范围内启动释放序列;当终端是发送端时,在卡片检测到字符的偶校验错误后960个etu时间范围内,终端启动释放序列。命令的执行总是由终端应用层(TAL)启动,通过终端传输层(TTL)送给卡片。TTL与卡片进行命令字节和数据字节互换时,要保证可以有序对的地进行。因此,在数据互换过程中,在任何时刻TTL和卡片都应当隐含地知道哪一方是发送者,哪一方是接受

7、者。当卡片接受到5个字节的命令字节后,需要向TTL返回一个过程字节或两个字节的状态字节,具体含义如表1、表2所示。表1 终端对过程字节的解决过程字节TTL执行的操作与INS字节相同TTL向卡片发送或从卡片接受所有数据INS字节的补码TTL向卡片发送或从卡片接受下一个字节60TTL延长等待时间61TTL等待第二个过程字节xx并根据xx发GET RESPONSE命令取回数据6CTTL等待第二个过程字节xx并根据xx重发上一条命令表2 卡返回的状态字节编码第一个状态字节值TTL执行的操作6或9x(除表1中的值外)TTL等待第二个过程字节SW2当返回的过程字节或状态字节均不是表中规定的值时,终端在接受

8、到的无效字符的起始位降沿开始的9600个etu时间范围内启动释放序列。3 T=0协议的终端传输层和应用层的实现数据链路层保证了TTL与卡片正常的数据互换。在此基础上,TTL定义了命令和响应APDU(Application Protocol Data Unit)通过TTL和卡片之间的数据传输机制,因此该层协议定义了APDU到TPDU(Transport Protocol Data Unit)的映射机制以及TPDU和卡片之间如何来完毕数据的互换。根据命令和响应APDU包含的数据情况,共有四种不同的APDU,TTL应可以对四种情况进行解决,完毕终端和卡之间的数据互换。由于T=0协议的特殊性,终端传输

9、层和应用层并没有完全隔离开。为了便于说明问题,先简要描述一下应用层,然后将终端传输层和应用层结合起来进行说明。应用层协议定义了C-APDU和R-APDU的具体结构。应用层之间的数据互换都是由一个命令-响应对完毕的,TAL通过TTL将C-APDU送给集成电路卡(ICC),ICC解决完后将解决结果组成R-APDU通过TTL送给TAL。APDU由命令报文和响应报文共同组成,根据C-APDU和R-APDU是否包含数据域,APDU有四种情况,见表3。表3 APDU包含数据的情况命令APDU数据域响应APDU数据域1无无2无有3有无4有有C-APDU由一个强制性的四字节命令头CLA、INS、P1、P2和一

10、个可变长度的条件体组成。CLA为命令类型字节;INS为命令代码字节;P1和P2为命令参数;条件体涉及命令数据域长度字节Lc,命令数据域和响应返回的最大长度字节Le。根据不同的命令,条件体的组成也不相同,C-APDU有四种情况,见表4。表4 C-APDU的结构情 况C-APDU结构1CLA INS P1 P22CLA INS P1 P2 Le3CLA INS P1 P2 Lc Data4CLA INS P1 P2 Lc Data LeR-APDU由一个最大长度为Le的数据域和一个强制性的两字节状态代码组成,状态代码给出了IC卡对当前命令的解决结果。对于C-APDU,终端先将其映射成T=0传输层的

11、格式,然后通过TTL传送给卡片,卡片返回的数据和状态先返回给TTL,再映射成R-APDU返回给TAL。这里根据四种不同的情况,分析了C-APDU到C-TPDU以及R-APDU到R-TPDU的映射方法,并对情况2和情况4时,如何使用GET RESPONSE命令进行了说明。C-APDU到C-TPDU的映射根据命令的情况决定,卡片返回的数据和状态到R-APDU的映射要根据返回数据的长度来判断。对于卡片返回的过程字节“61xx”和“6Cxx”,将用于TTL和卡片之间进行数据互换,当卡片返回“61xx”时,表达命令没有结束,TTL不将过程字节返回给TAL,而是从TTL直接向卡片发出GET RESPONS

12、E命令,取回上一条命令应当返回的数据。并返回给TAL。当卡片返回“6Cxx”时,TTL将根据“xx”的值调整并重发上一条命令。下面分别对四种命令情况进行分析。(1)当C-APDU和R-APDU均不具有数据时,将C-APDU的CLA、INS、P1、P2映射为C-TPDU的CLA、INS、P1、P2、C-TPDU的P3置为“00”,卡片接受到C-TPDU后,根据命令头决定该命令所含数据的情况。TTL接受到卡片返回的状态后,该命令完毕,TTL将状态字节强制性地加到R-APDU的尾部。(2)当C-APDU不具有数据而R-APDU具有数据时,将C-APDU的CLA、INS、P1、P2、Le映射为C-TP

13、DU的CLA、INS、P1、P2、P3,其中P3可以置为“00”,也可以置为需要返回的数据字节数,卡片接受到C-TPDU后,假如命令解决失败,卡片直接将状态代码通过TTL返回给TAL;当命令可以正常解决时,假如P3指定的字节数可以对的返回,待卡片内部应用数据解决完毕后,这时卡片一方面返回给TTL该命令的过程字节,告知TTL准备接受卡片数据缓冲区中的数据,然后卡片直接将P3字节的数据和状态字节通过TTL返回给TAL,否则,卡片只将过程字节“6Cxx”或“61xx”返回给TTL这一层。当过程字节为“6Cxx”时,TTL根据xx重发命令取回数据,当过程字节为“61xx”时,TTL发GET RESPO

14、NSE命令取回数据。(3)当C-APDU具有数据而R-APDU不含数据时,将C-APDU的CLA、INS、P1、PS、Lc映射为C-TPDU的CLA、INS、P1、P2、P3,待卡片对C-TPDU检查通过后,卡片直接将过程字节返回给TTL,TTL根据返回的过程字节继续向卡片发送P3字节的后续数据。待数据接受完后,卡片相应用数据进行解决,然后将解决结果以状态字节的方式通过TTL返回给TAL。(4)当C-APDU和R-APDU均具有数据时,将C-APDU的CLA、P1、P2、Lc映射为C-TPDU的CLA、INS,P1、P2、P3,待卡片对C-TPDU检查通过后,卡片直接将过程字节返回给TTL,T

15、TL根据返回的过程字节继续向卡片发送P3字节的后续数据。待数据接受完后,卡片相应用数据进行解决,假如命令解决失败,卡片直接将状态代码返回给TTL。当命令正常解决时,卡片返回给TTL过程字节“6Cxx”或“61xx”,当为“6Cxx”时,TTL根据xx重发命令取回数据。当过程字节为“61xx”时,TTL发GET RESPONSE命令取回数据。(1)由于T=0协议字符级检错重发,与面向块的传输协议T=1相比,在出现传输错误时,T=0协议可以不必整个数据报文所有重发,节省了时间。(2)在编程过程中,对位帧进行采样时,采用了三次采样判决的方式,避免了由于采样时的偶尔误差而导致误码。(3)T=0协议是应

16、用于智能卡中的第一个接触式通讯协议,但该协议并没有考虑传输中断和检测到传输错误码后卡和读写器的再同步问题。唯一的检错机制就是奇偶位校验。对错误的解决就是对犯错的字节重新发送一次,这样极有也许导致无限次的循环状态。(4)T=0协议并没有与应用层完全分割开,应用层的命令解释器必须告诉传输层当前命令是接受还是发送数据。由于这个因素,这两个模块在命令解决过程中需要交互操作,在程序中可以提取出一个通用的传输层,供应用层调用来负责完毕数据的传输。这种情况给编程和调试带来了不便。同时导致模块的可重用性较差。 (5)对于命令报文中包含数据域,同时又需要卡片返回数据的命令,T=0协议不能用一条命令来实现,必须分为两步实现:第一条命令为卡片提供数据,然后用此外一条相关的命令来取回数据。这样给卡片的编程带来很大麻烦,同时卡片内存中必须保存上一次操作需要返回的数据。这时假如不及时发送取数据命令而发送其它命令,也许会将敏感数据泄漏,并产生其它问题。这些都是T=0协议考虑不周的地方。(6)终端传输层需要根据卡片返回的子程字节和状态字节执行相应的操作,使终端对数据的解决复杂化。(7)由于目前大多数接触式终端只支持T=0通讯协议,因此该协议仍将得到广泛的应用。随着智能卡芯片功能的增强,对于数据传输量较大的应用,该协议将不再合用,面向块的异步半双工接触式传输协议T=1将体现出优势.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服