一种用于发行带USB接口智能卡的系统及其发行方法
技术领域
本发明涉及智能卡技术领域,特别是用于发行带USB(UniversalSerial Bus,通用串行总线)接口智能卡的系统及其发行方法。
背景技术
随着市场需求的升级,以大容量SIM(SubscriberIdentification Module,用户识别模块)为代表的大容量智能卡已开始在电信等行业得到应用。由于芯片面积及卡内功能模块数的增加,多数大容量SIM被直接封装成小卡,即ISO/IEC 7810识别卡-物理特征(ISO/IEC 7810 Identification Cards-PhysicalCharacteristics)规定的ID-000型卡片,导致无法采用针对智能卡模块的条带批处理方式进行发卡。
现行的大容量SIM发卡方式,一般为手工将单个卡片插入与计算机相连的智能卡读写器,并由计算机端智能卡读写程序按指令将目标机器码写入卡中非易失性存储区域。很显然,类似方案的效率极为低下,不利于大容量智能卡的批量生产发行。另一方面,由于卡内存储空间的膨胀,大容量智能卡一般都具有多种通信接口,除ISO/IEC7816识别卡-带触点的集成电路卡(ISO/IEC 7810 IdentificationCards-Integrated Circuit(s)Cards with Contacts)规定的串行口以外,USB及(或)MMC(Multi-Media Card,多媒体卡)接口也被收入其中。因此,对既兼容传统ISO/IEC 7816串行接口又支持新型高速接口的大容量智能卡读写、发行装置及其方法的需求将迫在眉睫。
现有技术中,中国专利CN 1255744C,名称为“模块集成电路处理机的转动组件”中介绍了一种通用的智能卡发卡机及其发卡方法,但由于该发卡机仅支持ISO/IEC 7816通讯接口,在带USB接口智能卡出现后无法利用USB速率高的优点进行发卡。另外,由于多数USB接口智能卡被封装成ID-000型小卡,传统针对ID-1型大卡设计的卡片传送带已不能在流水线上传送这类小卡。再者,为了发卡时数据的安全及有效性得到保障,采用APDU(Application ProtocolData Unit,应用协议数据单元)写卡是较为可靠的选择,从而需用PC/SC读写程序来操控遵循USB CCID规范的带USB接口智能卡,而PC/SC读写程序需运行在计算机上的Windows等操作系统下,上述专利技术无法与计算机联机工作发卡。
发明内容
为了解决上述现有技术中存在的不足,本发明的目的是提供一种用于发行带USB接口智能卡的系统及其发行方法。它适用于大卡和小卡的发行,通过与计算机联机工作,保证了数据的安全及有效性,提高了大容量SIM乃至大容量智能卡的读写、发行效率。
为了达到上述发明目的,本发明的技术方案以如下方式实现:
一种用于发行带USB接口智能卡的系统,它包括发行装置和计算机。其结构特点是,所述计算机上安装了PC/SC读写程序。所述发行装置包括多端口USB集线器、多端口ISO/IEC 7816读写器、智能卡插槽、运行状态指示灯、时钟源器件、卡片插入检测装置和带插头的USB电缆。所述USB电缆的插头与计算机的USB集线器下行端口连接,USB电缆的另一端连接到多端口USB集线器的上行端口。多端口ISO/IEC 7816读写器的上行USB接口与多端口USB集线器的一个下行端口连接,多端口ISO/IEC 7816读写器的下行ISO/IEC 7816接口与智能卡插槽上多个引脚连接。智能卡插槽的多个引脚与多端口USB集线器下行端口连接。时钟源器件与多端口USB集线器连接。卡片插入检测装置与多端口ISO/IEC 7816读写器连接成单向通讯。运行状态指示灯与多端口ISO/IEC 7816读写器连接。
在上述系统中,所述多端口USB集线器的多个下行端口和一个上行端口分别支持USB规范定义的高速、全速或者低速速率中的一种。
在上述系统中,所述多端口ISO/IEC 7816读写器为带USB上行端口的CCID,其上行速率为USB规范定义的高速、全速或者低速速率中的一种。多端口ISO/IEC 7816读写器置有多个ISO/IEC 7816插槽,每个插槽装有一个ISO/IEC 7816主接口,插槽支持ISO/IEC7810规范定义的ID-000型、ID-1型、ID-2型或者ID-3型卡片插入。
在上述系统中,所述的智能卡插槽有多个,分为用于插入ID-1型大卡片的大卡槽和用于插入ID-000型小卡片的小卡槽两类。智能卡插槽上有八个引脚,引脚一为电源、引脚二为复位、引脚三为时钟、引脚四为USB D+、引脚五为地、引脚六为编程电压VPP、引脚七为串行IO、引脚八为USB D-。多端口ISO/IEC 7816读写器的下行ISO/IEC 7816接口通过ISO/IEC 7816连线与智能卡插槽上的引脚一、引脚二、引脚三、引脚五和引脚七连接。智能卡插槽上的引脚一、引脚五、引脚四和引脚八通过USB电缆分别与多端口USB集线器下行端口的电源、地、USB D+和USB D-引脚连接。
在上述系统中,所述运行状态指示灯与智能卡插槽一一对应为一个至多个。通过各运行状态指示灯的状态来表示与它关联的智能卡插槽的工作信息。
在上述系统中,所述时钟源器件采用无源晶体或者有源晶体振荡器形式。时钟源器件的时钟频率符合USB规范定义的通讯速率所需的时钟频率要求。
在上述系统中,所述卡片插入检测装置通过物理信号检查它所处的智能卡插槽是否有卡片插入,并将检测到的卡片插入信息通过IO线传送给多端口ISO/IEC 7816读写器。
在上述系统中,所述USB电缆支持的速率为USB规范定义的高速、全速或者低速速率中的一种。
在上述系统中,所述PC/SC读写程序支持多卡片及多CCID操作,能对同一CCID上的多片智能卡及多个CCID进行读写并支持用脚本实现对各片智能卡的批处理。
如上述用于发行带USB接口智能卡系统的发行方法,其主要步骤为:
1)将发行装置与计算机连接;
2)将带USB接口的智能卡插入智能卡插槽;
3)用卡片插入检测装置检测是否有智能卡卡片插入;
4)如果有卡片插入,由多端口USB集线器检测是否有USB设备加载到集线器端口,如果有则启动USB协议通讯,如果没有则启动多端口ISO/IEC 7816读写器与所插入智能卡的通讯并将卡片信息报告给计算机;
5)如果有多张带USB接口的智能卡插入发行装置时,重复步骤3)至步骤5),直至所有插入卡片都被发行装置识别并按照智能卡或者CCID报告给计算机;
6)启动计算机端PC/SC读写程序;
7)导入用于控制发卡的APDU命令脚本文件;
8)逐个对CCID各插槽中已插入智能卡进行复位并按脚本对智能卡进行写入操作,在写过程中,运行状态指示灯显示为“工作中”;
9)当写操作结束后,PC/SC读写程序对智能卡写入结果进行校验;并由运行状态指示灯显示状态;
10)当所有CCID及智能卡均完成发行以后,PC/SC读写程序给出发行结束提示信号并移除已加载除多端口ISO/IEC 7816读写器外的所有CCID;
11)按发行装置上各智能卡插槽的运行状态指示灯显示结果分类取下所有智能卡。
本发明由于采用了上述的结构和发行方法,带USB接口的智能卡无论工作在USB模式还是ISO/IEC7816模式,均可以作为CCID卡槽中已插入的智能卡为计算机端PC/SC程序所控制,CCID与计算机间的USB通讯可以提高通信速率,保证了数据的安全性和有效性。同时,本发明系统可一次性完成多片带USB接口智能卡的批处理,提高了读写、发行的效率。
下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1是本发明系统发行装置的结构示意图;
图2是本发明系统智能卡插槽的引脚图;
图3是实施例中本发明系统发行装置的外观图;
图4是实施例中带USB接口的智能卡工作在USB模式的系统连线图;
图5是实施例中带USB接口的智能卡工作在ISO/IEC 7816模式的系统连线图;
图6是实施例中带USB接口的智能卡工作在混合模式的系统连线图;
图7是本发明系统的工作流程图。
具体实施方式
参看图1至图3,本发明系统包括发行装置和安装了PC/SC读写程序的计算机。PC/SC读写程序支持多卡片及多CCID操作,能对同一CCID上的多片智能卡及多个CCID进行读写并支持用脚本实现对各片智能卡的批处理。发行装置包括多端口USB集线器1、多端口ISO/IEC 7816读写器2、智能卡插槽3、运行状态指示灯4、时钟源器件5、卡片插入检测装置6和带插头的USB电缆7。USB电缆7的插头与计算机的USB集线器下行端口连接,USB电缆7的另一端连接到多端口USB集线器1的上行端口。多端口ISO/IEC 7816读写器2的上行USB接口与多端口USB集线器1的一个下行端口连接。智能卡插槽3有多个,分为用于插入ID-1型大卡片的大卡槽和用于插入ID-000型小卡片的小卡槽两类。智能卡插槽3上有八个引脚,引脚一C1为电源、引脚二C2为复位、引脚三C3为时钟、引脚四C4为USB D+、引脚五C5为地、引脚六C6为编程电压VPP、引脚七C7为串行IO、引脚八C8为USB D-。多端口ISO/IEC 7816读写器2的下行ISO/IEC 7816接口与智能卡插槽3上的引脚一C1、引脚二C2、引脚三C3、引脚五C5和引脚七C7连接。智能卡插槽3的引脚一C1、引脚五C5、引脚四C4和引脚八C8分别与多端口USB集线器1下行端口的电源、地、USB D+和USB D-引脚连接。时钟源器件5与多端口USB集线器1连接。卡片插入检测装置6与多端口ISO/IEC 7816读写器2连接单向通讯。运行状态指示灯4与多端口ISO/IEC 7816读写器2连接。多端口USB集线器1的多个下行端口和一个上行端口分别支持USB规范定义的高速、全速或者低速速率中的一种。多端口ISO/IEC 7816读写器2为带USB上行端口的CCID,其上行速率为USB规范定义的高速、全速或者低速速率中的一种。多端口ISO/IEC7816读写器2置有多个ISO/IEC 7816插槽,每个插槽装有一个ISO/IEC 7816主接口,插槽支持ISO/IEC 7810规范定义的ID-000型、ID-1型、ID-2型或者ID-3型卡片插入。运行状态指示灯4和卡片插入检测装置6与智能卡插槽3一一对应为一组至多组,通过各运行状态指示灯4的状态来表示与它关联的智能卡插槽3的工作信息。时钟源器件5采用无源晶体或者有源晶体振荡器形式;时钟源器件5的时钟频率符合USB规范定义的通讯速率所需的时钟频率要求。卡片插入检测装置6通过物理信号检查它所处的智能卡插槽3是否有卡片插入,并将检测到的卡片插入信息通过IO线传送给多端口ISO/IEC 7816读写器2。USB电缆7支持的速率为USB规范定义的高速、全速或者低速速率中的一种。
以发行8张(含)以下带USB接口智能为例,当8张带USB接口智能卡都插入发行装置的智能卡插槽3后,可能出现3种连接模式:
连接模式一(参看图4):
8张智能卡均作为CCID通过发行装置上多端口USB集线器1的下行端口#1~#8与计算机通讯;
连接模式二(参看图5):
8张智能卡均作为智能卡插入多端口ISO/IEC 7816读写器2的#1~#8卡槽,多端口ISO/IEC 7816读写器2再通过多端口USB集线器1下行端口#0与计算机通讯;
连接模式三(参看图6):
部份智能卡作为CCID通过发行装置上的多下行端口USB集线器1下行端口与计算机通讯;余下部份作为智能卡插入多端口ISO/IEC7816读写器2的卡槽,多端口ISO/IEC 7816读写器2再通过多端口USB集线器1下行端口#0与计算机通讯。
工作在模式一时,8张智能卡以CCID#1~CCID#8直接与计算机通讯并为PC/SC程序所操控,每个CCID缺省报告其卡槽#0已插入智能卡。当计算机需要操作某CCID卡槽#0内智能卡时,该CCID解析从USB上接收的CCID数据并在其COS(Chip Operating System,片上操作系统)中作ISO/IEC 7816命令软处理,并随后将处理结按CCID包格式上报计算机。
工作在模式二时,8张智能卡以智能卡#1~#8插入多端口ISO/IEC 7816读写器2的卡槽#1~#8,多端口ISO/IEC 7816读写器(CCID#0)报告其各卡槽内智能卡信息给计算机。当计算机需要操作某槽内智能卡时,CCID#0将APDU用ISO/IEC 7816串行通讯接口下发给该智能卡,并将从卡片接收的数据按CCID包格式上报计算机。
工作在模式三时,被识别为CCID的智能卡按从#1开始递增的序号直接与计算机通讯,该序号与卡片所在插槽无关,PC/SC程序对CCID的操作方法与模式一时一致。而被识别为智能卡的卡片则按其所在的卡槽号被多端口ISO/IEC 7816读写器2(CCID#0)报告给计算机,计算机对单张卡片的操控与模式二时一致。
参看图7,本发明系统发行8张带USB接口的智能卡时的步骤为:
1)将发行装置与计算机连接;
2)将带USB接口的智能卡插入智能卡插槽3;
3)用卡片插入检测装置6检测一个智能卡插槽3是否有智能卡卡片插入;
4)如果有卡片插入,由多端口USB集线器1检测是否有USB设备加载到集线器端口,如果有则启动USB协议通讯,如果没有则启动多端口ISO/IEC 7816读写器2与所插入智能卡的通讯并将卡片信息报告给计算机;
5)重复步骤3)至步骤5),直至所有8张插入卡片都被发行装置识别并按照智能卡或者CCID报告给计算机;
6)启动计算机端PC/SC读写程序;
7)导入用于控制发卡的APDU命令脚本文件;
8)逐个对CCID各插槽中已插入智能卡进行复位并按脚本对智能卡进行写入操作,在写过程中,运行状态指示灯4显示为“工作中”;
9)当写操作结束后,PC/SC读写程序对智能卡写入结果进行校验;并由运行状态指示灯4显示状态;
10)当所有CCID及智能卡均完成发行以后,PC/SC读写程序给出发行结束提示信号并移除已加载除多端口ISO/IEC 7816读写器2外的所有CCID;
11)按发行装置上各智能卡插槽3的运行状态指示灯4显示结果分类取下所有智能卡。
本发明系统中运行状态指示灯4的状态可定义为:
灯灭:无卡片插入或卡片处于空闲状态;
绿闪:卡片工作中;
恒红:下载失败;
恒绿:下载成功。