虚拟IC卡及其制作方法、装置、虚拟IC卡测试系统及方法与流程

文档序号:30433262发布日期:2022-06-15 18:04阅读:295来源:国知局
虚拟IC卡及其制作方法、装置、虚拟IC卡测试系统及方法与流程
虚拟ic卡及其制作方法、装置、虚拟ic卡测试系统及方法
技术领域
1.本技术涉及金融领域,具体涉及一种基于pc设备的虚拟ic卡及其制作方法、装置、虚拟ic卡测试系统及方法。


背景技术:

2.现阶段,各银行普遍使用金融ic卡作为银行卡介质,相较于传统的带磁条特性的银行卡介质而言,金融ic卡具有更高的安全性,因此金融ic卡已在全球范围内普遍推广使用,逐步代替传统的带磁条特性的银行卡介质。
3.目前,银行系统中有许多场景需要用到ic卡,例如模拟测试时需要使用ic卡发起交易,模拟实际业务场景中ic卡的使用。由于ic的卡具有安全性较高、难以直接复制、指令系统复杂、涉及加解密算法、密文处理等特性,模拟测试等使用场景中仅能使用实物ic卡。然而实物ic卡需要采购成本,个人化制作流程过于繁琐,而且需要大型制卡设备,模拟测试过程中也需要配置相应的读写设备,这使得使用实物ic卡进行模拟测试存在很大的局限性。
4.目前比较常见的做法为采用移动设备nfc等技术虚拟化ic卡,可以降低实物ic卡的采购成本,但制卡流程依然繁琐,且仍需要配置读写设备,仍需多个应用系统配合,这对各阶段、各种场景的金融ic卡测试造成了限制,特别是在开发人员自测环境中,由于开发环境限制,无法制作出实物ic卡,从而对软件质量造成一定的影响。


技术实现要素:

5.为了摆脱实物ic卡的限制,本技术提供一种虚拟ic卡及其制作方法、装置、虚拟ic卡测试系统及方法,涉及金融领域。
6.第一方面,本技术提供一种虚拟ic卡,所述虚拟ic卡的虚拟芯片操作系统(chip operating system,简称cos)安装于一pc设备上,所述pc设备的处理器及存储器分别用于实现所述虚拟ic卡的数据处理及存储功能;
7.其中,所述虚拟ic卡的芯片操作系统通过所述pc设备的pc操作系统与所述处理器和所述存储器连接;
8.所述虚拟芯片操作系统通过一第一接口与上层应用系统或模拟测试工具连接。
9.在一实施例中,所述虚拟芯片操作系统包括:
10.应用特性管理模块,用于按照卡品牌规范进行应用个人化数据的管理;
11.通讯管理模块,用于提供与所述pc操作系统及上层应用系统的通讯接口,并执行模拟通电、模拟断电操作;
12.密钥管理模块,用于进行密钥的访问管理,执行芯片交易密文和敏感信息的加解密操作;
13.存储管理模块,用于提供数据的存储操作接口,并执行存储格式转换操作。
14.第二方面,本技术提供一种本技术提供的任一虚拟ic卡的制作方法,包括:
15.获取制卡数据及应用个人化数据并进行合法性校验;
16.对所述制卡数据中的敏感数据进行加解密处理,并存储对应的芯片交易密文密钥;
17.对所述应用个人化数据进行计算处理,得到应用特性数据;
18.对所述应用特性数据及所述制卡数据进行格式转换;
19.将格式转换后的应用特性数据及制卡数据通过所述第一接口写入虚拟ic卡。
20.第三方面,本技术提供一种虚拟ic卡的制作装置,包括:
21.数据获取与校验模块,用于获取制卡数据及应用个人化数据并进行合法性校验;
22.数据处理模块,用于对所述制卡数据中的敏感数据进行加解密处理,并存储对应的芯片交易密文密钥;以及对所述应用个人化数据进行计算处理,得到应用特性数据;
23.格式转换模块,用于对所述应用特性数据及所述制卡数据进行格式转换;
24.数据写入模块,用于将格式转换后的应用特性数据及制卡数据写入虚拟ic卡。
25.第四方面,本技术提供一种虚拟ic卡测试系统,包括:虚拟读卡器、至少一个本技术提供的虚拟ic卡;
26.所述虚拟读卡器包括一第二接口,用于与上层应用系统或模拟测试工具进行数据通讯;
27.其中,所述虚拟读卡器通过所述第二接口接收上层应用系统或模拟测试工具的读写卡指令,并将所述读写卡指令发送至对应的虚拟ic卡;
28.所述虚拟ic卡通过所述第一接口接收所述读写卡指令,并根据所述读写卡指令返回相应的执行结果。
29.在一实施例中,将所述读写卡指令发送至所述虚拟ic卡之前,所述虚拟读卡器还用于:
30.对所述读写卡指令进行合法性校验;
31.根据所述读写卡指令中的虚拟ic卡信息确定待调用的虚拟ic卡;
32.根据预设的桥接配置确定待调用的虚拟ic卡的位置及读卡方式,与待调用的虚拟ic卡建立连接;
33.将所述读写卡指令进行格式转换,以适配待调用的虚拟ic卡的第二接口。
34.第五方面,本技术提供一种虚拟ic卡测试方法,适用于本技术提供的任一虚拟ic卡测试系统,所述虚拟ic卡测试方法包括:
35.虚拟读卡器接收上层应用系统或模拟测试工具发送的读写卡指令,并将所述读写卡指令发送至对应的虚拟ic卡;
36.虚拟ic卡根据所述读写卡指令执行相应的操作,并将执行结果返回至所述虚拟读卡器;
37.所述虚拟读卡器将所述执行结果返回至对应的上层应用系统或模拟测试工具。
38.在一实施例中,虚拟读卡器将所述读写卡指令发送至对应的虚拟ic卡之前,还包括:
39.所述虚拟读卡器对所述读写卡指令进行合法性校验;
40.所述虚拟读卡器根据所述读写卡指令中的虚拟ic卡信息确定待调用的虚拟ic卡;
41.所述虚拟读卡器根据预设的桥接配置确定待调用的虚拟ic卡的位置及读卡方式,
与待调用的虚拟ic卡建立连接;
42.所述虚拟读卡器将所述读写卡指令进行格式转换,以适配待调用的虚拟ic卡的第二接口。
43.在一实施例中,虚拟读卡器将所述执行结果返回至对应的上层应用系统或模拟测试工具之前,还包括:
44.所述虚拟读卡器将所述执行结果进行格式转换,以适配对应的上层应用系统或模拟测试工具的接口。
45.在一实施例中,所述虚拟ic卡根据所述读写卡指令执行的操作至少包括:
46.通电、断电、应用初始化、应用选取、读取交易选项、读取短文件、密文生成、脚本执行、锁卡。
47.本技术通过构建虚拟cos以及虚拟卡制卡、读写卡子系统,完成虚拟ic卡的制卡、读写等生命周期管理,解决了金融ic卡模拟测试等使用场景中制卡用卡成本高、流程繁琐、使用受限等不足,使测试过程更加方便快捷,更加节省资源成本。
附图说明
48.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1为本技术提供的实物金融ic卡的原理图。
50.图2为本技术提供的基于pc设备的虚拟ic卡的基本结构图。
51.图3为本技术提供的虚拟芯片操作系统的结构图。
52.图4为本技术提供的虚拟ic卡的制作方法的示意图。
53.图5为本技术提供的虚拟ic卡的制作流程图。
54.图6为本技术提供的虚拟ic卡的制作装置的示意图。
55.图7为本技术提供的虚拟ic卡测试系统的示意图。
56.图8为本技术提供的虚拟ic卡测试系统和实物ic卡测试系统的对比图。
57.图9为本技术提供的虚拟ic卡测试方法的示意图。
具体实施方式
58.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
59.第一方面,本技术提供一种虚拟ic卡,所述虚拟ic卡的虚拟芯片操作系统(chip operating system,简称cos)安装于一pc设备上,所述pc设备的处理器及存储器分别用于实现所述虚拟ic卡的数据处理及存储功能;
60.其中,所述虚拟ic卡的芯片操作系统通过所述pc设备的pc操作系统与所述处理器和所述存储器连接;
61.所述虚拟芯片操作系统通过一第一接口与上层应用系统或模拟测试工具连接。
62.具体地,请参见图1至图2。普通的实物金融ic卡是以芯片为介质的银行卡,是将一个微电子芯片嵌入复核iso7816标准的卡基中,做成的卡片形式。其中,微电子芯片中集成有芯片操作系统(chip operating system,简称cos)、微处理器和存储器,图1为普通的实物金融ic卡的原理图,芯片操作系统cos、微处理器和存储器之间两两连接,芯片操作系统cos通过一对外数据接口与外部读卡器连接(未示出)。其中,微处理器以及芯片中搭载的cos(chip operating system)负责与读卡设备进行io通讯和加解密运算处理;存储器负责存储个人化信息、应用文件、密钥等。
63.pc设备具有与实物金融ic卡类似的架构,即包括中央处理器cpu、pc操作系统和ram及硬盘存储器。因此,本技术基于pc设备的架构提供一种虚拟ic卡。基于pc设备的虚拟ic卡的基本结构图可参见图2。虚拟ic卡以pc设备为载体,在pc设备上安装虚拟芯片操作系统(虚拟cos),通过虚拟cos实现与pc设备上原有的pc操作系统(例如windows系统、ios系统等)的通讯连接,通过pc操作系统实现虚拟cos与pc处理器和pc存储器之间的通讯连接,通过pc处理器和pc存储器实现虚拟ic卡的数据处理及存储功能。
64.本技术将pc设备中的pc处理器和pc存储器作为虚拟ic卡的一部分,共同实现虚拟ic卡功能。虚拟ic卡中的虚拟cos与实物金融ic卡的cos对应,虚拟ic卡中的pc处理器与实物金融ic卡的微处理器对应,虚拟ic卡中的pc存储器与实物金融ic卡的存储器对应,对应结构实现的功能一致,且虚拟cos与上层应用系统或模拟测试工具进行通讯连接的第一接口与实物金融ic卡的cos的对外数据接口一致。
65.实际上,本技术可在pc设备上安装多个虚拟ic卡,通过安装多个虚拟cos,并在pc存储器上划分出与虚拟cos相同数量的存储器分区作为每个虚拟ic卡的存储器即可实现,但各虚拟ic卡的处理器则是共用的。
66.在一实施例中,如图3所示,所述虚拟芯片操作系统包括:
67.应用特性管理模块,用于按照卡品牌规范(如visa、万事达、银联等)进行应用个人化数据的管理,具体包括应用初始化、数据合法性校验、数据格式转换(tlv格式)、应用特性的相关运算、访问权限控制、应用数据存储和读取等。
68.通讯管理模块,用于提供与所述pc操作系统及上层应用系统或模拟测试工具的通讯接口,进行通讯管理,并执行模拟通电、模拟断电、指令管理及异常管理等。
69.密钥管理模块,用于进行密钥的访问管理,执行芯片交易密文和敏感信息的加解密操作。
70.存储管理模块,用于提供数据的存储操作接口,并执行存储格式转换操作,与pc操作系统的存储接口对接。
71.同时,虚拟cos中还配置有基于接触式或者非接触式的应用规范。
72.虚拟cos主要负责按照ic卡的规范标准进行通讯管理、存储管理、接触式或者非接指令逻辑管理、密钥管理、应用特性管理以及加解密处理等,在实现上可以以一个库程序(c++动态库或者java的jar库)的形式存在。对上层应用系统或模拟测试工具而言,其对虚拟ic卡所感知的效果与一张普通的实物金融ic卡无异。
73.第二方面,本技术提供一种本技术提供的任一虚拟ic卡的制作方法,该方法在pc设备上执行,例如可以由负责制卡的“制卡客户端”完成。
74.如图4所示,该方法包括以下步骤:
75.步骤s401,获取制卡数据及应用个人化数据并进行合法性校验。其中,制卡数据包括卡号、品牌、物理介质、敏感信息及其他信息;在进行合法性校验时,需要对非法制卡数据进行过滤或拒绝或忽略。
76.请同时参见图5,用户在银行服务终端选择金融柜台交易开户操作,输入制卡数据及应用个人化数据;银行服务后端执行开户操作后将制卡数据及应用个人化数据存储至数据库中,同时利用制卡数据及应用个人化数据执行批量制卡操作,并将制卡数据及应用个人化数据下传至pc设备的“制卡客户端”。
[0077]“制卡客户端”接收到银行服务后端下传的数据后,执行两部分操作,一是生成虚拟ic卡实体,二是写入数据。其中虚拟ic卡实体的结构即本技术图2所示的结构。本实施例的重点在于对写入数据的过程进行说明。
[0078]
实际应用中,制卡数据及应用个人化数据也可由“制卡客户端”直接从数据库中读取得到,即可省略图5中的“批量制卡”的步骤。
[0079]
步骤s402,对所述制卡数据中的敏感数据进行加解密处理,并存储对应的芯片交易密文密钥。
[0080]
步骤s403,对所述应用个人化数据进行计算处理,得到应用特性数据。
[0081]
步骤s404,对所述应用特性数据及所述制卡数据进行格式转换。具体为将数据转换为tlv(tag-length-value)十六进制格式,以匹配虚拟ic卡实体的存储格式。
[0082]
步骤s405,将格式转换后的应用特性数据及制卡数据通过虚拟cos的第一接口写入虚拟ic卡。
[0083]
本实施例无须借助任何专用大型复杂昂贵的制卡机,在pc机上利用“制卡客户端”即可完成虚拟ic卡的实体制作和数据导,省去了实物金融ic卡制卡过程中繁琐的、依赖度高的个人化、打卡等操作。
[0084]
第三方面,本技术提供一种虚拟ic卡的制作装置,与前述实施例中的虚拟ic卡的制作方法对应。本实施例的“装置”可以是前述的“制卡客户端”。如图6所示,该装置包括:
[0085]
数据获取与校验模块601,用于获取制卡数据及应用个人化数据并进行合法性校验;
[0086]
数据处理模块602,用于对所述制卡数据中的敏感数据进行加解密处理,并存储对应的芯片交易密文密钥;以及对所述应用个人化数据进行计算处理,得到应用特性数据;
[0087]
格式转换模块603,用于对所述应用特性数据及所述制卡数据进行格式转换;
[0088]
数据写入模块604,用于将格式转换后的应用特性数据及制卡数据写入虚拟ic卡。
[0089]
由于本实施例的虚拟ic卡的制作装置与前述实施例中的虚拟ic卡的制作方法解决问题的原理一致,基于同一发明构思,因此虚拟ic卡的制作装置的实施可以参见虚拟ic卡的制作方法的实施,重复之处不再赘述。以上所使用的术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以上实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0090]
第四方面,本技术提供一种虚拟ic卡测试系统,如图7所示,该测试系统包括:虚拟读卡器(驱动程序)、至少一个本技术提供的虚拟ic卡(虚拟ic卡1~虚拟ic卡n);
[0091]
所述虚拟读卡器包括一第二接口(未示出),用于与上层应用系统或模拟测试工具
进行数据通讯;具体功能可通过虚拟读卡器中的通讯管理模块、应用系统交易管理模块、芯片应用数据管理模块及指令管理模块实现;
[0092]
其中,所述虚拟读卡器通过所述第二接口接收上层应用系统或模拟测试工具的读写卡指令,并将所述读写卡指令发送至对应的虚拟ic卡;
[0093]
所述虚拟ic卡通过所述第一接口接收所述读写卡指令,并根据所述读写卡指令返回相应的执行结果。
[0094]
其中,虚拟读卡器将所述读写卡指令发送至所述虚拟ic卡之前,所述虚拟读卡器还用于:
[0095]
对所述读写卡指令进行合法性校验;
[0096]
根据所述读写卡指令中的虚拟ic卡信息确定待调用的虚拟ic卡;
[0097]
根据预设的桥接配置确定待调用的虚拟ic卡的位置(存储路径)及读卡方式(接触或非接触),与待调用的虚拟ic卡建立连接;其中桥接配置可通过维护终端界面进行维护;
[0098]
将所述读写卡指令进行格式转换,以适配待调用的虚拟ic卡的第二接口。
[0099]
图8中分别示出了使用虚拟读卡器和虚拟ic卡的测试系统,与使用实物金融ic卡与实物读卡器的测试系统。通过图8可以直观的了解到虚拟ic卡测试系统的运行方式与使用实物金融ic卡与实物读卡器的测试系统的运行方式类似。
[0100]
如图9所示,应用以上虚拟ic卡测试系统进行模拟测试时,可执行以下虚拟ic卡测试方法:
[0101]
步骤s901,虚拟读卡器接收上层应用系统或模拟测试工具发送的读写卡指令,并对所述读写卡指令进行合法性校验;
[0102]
步骤s902,虚拟读卡器根据所述读写卡指令中的虚拟ic卡信息确定待调用的虚拟ic卡,根据预设的桥接配置确定待调用的虚拟ic卡的位置及读卡方式,与待调用的虚拟ic卡建立连接;
[0103]
步骤s903,虚拟读卡器将所述读写卡指令进行格式转换,以适配待调用的虚拟ic卡的第二接口,并将所述读写卡指令发送至对应的虚拟ic卡;
[0104]
步骤s904,虚拟ic卡根据所述读写卡指令执行相应的操作,并将执行结果返回至所述虚拟读卡器;其中,所述虚拟ic卡根据所述读写卡指令执行的操作至少包括通电、断电、应用初始化、应用选取、读取交易选项、读取短文件、密文生成、脚本执行、锁卡等操作。
[0105]
步骤s905,所述虚拟读卡器将所述执行结果进行格式转换,以适配对应的上层应用系统或模拟测试工具的接口,并将格式转换后的执行结果返回至对应的上层应用系统或模拟测试工具。
[0106]
本技术通过构建虚拟cos以及虚拟卡制卡、读写卡子系统,完成虚拟ic卡的制卡、读写等生命周期管理,解决了金融ic卡模拟测试等使用场景中制卡用卡成本高、流程繁琐、使用受限等不足,使测试过程更加方便快捷,更加节省资源成本。
[0107]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之
间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
[0108]
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1