一种智能卡的操作方法及系统的制作方法

文档序号:6483968阅读:155来源:国知局

专利名称::一种智能卡的操作方法及系统的制作方法
技术领域
:本发明涉及智能卡应用领域,特别涉及一种智能卡的操作方法及系统。
背景技术
:CCID(USBChip/smartCardInterfaceDevices,USB芯片智能卡接口设备)标准是由几大国际级IT企业共同制定的一个标准,该标准使智能卡读写设备与主机或其它嵌入式主机之间实现相互通讯成为可能。CCID标准中规定了CCID设备是一种芯片/智能卡接口设备。CCID设备通过USB接口与主机或其它嵌入式主机连接,进行符合CCID标准的数据通讯;同时,CCID设备通过符合7816标准协议的接口与智能卡进行通讯。很多操作系统(如Windows2000以上的版本、Linux等)上均提供并支持CCID驱动,使设备生产厂商可以轻松地开发使用符合CCID接口标准的设备。同时,CCID接口标准还支持PC(PersonalComputer,个人计算机)/SC(SmartCard,智能卡)接口调用,使广大开发者可以方便地对智能密钥设备进行开发操作。现有技术中,使用CCID标准实现主机与智能卡信息交互时,可以通过CCID设备快速、方便、模式化地解析符合CCID和7816标准的命令流。逻辑加密卡是智能卡的一种,介于CPU卡和存储卡两者之间,是带有硬件加密逻辑的存储卡,可以通过密码控制卡片上存储数据的读出和写入,具有一定的保密逻辑功能,但不像存储卡那样能够被自由改写,也不像CPU卡那样能进行复杂的密码运算,适用于一些需要保密功能,但对保密功能要求不高的应用场合。目前典型的CCID设备是读卡器。读卡器通过集成CCID协议能够实现用Unit,应用协议数据单元)指令的方式对智能卡进行^喿作。对于CPU卡,CCID读卡器可以直接将接收到的计算机下发的APDU指令发送给卡片,对卡片进行操作。卡片自身具备处理APDU指令的能力。但是对于逻辑加密卡,其自身不能够处理APDU指令并且也不适用CCID协议,因此通过CCID协议通道下发APDU指令来直接访问逻辑加密卡的方法不能实现。现有技术中,欲对逻辑加密卡进行操作,需要在市场上购买专门开发的自身不集成CCID协议的读卡器访问逻辑加密卡,给逻辑加密卡的操作带来了不便。
发明内容为了使读卡器可以使用APDU指令直接操作插入读卡器中的逻辑加密卡,本发明实施例提供了一种智能卡的操作方法和系统。所述技术方案如下一种智能卡的操作方法,所述方法包括将智能卡插入读卡器的插槽中,再将所述读卡器与计算机进行连接;所述读卡器^f企测所述智能卡的类型;当所述智能卡的类型为逻辑加密卡时,所述计算机接收用户发送的逻辑加密卡操作请求,并将所述逻辑加密卡操作请求映射为应用协议数据单元APDU指令,使用芯片智能卡接口设备CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,发送给所述智能卡,对所述智能卡进行操作;当所述智能卡的类型为CPU卡时,所述计算机将APDU指令使用CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令发送给所述智能卡,对所述智能卡进行操作。所述读卡器检测所迷智能卡的类型,包括所述读卡器发送所述逻辑加密卡支持的ATR(AnswerToReset,复位应答)时序,如果收到所述智能卡返回的数据,则判定所述智能卡为逻辑加密卡;如果收不到所述智能卡返回的数据,则发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;如果收不到所述智能卡返回的数据,则判定出错。所述读卡器检测所述智能卡的类型,包括所述读卡器发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;如果收不到所述智能卡返回的数据,则发送所述逻辑加密卡支持的ATR时7序,如果收到所述智能卡返回的数据,则判定所述智能卡为逻辑加密卡;如果收不到所述智能卡返回的数据,则判定出错。所述计算机将逻辑加密卡操作请求映射为apdu指令,包括所述计算机查询预先保存的逻辑加密卡操作请求与apdu指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的apdu指令。所述读卡器将接收到的所述apdu指令映射为逻辑加密卡操作指令,包括所述读卡器查询预先保存的apdu指令与逻辑加密卡"f喿作指令之间的映射关系,得到与所述apdu指令匹配的逻辑加密卡操作指令。所述计算机将逻辑加密卡操作请求映射为apdu指令,包括所述计算机查询预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与所述逻辑加密卡操:作请求匹配的逻辑加密卡操作指令;将所述逻辑加密卡操作指令写入apdu数据段,产生apdu指令。所述读卡器将接收到的所述apdu指令映射为逻辑加密卡操作指令,包括所述读卡器从接收到的所述apdu指令的数据段中获得逻辑加密卡操作指令。一种智能卡的^喿作系统,包括读卡器,插入所述读卡器插槽的智能卡,以及与所述读卡器建立连接的计算机;所述读卡器包括检测模块,用于检测所述智能卡的类型;接收模块,用于接收所述计算机发送的应用协议数据单元apdu指令;映射模块,用于将所述接收模块接收到的apdu指令映射为逻辑加密卡操作指令;发送模块,用于将所述映射模块中的逻辑加密卡操作指令发送给所述智能卡;操作模块,用于根据所述发送模块发送的逻辑加密卡操作指令搡作所述智能卡;所述计算机包括接收模块,用于接收所述用户发送的逻辑加密卡操作请求;映射模块,用于将所述接收模块接收的逻辑加密卡操作请求映射为apdu指令;发送模块,用于将所述映射模块中的APDU指令使用芯片智能卡接口设备CCID协议发送给所述读卡器。所述计算机还包括第一存储模块;所述第一存储模块用于存储逻辑加密卡操作请求与APDU指令之间的映射关系;相应地,所述计算机的映射模块具体用于查询所述第一存储模块中保存的所述逻辑加密卡操作请求与APDU指令之间的映射关系,得到与所述逻辑加密卡操:作请求匹配的APDU指令。所述读卡器还包括存储模块;所述存储模块用于存储APDU指令与逻辑加密卡操作指令之间的映射关系;相应地,所述读卡器的映射模块具体用于查询所述存储;漠块中保存的APDU指令与逻辑加密卡操作指令之间的映射关系,得到与所述APDU指令匹配的逻辑加密卡操作指令。所述计算机还包括第二存储模块;所述第二存储模块用于存储逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系;相应地,所述计算机的映射模块具体用于查询所述第二存储模块预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的逻辑加密卡操作指令,并将所述逻辑加密卡操作指令写入APDU数据段,产生APDU指令。所述读卡器的映射模块具体用于所述读卡器从接收到的所述APDU指令的数据段中获得逻辑加密卡操作指令。本发明提供的技术方案带来的有益效果是通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡4喿作指令与APDU指令之间映射关系,4吏得读卡器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。图l是本发明实施例1中提供的智能卡的操作方法流程图2是本发明实施例2中提供的智能卡的操作方法流程图3是本发明实施例3中提供的智能卡的操作系统结构示意图4是本发明实施例3中提供的智能卡的操作系统的第二种结构示意图5是本发明实施例3中提供的智能卡的操作系统的第三种结构示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1为了使读卡器可以使用标准APDU指令直接搡作插入读卡器中的逻辑加密卡,本实施例提供了一种智能卡的操作方法,其中,本实施例中的读卡器集成了CCID协议,并预先保存了标准APDU指令与逻辑加密卡操作指令之间的映射关系;并且与读卡器建立连接的计算机中也预先保存了逻辑加密卡操作请求与标准APDU指令之间的映射关系。参见图1,该方法包括步骤101:将智能卡插入读卡器的插槽当中,然后将读卡器与计算机建立连接;读卡器与计算机建立连接的同时,读卡器接收计算机下发的智能卡上电指令;步骤102:读卡器判断插入其插槽的智能卡的类型,并建立与智能卡的连接;如果智能卡的类型是逻辑加密卡,执行步骤103;如果智能卡的类型是CPU卡,执行步骤106;其中,需要说明的是,读卡器判断智能卡的类型的方法依据为根据IS07816协议规定,CPU卡与逻辑加密卡各自支持的ATR时序不同。具体的判(1)读卡器发送逻辑加密卡支持的ATR时序,如果读卡器接收到智能卡返回的数据,则智能卡是逻辑加密卡,建立了读卡器与智能卡的连接,执行步骤103;(2)读卡器发送CPU卡支持的ATR时序,如果读卡器接收到智能卡返回的数据,则该智能卡是CPU卡,建立了读卡器与智能卡的连接,执行步骤106;(3)如果读卡器在发送了CUP卡支持的ATR时序、以及逻辑加密卡支持的ATR时序后,仍没有接收到智能卡返回的数据,则读卡器返回错误代码FEH。需要说明的是,这里不限制步骤(1)和步骤(2)之间的先后顺序,可以先发送CPU卡支持的ATR时序,如果读卡器没有"l妄收到智能卡返回的数据,再发送逻辑加密卡支持的ATR时序;也可以先发送逻辑加密卡支持的ATR时序,如果读卡器没有接收到智能卡返回的数据,再发送CPU卡支持的ATR时序。步骤103:计算机接收用户发送的逻辑加密卡"l喿作请求,查询预先配置在计算机中的逻辑加密卡匹配规则表,即逻辑加密卡操作请求与APDU指令之间的映射关系,得到相应的APDU指令;其中,需要说明的是,逻辑加密卡匹配规则表中与逻辑加密卡操作请求匹配的APDU指令是按照预先设定的规则产生的。如表1所示,以逻辑加密卡SLE4442卡为例,其中,xxH,yyH表示可变内容。如果是其他类型的逻辑加密卡,表示地址的字节长度有可能是两个字节。表1<table>tableseeoriginaldocumentpage11</column></row><table>步骤104:计算初/使用CCID协议将从逻辑加密卡操作请求与APDU指令之间的映射关系中查询到的APDU指令发送给读卡器,读卡器根据接收到的APDU指令查询预置在读卡器之内的APDU指令与逻辑加密卡操作指令之间的映射关系,得到其接收到的APDU指令所匹配的逻辑加密卡操作指令,其中,计算机通过调用PC/SC接口函数使用CCID协议发送APDU指令,不需要安装驱动程序。以逻辑加密卡SLE4442卡为例,说明读卡器查询映射关系得到APDU指令所匹配的操作逻辑加密卡操作指令的过程。其中,读卡器中预置的APDU指令与逻辑加密卡SLE4442卡匹配的映射关系表,具体可以如表2所示,其中,xxH是可变内容。表2编APDU指令内容逻辑加密卡执行操作内容读卡器对智能卡发送的指令内容100H|B0H|E1H|xxH|zzH读取卡的主存储区xxH地址开始的zz字节长度数据30HxxHFFH200H|B0H|E2H|xxH|zzH读取卡的保护存储区xxH地址开始的zz个字节长度数据34HxxHFFH300H|B0H|E3H|xxH|zzH读取卡的安全存储区xxH地址开始的zz个字节长度数据31HxxHFFH400H|D6H|E1H|xxH1zzH|yyH写zz个字节长度lt据yyH到卡的主存储区xxH地址内(举例zz=l)38HxxHyyH500H|D6H|E2H|xxH1zzH|yyH写zz个字节长度数据yyH到卡的保护存储区xxH地址内(举例zz=l)3CHxxHyyH600II|D6II|E3II|xxH1zzll|yyH写zz个字节长度数据xxH到卡的安全存储区xxH地址内(举例zz=l)39HxxHyyH12以表2为例,本实施例以表1中的两种情况进行说明。(1)读卡器接收到计算机发送的APDU指令内容为"00HBOHE1HOOH01H",读卡器根据该APDU指令的第一个字节"OOH"在读卡器预置的APDU指令与逻辑加密卡匹配的映射关系中进行查询,查询得到表2中"APDU指令内容"一栏内所有APDU指令内容的第一个字节都是"00H"的选项;在这些选项中继续查询第二个字节为"BOH"的选项,查询得到表2中编号为1、2、3的APDU指令内容与其符合;在编号为1、2、3的APDU指令内容中查询第三个字节"E1H"的选项,得到表2中编号为1的APDU指令内容"00H|B0H|E1H|xxHIzzH"符合查询条件。其中,在该APDU指令"OOHBOHE1HOOH01H"中,最后一个字节OIH标识计算机期望返回的字节数,第4个字节标识卡主存储区00H地址。由此,读卡器可以获知算计发送的逻辑加密卡的具体操作指令是"读取卡的主存储区OOH地址开始的1字节长度数据",其对应的读卡器对逻辑加密卡发送的命令内容具体为30HOOHFFH。(其中第一个字节表示命令,第二个字节表示操作地址,第三个字节为任意内容)。假设OOH地址内的数据内容具体为"AAH"。(2)读卡器接收到计算机发送的APDU指令内容为"OOHD6HE1HOOH01H55H",读卡器根据该APDU指令的第一个字节"OOH"在读卡器预置的APDU指令与逻辑加密卡匹配的映射关系表中进行查询,查询得到表2中APDU指令内容"一栏内所有APDU指令第一个字节都是"OOH";在这些选项中继续查询第二个字节为"D6H"的选项,查询得到表2中编号为4、5、6的APDU指令内容与其符合;再在编号为4、5、6的APDU指令内容中继续查询第三个字节"E1H",查询得到表2中编号为4的APDU指令内容"OOHID6H|E1H|xxHIzzH|yyH"符合查询条件。在该APDU指令OOHD6HE1HOOH01H55H"中,第5个字节01H表示数据段长度,第6个字节55H是数据段内容。由此,读卡器可以获知算计发送的逻辑加密卡的具体揭:作指令是"写一个字节55H到卡的主存储区OOH地址内",其对应的读卡器对逻辑加密卡发送的命令内容具体为38H0OH55H(其中第一个字节表示命令,第二个字节表示操作地址,第三个字节为有效数据内容)。步骤105:读卡器将查询到的逻辑加密卡操作指令发送给逻辑加密卡,对逻辑加密卡进行直接操作。13仍然以步骤104中"读取卡的主存々者区OOH地址开始的1字节长度数据,,的例子,逻辑加密卡读取其主存储区00H地址内的数据AAH,并将AAH返回给读卡器,读卡器再将AAH以"90H00HAAH,,的形式返回给计算机。或者以步骤104中"写一个字节55H到卡的主存储区OOH地址内,'的例子,逻辑加密卡将55H写入其OOH的地址处。读卡器以"90HOOH"的形式返回给计算机,完成当前操作。步骤106:读卡器接收计算机使用CCID协议发送的APDU指令内容,将该APDU指令发送给智能卡,并将接收到的该智能卡返回的数据,发送给计算机,其中,计算机通过调用PC/SC接口函数使用CCID协议发送APDU指令,不需要安装驱动程序。本发明实施例通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡操作指令与APDU指令之间映射关系,使得读卡器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。实方包例2为了使读卡器可以使用标准APDU指令直接操作插入读卡器中的逻辑加密卡,本实施例提供了一种智能卡的操作方法,其中,本实施例中的读卡器集成了CCID协议;与读卡器建立连接的计算机中预先保存了逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系。参见图2,该方法包括步骤201:将智能卡插入读卡器的插槽当中,然后将读卡器与计算机建立连接;读卡器与计算机建立连接的同时,读卡器接收计算机下发的智能卡上电指令;步骤202:读卡器判断插入其插槽的智能卡的类型,并建立与智能卡的连接;如果智能卡的类型是逻辑加密卡,则执行步骤203;如果智能卡的类型是CPU卡,则执行步骤205;其中,需要说明的是,读卡器判断智能卡的类型的方法依据为根据IS07816协议规定,CPU卡与逻辑加密卡各自支持的ATR时序不同。具体的判断方法为(1)读卡器发送逻辑加密卡支持的ATR时序,如果读卡器接收到智能卡返回的数据,则智能卡是逻辑加密卡,建立了读卡器与智能卡的连接,执行步骤203;(2)读卡器发送CPU卡支持的ATR时序,如杲读卡器接收到智能卡返回的数据,则该智能卡是CPU卡,建立了读卡器与智能卡的连接,执行步骤205;(3)如果读卡器在发送了CUP卡支持的ATR时序、以及逻辑加密卡支持的ATR时序后,仍没有接收到智能卡返回的数据,则读卡器返回错误代码FEH。需要说明的是,这里不限制步骤(1)和步骤(2)之间的先后顺序,可以先发送CPU卡支持的ATR时序,如果读卡器没有接收到智能卡返回的数据,再发送逻辑加密卡支持的ATR时序;也可以先发送逻辑加密卡支持的ATR时序,如果读卡器没有接收到智能卡返回的数据,再发送CPU卡支持的ATR时序。步骤203:计算机接收用户发送的逻辑加密卡操作请求,查询预置在计算机中逻辑加密卡匹配规则表,即逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与逻辑加密卡操作请求匹配的逻辑加密卡操作指令,并将逻辑加密卡搡作指令写入APDU指令的数据段,生成APDU指令,使用CCID协议发送给读卡器,其中,计算机通过调用PC/SC接口函数,使用CCID协议发送APDU指令,不需要安装驱动程序;其中,APDU指令包括CLA、INS、Pl、P2、Lc、Data和Le,每个指令的参数不同,代表的逻辑加密卡操作指令也不同,具体如表3所示,其中,xxH表示可变的内容。表3<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>DataI丄Data:3CHxxHxxHLe:空CLA:OOH写xxH到卡的安全存储区xxll地址内INS:DOHPI:OOHP2:OOHLc:03HData:39HxxHxxHLe:空以表3为例,本实施例以表3中的两种情况进行说明。(1)计算机接收到用户发送的"读逻辑加密卡主存储区OOH地址开始的1个字节长度数据,,的逻辑加密卡操作请求,查找其预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,参见表3,得到与该逻辑加密卡操作请求匹配的逻辑加密卡操作指令为"30HxxH00H"。其中,xxH是可变的内容,根据逻辑加密卡操作请求中的"OOH"将逻辑加密卡操作指令直接转变为"30H00H00H",再将这个逻辑加密卡操作指令写入APDU指令的数据段,生成APDU指令,再使用CCID协议发送给读卡器。这里,以标准APDU指令"OOHBOHOOHOOH"为例,由于标准APDU指令"OOHBOHOOHOOH"的数据段可以任意添加数据,则计算机将"30HOOHOOH"写入APDU指令"OOHBOHOOHOOH"的数据段,得到新的APDU指令"OOHBOHO0HOOH03H3OHOOHO0HO1H"发送给读卡器;其中,OIH表示计算机期望逻辑加密卡返回的字节数。当然,也可以将操作指令写入其他数据段可以任意添加数据的标准APDU指令,方法与上述方法类似,在此不做赘述。(2)计算机接收到用户发送的"写数据AAH到逻辑加密卡主存储区OOH地址内"的逻辑加密卡#:作请求后,查照其预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,参见表3,得到与该逻辑加密卡搡作请求匹配的逻辑加密卡操作指令为"38HxxHxxH"。其中,xxH是可变的内容,根据逻辑加密卡操作请求中的"OOH"和"AAH"将逻辑加密卡操作指令直接转变为"38H00HAAH",再将这个逻辑加密卡操作指令写入APDU指令的数据段,生成API)U指令,再使用CCID协议发送给读卡器。17这里,以标准APDU指令"00HD0HOOHOOH03H"为例,其中03H表示数据段的长度。由于标准APDU指令"00HDOHOOHOOH03H"的数据段可以任意添加数据,则计算机将"38HOOHAAH"写入APDU指令"OOHDOHOOHOOH03H"的数据段,得到新的APDU指令"OOHDOHOOHOOH03H38HOOHAAH"发送给读卡器。当然,也可以将操作指令写入其他数据段可以任意添加数据的标准APDU指令,方法与上述方法类似,在此不做赘述。步骤204:读卡器从接收到的APDU指令的数据段中获得逻辑加密卡操作指令,并发送给逻辑加密卡,对其进行操作;仍然以步骤203中(1)为例,读卡器接收到APDU指令"OOHBOHOOHOOH03H30HOOHOOH01H",则读卡器将APDU指令的数据段中的内容30HOOHOOH作为逻辑加密卡操作指令发给逻辑加密卡。其中,30H是SLE4442卡的读主存储区指令代码,OOH表示本次读耳又的起始地址,*1设在本实施例中,OOH所表示的起始地址处的内容具体为"AAH"。则逻辑加密卡接收到30H指令代码后,接收OOH地址信息,自动执行30H命令代码的操作内容,读主存储区OOH地址内的数据AAH,返回给读卡器,读卡器返回计算机"90H00HAAH"。再以步骤203中(2)为例,读卡器接收到计算机发送的APDU指令"OOHDOHOOHOOH03H38HOOHAAH",读卡器将APDU指令的数据段中的内容"38HOOHAAH"作为逻辑加密卡操作指令发送给逻辑加密卡,其中38H是SLE4442卡的写存储区指令代码,OOH表示本次写操作的起始地址,且在本实施例中,假设逻辑加密卡OOH地址中的写入内容为AAH。逻辑加密卡接收到38H指令代码后,接收OOH地址信息,自动执行38H命令代码的操作内容,将AAH写入智能加密卡OOH的地址处。读卡器返回计算坤几"90HOOH",完成当前操作。步骤205:读卡器接收计算机使用CCID协议发送的APDU指令内容,将该APDU指令发送给智能卡,并将接收到的该智能卡返回的数据,发送给计算机,其中,计算机通过调用PC/SC接口函数,使用CCID协议发送APDU指令,不需要安装驱动程序。本发明实施例通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡搡作指令与APDU指令之间映射关系,使得读卡18器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。实施例3为了使读卡器可以使用标准APDU指令直接操作插入读卡器中的逻辑加密卡,本实施例提供了一种智能卡的操作系统,参见图3,该系统包括读卡器301,插入读卡器301插槽的智能卡302,以及与读卡器301建立连接的计算机303;读卡器301包括检测模块301A,用于检测智能卡302的类型;接收模块301B,用于接收计算机303发送的APDU指令;映射模块301C,用于将接收模块301B接收到的APDU指令映射为逻辑加密卡操作指令;发送模块301D,用于将映射模块301C中的逻辑加密卡操作指令发送给智能卡302;操作模块301E,用于根据发送模块301D发送的逻辑加密卡操作指令操作智能卡302;计算机303包括接收模块303A,用于接收用户发送的逻辑加密卡操作请求;映射模块303B,用于将接收模块303A接收到的逻辑加密卡操作请求映射为APDU指令;发送模块303C,用于将映射模块303B中的APDU指令使用芯片智能卡接口设备CCID协议发送给读卡器301。本实施例中,计算机通过调用PC/SC接口函数,使用CCID协议发送APDU指令,不需要安装驱动程序。一种实施方式下,参见图4,计算机303还包括第一存储模块303D;第一存储模块303D用于存储逻辑加密卡操作请求与APDU指令之间的映射关系;相应地,计算机303中的映射模块303B具体用于19计算机303查询第一存储模块303D中保存的逻辑加密卡操作请求与APDU指令之间的映射关系,得到与逻辑加密卡4栗作请求匹配的APDU指令。相应地,读卡器301还包括:存储模块301F;存储模块301F用于存储APDU指令与逻辑加密卡操作指令之间的映射关系;相应地,读卡器301的映射模块301C具体用于查询存储模块301F中保存的存储APDU指令与逻辑加密卡操作指令之间的映射关系,得到与APDIJ指令匹配的逻辑加密卡操作指令。另一种实施方式下,参见图5,计算机303还包括第二存储模块303E;第二存储模块303E用于存储逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系;相应地,计算才几303中的映射才莫块303B具体用于查询第二存储模块303E预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与逻辑加密卡操作请求匹配的逻辑加密卡操作指令,并将逻辑加密卡操作指令写入APDU数据段,产生APDU指令。相应地,读卡器301中的映射模块301C具体用于从接收到的APDU指令的数据段中获得逻辑加密卡操作指令。本发明实施例提供的智能卡的操作系统,通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡操作指令与APDU指令之间映射关系,使得读卡器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,路由器的硬盘、缓存或光盘中。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种智能卡的操作方法,其特征在于,所述方法包括将智能卡插入读卡器的插槽中,再将所述读卡器与计算机进行连接;所述读卡器检测所述智能卡的类型;当所述智能卡的类型为逻辑加密卡时,所述计算机接收用户发送的逻辑加密卡操作请求,并将所述逻辑加密卡操作请求映射为应用协议数据单元APDU指令,使用芯片智能卡接口设备CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,发送给所述智能卡,对所述智能卡进行操作;当所述智能卡的类型为CPU卡时,所述计算机将APDU指令使用CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令发送给所述智能卡,对所述智能卡进行操作。2、如权利要求l所述的方法,其特征在于,所述读卡器检测所述智能卡的类型,包括所述读卡器发送所述逻辑加密卡支持的复位应答ATR时序,如果收到所述智能卡返回的l"居,则判定所述智能卡为逻辑加密卡;如果收不到所述智能卡返回的数据,则发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;如果收不到所述智能卡返回的数据,则判定出错。3、如权利要求l所述的方法,其特征在于,所述读卡器检测所述智能卡的类型,包括所述读卡器发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;如果收不到所述智能卡返回的数据,则发送所述逻辑加密卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为逻辑加密卡;如果收不到所述智能卡返回的数据,则判定出错。4、如权利要求1所述的方法,其特征在于,所述计算机将逻辑加密卡操作请求映射为APDU指令,包括所述计算机查询预先保存的逻辑加密卡操作请求与APDU指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的APDU指令。5、如权利要求4所述的方法,其特征在于,所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,包括所述读卡器查询预先保存的APDU指令与逻辑加密卡操作指令之间的映射关系,得到与所述APDU指令匹配的逻辑加密卡操作指令。6、如权利要求1所述的方法,其特征在于,所述计算机将逻辑加密卡^喿作请求映射为APDU指令,包括所述计算机查询预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的逻辑加密卡操:作指令;将所述逻辑加密卡操作指令写入APDU数据段,产生APDU指令。7、如权利要求6所述的方法,其特征在于,所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,包括所述读卡器从接收到的所述APDU指令的数据段中获得逻辑加密卡操作指令。8、一种智能卡的操作系统,其特征在于,包括读卡器,插入所述读卡器插槽的智能卡,以及与所述读卡器建立连接的计算机;所述读卡器包括检测模块,用于检测所述智能卡的类型;接收模块,用于接收所述计算机发送的应用协议数据单元APDU指令;映射模块,用于将所述接收模块接收到的APDU指令映射为逻辑加密卡操作指令;发送模块,用于将所述映射模块中的逻辑加密卡操作指令发送给所述智能卡;操作模块,用于根据所述发送模块发送的逻辑加密卡操作指令操作所述智能卡;所述计算机包括接收模块,用于接收所述用户发送的逻辑加密卡操作请求;映射模块,用于将所述接收模块接收的逻辑加密卡操作请求映射为APDU指令;发送模块,用于将所述映射模块中的APDU指令使用芯片智能卡接口设备CCID协议发送给所述读卡器。9、如权利要求8所述的系统,其特征在于,所述计算机还包括第一存储模块;所述第一存储模块用于存储逻辑加密卡操作请求与APDU指令之间的映射关系;相应地,所述计算机的映射模块具体用于查询所述第一存储模块中保存的所述逻辑加密卡:^喿作请求与APDU指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的APDU指令。10、如权利要求9所述的系统,其特征在于,所述读卡器还包括存储模块;所述存储模块用于存储APDU指令与逻辑加密卡操作指令之间的映射关系;相应地,所述读卡器的映射模块具体用于查询查询所述存储^^块中保存的APDU指令与逻辑加密卡操作指令之间的映射关系,得到与所述APDU指令匹配的逻辑加密卡才喿作指令。11、如权利要求8所述的系统,其特征在于,所述计算机还包括第二存储模块;所述第二存储模块用于存储逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系;相应地,所述计算机的映射模块具体用于查询所述第二存储模块预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的逻辑加密卡操作指令,并将所述逻辑加密卡操作指令写入APDU数据段,产生APDU指令。12、如权利要求11所述的系统,其特征在于,所述读卡器的映射模块具体用于从接收到的所述APDU指令的数据段中获得逻辑加密卡操作指令。全文摘要本发明公开了一种智能卡的操作方法及系统,属于智能卡应用领域。所述方法包括将智能卡插入读卡器的插槽,所述读卡器与计算机进行连接;所述读卡器检测所述智能卡的类型;当所述智能卡为逻辑加密卡时,所述计算机接收用户发送的逻辑加密卡操作请求,并将所述逻辑加密卡操作请求映射为APDU指令,使用CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,发送给所述智能卡,对所述智能卡进行操作;当所述智能卡为CPU卡时,所述计算机将APDU指令使用CCID协议发送给所述读卡器;所述读卡器发送给所述智能卡,对所述智能卡进行操作。解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题。文档编号G06K17/00GK101493900SQ200910078970公开日2009年7月29日申请日期2009年3月2日优先权日2009年3月2日发明者于华章,舟陆申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1