CN101493900A - 一种智能卡的操作方法及系统 - Google Patents

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

Info

Publication number
CN101493900A
CN101493900A CNA2009100789702A CN200910078970A CN101493900A CN 101493900 A CN101493900 A CN 101493900A CN A2009100789702 A CNA2009100789702 A CN A2009100789702A CN 200910078970 A CN200910078970 A CN 200910078970A CN 101493900 A CN101493900 A CN 101493900A
Authority
CN
China
Prior art keywords
card
logic encryption
smart card
apdu
operational order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2009100789702A
Other languages
English (en)
Other versions
CN101493900B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN2009100789702A priority Critical patent/CN101493900B/zh
Publication of CN101493900A publication Critical patent/CN101493900A/zh
Application granted granted Critical
Publication of CN101493900B publication Critical patent/CN101493900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种智能卡的操作方法及系统,属于智能卡应用领域。所述方法包括:将智能卡插入读卡器的插槽,所述读卡器与计算机进行连接;所述读卡器检测所述智能卡的类型;当所述智能卡为逻辑加密卡时,所述计算机接收用户发送的逻辑加密卡操作请求,并将所述逻辑加密卡操作请求映射为APDU指令,使用CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,发送给所述智能卡,对所述智能卡进行操作;当所述智能卡为CPU卡时,所述计算机将APDU指令使用CCID协议发送给所述读卡器;所述读卡器发送给所述智能卡,对所述智能卡进行操作。解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题。

Description

一种智能卡的操作方法及系统
技术领域
本发明涉及智能卡应用领域,特别涉及一种智能卡的操作方法及系统。
背景技术
CCID(USB Chip/smart Card Interface Devices,USB芯片智能卡接口设备)标准是由几大国际级IT企业共同制定的一个标准,该标准使智能卡读写设备与主机或其它嵌入式主机之间实现相互通讯成为可能。CCID标准中规定了CCID设备是一种芯片/智能卡接口设备。CCID设备通过USB接口与主机或其它嵌入式主机连接,进行符合CCID标准的数据通讯;同时,CCID设备通过符合7816标准协议的接口与智能卡进行通讯。很多操作系统(如Windows 2000以上的版本、Linux等)上均提供并支持CCID驱动,使设备生产厂商可以轻松地开发使用符合CCID接口标准的设备。同时,CCID接口标准还支持PC(PersonalComputer,个人计算机)/SC(Smart Card,智能卡)接口调用,使广大开发者可以方便地对智能密钥设备进行开发操作。现有技术中,使用CCID标准实现主机与智能卡信息交互时,可以通过CCID设备快速、方便、模式化地解析符合CCID和7816标准的命令流。
逻辑加密卡是智能卡的一种,介于CPU卡和存储卡两者之间,是带有硬件加密逻辑的存储卡,可以通过密码控制卡片上存储数据的读出和写入,具有一定的保密逻辑功能,但不像存储卡那样能够被自由改写,也不像CPU卡那样能进行复杂的密码运算,适用于一些需要保密功能,但对保密功能要求不高的应用场合。
目前典型的CCID设备是读卡器。读卡器通过集成CCID协议能够实现用户端计算机不单独安装驱动程序即可通过下发APDU(Application Protocol DataUnit,应用协议数据单元)指令的方式对智能卡进行操作。对于CPU卡,CCID读卡器可以直接将接收到的计算机下发的APDU指令发送给卡片,对卡片进行操作。卡片自身具备处理APDU指令的能力。但是对于逻辑加密卡,其自身不能够处理APDU指令并且也不适用CCID协议,因此通过CCID协议通道下发APDU指令来直接访问逻辑加密卡的方法不能实现。
现有技术中,欲对逻辑加密卡进行操作,需要在市场上购买专门开发的自身不集成CCID协议的读卡器访问逻辑加密卡,给逻辑加密卡的操作带来了不便。
发明内容
为了使读卡器可以使用APDU指令直接操作插入读卡器中的逻辑加密卡,本发明实施例提供了一种智能卡的操作方法和系统。所述技术方案如下:
一种智能卡的操作方法,所述方法包括:
将智能卡插入读卡器的插槽中,再将所述读卡器与计算机进行连接;
所述读卡器检测所述智能卡的类型;
当所述智能卡的类型为逻辑加密卡时,所述计算机接收用户发送的逻辑加密卡操作请求,并将所述逻辑加密卡操作请求映射为应用协议数据单元APDU指令,使用芯片智能卡接口设备CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,发送给所述智能卡,对所述智能卡进行操作;
当所述智能卡的类型为CPU卡时,所述计算机将APDU指令使用CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令发送给所述智能卡,对所述智能卡进行操作。
所述读卡器检测所述智能卡的类型,包括:
所述读卡器发送所述逻辑加密卡支持的ATR(Answer To Reset,复位应答)时序,如果收到所述智能卡返回的数据,则判定所述智能卡为逻辑加密卡;
如果收不到所述智能卡返回的数据,则发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;
如果收不到所述智能卡返回的数据,则判定出错。
所述读卡器检测所述智能卡的类型,包括:
所述读卡器发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;
如果收不到所述智能卡返回的数据,则发送所述逻辑加密卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为逻辑加密卡;
如果收不到所述智能卡返回的数据,则判定出错。
所述计算机将逻辑加密卡操作请求映射为APDU指令,包括:
所述计算机查询预先保存的逻辑加密卡操作请求与APDU指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的APDU指令。
所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,包括:
所述读卡器查询预先保存的APDU指令与逻辑加密卡操作指令之间的映射关系,得到与所述APDU指令匹配的逻辑加密卡操作指令。
所述计算机将逻辑加密卡操作请求映射为APDU指令,包括:
所述计算机查询预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的逻辑加密卡操作指令;
将所述逻辑加密卡操作指令写入APDU数据段,产生APDU指令。
所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,包括:
所述读卡器从接收到的所述APDU指令的数据段中获得逻辑加密卡操作指令。
一种智能卡的操作系统,包括:读卡器,插入所述读卡器插槽的智能卡,以及与所述读卡器建立连接的计算机;
所述读卡器包括:
检测模块,用于检测所述智能卡的类型;
接收模块,用于接收所述计算机发送的应用协议数据单元APDU指令;
映射模块,用于将所述接收模块接收到的APDU指令映射为逻辑加密卡操作指令;
发送模块,用于将所述映射模块中的逻辑加密卡操作指令发送给所述智能卡;
操作模块,用于根据所述发送模块发送的逻辑加密卡操作指令操作所述智能卡;
所述计算机包括:
接收模块,用于接收所述用户发送的逻辑加密卡操作请求;
映射模块,用于将所述接收模块接收的逻辑加密卡操作请求映射为APDU指令;
发送模块,用于将所述映射模块中的APDU指令使用芯片智能卡接口设备CCID协议发送给所述读卡器。
所述计算机还包括:第一存储模块;所述第一存储模块用于存储逻辑加密卡操作请求与APDU指令之间的映射关系;
相应地,所述计算机的映射模块具体用于:
查询所述第一存储模块中保存的所述逻辑加密卡操作请求与APDU指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的APDU指令。
所述读卡器还包括:存储模块;所述存储模块用于存储APDU指令与逻辑加密卡操作指令之间的映射关系;
相应地,所述读卡器的映射模块具体用于:
查询所述存储模块中保存的APDU指令与逻辑加密卡操作指令之间的映射关系,得到与所述APDU指令匹配的逻辑加密卡操作指令。
所述计算机还包括:第二存储模块;所述第二存储模块用于存储逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系;
相应地,所述计算机的映射模块具体用于:
查询所述第二存储模块预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与所述逻辑加密卡操作请求匹配的逻辑加密卡操作指令,并将所述逻辑加密卡操作指令写入APDU数据段,产生APDU指令。
所述读卡器的映射模块具体用于:
所述读卡器从接收到的所述APDU指令的数据段中获得逻辑加密卡操作指令。
本发明提供的技术方案带来的有益效果是:
通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡操作指令与APDU指令之间映射关系,使得读卡器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。
附图说明
图1是本发明实施例1中提供的智能卡的操作方法流程图;
图2是本发明实施例2中提供的智能卡的操作方法流程图;
图3是本发明实施例3中提供的智能卡的操作系统结构示意图;
图4是本发明实施例3中提供的智能卡的操作系统的第二种结构示意图;
图5是本发明实施例3中提供的智能卡的操作系统的第三种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
为了使读卡器可以使用标准APDU指令直接操作插入读卡器中的逻辑加密卡,本实施例提供了一种智能卡的操作方法,其中,本实施例中的读卡器集成了CCID协议,并预先保存了标准APDU指令与逻辑加密卡操作指令之间的映射关系;并且与读卡器建立连接的计算机中也预先保存了逻辑加密卡操作请求与标准APDU指令之间的映射关系。参见图1,该方法包括:
步骤101:将智能卡插入读卡器的插槽当中,然后将读卡器与计算机建立连接;读卡器与计算机建立连接的同时,读卡器接收计算机下发的智能卡上电指令;
步骤102:读卡器判断插入其插槽的智能卡的类型,并建立与智能卡的连接;
如果智能卡的类型是逻辑加密卡,执行步骤103;
如果智能卡的类型是CPU卡,执行步骤106;
其中,需要说明的是,读卡器判断智能卡的类型的方法依据为:根据ISO7816协议规定,CPU卡与逻辑加密卡各自支持的ATR时序不同。具体的判断方法为:
(1)读卡器发送逻辑加密卡支持的ATR时序,如果读卡器接收到智能卡返回的数据,则智能卡是逻辑加密卡,建立了读卡器与智能卡的连接,执行步骤103;
(2)读卡器发送CPU卡支持的ATR时序,如果读卡器接收到智能卡返回的数据,则该智能卡是CPU卡,建立了读卡器与智能卡的连接,执行步骤106;
(3)如果读卡器在发送了CUP卡支持的ATR时序、以及逻辑加密卡支持的ATR时序后,仍没有接收到智能卡返回的数据,则读卡器返回错误代码FEH。
需要说明的是,这里不限制步骤(1)和步骤(2)之间的先后顺序,可以先发送CPU卡支持的ATR时序,如果读卡器没有接收到智能卡返回的数据,再发送逻辑加密卡支持的ATR时序;也可以先发送逻辑加密卡支持的ATR时序,如果读卡器没有接收到智能卡返回的数据,再发送CPU卡支持的ATR时序。
步骤103:计算机接收用户发送的逻辑加密卡操作请求,查询预先配置在计算机中的逻辑加密卡匹配规则表,即逻辑加密卡操作请求与APDU指令之间的映射关系,得到相应的APDU指令;
其中,需要说明的是,逻辑加密卡匹配规则表中与逻辑加密卡操作请求匹配的APDU指令是按照预先设定的规则产生的。如表1所示,以逻辑加密卡SLE4442卡为例,其中,xxH,yyH表示可变内容。如果是其他类型的逻辑加密卡,表示地址的字节长度有可能是两个字节。
表1
 请求内容   下发APDU内容
 读取卡的主存储区xxH地址开始的1个字节长度数据   00H|B0H|E1H|xxH|01H
 读取卡的保护存储区xxH地址开始的1个字节长度数据   00H|B0H|E2H|xxH|01H
 读取卡的安全存储区xxH地址开始的1个字节长度数据   00H|B0H|E3H|xxH|01H
 写yyH到卡的主存储区xxH地址内   00H|D6H|E1H|xxH|01H|yyH
 写yyH到卡的保护存储区xxH地址内   00H|D6H|E2H|xxH|01H|yyH
 写yyH到卡的安全存储区xxH地址内   00H|D6H|E3H|xxH|01H|yyH
其中,以表1中的两种情况进行说明,则逻辑加密卡操作请求“读取卡的主存储区00H地址开始的一个字节长度内数据”对应的APDU指令为“00H|B0H|E1H|00H|01H”;“写一个字节55H到卡的主存储区00H地址内”对应的APDU指令为“00H|D6H|E1H|00H|01H|55H”
步骤104:计算机使用CCID协议将从逻辑加密卡操作请求与APDU指令之间的映射关系中查询到的APDU指令发送给读卡器,读卡器根据接收到的APDU指令查询预置在读卡器之内的APDU指令与逻辑加密卡操作指令之间的映射关系,得到其接收到的APDU指令所匹配的逻辑加密卡操作指令,其中,计算机通过调用PC/SC接口函数使用CCID协议发送APDU指令,不需要安装驱动程序。
以逻辑加密卡SLE4442卡为例,说明读卡器查询映射关系得到APDU指令所匹配的操作逻辑加密卡操作指令的过程。
其中,读卡器中预置的APDU指令与逻辑加密卡SLE4442卡匹配的映射关系表,具体可以如表2所示,其中,xxH是可变内容。
表2
  编号   APDU指令内容   逻辑加密卡执行操作内容   读卡器对智能卡发送的指令内容
  1   00H|B0H|E1H|xxH|zzH   读取卡的主存储区xxH地址开始的zz字节长度数据   30H xxH FFH
  2   00H|B0H|E2H|xxH|zzH   读取卡的保护存储区xxH地址开始的zz个字节长度数据   34H xxH FFH
  3   00H|B0H|E3H|xxH|zzH   读取卡的安全存储区xxH地址开始的zz个字节长度数据   31H xxH FFH
  4   00H|D6H|E1H|xxH|zzH|yyH   写zz个字节长度数据yyH到卡的主存储区xxH地址内(举例zz=1)   38H xxH yyH
  5   00H|D6H|E2H|xxH|zzH|yyH   写zz个字节长度数据yyH到卡的保护存储区xxH地址内(举例zz=1)   3CH xxH yyH
  6   00H|D6H|E3H|xxH|zzH|yyH   写zz个字节长度数据xxH到卡的安全存储区xxH地址内(举例zz=1)   39H xxH yyH
以表2为例,本实施例以表1中的两种情况进行说明。
(1)读卡器接收到计算机发送的APDU指令内容为“00H B0H E1H 00H01H”,读卡器根据该APDU指令的第一个字节“00H”在读卡器预置的APDU指令与逻辑加密卡匹配的映射关系中进行查询,查询得到表2中“APDU指令内容”一栏内所有APDU指令内容的第一个字节都是“00H”的选项;在这些选项中继续查询第二个字节为“B0H”的选项,查询得到表2中编号为1、2、3的APDU指令内容与其符合;在编号为1、2、3的APDU指令内容中查询第三个字节“E1H”的选项,得到表2中编号为1的APDU指令内容“00H|B0H|E1H|xxH|zzH”符合查询条件。其中,在该APDU指令“00H B0H E1H 00H 01H”中,最后一个字节01H标识计算机期望返回的字节数,第4个字节标识卡主存储区00H地址。由此,读卡器可以获知算计发送的逻辑加密卡的具体操作指令是“读取卡的主存储区00H地址开始的1字节长度数据”,其对应的读卡器对逻辑加密卡发送的命令内容具体为:30H 00H FFH。(其中第一个字节表示命令,第二个字节表示操作地址,第三个字节为任意内容)。假设00H地址内的数据内容具体为“AAH”。
(2)读卡器接收到计算机发送的APDU指令内容为“00H D6H E1H 00H01H 55H”,读卡器根据该APDU指令的第一个字节“00H”在读卡器预置的APDU指令与逻辑加密卡匹配的映射关系表中进行查询,查询得到表2中APDU指令内容”一栏内所有APDU指令第一个字节都是“00H”;在这些选项中继续查询第二个字节为“D6H”的选项,查询得到表2中编号为4、5、6的APDU指令内容与其符合;再在编号为4、5、6的APDU指令内容中继续查询第三个字节“E1H”,查询得到表2中编号为4的APDU指令内容“00H|D6H|E1H|xxH|zzH|yyH”符合查询条件。在该APDU指令00H D6H E1H 00H 01H55H”中,第5个字节01H表示数据段长度,第6个字节55H是数据段内容。由此,读卡器可以获知算计发送的逻辑加密卡的具体操作指令是“写一个字节55H到卡的主存储区00H地址内”,其对应的读卡器对逻辑加密卡发送的命令内容具体为:38H 00H 55H(其中第一个字节表示命令,第二个字节表示操作地址,第三个字节为有效数据内容)。
步骤105:读卡器将查询到的逻辑加密卡操作指令发送给逻辑加密卡,对逻辑加密卡进行直接操作。
仍然以步骤104中“读取卡的主存储区00H地址开始的1字节长度数据”的例子,逻辑加密卡读取其主存储区00H地址内的数据AAH,并将AAH返回给读卡器,读卡器再将AAH以“90H 00H AAH”的形式返回给计算机。
或者以步骤104中“写一个字节55H到卡的主存储区00H地址内”的例子,逻辑加密卡将55H写入其00H的地址处。读卡器以“90H 00H”的形式返回给计算机,完成当前操作。
步骤106:读卡器接收计算机使用CCID协议发送的APDU指令内容,将该APDU指令发送给智能卡,并将接收到的该智能卡返回的数据,发送给计算机,其中,计算机通过调用PC/SC接口函数使用CCID协议发送APDU指令,不需要安装驱动程序。
本发明实施例通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡操作指令与APDU指令之间映射关系,使得读卡器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。
实施例2
为了使读卡器可以使用标准APDU指令直接操作插入读卡器中的逻辑加密卡,本实施例提供了一种智能卡的操作方法,其中,本实施例中的读卡器集成了CCID协议;与读卡器建立连接的计算机中预先保存了逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系。参见图2,该方法包括:
步骤201:将智能卡插入读卡器的插槽当中,然后将读卡器与计算机建立连接;读卡器与计算机建立连接的同时,读卡器接收计算机下发的智能卡上电指令;
步骤202:读卡器判断插入其插槽的智能卡的类型,并建立与智能卡的连接;
如果智能卡的类型是逻辑加密卡,则执行步骤203;
如果智能卡的类型是CPU卡,则执行步骤205;
其中,需要说明的是,读卡器判断智能卡的类型的方法依据为:根据ISO7816协议规定,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、P1、P2、Lc、Data和Le,每个指令的参数不同,代表的逻辑加密卡操作指令也不同,具体如表3所示,其中,xxH表示可变的内容。
表3
Figure A20091007897000161
Figure A20091007897000171
以表3为例,本实施例以表3中的两种情况进行说明。
(1)计算机接收到用户发送的“读逻辑加密卡主存储区00H地址开始的1个字节长度数据”的逻辑加密卡操作请求,查找其预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,参见表3,得到与该逻辑加密卡操作请求匹配的逻辑加密卡操作指令为“30H xxH 00H”。其中,xxH是可变的内容,根据逻辑加密卡操作请求中的“00H”将逻辑加密卡操作指令直接转变为“30H 00H 00H”,再将这个逻辑加密卡操作指令写入APDU指令的数据段,生成APDU指令,再使用CCID协议发送给读卡器。
这里,以标准APDU指令“00H B0H 00H 00H”为例,由于标准APDU指令“00H B0H 00H 00H”的数据段可以任意添加数据,则计算机将“30H 00H 00H”写入APDU指令“00H B0H 00H 00H”的数据段,得到新的APDU指令“00H B0H00H 00H 03H 30H 00H 00H 01H”发送给读卡器;其中,01H表示计算机期望逻辑加密卡返回的字节数。当然,也可以将操作指令写入其他数据段可以任意添加数据的标准APDU指令,方法与上述方法类似,在此不做赘述。
(2)计算机接收到用户发送的“写数据AAH到逻辑加密卡主存储区00H地址内”的逻辑加密卡操作请求后,查照其预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,参见表3,得到与该逻辑加密卡操作请求匹配的逻辑加密卡操作指令为“38H xxH xxH”。其中,xxH是可变的内容,根据逻辑加密卡操作请求中的“00H”和“AAH”将逻辑加密卡操作指令直接转变为“38H 00H AAH”,再将这个逻辑加密卡操作指令写入APDU指令的数据段,生成APDU指令,再使用CCID协议发送给读卡器。
这里,以标准APDU指令“00H D0H 00H 00H 03H”为例,其中03H表示数据段的长度。由于标准APDU指令“00H D0H 00H 00H 03H”的数据段可以任意添加数据,则计算机将“38H 00H AAH”写入APDU指令“00H D0H 00H00H 03H”的数据段,得到新的APDU指令“00H D0H 00H 00H 03H 38H 00HAAH”发送给读卡器。当然,也可以将操作指令写入其他数据段可以任意添加数据的标准APDU指令,方法与上述方法类似,在此不做赘述。
步骤204:读卡器从接收到的APDU指令的数据段中获得逻辑加密卡操作指令,并发送给逻辑加密卡,对其进行操作;
仍然以步骤203中(1)为例,读卡器接收到APDU指令“00H B0H 00H 00H03H 30H 00H 00H 01H”,则读卡器将APDU指令的数据段中的内容30H 00H00H作为逻辑加密卡操作指令发给逻辑加密卡。其中,30H是SLE4442卡的读主存储区指令代码,00H表示本次读取的起始地址,假设在本实施例中,00H所表示的起始地址处的内容具体为“AAH”。则逻辑加密卡接收到30H指令代码后,接收00H地址信息,自动执行30H命令代码的操作内容,读主存储区00H地址内的数据AAH,返回给读卡器,读卡器返回计算机“90H 00H AAH”。
再以步骤203中(2)为例,读卡器接收到计算机发送的APDU指令“00HD0H 00H 00H 03H 38H 00H AAH”,读卡器将APDU指令的数据段中的内容“38H 00H AAH”作为逻辑加密卡操作指令发送给逻辑加密卡,其中38H是SLE4442卡的写存储区指令代码,00H表示本次写操作的起始地址,且在本实施例中,假设逻辑加密卡00H地址中的写入内容为AAH。逻辑加密卡接收到38H指令代码后,接收00H地址信息,自动执行38H命令代码的操作内容,将AAH写入智能加密卡00H的地址处。读卡器返回计算机“90H 00H”,完成当前操作。
步骤205:读卡器接收计算机使用CCID协议发送的APDU指令内容,将该APDU指令发送给智能卡,并将接收到的该智能卡返回的数据,发送给计算机,其中,计算机通过调用PC/SC接口函数,使用CCID协议发送APDU指令,不需要安装驱动程序。
本发明实施例通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡操作指令与APDU指令之间映射关系,使得读卡器可以接收与其连接的计算机通过调用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具体用于:
计算机303查询第一存储模块303D中保存的逻辑加密卡操作请求与APDU指令之间的映射关系,得到与逻辑加密卡操作请求匹配的APDU指令。
相应地,读卡器301还包括:存储模块301F;存储模块301F用于存储APDU指令与逻辑加密卡操作指令之间的映射关系;
相应地,读卡器301的映射模块301C具体用于:
查询存储模块301F中保存的存储APDU指令与逻辑加密卡操作指令之间的映射关系,得到与APDU指令匹配的逻辑加密卡操作指令。
另一种实施方式下,参见图5,计算机303还包括:第二存储模块303E;第二存储模块303E用于存储逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系;
相应地,计算机303中的映射模块303B具体用于:
查询第二存储模块303E预先保存的逻辑加密卡操作请求与逻辑加密卡操作指令之间的映射关系,得到与逻辑加密卡操作请求匹配的逻辑加密卡操作指令,并将逻辑加密卡操作指令写入APDU数据段,产生APDU指令。
相应地,读卡器301中的映射模块301C具体用于:
从接收到的APDU指令的数据段中获得逻辑加密卡操作指令。
本发明实施例提供的智能卡的操作系统,通过在符合CCID协议的读卡器和/或计算机中预置逻辑加密卡配置规则,建立逻辑加密卡操作指令与APDU指令之间映射关系,使得读卡器可以接收与其连接的计算机通过调用PC/SC接口函数使用CCID协议发送的APDU指令,直接操作插入读写器的逻辑加密卡,解决了目前操作逻辑加密卡的读卡器不能使用APDU指令进行访问的问题,并且不需要额外安装驱动程序。方法简单,方便,易于操作。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,路由器的硬盘、缓存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1、一种智能卡的操作方法,其特征在于,所述方法包括:
将智能卡插入读卡器的插槽中,再将所述读卡器与计算机进行连接;
所述读卡器检测所述智能卡的类型;
当所述智能卡的类型为逻辑加密卡时,所述计算机接收用户发送的逻辑加密卡操作请求,并将所述逻辑加密卡操作请求映射为应用协议数据单元APDU指令,使用芯片智能卡接口设备CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令映射为逻辑加密卡操作指令,发送给所述智能卡,对所述智能卡进行操作;
当所述智能卡的类型为CPU卡时,所述计算机将APDU指令使用CCID协议发送给所述读卡器;所述读卡器将接收到的所述APDU指令发送给所述智能卡,对所述智能卡进行操作。
2、如权利要求1所述的方法,其特征在于,所述读卡器检测所述智能卡的类型,包括:
所述读卡器发送所述逻辑加密卡支持的复位应答ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为逻辑加密卡;
如果收不到所述智能卡返回的数据,则发送所述CPU卡支持的ATR时序,如果收到所述智能卡返回的数据,则判定所述智能卡为CPU卡;
如果收不到所述智能卡返回的数据,则判定出错。
3、如权利要求1所述的方法,其特征在于,所述读卡器检测所述智能卡的类型,包括:
所述读卡器发送所述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指令的数据段中获得逻辑加密卡操作指令。
CN2009100789702A 2009-03-02 2009-03-02 一种智能卡的操作方法及系统 Active CN101493900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100789702A CN101493900B (zh) 2009-03-02 2009-03-02 一种智能卡的操作方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100789702A CN101493900B (zh) 2009-03-02 2009-03-02 一种智能卡的操作方法及系统

Publications (2)

Publication Number Publication Date
CN101493900A true CN101493900A (zh) 2009-07-29
CN101493900B CN101493900B (zh) 2011-01-05

Family

ID=40924492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100789702A Active CN101493900B (zh) 2009-03-02 2009-03-02 一种智能卡的操作方法及系统

Country Status (1)

Country Link
CN (1) CN101493900B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737184A (zh) * 2012-06-12 2012-10-17 飞天诚信科技股份有限公司 一种安全显示自定义信息的方法
CN103078740A (zh) * 2012-12-28 2013-05-01 广州中大微电子有限公司 Rfid智能卡数字基带验证系统
CN104077618A (zh) * 2013-03-29 2014-10-01 西门子公司 一种访问智能卡的方法和装置
CN106355124A (zh) * 2016-08-31 2017-01-25 新智数字科技有限公司 一种cpu卡的读写方法及装置
CN109947476A (zh) * 2019-02-25 2019-06-28 星汉智能科技股份有限公司 一种运行时栈空间的统计方法及系统
CN111259364A (zh) * 2020-01-09 2020-06-09 奇安信科技集团股份有限公司 一种使用国密加密卡的方法、装置、设备及存储介质
CN111443994A (zh) * 2020-04-01 2020-07-24 江苏恒宝智能系统技术有限公司 一种模拟智能卡驱动程序、信息交互系统及其工作方法
CN112835836A (zh) * 2021-01-29 2021-05-25 郑州信大捷安信息技术股份有限公司 一种主机与智能卡信息交互的方法及装置
CN114462562A (zh) * 2021-12-24 2022-05-10 东信和平科技股份有限公司 智能卡写卡方法、系统、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776788B1 (fr) * 1998-03-24 2000-06-09 Gemplus Card Int Procede de commutation d'applications sur une carte a puce multi-applicative
CN100362528C (zh) * 2005-11-25 2008-01-16 上海复旦微电子股份有限公司 兼容逻辑加密卡的非接触cpu卡
CN100474857C (zh) * 2007-01-24 2009-04-01 北京飞天诚信科技有限公司 一种主机与智能卡信息交互的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737184A (zh) * 2012-06-12 2012-10-17 飞天诚信科技股份有限公司 一种安全显示自定义信息的方法
CN102737184B (zh) * 2012-06-12 2014-12-10 飞天诚信科技股份有限公司 一种安全显示自定义信息的方法
CN103078740A (zh) * 2012-12-28 2013-05-01 广州中大微电子有限公司 Rfid智能卡数字基带验证系统
CN103078740B (zh) * 2012-12-28 2016-08-03 广州中大微电子有限公司 Rfid智能卡数字基带验证系统
CN104077618A (zh) * 2013-03-29 2014-10-01 西门子公司 一种访问智能卡的方法和装置
CN106355124A (zh) * 2016-08-31 2017-01-25 新智数字科技有限公司 一种cpu卡的读写方法及装置
CN109947476A (zh) * 2019-02-25 2019-06-28 星汉智能科技股份有限公司 一种运行时栈空间的统计方法及系统
CN109947476B (zh) * 2019-02-25 2020-03-31 星汉智能科技股份有限公司 一种运行时栈空间的统计方法及系统
CN111259364A (zh) * 2020-01-09 2020-06-09 奇安信科技集团股份有限公司 一种使用国密加密卡的方法、装置、设备及存储介质
CN111259364B (zh) * 2020-01-09 2022-04-05 奇安信科技集团股份有限公司 一种使用国密加密卡的方法、装置、设备及存储介质
CN111443994A (zh) * 2020-04-01 2020-07-24 江苏恒宝智能系统技术有限公司 一种模拟智能卡驱动程序、信息交互系统及其工作方法
CN111443994B (zh) * 2020-04-01 2023-06-23 江苏恒宝智能系统技术有限公司 一种包含模拟智能卡驱动程序的装置、系统及方法
CN112835836A (zh) * 2021-01-29 2021-05-25 郑州信大捷安信息技术股份有限公司 一种主机与智能卡信息交互的方法及装置
CN112835836B (zh) * 2021-01-29 2022-04-08 郑州信大捷安信息技术股份有限公司 一种主机与智能卡信息交互的方法及装置
CN114462562A (zh) * 2021-12-24 2022-05-10 东信和平科技股份有限公司 智能卡写卡方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN101493900B (zh) 2011-01-05

Similar Documents

Publication Publication Date Title
CN101493900B (zh) 一种智能卡的操作方法及系统
CN100454276C (zh) 信息管理设备和信息管理方法
US20100181377A1 (en) Card reader with near field communication function and near field communication device thereof
CN100438409C (zh) 具有金融交易报文处理能力的智能卡及其工作方法
CN107092949A (zh) 智能卡性能增强电路及系统
TWI454912B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
CN101490700A (zh) 智能卡终端侧数据和管理框架
CN101359413B (zh) 一种处理重个人化智能卡的无线终端及方法
US8595420B2 (en) Method for dispatching and transmitting data streams between host system and memory storage apparatus having non-volatile memory and smart card chip, memory controller, and memory storage apparatus
CN103218300B (zh) 数据处理方法、存储器控制器与存储器储存装置
US8604902B2 (en) Communication system, information processing method, and program product
CN102132250B (zh) 管理具有多个控制器的便携式电子设备中的数据的方法
US8756425B2 (en) Data security authentication system and related multi-function memory card and computer program product
KR100974028B1 (ko) 이동식 저장장치를 이용한 보안 시스템 및 방법, 프로세서
KR20070076072A (ko) 메모리 카드 시스템, 메모리 카드, 그리고 메모리 카드의응용프로그램 수행방법
US8276188B2 (en) Systems and methods for managing storage devices
KR20030054435A (ko) 다중 인터페이스 스마트카드
JP2002259922A (ja) データ処理装置、集積回路、icカード、データ処理方法及びデータ処理用プログラム
CN2929835Y (zh) 具有金融交易报文处理能力的智能卡
KR100574234B1 (ko) 외부 메모리 카드의 삽입이 가능한 usb 보안 데이터저장 장치 및 그 저장 방법
CN108491745B (zh) 数据采集方法及装置、计算机可读存储介质
CN101447035B (zh) 一种智能存储卡及提高智能存储卡传输速率的方法
US11886734B2 (en) Secure memory card and control method thereof
KR20110062621A (ko) 스마트카드 기반 저장 장치를 이용한 오픈마켓컨텐츠다운로드시스템 및 이를 이용한 컨텐츠다운로드제공방법
JPWO2002005203A1 (ja) Icカード端末装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: FEITIAN CHENGXIN TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD.

CP03 Change of name, title or address

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee after: Feitian Technologies Co.,Ltd.

Address before: 100191, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing

Patentee before: FEITIAN TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 17th floor, building B, Huizhi building, No.9, Xueqing Road, Haidian District, Beijing 100085

Patentee after: Feitian Technologies Co.,Ltd.

Country or region after: China

Address before: 100085 17th floor, block B, Huizhi building, No.9 Xueqing Road, Haidian District, Beijing

Patentee before: Feitian Technologies Co.,Ltd.

Country or region before: China