欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    CPU卡知识源代码.docx

    • 资源ID:30310703       资源大小:22.93KB        全文页数:19页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    CPU卡知识源代码.docx

    1、CPU卡知识源代码CPU card 知识讲演一:cpu card概念和综述。1,什么是cpu card。cpu card是ic card的一种,最初的ic card里面是一个存储芯片。没有cpu的相关功能的。只是一个存储的物理体。现在的cpu card等于是将一个cpumemory的小系统集成在一个ic card里面了。所以,他不但具有一般存储ic card的全部功能,还具有一些智能的功能:如,密码访问,加密数据,等,这些安全措施是普通的ic card 无法提供的。所以,cpu card也叫智能卡。cpu card内部有个cos(chip os芯片操作系统),用来完成数据存储等数据操作,和相应

    2、的数据加密等安全操作。cpu card(也就是内部的cos)一般都支持iso7816的国际标准,或者一些扩展标准。这样一个cpu card就可以在不同的读卡器上使用,在不同的应用场合实现部分兼容了。2,cpu的应用。cpu card作为智能卡,应用于一些安全要求比较高的地方。如:加油站,金融,会员卡等。当然随着一些应用的扩展和普及,其安全要求可能也会相应提高,所以,cpu card的应用可能会更多,更广。二:cpu card的标准和协议。1,一般cpu card的国际标准是ISO7816(14),当然也有些扩展的标准,也可以自己指定相应的标准,当然自己指定的标准只能自己使用,不具有通用性。2,

    3、cpu card的协议有T = 0,T = 1两种国际通用标准,当然ISO7816支持015共16个协议,目前只有T = 0,1被明确规定和广泛使用。三:cpu card的技术参数和使用详解。我们以一个T = 0卡的使用过程来作解释。中间穿插了T = 1的异同。1,cpu card的触点。共有8个触点,according to ISO7816 standard,排列如下:top view的时候,c1c4 on the left,c5-c8 on the right。Contact Designation Use C1 Vcc Power connection through which ope

    4、rating power is supplied to the microprocessor chip in the card C2 RST Reset line to initiate its reset sequence of instructions C3 CLK Clock signal line clock signal can be provided to the microprocessor chip. C4 RFU Reserved for future use C5 GND Ground line providing common electrical ground betw

    5、een the IFD and the ICC C6 Vpp Programming power connection used to program EEPROM of first generation ICCs. C7 I/O Input/output line that provides a half-duplex communication channel C8 RFU Reserved for future use 2,卡的复位和card 的ATR(answer to reset)复位应答。卡的复位分为两种:冷reset和热reset。冷reset:是在卡插入卡座后,发生的。终端(就

    6、是card reader)先是给card提供电压(vcc),然后在提供clock(时钟),同时reset keep low level,在clock提供后,card要保证在clock提供后的200个周期内将IO set high(接收模式),终端也一样。再后,将card的reset pin set to high level,保持一段时间(40000 - 45000个周期)。cpu card在终端将reset set to high后的4004000个周期内送出ATR(复位应答),如果card没有在规定时间内送出ATR,终端将启动释放过程。热复位:在vcc和CLock已经提供的情况下,终端将r

    7、eset set to low,后面和冷复位一样了:)。触点释放过程:终端将reset set to low,启动释放时序。然后将clk和io set to low,在card拔出卡座前,vcc set to low(就是断电)。 3,一个字符帧(有效数据一个字节)的传输实现. Start Parity Next bit bit Start bit Z _ _._ _ | | | | | | | | | | | | | I/O | |ba|bb|bc|bd|be|bf|bg|bh|bi| Guardtime | | |_|_|_|_|_|_|_|_|_|_| |_|_ A : : : : 0

    8、t1 : t10 : : :每个字符frame有一个start bit(low)和8个data bit,和一个parity bit(偶校验bit),所以一个有10个bit。偶校验规则:偶校验bit8个data bit,共9个bit,里面的“1”one个数为偶。10bit后,还有一个guard time,用来提供多余的时间处理数据和如果偶校验失败,提供错误提示的使用的。如果parity check err,则在parity bit后的0。5ETU开始将IO set to low,keep for 12 ETU,发送方则在parity bit后的1ETU开始check IO line状态。如果是h

    9、igh,就认为是对的;如果是low就重发(T0,必须要重发,最多3次,3次后,就释放卡)。4,ATR.atr按照一下的顺序传送:初始字符TS,格式字符T0,接口字符TAi,TBi,TCi,TDi(i 1,2),历史字符T1,T2,TCK(校验字符)。Reset| _ _ _| | | | | | | | | | | | | | | | |-| TS| T0|TA1|TB1|TC1|TD1|TA2|TB2|TC2|TD2| . | T1| . | TK|TCK| |_|_|_|_|_|_|_|_|_|_|_ _|_|_ _|_ |_| TS : Initial character TO : Fo

    10、rmat character TAi : Interface character codes FI,DI TBi : Interface character codes II,PI1 TCi : Interface character codes N TDi : Interface character codes Yi+1, T T1, . , TK : Historical characters (max,15) TCK : Check character Figure 4 : General configuration of the Answer to Reset(1),TS(初始字符),

    11、指示了正向协议和反向协议。对T0,T1都有效。正向协议:就是data的高电平表示1,LSB first:)反向协议:就是data的低电平表示1,MSB first:)在复位应答的电平情况就是这样的:Direct convention(正向协议) : (L)HHLHHHLL(H) 就是0x3B,Inverse convention (反向协议): (L)HHLLLLLL(L) 就是0x3F,如果按照正向协议来看,就是0x03(我们就是这样处理的,不过,偶校验是错的,所以我们屏蔽了TS的偶校验:)。(2),T0(格式字符),high nibble指示TA1,TB1,TC1,TD1的存在,low n

    12、ibble指示历史字节的数目。 ,-,-,-,-,-,-,-,-, | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | - : Y1 : indicator for the presence of the interface characters TA1 is transmitted when b5=1 TB1 is transmitted when b6=1 TC1 is transmitted when b7=1 TD1 is transmitted when b8=1 K : number of hitorical characters(3),接口字符,T

    13、Ai,TBi,TCi:指示协议参数。TDi:指示协议类型(T0,1,或者其他)和是否 存在后续接口字符; ,-,-,-,-,-,-,-,-, | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | - : Yi+1 : indicator for the presence of the interface characters TAi+1 is transmitted when b5=1 TBi+1 is transmitted when b6=1 TCi+1 is transmitted when b7=1 TDi+1 is transmitted when b8

    14、=1 T : Protocol type for subsequent transmission. Figure : Informations provided by TDiTA1:high nibble是FI,low nibble是DI。具体如下。Table 6: Clock rate conversion factor F - - FI | 0000 0001 0010 0011 0100 0101 0110 0111 -+- F | Internal clk 372 558 744 1116 1488 1860 RFU -+- fs (max) MHz | - 5 6 8 12 16 2

    15、0 - - - FI | 1000 1001 1010 1011 1100 1101 1110 1111 -+- F | RFU 512 768 1024 1536 2048 RFU RFU -+- fs (max) MHz | - 5 7.5 10 15 20 - - - RFU : Reserved for Future UseTable 7: Bit rate afjustment factor D - - DI | 0000 0001 0010 0011 0100 0101 0110 0111 -+- D | RFU 1 2 4 8 16 RFU RFU - - DI | 1000 1

    16、001 1010 1011 1100 1101 1110 1111 -+- D | RFU RFU 1/2 1/4 1/8 1/16 1/32 1/64 - RFU : Reserved for Future Use规定:在atr和pts期间的初始ETU 372/fi;(fi为提供给卡的clock 频率);其他的情况下的工作ETU (1/D)(F/fs);fs为提供给卡的clock频率.TB1: 编程电压和编程电流。现在已经不用了。不发送或者为0(表示不需要)。TC1:表示增加到最小持续时间(12个ETU)的额外保护时间。取值范围:0x000xff;当TC1 0x000xfe的时候,标准保护时

    17、间 12TC1 12 266ETU;当TC1 0xff的时候,有特殊意义。如果传输协议T 0,则保护时间为12ETU;T=1,则保护时间为11ETU。TDi:见开头。TA2:TA2的存在与否表示IC卡是以特定模式还是交互模式工作。TA2存在,特定模式。一般不传送TA2(TA2不存在),交互模式。TB2:IC卡的编程电压,取代前面的TB1的值。已经不需要了。现在一般都不支持,也不传送了。TC2:T=0协议专用的接口字符。传送工作等待时间整数(waiting Time Integer,WI),确定card发送的任意一个字符startbit和card或者终端发送的前一个字符startbit之间的最大

    18、时间间隔。工作等待时间为:960*D*WI.以后的接口字符都是T=1的专用接口字符,T=0下不传送。TAi(i2):cpu card可能接收的信息字段(information field)的最大长度。取值范围:1254。T=1时,终端只接收16254的值。TBi(i2):low nibble是cwi(character waiting integer)字符等待时间整数。用来计算CWT (2CWI+11)工作ETU;取值范围:05;high nibble是bwi(block waiting integer)块等待时间整数。用来计算BWT ((2BWI)*960*(372D/F) + 11)工作E

    19、TU;取值范围:04;TCi(i2):b0表示使用的err detecting code,b0 0,使用lrc(纵向冗余校验,就是XOR校验),b0 1,使用CRC(循环冗余校验)。(4):历史字节。标准没有规定。根据使用自己定义。(5):TCK。XOR校验字符。从T0开始到TCK前一个字节(也就是历史字节的最后一个字节)的XOR的值应该等于TCK的值。5,字符协议。(1):命令头:命令由终端发出。包括5bytes,依次为:CLA,INS,P1,P2,和P3。CLA:(class byte of command message)表示命令类别。INS:(instruction)表示指令代码。P1

    20、(parameter 1)和P2(parameter 2)表示命令的2个附加参数。P3:根据不同的INS,P3指明了发送给cpu card的命令的字节长度(命令数据的长度)或者期待cpu card返回的数据的字节长度。(2):过程字节。cpu card接收到命令头后,向终端发送一个过程字节。过程字节向终端指明了下一步该作什么。其编码和终端行为的对应关系如下:Byte | Value | Result -+-+- | INS | VPP is idle. All remaining data bytes are transferred | | subsequently. | | | INS+1

    21、| VPP is active. All remaining data bytes are transferred | | subsequently. ACK | _ | | INS | VPP is idle. Next data byte is transferred subsequently. | _ | | INS+1 | VPP is active. Newt data byte is transferred subsequently. -+-+- NULL | $60 | No futher action on VPP. The interface device waits for

    22、 a | | new procedure byte -+-+- SW1 | SW1 | VPP is idle. The interface device waits for a SW2 byte当终端收到sw1和sw2后,如果过程字节是0x61,终端向card发送一个长度为sw2的值的GetResponse命令;如果过程字节是0x6c,终端应立即向card重新发送前一个命令头,P3为sw2的值。如果过程字节为0x6X(除了0x60,0x6c,0x061外),card向终端传送状态码和必要的数据(如果有的话),并等待下一个命令。命令被成功执行后,返回0x90,0x00;T=0时,命令的传送如下

    23、:|ClA|INS|P1|P2|P3| 等待card返回的状态嘛,如果正确的话,接着发送|CMND DATA|,等待card返回数据。T=1时,命令的传输就不一样了。T=1是面向block的协议,T=0是面向字节的协议。T=1时的block frame 结构:-HEAD FIELD | DATA FIELD |尾field |-NAD节点地址 |PCB协议控制字节|LEN长度|INF(APDU或控制信息)|EDC(错误校验码)|-head field:由3个字节组成。*用于表示数据block的源地址和目的地址,以及提供vpp状态控制的节点地址。*控制数据传输的协议控制字节。*可选的数据fiel

    24、d长度。a,节点地址NAD(node address),b0b2表示块的源地址(source address,SAD);b4-b6表示目的地址(destination address,DAD),b3和b7不使用,为0;如果不使用节点地址,SAD和DAD都为0;如果使用节点地址,从card收到的第一个块开始,就一直使用这个地址约定。b,协议控制字节(PCB)。有3种类型。*传送APDU的信息块(I block)。*用于传送确认ACK或者NAK(negetive ACK)的接收就绪块(R block)。*用于交换信息的管理模块(S block)。I block的PCB的编码-BIT | 含义-B7 |0-B6 |序列号,每个block frame都有个序号,第一个为0, 以后为1,0,1,-B5 |链接(用于多个数据,当一个数据field无法传送所有的数据, |这个用于指示后面还有没有数据(也就是块)被传递。-B4-B0 |reserved-R block的PCB的编码-BIT | 含义-


    注意事项

    本文(CPU卡知识源代码.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开