一种主机与智能卡信息交互的方法和装置的制作方法

文档序号:6560957阅读:247来源:国知局
专利名称:一种主机与智能卡信息交互的方法和装置的制作方法
技术领域
本发明涉及数据通讯领域,特别涉及一种主机与智能卡信息交互的方法和装置。
背景技术
CCID(USB Chip/Smart Card Interface Devices-USB芯片智能卡接口设备)标准是由几大国际级IT企业共同制定的一个标准,它提供了一种智能卡读写设备与主机或其它嵌入式主机实现相互通讯的可能。CCID标准规定了CCID设备是一种芯片/智能卡接口设备,设备通过USB接口与主机或其它嵌入式主机连接,进行符合CCID标准的数据通讯,同时设备通过符合7816标准协议的接口与智能卡进行通讯。微软公司在其WINDOWS2000及以上的操作系统上提供并支持CCID驱动,使设备生产厂商可以轻松的开发使用符合CCID接口标准的设备。同时,CCID接口标准支持PC(Personal Computer-个人计算机)/SC(Smart Card-智能卡)接口调用,使广大开发者可以方便的对智能密钥设备进行开发操作。在其它开源操作系统如LINUX的众多版本上,也有许多开源的CCID驱动可供开发者和使用者使用。
描述符是数据结果或信息的格式化块,它可以使主机知道这个设备,每个描述符包含了关于这个设备的整体信息或者一个元素的信息。按照CCID协议标准,符合CCID接口标准的设备其描述符的特征是在接口描述符中,字节0是描述符的字节长度,值为09h,字节1是固定终端,值为04h,字节4是除了终端0,支持的终端号,值为02h或03h,字节5是类代码,值为0Bh,字节6为子类代码,值为00h,字节7是协议代码,值为00h;在类型描述符中,字节0是描述符的字节长度,值为36h,字节2是CCID规范的版本号,它是用二进制代码表示的小数,值为0100h,字节52是PIN码支持,值为00H-03h。符合CCID接口标准的设备的其它描述符中的字节,如设备描述符、配置描述符中的字节以及上述接口描述符和类型描述符中的其它字节仍按照USB协议中的规定设置。
在使用CCID标准实现主机与智能卡信息交互的时候,我们需要一种能够通用的设备和实现方法,它能够快速、方便、模式化的解析符合CCID和7816标准的命令流,特别是解析符合7816 T=0协议的方法,设备通过解析符合CCID标准的7816 T=0命令流从而快速、方便、标准模式化的实现主机与智能卡的信息交互。7816 T=0协议标准是一种异步半双工块字符传输协议,协议在复位应答或成功的PPS(协议和参数选择)交换之后开始。etu是7816 T=0协议中用到的基本时间单元,在复位应答期间,1个etu应与372个时钟周期相等,即1etu=372/f。根据7816 T=0协议,传输中使用的命令总是由接口设备启动,它以一个5字节的报头通知智能卡做什么,并且允许在智能卡发出的过程字节的控制下传输数据字节。为了区分输入数据传输命令(执行时数据进入智能卡)和输出数据传输命令(执行时数据离开智能卡),假设智能卡和接口设备预先知道数据方向,在一个5字节报头传输之后,接口设备等待一个过程字节,过程字节的值将指明接口设备请求的动作。在每一个过程字节中,智能卡可以用一个ACK(确认)或NULL字节来把这个命令继续进行下去,或以适当的不应答表示不赞同,或用结束序列SW1-SW2(状态字节)结束这个命令。
在目前现有技术中,主机与智能卡的信息交互是通过智能卡读写设备来完成的。主机与智能卡通讯时,需要依赖预先安装在主机里的智能卡读写设备的驱动程序来实现信息的交互,智能卡读写设备厂商提供的驱动程序各不相同,没有一个统一的标准,而且驱动程序的安装、升级、卸载等操作很不方便,还容易对操作系统造成损害。如何简单、方便的实现主机与智能卡的信息交互是IT工作者和使用者都很关心的问题。

发明内容
为了解决主机与智能卡的信息交互需要依赖智能卡读写设备的驱动程序而实现的问题,本发明提出了一种利用CCID命令流快速实现主机与智能卡信息交互的方法,主机与智能卡通过接口设备建立连接,所述主机与所述接口设备采用CCID标准通讯协议进行信息交互,所述接口设备与所述智能卡采用7816 T=0协议进行信息交互,所述方法包括以下步骤步骤A所述主机向所述智能卡发送上电复位命令,并接收符合CCID标准的复位应答数据包,所述接口设备保存所述智能卡的T=0协议类型标志;步骤B所述主机向所述接口设备发送符合CCID标准的命令流;步骤C所述接口设备收到所述命令流,发送所述命令流中的数据包到所述智能卡;步骤D所述智能卡收到所述数据包,发送应答到所述接口设备;步骤E所述接口设备收到所述应答,判断交互过程是否出错,如果出错,则发送符合CCID标准的出错信息包到所述主机,如果没有出错,则根据7816 T=0协议的规定与智能卡完成通讯,然后将智能卡的应答信息组成符合CCID标准的应答数据包,并发送应答数据包到所述主机;步骤F所述主机收到所述应答数据包或出错信息包,完成所述主机与所述智能卡之间的一次信息交互。
所述步骤A具体包括步骤A1所述主机向所述智能卡发送上电复位命令;步骤A2所述智能卡向所述接口设备发送复位应答;步骤A3所述接口设备根据所述复位应答,判断所述智能卡的协议类型,并保存所述智能卡协议类型标志;步骤A4所述接口设备将所述复位应答组成符合CCID接口标准的数据包,并发送所述数据包到所述主机;步骤A5所述主机接收所述符合CCID接口标准的复位应答数据包。
所述步骤A3判断所述智能卡的协议类型的方法为所述接口设备通过所述复位应答中的格式字符判断相应的接口字符是否存在,如果存在,则所述接口设备查看最后一个TD接口字符低半字节的值,如果低半字节的值为0,则所述智能卡的协议类型是7816 T=0协议类型。
所述步骤C具体包括步骤C1所述接口设备收到所述命令流,解析所述命令流的含义;步骤C2所述接口设备根据所述命令流中的数据长度标志,确定所述命令流中的数据包长度和其在所述接口设备收发缓冲中的位置;步骤C3所述接口设备拆分出所述命令流中的数据包,发送所述数据包的包头到所述智能卡。
所述步骤E具体包括所述接口设备等待接收所述应答,判断与所述智能卡信息交互过程中是否出现错误,如果出现错误,则所述接口设备将所述错误标定为统一的错误标志或不同的错误信息代码,将所述错误组成符合CCID标准的出错信息包,发送所述出错信息包到所述主机,如果没有出现错误,则所述接口设备判断所述应答是否为过程字节,如果是,则所述接口设备按照7816 T=0协议进行相应的交互处理,所述接口设备将智能卡返回的数据及应答信息组成符合CCID标准的应答数据包,发送所述应答数据包到所述主机,如果所述应答是状态信息,所述接口设备将所述应答的状态信息组成符合CCID标准的应答数据包,发送所述应答数据包到所述主机。
所述接口设备按照7816 T=0协议进行相应的交互处理具体包括以下四种情况情况1设置一个等待接收字节的状态,如果所述接口设备接收到值为60H的过程字节,则所述接口设备提供一个额外的工作等待时间,并返回等待接收字节的状态。
情况2设置一个等待接收字节的状态,如果所述接口设备接收到的过程字节的值与INS字节相同,则所述接口设备向所述智能卡发送或者从所述智能卡接收所有数据,并返回等待接收字节的状态。
情况3设置一个等待接收字节的状态,如果所述接口设备接收到的过程字节的值与INS字节的补码相同,则所述接口设备向所述智能卡发送或者从所述智能卡接收下一个数据字节,并返回等待接收字节的状态。
情况4设置一个等待接收字节的状态,如果所述接口设备接收到的是状态字节,则所述接口设备返回等待接收字节的状态并继续接收下一个状态字节,如果连续接收到的两个状态字节都是合法的,则所述接口设备发送应答数据包到所述主机。
所述接口设备是符合CCID标准的读卡器。
本发明还提供了一种主机与智能卡信息交互的装置,所述装置包括USB接口模块、主控模块、7816 T=0接口模块;所述USB接口模块用于实现所述主机与所述主控模块采用CCID标准通讯协议进行信息交互所述主控模块用于接收所述主机发送的命令流、上电复位命令和智能卡发送的应答,发送命令流中的数据包到智能卡,以及发送符合CCID标准的应答数据包或出错信息包到所述主机;所述7816 T=0接口模块用于实现所述主控模块与智能卡采用7816 T=0协议进行信息交互。
所述USB接口模块包括描述符设置单元和端点设置单元;所述描述符设置单元用于设置符合CCID标准中规定的描述符及其对应的值;所述端点设置单元用于将至少一个OUT端点设置为BULK-OUT端点,至少一个IN端点设置为BULK-IN端点,至少一个IN端点设置为中断端点。
所述主控模块包括以下固件程序单元解析单元、计算单元、拆分单元、错误信息标志单元、应答组成单元、错误信息组成单元、错误信息判断单元和过程字节判断单元;所述解析单元用于所述主控模块收到所述命令流,解析所述命令流的含义;所述计算单元用于根据所述主控模块收到的所述命令流中的数据长度标志,确定所述命令流中的数据包长度和其在所述接口设备收发缓冲中的位置;所述拆分单元用于拆分出所述主控模块收到的所述命令流中的数据包;所述错误信息标志单元用于将错误标志为统一的错误标志或不同的错误信息代码;
所述应答组成单元用于将所述应答组成符合CCID标准的应答数据包;所述错误信息组成单元用于将所述错误组成符合CCID标准的出错信息包;所述错误信息判断单元用于判断所述7816 T=0接口模块与所述智能卡信息交互过程中是否出现错误,如果出现错误,则所述错误信息标志单元将所述错误标定为统一的错误标志或不同的错误信息代码,所述错误信息组成单元将所述错误组成符合CCID标准的出错信息包,所述主控模块发送所述出错信息包到所述主机,如果没有出现错误,则所述应答组成单元将所述应答组成符合CCID标准的应答数据包,所述主控模块发送所述应答数据包到所述主机;所述过程字节判断单元用于判断所述主控模块收到的智能卡发送的应答是否为过程字节,如果是,所述主控模块按照7816 T=0协议进行相应的交互处理,所述应答组成单元将应答组成符合CCID标准的应答数据包,所述主控模块发送应答数据包到主机,如果不是,所述应答组成单元将应答组成符合CCID标准的应答数据包,所述主控模块发送应答数据包到主机。
有益效果由于本发明引入了CCID标准,使得主机不需要安装智能卡读写设备的驱动程序就可以完成主机与接口设备间的信息交互,大大地提高了接口设备的适用性,促使生产接口设备的厂家开发出更好的用于主机与智能卡进行信息交互的接口设备。


图1是符合CCID标准的命令流的格式框图;图2是符合CCID标准的数据包的格式框图;图3是本发明实施例的流程图;图4是主机与智能卡信息交互的装置结构图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
如图1所示,符合CCID标准的命令流的格式框图符合CCID标准的命令流由包头和数据包两部分组成,其中前10个字节,即第0-9字节,是符合CCID标准的命令流的包头部分,第10字节是符合CCID标准的命令流的数据包部分。包头中的0字节6FH表示主机向CCID设备发送字符传输命令的命令类型,CCID设备通过判断这个命令类型来分析这条CCID命令流代表的命令含义,进行相应的CCID设备操作。包头中的1-4字节表示本次传输的数据长度,CCID设备利用这个数据长度来解析数据包,通过计算4个字节代表的长度信息,可以确定数据包的长度和在CCID设备收发缓冲中的位置。
如图2所示,符合CCID标准的数据包的格式框图符合CCID标准的数据包由包头和数据包两部分组成,其中前10个字节,即第0-9字节,是符合CCID标准的数据包的包头部分,第10字节是符合CCID标准的数据包的数据包部分。包头中的0字节80H表示CCID设备向主机发送字符传输命令的命令类型,CCID设备通过判断这个命令类型来分析这条CCID数据包代表的命令含义,进行相应的CCID设备操作。包头中的1-4字节表示本次发送的数据长度,CCID利用这个数据长度来解析数据包,通过计算4个字节代表的长度信息,可以确定CCID数据包的长度和在CCID设备收发缓冲中的位置。
实施例参见图3,利用CCID命令流实现符合7816协议标准的智能卡与主机进行信息交互的方法,其具体步骤如下步骤101CCID设备上电,声明自身是CCID设备,声明BULK-OUT、BULK-IN和中断端点并与主机建立连接;步骤102主机向智能卡发送上电复位命令使之上电,CCID设备接收复位应答并分析,保存智能卡协议类型标志;步骤103CCID设备收到符合CCID标准的命令流;步骤104CCID设备解析符合CCID标准的命令流,拆分命令流的包头;步骤105CCID设备判断符合CCID标准的命令流的含义,如果是传输数据命令,则执行步骤107,如果是其它CCID操作命令,则执行步骤106;步骤106执行CCID操作命令相应的操作;步骤107CCID设备对保存的卡类型信息进行判断,如果是T=0协议的智能卡,则执行步骤109,如果不是T=0协议的智能卡,则执行步骤108;步骤108进行其它处理;步骤109CCID设备按照T=0协议与智能卡进行信息交互;步骤110CCID设备通过计算命令流包头中的数据长度标志,获知要发送的数据包的长度和其在CCID设备收发缓冲中的位置;步骤111CCID设备发送确定好的数据包的包头到智能卡,并接收智能卡的应答;步骤112CCID设备收到智能卡发送的应答,判断与智能卡信息交互过程中是否出现错误信息,如果出现错误信息,则执行步骤113,如果没有出现错误信息,则执行步骤114;
步骤113CCID设备根据出错原因定制不同错误类型的返回参数,并将错误信息组成符合CCID标准的出错信息包,发送出错信息包到主机;步骤114CCID设备检查收到的应答是否为过程字节,如果是,执行步骤115,如果不是,执行步骤116;步骤115CCID设备按照7816 T=0协议标准进行相应的交互处理;步骤116CCID设备将收到的状态字节的应答组成符合CCID标准的应答数据包,并发送应答数据包到主机;步骤117主机收到应答数据包或出错信息包,完成主机与智能卡之间的一次信息交互。
步骤102具体的过程是将符合7816协议的智能卡插入CCID设备,CCID设备通过中断端点向主机发送通知信息,通知主机智能卡已经插入CCID设备,主机收到通知信息,获知智能卡已经插入CCID设备,发送上电复位命令给CCID设备,CCID设备收到上电复位命令,向智能卡发送上电复位命令使之上电,智能卡收到上电复位命令,智能卡上电复位,向CCID设备发送复位应答,CCID设备收到智能卡发送的复位应答,并通过所述复位应答中的格式字符判断相应的接口字符是否存在,如果存在,则CCID设备查看最后一个TD接口字符低半字节的值,如果低半字节的值为0,则所述智能卡的协议类型是7816 T=0协议类型,保存协议类型标志,将复位应答组成符合CCID标准的数据包,并将数据包发送给主机,主机收到数据包,获知智能卡已经上电,向CCID设备发送符合CCID标准的命令流。协议标志可以用来确定后续对智能卡操作的协议类型,在整个信息交互过程中都将使用并判断这个标志,直到智能卡下电,除非有其它成功的PPS交换或其它形式的协议改变。
步骤113中符合CCID标准的出错信息包可以是独立的错误信息代码,例如应答超时、奇偶错误或语法错误,也可以是一个统一的错误标志。应答超时的判断方法为CCID设备在向智能卡发送数据前设定一个定时器,并在发送数据时开启这个定时器,CCID设备收到超时中断的信息,进行相应的超时处理,并组成符合CCID标准的出错信息包,发送出错信息包到主机。奇偶错误的判断方法为CCID设备在向智能卡发送字节后,检测到CCID设备中的7816接口模块的I/O数据线为低,CCID设备重发刚才向智能卡发送的字节,如果CCID设备重发字节的次数超过7816协议规定的标准,则CCID设备报告奇偶错误,进行奇偶出错处理,并组成符合CCID标准的出错信息包,发送出错信息包到主机。语法错误的判断方法为CCID设备接收到的智能卡数据并非7816协议标准所规定的状态字节或过程字节的值,进行语法出错处理,并组成符合CCID标准的出错信息包,发送出错信息包到主机。
步骤115中CCID设备按照7816 T=0协议标准进行相应的交互处理的具体过程为设置一个等待接收字节的状态;如果CCID设备接收到的过程字节的值为十六进制数60H,则CCID设备提供一个额外的工作等待时间,并返回等待接收字节的状态;如果CCID设备接收到的过程字节的值与INS字节相同,则表示CCID设备向智能卡发送或者从智能卡接收所有数据,并返回等待接收字节的状态;如果CCID设备接收到的过程字节的值与INS字节的补码相同,则表示CCID设备向智能卡发送或者从智能卡接收下一个数据字节,并返回等待接收字节的状态;如果所述接口设备接收到的是状态字节,则所述接口设备返回等待接收字节的状态并继续接收下一个状态字节,如果连续接收到的两个状态字节都是合法的,则所述接口设备发送应答数据包到所述主机。
主机与CCID设备之间采用符合CCID标准的通讯协议进行通讯。
参见图4,本发明还提供了一种主机与智能卡信息交互的装置,装置包括USB接口模块、主控模块、7816 T=0接口模块;USB接口模块用于实现主机与主控模块采用CCID标准通讯协议进行信息交互;主控模块用于接收主机发送的命令流、上电复位命令和智能卡发送的应答,发送命令流中的数据包到智能卡,以及发送符合CCID标准的应答数据包或出错信息包到主机;7816 T=0接口模块用于实现主控模块与智能卡采用7816 T=0协议进行信息交互。
USB接口模块包括描述符设置单元和端点设置单元;描述符设置单元用于设置符合CCID标准中规定的描述符及其对应的值;端点设置单元用于将至少一个OUT端点设置为BULK-OUT端点,至少一个IN端点设置为BULK-IN端点,至少一个IN端点设置为中断端点。
主控模块包括以下固件程序单元解析单元、计算单元、拆分单元、错误信息标志单元、应答组成单元、错误信息组成单元、错误信息判断单元和过程字节判断单元;解析单元用于主控模块收到命令流,解析命令流的含义;计算单元用于根据主控模块收到的命令流中的数据长度标志,确定命令流中的数据包长度和其在接口设备收发缓冲中的位置;拆分单元用于拆分出主控模块收到的命令流中的数据包;错误信息标志单元用于将错误标志为统一的错误标志或不同的错误信息代码;应答组成单元用于将应答组成符合CCID标准的应答数据包;错误信息组成单元用于将错误组成符合CCID标准的出错信息包;
错误信息判断单元用于判断7816 T=0接口模块与智能卡信息交互过程中是否出现错误,如果出现错误,则错误信息标志单元将错误标定为统一的错误标志或不同的错误信息代码,错误信息组成单元将错误信息组成符合CCID标准的出错信息包,主控模块发送出错信息包到主机,如果没有出现错误,则应答组成单元将应答组成符合CCID标准的应答数据包,主控模块发送应答数据包到主机;过程字节判断单元用于判断主控模块收到的智能卡发送的应答是否为过程字节,如果是,主控模块按照7816 T=0协议进行相应的交互处理,应答组成单元将应答组成符合CCID标准的应答数据包,主控模块发送应答数据包到主机,如果不是,应答组成单元将应答组成符合CCID标准的应答数据包,主控模块发送应答数据包到主机。
以上所述的实施例只是本发明较优选的具体实施方式
的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种主机与智能卡信息交互的方法,其特征在于,主机与智能卡通过接口设备建立连接,所述主机与所述接口设备采用CCID标准通讯协议进行信息交互,所述接口设备与所述智能卡采用7816T=0协议进行信息交互,所述方法包括以下步骤步骤A所述主机向所述智能卡发送上电复位命令,并接收符合CCID标准的复位应答数据包,所述接口设备保存所述智能卡的T=0协议类型标志;步骤B所述主机向所述接口设备发送符合CCID标准的命令流;步骤C所述接口设备收到所述命令流,发送所述命令流中的数据包到所述智能卡;步骤D所述智能卡收到所述数据包,发送应答到所述接口设备;步骤E所述接口设备收到所述应答,判断交互过程是否出错,如果出错,则发送符合CCID标准的出错信息包到所述主机,如果没有出错,则根据7816T=0协议的规定与智能卡完成通讯,然后将智能卡的应答信息组成符合CCID标准的应答数据包,并发送应答数据包到所述主机;步骤F所述主机收到所述应答数据包或出错信息包,完成所述主机与所述智能卡之间的一次信息交互。
2.如权利要求1所述的主机与智能卡信息交互的方法,其特征在于,所述步骤A具体包括步骤A1所述主机向所述智能卡发送上电复位命令;步骤A2所述智能卡向所述接口设备发送复位应答;步骤A3所述接口设备根据所述复位应答,判断所述智能卡的协议类型,并保存所述智能卡协议类型标志;步骤A4所述接口设备将所述复位应答组成符合CCID接口标准的数据包,并发送所述数据包到所述主机;步骤A5所述主机接收所述符合CCID接口标准的复位应答数据包。
3.如权利要求2所述的主机与智能卡信息交互的方法,其特征在于,所述步骤A3判断所述智能卡的协议类型的方法为所述接口设备通过所述复位应答中的格式字符判断相应的接口字符是否存在,如果存在,则所述接口设备查看最后一个TD接口字符低半字节的值,如果低半字节的值为0,则所述智能卡的协议类型是7816T=0协议类型。
4.如权利要求1所述的主机与智能卡信息交互的方法,其特征在于,所述步骤C具体包括步骤C1所述接口设备收到所述命令流,解析所述命令流的含义;步骤C2所述接口设备根据所述命令流中的数据长度标志,确定所述命令流中的数据包长度和其在所述接口设备收发缓冲中的位置;步骤C3所述接口设备拆分出所述命令流中的数据包,发送所述数据包的包头到所述智能卡。
5.如权利要求1所述的主机与智能卡信息交互的方法,其特征在于,所述步骤E具体包括所述接口设备等待接收所述应答,判断与所述智能卡信息交互过程中是否出现错误,如果出现错误,则所述接口设备将所述错误标定为统一的错误标志或不同的错误信息代码,将所述错误组成符合CCID标准的出错信息包,发送所述出错信息包到所述主机,如果没有出现错误,则所述接口设备判断所述应答是否为过程字节,如果是,则所述接口设备按照7816T=0协议进行相应的交互处理,所述接口设备将智能卡返回的数据及应答信息组成符合CCID标准的应答数据包,发送所述应答数据包到所述主机,如果所述应答是状态信息,所述接口设备将所述应答的状态信息组成符合CCID标准的应答数据包,发送所述应答数据包到所述主机。
6.如权利要求5所述的主机与智能卡信息交互的方法,其特征在于,所述接口设备按照7816T=0协议进行相应的交互处理的具体方法为设置一个等待接收字节的状态,如果所述接口设备接收到值为60H的过程字节,则所述接口设备提供一个额外的工作等待时间,并返回等待接收字节的状态。
7.如权利要求5所述的主机与智能卡信息交互的方法,其特征在于,所述接口设备按照7816T=0协议进行相应的交互处理的具体方法为设置一个等待接收字节的状态,如果所述接口设备接收到的过程字节的值与INS字节相同,则所述接口设备向所述智能卡发送或者从所述智能卡接收所有数据,并返回等待接收字节的状态。
8.如权利要求5所述的主机与智能卡信息交互的方法,其特征在于,所述接口设备按照7816T=0协议进行相应的交互处理的具体方法为设置一个等待接收字节的状态,如果所述接口设备接收到的过程字节的值与INS字节的补码相同,则所述接口设备向所述智能卡发送或者从所述智能卡接收下一个数据字节,并返回等待接收字节的状态。
9.如权利要求5所述的主机与智能卡信息交互的方法,其特征在于,所述接口设备按照7816T=0协议进行相应的交互处理的具体方法为设置一个等待接收字节的状态,如果所述接口设备接收到的是状态字节,则所述接口设备返回等待接收字节的状态并继续接收下一个状态字节,如果连续接收到的两个状态字节都是合法的,则所述接口设备发送应答数据包到所述主机。
10.如权利要求1-9中任意一项权利要求所述的主机与智能卡信息交互的方法,其特征在于,所述接口设备是符合CCID标准的读卡器。
11.一种主机与智能卡信息交互的装置,其特征在于,所述装置包括USB接口模块、主控模块、7816T=0接口模块;所述USB接口模块用于实现所述主机与所述主控模块采用CCID标准通讯协议进行信息交互;所述主控模块用于接收所述主机发送的命令流、上电复位命令和智能卡发送的应答,发送命令流中的数据包到智能卡,以及发送符合CCID标准的应答数据包或出错信息包到所述主机;所述7816T=0接口模块用于实现所述主控模块与智能卡采用7816T=0协议进行信息交互。
12.如权利要求11所述的主机与智能卡信息交互的装置,其特征在于,所述USB接口模块包括描述符设置单元和端点设置单元;所述描述符设置单元用于设置符合CCID标准中规定的描述符及其对应的值;所述端点设置单元用于将至少一个OUT端点设置为BULK-OUT端点,至少一个IN端点设置为BULK-IN端点,至少一个IN端点设置为中断端点。
13.如权利要求11所述的主机与智能卡信息交互的装置,其特征在于,所述主控模块包括以下固件程序单元解析单元、计算单元、拆分单元、错误信息标志单元、应答组成单元、错误信息组成单元、错误信息判断单元和过程字节判断单元;所述解析单元用于所述主控模块收到所述命令流,解析所述命令流的含义;所述计算单元用于根据所述主控模块收到的所述命令流中的数据长度标志,确定所述命令流中的数据包长度和其在所述接口设备收发缓冲中的位置;所述拆分单元用于拆分出所述主控模块收到的所述命令流中的数据包;所述错误信息标志单元用于将错误标志为统一的错误标志或不同的错误信息代码;所述应答组成单元用于将所述应答组成符合CCID标准的应答数据包;所述错误信息组成单元用于将所述错误组成符合CCID标准的出错信息包;所述错误信息判断单元用于判断所述7816T=0接口模块与所述智能卡信息交互过程中是否出现错误,如果出现错误,则所述错误信息标志单元将所述错误标定为统一的错误标志或不同的错误信息代码,所述错误信息组成单元将所述错误组成符合CCID标准的出错信息包,所述主控模块发送所述出错信息包到所述主机,如果没有出现错误,则所述应答组成单元将所述应答组成符合CCID标准的应答数据包,所述主控模块发送所述应答数据包到所述主机;所述过程字节判断单元用于判断所述主控模块收到的智能卡发送的应答是否为过程字节,如果是,所述主控模块按照7816T=0协议进行相应的交互处理,所述应答组成单元将应答组成符合CCID标准的应答数据包,所述主控模块发送应答数据包到主机,如果不是,所述应答组成单元将应答组成符合CCID标准的应答数据包,所述主控模块发送应答数据包到主机。
全文摘要
本发明公开了一种主机与智能卡信息交互的方法和装置,属于数据通讯领域。为了解决主机与智能卡的信息交互需要依赖智能卡读写设备的驱动程序而实现的问题,本发明提出了一种利用CCID命令流快速实现主机与智能卡信息交互的方法。本发明还提供了一种主机与智能卡信息交互的装置,用来实现主机与智能卡的快速信息交互。
文档编号G06K7/00GK1936917SQ20061011397
公开日2007年3月28日 申请日期2006年10月23日 优先权日2006年10月23日
发明者陆舟, 于华章 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1