卡片操作系统的测试系统及测试方法

文档序号:6336977阅读:1334来源:国知局
专利名称:卡片操作系统的测试系统及测试方法
技术领域
本发明涉及一种卡片操作系统的测试系统。还涉及一种卡片操作系统的测试方法。
背景技术
随着集成电路技术的发展,智能IC卡已经在很多的应用领域得到应用。芯片提供商、卡商或系统集成商都可提供各种类型的卡片操作系统(CardOperating System,简称 COS),针对卡片操作系统的测试也就越来越重要。目前智能卡涉及到的重要领域如身份识别、电子护照、金融、公共交通、社会保障等,为保证规范领域应用的通用性和兼容性,大多制定了相应的应用标准规范,如ISO、 ICAO、PB0C2. 0、EMV等。如何对如此众多的卡片应用及其卡片操作系统进行测试就显得纷繁复杂。目前更有一卡多用,引入全球平台(GP,Global Platform)及Java技术的流行趋势,更给卡片操作系统的测试带来了复杂变数。在第三方的测试机构,已经在构建卡片操作系统方面走在前面,而建立具有自主知识产权的卡片操作系统测试系统就显得更为重要。卡片操作系统在卡片大规模的流片(即进行生产)之前,一般会存在几种形式如 ITC0S、DemoCOS 和 AppCOS 等;其中 ITCOS 为 hternal Testing 内部测试 C0S,为用于满足芯片硬件测试需求及为保证芯片设计过程及设计完成后的各项功能、性能而设计的C0S,主要对芯片中各个功能模块进行测试,如EEPR0M(电可擦写可编程只读存储器)、0ΤΡ(—次性可编程只读存储器)、SFR(特殊功能寄存器)和MPU(内存保护单元)等存储模块的测试、 CLK/Timer/ffatchDog/Reset/CPU/ 中断控制等模块的测试、随机数 /DES/3DES/RSA/ECC/ 国密算法等安全模块测试甚至射频通讯模块测试等;DemoCOS为演示卡片操作系统,主要提供卡片操作系统(COS)能否满足某种应用后续开发的演示功能;AppCOS为应用C0S,是最终提供给客户的,不同应用途径将设计不同的应用指令或个人化指令,包括获取随机数、外部认证、内部认证、选取文件、读二进制文件、读记录文件、验证证书文件等。基于上述的描述, 卡片操作系统的测试系统还要满足多种测试需求。同时,COS测试还将涉及到物理电气测试、协议测试、软件测试等。

发明内容
本发明要解决的技术问题是提供一种卡片操作系统的测试系统,其能完成多种卡片操作系统的测试。为解决上述技术问题,本发明的卡片操作系统的测试系统,包括COS测试套件、COS测试平台软件和COS测试设备;所述COS测试套件为基于国际国内智能卡领域相关标准用国际标准脚本语言TCL 编写而成;所述COS测试平台软件用于运行COS测试套件进行COS测试;其包括测试脚本管理模块、脚本解析模块、密码算法模块和硬件设备驱动模块;
所述测试脚本管理模块用于接收导入的所述COS测试套件,调用所述密码算法模块和脚本解析模块进行所述COS测试套件中的密钥运算和脚本解析,并将解析后的指令发送到所述硬件设备驱动模块;所述密码算法模块用于测试脚本管理模块中的密钥运算;所述脚本解析模块用于接收所述测试脚本管理模块中发送的脚本,解析处理后将解析后的信息发送至所述测试脚本管理模块;所述硬件设备驱动模块连接于所述测试脚本管理模块和所述COS测试设备之间, 用于实现所述测试脚本管理模块和所述COS测试设备之间的交互通信。所述COS测试设备包括读写机具,其连接于所述硬件设备驱动模块和所测智能卡之间,用于实现硬件设备驱动模块和所测智能卡之间的交互通信。本发明还提供一种卡片操作系统的测试方法,其包括(1)用国际标准脚本语言TCL编写COS测试套件;(2)将所述COS测试套件导入到测试平台软件中的测试脚本管理模块;(3)测试脚本管理模块调用密码算法模块进行密钥运算,并通过脚本解析模块进行脚本解析;(4)测试脚本管理模块将解析后指令发送到硬件设备驱动模块;(5)硬件设备驱动模块将指令信息转发到读卡机具,读卡机具完成与智能卡的交互后将信息依次返回;(6)测试脚本管理模块对返回信息记录到测试日志,并在全部完成后生成测试报
生 I=I O本发明的COS测试系统中,测试套件在测试平台软件上运行,可执行单步或全速, 调试和回归等测试。测试套件脚本在COS测试平台软件运行中,算法由通用算法模块进行运算,脚本语句由脚本解析模块进行解释,之后经1/0接口送到外接读卡设备,读卡设备得到卡片中COS的返回值,测试平台软件记录测试日志,完成后自动生成测试报告。COS测试设备包括测试COS时需要使用的各种读卡机具、POS机具等,在执行脚本之前,测试平台软件通过相应的驱动接口对测试设备进行相应配置。优点为构造了 PCD(接近耦合设备)、 PICC(接近式卡)的闭环测试方法,模块化设计使得系统易于扩充,脚本解析核心模块保证了所有测试脚本的顺畅执行,日志便于缺陷的定位跟踪,COS测试时专注于测试用例的开发和执行。


下面结合附图与具体实施方式
对本发明作进一步详细的说明图1为本发明的测试系统的结构框图;图2为本发明的一具体测试过程示意图;图3为本发明的测试系统分层示意图。
具体实施例方式本发明的卡片操作系统的测试系统,包含COS测试套件、COS测试平台软件、COS测
试设备。
COS测试套件为基于国际国内智能卡领域COS实现标准来构建,如 ICAOdnternational Civil Aviation Organization,国际民航组织)电子护照国际标准、 PB0C2. O借贷记国内标准,可用国际标准脚本语言TCL编写而成。COS测试套件具体包括 COS应用指令测试模块、COS应用流程测试模块、COS异常测试模块。为建立国际标准测试套件,在建立测试套件之前,基于智能卡COS生产测试过程中的经验,对卡片操作系统COS 基于满足基本读写及运行功能而进行最小指令集筛选,建立基础测试用例库。一个具体的基础测试用例库包括如下指令集ITCOS CPU BIST, Hardware BIST, VCO BIST, DES BIST, RSA BIST、读写 SFR、读写 RAM、读写 EEPR0M、EEPROM checksum ;其中 BlST(Build-InSelfTest)为内建自测技术。DemoCOS 随机数产生、CRC编码校验、读写EEPR0M、DES/3DES加解密、AES加解密、 RSA密钥对生成、RSA加解密、RSA CRT解密、模幂运算、RSA签名验证、ECC曲线选择、ECC选取曲线参数、ECC密钥对生成、ECDSA、ECIES、SM1加解密、SSF33加解密、SM2加解密、SM3运算、SM7加解密、IP模块配置指令;AppCOS个人化指令随机数产生、RSA密钥对生成、ECC密钥对生成、SM2密钥对生成、外部认证、创建文件、激活文件、选择文件、更新二进制文件、读取二进制文件、更新记录文件、读取记录文件、添加记录;AppCOS应用指令随机数产生、外部认证、内部认证、选择文件、读二进制文件、读记录文件;基于以上APDU(Application Protocol Data Unit,即应用协议数据单元)指令集建立的测试用例是后续标准测试用例建立的基础,为不同应用标准的扩充提供了基本功能,不同标准扩充会有所差异。如测试PB0C2.0,则需要增加如圈存圈取、应用锁定解锁、PIN 加锁解锁、生成应用密文等指令;测试ePassport (即电子护照),则需要增加芯片验证、终端验证、证书验证等指令。测试平台软件用于运行COS测试套件(COS测试套件被导入测试平台软件并运行)进行COS测试,其包括硬件设备驱动模块、密码算法模块、脚本解析模块、测试脚本管理模块。测试脚本管理模块用于接收导入的COS测试套件,调用密码算法模块和脚本解析模块进行COS测试套件中的密钥运算和脚本解析,并将解析后的指令发送到硬件设备驱动模块;硬件设备驱动模块连接于测试脚本管理模块和COS测试设备之间,用于实现测试脚本管理模块和所述COS测试设备(如读卡机具)之间的交互通信。硬件设备驱动模块包括支持PCSC的读卡机驱动和支持非标准PCSC的读卡机驱动。密码算法模块用于测试脚本管理模块中的密钥运算。而脚本解析模块,用于接收测试脚本管理模块中发送的脚本,解析处理后将解析后的信息发送至测试脚本管理模块。COS测试设备包括读卡机具,不同应用标准采用的读卡机具有所不同,如ICAO电子护照标准采用非接触式读卡机具,PBOC金融卡标准有些采用接触式读卡机具,大部分读卡机具可通过USB方式与测试系统的主机(COS测试套件和COS测试平台软件位于测试系统的主机中)相连。读卡机具遵从PCSC标准,可以通过测试平台软件中的硬件设备驱动模块实现互连互通,在执行脚本之前,测试平台软件通过驱动接口对测试设备进行配置。COS 测试设备还包括信号抓取设备,连接在读卡机具和智能卡之间,用于抓取并记录所有测试执行过程,执行完成后可进行问题分析;用于通信信道信号抓取及时间波形属性测量的测量仪器,如示波器、频谱分析仪、数字万用表,同样连接在读卡机具和智能卡之间,进行非接触式射频通信信道或接触式通信信道的实时测量和问题分析。图1提供一种COS测试系统的结构框图,其中包含了 COS测试套件、COS测试平台软件、读卡机具及作为测试对象的智能卡片。下面以电子护照COS系统测试为例,进行详细的说明COS测试系统的构造搭建从实现上分为三层物理设备层、测试平台层、测试应用层(见图幻。其中测试平台层在COS测试系统中起到承上启下的作用,下可以连接物理设备层,上可以对测试应用层提供支持。测试平台层对应于测试平台软件,它包括硬件设备驱动模块、密码算法模块、脚本解析模块和测试脚本管理模块几个部分。硬件设备驱动模块包括支持PCSC的读卡机驱动和支持非标准PCSC的读卡机驱动。通过PCSC驱动可以做到统一驱动的目的,外接读卡机具只要符合PCSC协议,都可以使用,不修改软件也可以支持许多不同厂商设备。PCSC驱动屏蔽了设备和其他通讯协议,不管通讯协议底层的实现细节,只需调用微软Windows的SmartCard组件的PCSC函数。非标准 PCSC驱动包括串口驱动、USB驱动。在执行脚本测试之前,测试平台软件通过相应的驱动接口对物理设备进行相应配置。密码算法模块以COM/DLL方式集成到测试平台软件中提供OpenSSL通用开源算法库,在认证及加解密运算时提供支持。脚本解析模块整合了 ActiveTCL的TCL内核提供了 TCL语言脚本解释器。TCL是 Tool Command Language即工具命令语言的缩写,为可嵌入可扩展的开源项目。TCL内核库包括解释器、用于执行内建命令的例程和用于扩充的库函数,其中解释器是一个C函数库,可以很容易地整合到应用程序中。任何一个应用程序都可以通过增加命令来扩展TCL 内核的功能,库数据结构中的核心是Tcljnterp,TCL语言只支持一种数据结构即字符串 (string)类型。测试脚本管理模块实现导入TCL语言实现的测试套件、脚本运行管理、密钥算法调用、运行时与硬件设备驱动模块通信等功能。该模块调用密钥算法模块提供的API函数实现认证与加解密运算,调用TCL语言脚本解释器提供的接口 API实现脚本解析,调用硬件设备驱动模块驱动API实现与读写机具的通信连接。物理设备层包括各种读卡机具、信号抓取设备、测量仪器。读卡机具用于和被测对象智能卡片的交互通信,根据电子护照实际应用选取如ACG、IE、SCM、OmniKey, WatchData 等机具设备,在不同机具上的测试表现为测试应用层的兼容性测试。使用示波器、频谱分析仪及数字万用表等测量仪器进行通信信道的实时测量与分析;使用信号抓取设备抓取并记录详细测试执行过程,用于根原因分析与定位。测试应用层对应于实际电子护照COS测试套件,由于电子护照遵从国际民航组织 ICAO的系列标准,也可称为ICAO测试套件,包括最小指令集测试用例库、7816-4APDU指令测试用例库、逻辑数据结构(LDQ测试用例库、流程与安全测试用例库(被动认证PA、主动认证AA、基本访问控制BAC、扩展访问控制EAC)。测试套件使用TCL语言开发。一个具体的过程为(见图2~)执行测试平台软件,将ICAO测试套件导入到测试平台软件,连接配置物理测试设备,放置智能卡到物理读卡机具上,通过测试脚本管理模块执行TCL测试脚本,完成后自动生成测试报告。如测试获取随机数APDU指令,指令字为 “GetChallenge”,在脚本解析模块经TCL语言解释器解析后为“0084000008”,测试平台软件调用PCSC驱动模块的SCardTransmit函数驱动读卡机具完成与被测智能卡的交互并获得随机数返回值,其他COS脚本的按照相似流程运行。本发明还提供一种卡片操作系统的测试方法,适用于智能卡在多种应用领域中的测试。本发明的测试方法包括(1)用国际标准脚本语言TCL编写COS测试套件;(2)将所述COS测试套件导入到测试平台软件中的测试脚本管理模块;(3)测试脚本管理模块调用密码算法模块进行COS测试套件中的密钥运算,通过脚本解析模块进行COS测试套件中的脚本解析;(4)测试脚本管理模块将解析后指令发送到硬件设备驱动模块;(5)硬件设备驱动模块将指令信息转发到读卡机具,读卡机具完成与智能卡的交互后将信息依次返回;(6)测试脚本管理模块对返回信息记录到测试日志,并在全部完成后自动生成测试报告。本发明的方法,还可在读卡机具和智能卡之间使用信号抓取设备和用于实时抓取通信信号并实时测量交互信号时间及波形属性的测量仪器,其中信号抓取设备用于抓取并记录所有测试执行过程,测量仪器则进行实时测量。通过这种方法,适用于建立使用国际标准脚本语言TCL的测试用例脚本(COS测试套件是由测试用例组成的),建立PCD/PICC闭环考核环境、快速执行COS测试、多种模式下的COS测试、COS中的一卡多应用测试等,提高了测试效率。测试用例为基于国际国内智能卡标准构建,如ICAO电子护照国际标准、PB0C2. 0 借贷记国内标准、上海公共交通卡CPU卡规范、社会保障卡规范及中国人民银行PSAM规范等。测试用例除基于规范及相应测试规范构建外,还可从软件测试方法入手,要求从黑盒白盒灰盒覆盖理论、等价类划分、边界值分析、状态转换等测试技术和参数扫描、错误场景、超异常状况、一致性符合等方面进行补充测试用例的建立。
权利要求
1.一种卡片操作系统的测试系统,其特征在于,包括 COS测试套件、COS测试平台软件和COS测试设备;所述COS测试套件为基于国际国内智能卡领域相关标准用国际标准脚本语言TCL编写而成;所述COS测试平台软件用于运行COS测试套件进行COS测试,包括测试脚本管理模块、 脚本解析模块、密码算法模块和硬件设备驱动模块;所述测试脚本管理模块用于接收导入的COS测试套件,调用所述密码算法模块和脚本解析模块进行所述COS测试套件中的密钥运算和脚本解析,并将解析后的指令发送到所述硬件设备驱动模块;所述密码算法模块用于测试脚本管理模块中所导入COS测试套件的密钥运算;所述脚本解析模块用于接收所述测试脚本管理模块中发送的脚本,解析处理后将解析后的信息发送至所述测试脚本管理模块;所述硬件设备驱动模块连接于所述测试脚本管理模块和所述COS测试设备之间,用于实现所述测试脚本管理模块和所述COS测试设备之间的交互通信。所述COS测试设备包括读写机具,连接于所述硬件设备驱动模块和所测智能卡之间, 用于实现硬件设备驱动模块和智能卡的交互通信。
2.按照权利要求1所述的测试方法,其特征在于所述测试设备还包括信号抓取设备, 其连接于读卡机具和所测智能卡之间,用于抓取并记录所有测试执行过程;用于实时抓取通信信号并实时测量交互信号时间及波形属性的测量仪器,如示波器、数字万用表,其同样连接于读卡机具和所测智能卡之间。
3.按照权利要求1所述的测试系统,其特征在于;所述硬件设备驱动模块包括支持 PCSC的读卡机驱动和支持非标准PCSC的读卡机驱动。
4.一种卡片操作系统的测试方法,其特征在于,包括(1)用国际标准脚本语言TCL编写COS测试套件;(2)将所述COS测试套件导入到测试平台软件中的测试脚本管理模块;(3)测试脚本管理模块调用密码算法模块进行所述COS测试套件中的密钥运算,通过脚本解析模块进行所述COS测试套件中的脚本解析;(4)测试脚本管理模块将解析后指令发送到硬件设备驱动模块;(5)硬件设备驱动模块将指令信息转发到读卡机具,读卡机具完成与智能卡的交互后将信息依次返回;(6)测试脚本管理模块对返回信息记录到测试日志,并在全部完成后自动生成测试报生1=1 O
5.按照权利要求4所述的测试方法,其特征在于在读卡机具和智能卡之间使用信号抓取设备,来抓取并记录所有测试执行过程,以及采用用于实时抓取通信信号并实时测量交互信号时间及波形属性的测量仪器进行实时测量。
6.按照权利要求4所述的测试方法,其特征在于在编写COS测试套件之前,对COS指令集进行筛选以建立基础测试用例库。
7.按照权利要求4所述的测试方法,其特征在于所述步骤(3)中的密码算法模块以 COM/DLL的方式提供OpenSSL通用开源算法库,在认证及加解密运算时提供支持。
8.按照权利要求4所述的测试方法,其特征在于所述脚本解析模块通过ActiveTCL 的TCL内核提供TCL脚本解释器。
全文摘要
本发明的卡片操作系统的测试系统,包括COS测试套件、COS测试平台软件和COS测试设备。本发明的测试系统构造了PCD(接近耦合设备)、PICC(接近式卡)的闭环测试方法,模块化设计使得系统易于扩充,脚本解析核心模块保证了所有测试脚本的顺畅执行,日志便于缺陷的定位跟踪,COS测试时专注于测试用例的开发和执行。本发明还公开了一种卡片操作系统的测试方法。
文档编号G06F11/22GK102479123SQ201010563569
公开日2012年5月30日 申请日期2010年11月29日 优先权日2010年11月29日
发明者刘玉军 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1