智能卡的密钥服务系统和密钥服务方法与流程

文档序号:24821050发布日期:2021-04-27 14:41阅读:154来源:国知局
智能卡的密钥服务系统和密钥服务方法与流程

1.本发明涉及智能卡的密钥服务系统和密钥服务方法,尤其涉及能同时利用多台相同功能不同指令的加密机进行密钥服务。


背景技术:

2.加密机一般应用于制作交通、社保、银行等卡片的卡厂,适合大量发卡以及多卡种的场所。
3.在制作卡片的过程中,卡内会建立初始结构、写入初始密钥和数据。其中写入密钥和数据的过程会涉及到加密机。使用加密机的原因主要有以下二点:
4.1、加密机的高安全性,使用加密机来存储密钥,用密文装载密钥;
5.2、加密机的运算速度快,使用加密机来加解密数据,能高速进行数据的解析及写入。
6.另外,像卡厂这类场所,会发多种卡片,需要同时连接不同品牌不同型号的加密机。
7.现有技术方案:
8.对于可通过tcp/ip协议连接的加密机,现有的技术方案一般使用发卡设备直接连接加密机,要求发卡设备必须和加密机在同一网络中,加密机的白名单中必须增加所有可能发卡的发卡设备的ip地址。
9.对于使用pkcs#11接口访问的加密机,一般要求发卡设备的硬件卡槽插入板卡,并只能在有板卡的发卡设备上通过pkcs#11接口访问加密机。
10.现有方案的缺点:
11.1、由于加密机的种类不同,访问的方式不同,有的使用tcp/ip通讯,而有的使用pkcs#11接口访问,从而导致开发写卡程序时要使用不同的连接方式,造成开发难度大,开发成本高。
12.2、即便是同样访问方式的加密机,由于加密机厂家或者加密机的版本号不同,同样的功能封装的指令也不同,也就要求写卡程序要能适用多种厂家的加密机。
13.3、要求发卡设备也要同时支持不同的访问方式,对发卡设备所处的网络环境以及硬件要求过高。
14.4、对于使用pkcs#11接口访问的加密机,限制了发卡设备,不能最有效的利用发卡设备发卡。
15.5、在发卡设备比较多的情况下,所有的发卡设备的ip都要加入到加密机的白名单中,增加了对加密机的操作及维护量。


技术实现要素:

16.本发明针对上述现有技术的问题,提供一种使用简单,能同时连接多种型号和规格的加密机进行密钥服务的密钥系统和密钥服务方法。
17.本发明的第一技术方案为智能卡的密钥服务系统,其特征在于:包括,发卡设备(100)、前置机(200)、加密端(300),
18.所述发卡设备(100),包括参数生成模块(101)、封装模块(102)、解析模块(103)、写卡模块(104),
19.所述参数生成模块(101)生成发卡信息,
20.所述封装模块(102)调用指令接口将发卡信息封装成统一格式的加密请求指令,所述加密请求指令至少包括指令类型、待加密数据、加密方式、引用密钥索引,
21.所述解析模块(103)解析前置机(200)发送的统一格式的加密结果,得到包括密钥和加密的用户数据,
22.所述写卡模块(104)将该密钥和加密的用户数据写入卡片,
23.所述前置机(200)作为密钥服务包括,所述指令接口(201)、动态库(202)、解析模块(203)、加密机检索模块(204)、封装模块(205)、配置文件(206),所述配置文件(206)、再封装模块(207),所述配置文件(206)包括多个与指令类型对应的动态库、ip地址、端口号,
24.所述解析模块(203)对所述加密请求指令进行解析,得到所述指令类型、待加密数据、加密方式、引用密钥索引,
25.所述加密机检索模块(204)根据所述指令类型,由配置文件(206调用所述指令类型对应的动态库以及ip地址、端口号,
26.所述封装模块(205)在调用的所述动态库(202)中传入所述参数生成加密机用指令,
27.再封装模块(207)将加密机(310、320)的加密结果重新封装成统一格式的加密结果,
28.所述加密端(300)包括多台加密机,各个加密机分配有不同的ip地址、端口号,包括接口解析模块(301)、密文值生成模块(302),
29.所述接口解析模块(301)解析所述加密指令,获得要加密数据和加密方式,
30.所述密文值生成模块(302)根据加密指令中的加密数据、加密方式、引用密钥索引进行加密处理,得到加密结果,所述加密结果至少包括密钥和加密的用户数据。
31.第二技术方案基于第一技术方案,所述发卡设备(100)包括多个卡槽,各个卡槽作为独立的客户端生成发卡信息和写卡操作。
32.第三技术方案基于第二技术方案,所述加密端(300)具有用于可信认证所述前置机的白名单。
33.第四技术方案基于第一至三任一项所述的技术方案,述加密机包括基于tcp/ip协议通信的加密机,基于pksc#11接口通信的加密机。
34.第五技术方案为智能卡发卡的密钥服务方法,其特征在于:包括,发卡设备(100)、前置机(200)、加密端(300),所述加密端(300)包括多台加密机(310、320),包括以下步骤:
35.步骤1,发卡设备(100)调用加密接口将发卡信息封装成统一格式的加密请求指令,并将所述加密请求指令发送给所述前置机(200),所述加密请求指令至少包括指令类型、待加密数据、加密方式、引用密钥索引,
36.步骤2,所述前置机(200)对所述加密请求指令进行解析,得到所述指令类型、带加密数据、加密方式、引用密钥索引,
37.步骤3,所述前置机(200),根据所述指令类型,由配置文件(206调用所述指令类型对应的加密机的动态库以及ip地址、端口号,
38.步骤4,所述前置机(200)通过传参把待加密数据、加密方式、引用密钥索引传递给该动态库,形成加密指令,
39.步骤5,所述前置机(200)根据所述指令类型所对应的加密机ip地址和端口号,将加密指令,发送给对应的所述加密机(310、320),
40.步骤6,加密机(310、320)解析所述加密指令,根据加密指令中的加密数据、加密方式、引用密钥索引进行加密处理,得到加密结果,所述加密结果至少包括密钥和加密的用户数据,所述加密结果返回所述前置机(200),
41.步骤7,所述前置机(200)将所述加密结果重新封装成统一格式的加密结果,发送给发卡设备(100),
42.步骤8,所述发卡设备(100)解析所述统一格式的加密结果,得到包括密钥和加密的用户数据,
43.步骤9,所述发卡设备(100)将该密钥和加密的用户数据写入卡片。
44.第六技术方案基于第五技术方案,述发卡设备(100)包括多个卡槽,各个卡槽作为独立的客户端产生加密请求指令和写卡操作。
45.第七技术方案基于第六技术方案,所述加密端(300)包括基于tcp/ip协议通信的加密机和基于pksc#11接口通信的加密机。
46.第八技术方案基于第五至第七中任一项技术方案,所述加密端(300)包括用于可信认证用的白名单,所述步骤6包括根据所述白名单验证所述前置机(200)后,所述加密机(310、320)解析所述加密指令。
47.通过本发明的方法,建立了统一的对外密钥服务,对用户端来说,只需支持一种连接方式,对每种指令也只需了解一种组包方式;加密机的差异化处理通过不同的动态库去实现,大大减少了动态库开发难度和维护的工作量;使用配置文件来配置不同动态库所用的加密机,增加了软件的灵活性,减少了软件维护量。
48.因此用户在发卡过程中体验不到加密机的通讯方式不一样,从而不用和加密机使用不同的方式建立连接;用户也不需要针对不同的加密机品牌以及型号开发发卡程序,降低了开发难度、开发成本以及维护成本。发卡设备端的硬件不必根据不同的加密机来配置不同的网络环境以及硬件环境,从而降低了网络成本以及设备成本。
49.使用pkcs#11接口访问的加密机时,也不用限制发卡设备,可以最有效的利用发卡设备发卡,在发卡设备比较多和加密机较多的情况下,不必将所有发卡设备的ip都要加入到各个加密机的白名单中,只需要将前置机的ip加到加密机的白名单中即可,减少了了对加密机的操作及维护量。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
51.图1为智能卡的密钥服务系统的总体结构说明图;
52.图2为智能卡的密钥服务系统的功能模块图;
53.图3为智能卡的密钥服务系统中,配置文件的说明图;
54.图4为智能卡的密钥服务的流程图;
具体实施方式
55.以下参照附图详细描述本发明的各种示例性实施例。应注意到:除另有说明外,这些实施例中阐述的部件和步骤、数字表达式和数值均为具体实施例,不具有限制本发明范围的作用。
56.同时,为了便于描述,附图中所示出的各个部分的尺寸也并不是完全按照实际的比例关系绘制的。
57.对于本领域的技术人员已知的技术、方法和设备可能不作详细展开,但相关技术、方法和设备应当被视为说明书的一部分。
58.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
59.图1为智能卡的密钥服务系统的总体结构说明图,如图1所示:
60.智能卡的密钥服务系统由发卡设备100、前置机200、加密机端300构成。发卡设备100是大型发卡设备,由多个卡槽110组成,可支持多个卡槽110同时发卡。每个卡槽110作为一个独立的客户端进行工作,可单次可处理一张卡片,即各个卡槽110能独立的生成发卡信息和写卡操作。
61.加密机端300由联网加密机310和卡板加密机320构成。在本实施方式中联网加密机310有不同品牌或相同品牌不同型号的多台加密机组成。各个加密机310基于tcp/ip协议与其他处理装置通信。卡板加密机320安装在前置机200的pksc#11接口的卡槽中,通过pksc#11接口访问加密机320。卡板加密机320例如使用eracom加密机。
62.前置机200和发卡设备100以及加密机300三者之间的网络部署为:发卡设备100和前置机200之间通过socket实现基于tcp/ip协议的通信;前置机200和加密机310之间通过socket实现基于tcp/ip协议的通信。
63.图2为智能卡的密钥服务系统的模块图,如图2所示:
64.发卡设备100,包括参数生成模块101、封装模块102、解析模块103、写卡模块104。
65.参数生成模101生成发卡信息。
66.封装模块102调用指令接口将发卡信息封装成统一格式的加密请求指令,加密请求指令至少包括指令类型、待加密数据、加密方式、引用密钥索引。
67.解析模块103解析前置机200发送的统一格式的加密结果,得到包括密钥和加密的用户数据。写卡模块104将该密钥和加密的用户数据写入卡片。
68.前置机200作为密钥服务包括指令接口201、动态库202、解析模块203、加密机检索模块204、封装模块205、配置文件206,配置文件206、再封装模块207。配置文件206包括多个与指令类型对应的动态库、ip地址、端口号。
69.解析模块203对加密请求指令进行解析,得到所述指令类型、待加密数据、加密方式、引用密钥索引。
70.加密机检索模块204根据所述指令类型,由配置文件206调用指令类型对应的动态库以及ip地址、端口号。
71.封装模块205在调用的动态库202中传入所述参数生成加密机用指令。
72.再封装模块207将加密机310、320的加密结果重新封装成统一格式的加密结果。
73.加密端300包括多台加密机,各个加密机分配有不同的ip地址、端口号,包括接口解析模块301、密文值生成模块302。
74.接口解析模块301解析加密指令,获得要加密数据和加密方式。
75.密文值生成模块302根据加密指令中的加密数据、加密方式、引用密钥索引进行加密处理,得到加密结果,所述加密结果至少包括密钥和加密的用户数据。
76.图3为智能卡的密钥服务系统中,前置机的配置文件206与加密机310对应关系说明图,如图3所示:
77.密钥服务210中的配置文件206为动态库(dll)与加密机的对应表。配置文件206包含多个机密机各自的对应信息206n。每一个加密机对应信息206n对应加密端300中相应的加密机310,对应信息206n包括相应加密机的动态库(dll)、加密机的ip地址、加密机的端口号。
78.图4为智能卡的密钥服务的流程图,如图4所示:
79.步骤s01,卡槽110作为客户端连接密钥服务210,具体如下:
80.每个卡槽110作为一个独立的客户端通过socket与密钥服务210建立连接,各个卡槽110与密钥服务210连接成功后,即可通过socket发送请求加密指令。
81.步骤s02(步骤1),各个客户端发送统一格式的请求加密指令。
82.卡槽110调用加密接口将发卡信息封装成统一格式的加密请求指令,并将加密请求指令发送给前置机200,加密请求指令至少包括指令类型、待加密数据、加密方式、引用密钥索引。
83.步骤s03(步骤2),密钥服务210接收请求加密指令指令,并解析。
84.即,密钥服务210对所述加密请求指令进行解析,得到所述指令类型、带加密数据、加密方式、引用密钥索引。
85.步骤s04(步骤3),将解析内容传给动态库中与加密机对应的动态库(dll)。
86.密钥服务210,根据所述指令类型,由配置文件206调用指令类型对应的加密机的动态库以及ip地址、端口号。
87.步骤s05(步骤4),将与加密相关的数据传给对应动态库,生成加密指令。
88.密钥服务210通过传参把待加密数据、加密方式、引用密钥索引传递给该动态库,形成加密指令。
89.步骤s06(步骤5),密钥服务210按照ip地址、端口号将加密指令发送给对应的加密机。
90.密钥服务210根据指令类型所对应的加密机ip地址和端口号,将加密指令,发送给对应的加密机310或320。
91.步骤s07(步骤6),加密机310或320根据白名单330验证前置机200后,解析加密指令对数据进行加密处理。
92.即,加密机310或320解析加密指令,根据加密指令中的加密数据、加密方式、引用
密钥索引进行加密处理,得到加密结果,加密结果至少包括密钥和加密的用户数据。
93.步骤s08(步骤6),加密结果返回密钥服务210。
94.步骤s09(步骤7),密钥服务210把加密结果封装成统一指令。
95.密钥服务210将加密结果重新封装成统一格式的加密结果,发送给卡槽110。
96.步骤s10(步骤8),卡槽110解析返回的结果。
97.卡槽110解析统一格式的加密结果,得到包括密钥和加密的用户数据。
98.步骤s11(步骤9),卡槽110将该密钥和加密的用户数据写入卡片,断开与密钥服务210建立的连接。
99.由上可知,通过本发明的系统和方法,建立了统一的对外密钥服务,对用户端来说,只需支持一种连接方式,对每种指令也只需了解一种组包方式;加密机的差异化处理通过不同的动态库去实现,大大减少了动态库开发难度和维护的工作量;使用配置文件来配置不同动态库所用的加密机,增加了软件的灵活性,减少了软件维护量。
100.因此用户在发卡过程中体验不到加密机的通讯方式不一样,从而不用和加密机使用不同的方式建立连接;用户也不需要针对不同的加密机品牌以及型号开发发卡程序,降低了开发难度、开发成本以及维护成本。发卡设备端的硬件不必根据不同的加密机来配置不同的网络环境以及硬件环境,从而降低了网络成本以及设备成本。
101.使用pkcs#11接口访问的加密机时,也不用限制发卡设备,可以最有效的利用发卡设备发卡,在发卡设备比较多和加密机较多的情况下,不必将所有发卡设备的ip都要加入到各个加密机的白名单中,只需要将前置机的ip加到加密机的白名单中即可,减少了了对加密机的操作及维护量。
102.由于加密端中设置有用于可信认证用的白名单330,只要在白名单中增加前置机的ip地址,即可用于不同的前置机,进一步扩大了使用方便些。
103.本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1