本发明涉及数字证书安全技术领域,尤其是涉及一种证书预植系统及其方法。
背景技术:
银行给客户发放证书用于电子银行交易在线认证,一般会使用usbkey等设备存放证书。为方便客户使用,银行需要在key设备中预植证书,并将携带用户证书的key设备发放给客户,银行在发放key设备时,会预先将证书dn中的序列号与客户号在银行系统中进行绑定。
签发证书的ca(certificatedauthority,认证机构)系统一般部署在银行内部,由银行自建,key厂商生产key设备,但是生产的key设备中不包含用户证书。银行出于成本考虑,通常会委托证书预植机构做证书预植,即设备厂商将生产出来的key设备发送给证书预植机构,证书预植机构再调用银行的接口将用户证书下载到key设备中。
由于证书预植机构调用银行接口下载证书(key设备中生成公私钥对,将公钥放在证书请求p10中导出,证书预植机构将证书请求p10提交给银行做签发证书,然后将银行签发的公钥证书导入对应的key设备中),在下载证书的过程中,一方面,证书预植机构可能调用银行接口随意下载获取未经银行授权的用户证书,另一方面,证书预植机构可能使用未经银行确认的key设备下载用户证书,为防止上述现象的发生,目前大多通过商业协议约束证书预植机构的行为,但这种方式的约束力较低,并不能真正有效防止证书预植机构非法下载用户证书的行为。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种证书预植系统及其方法,以有效防止证书预植机构非法下载用户证书的行为。
本发明的目的可以通过以下技术方案来实现:一种证书预植系统,包括key厂商、证书预植机构和银行ca机构,所述银行ca机构用于颁发设备证书的根证书给key厂商;
所述key厂商与证书预植机构连接,用于生产预植有设备证书的key设备,并将该key设备发送到证书预植机构;
所述证书预植机构与银行ca机构双向连接,用于向银行ca机构发送包含签名的证书请求,由银行ca机构签发用户证书给证书预植机构,并由key设备将用户证书及设备证书进行比对,以完成用户证书预植过程。
进一步地,所述key设备包括usbkey和蓝牙key。
一种证书预植方法,包括以下步骤:
s1、银行ca机构颁发设备证书的根证书给key厂商;
s2、key厂商根据设备证书的根证书,生产预植有设备证书的key设备,并将生产的key设备发送到证书预植机构;
s3、证书预植机构从key设备中获取包含签名的用户证书请求,并将该包含签名的证书请求发送给银行ca机构;
s4、银行ca机构对证书请求进行验签,并进行序列号比对操作,若验签通过,且序列号比对成功,则银行ca机构签发用户证书给证书预植机构,否则结束证书预植过程;
s5、证书预植机构将银行签发的用户证书写入key设备中,key设备将用户证书的序列号与设备证书的序列号进行比对,若比对成功,则key设备下载用户证书,否则结束证书预植过程。
进一步地,所述设备证书的根证书对应于不同的key厂商。
进一步地,所述步骤s2具体包括以下步骤:
s21、key厂商根据设备证书的根证书,在生产的key设备中预植设备证书,其中,设备证书dn中包含设备序列号;
s22、key厂商将生产的key设备发送到证书预植机构。
进一步地,所述步骤s3具体包括以下步骤:
s31、key设备将证书预植机构申请的证书与设备证书进行dn中序列号的比对,若比对成功,则key设备生成包含签名的证书请求p10,否则结束证书预植过程;
s32、证书预植机构从key设备中获取包含签名的证书请求p10,之后调用银行签发证书的接口,以将包含签名的证书请求p10发送给银行ca机构。
进一步地,所述步骤s31具体包括以下步骤:
s311、key设备将证书预植机构申请的证书dn中的序列号与设备证书dn中的设备序列号进行比对,若比对成功,则执行步骤s312,否则结束证书预植过程;
s312、key设备生成证书请求p10,并对证书请求p10使用设备证书进行签名,得到包含签名的证书请求p10。
进一步地,所述步骤s4具体包括以下步骤:
s41、银行ca机构对证书请求p10进行验签,若验签通过,则银行ca机构从签名中获取设备证书的dn、从证书请求p10中获取证书预植机构申请的证书的dn,否则结束证书预植过程;
s42、银行ca机构将设备证书dn中的设备序列号与申请的证书dn中的序列号进行比对,若比对成功,则银行ca机构签发用户证书给证书预植机构,否则结束证书预植过程。
进一步地,所述步骤s42中银行ca机构具体是通过证书预植机构调用的接口,将签发的用户证书发送给证书预植机构。
进一步地,所述步骤s5具体包括以下步骤:
s51、证书预植机构将用户证书写入key设备中,key设备获取用户证书dn中的序列号;
s52、key设备将用户证书dn中的序列号与设备证书dn中的设备序列号进行比对,若比对成功,则key设备下载用户证书,否则结束证书预植过程。
与现有技术相比,本发明具有以下优点:
一、本发明通过银行ca机构颁发设备证书的根证书给key厂商,使得key厂商生产的key设备中预植有设备证书,之后通过key设备将证书预植机构申请的证书的序列号与设备证书的设备序列号进行比对,银行ca机构对证书请求进行验签、将申请的证书的序列号与设备证书的设备序列号进行比对,key设备将签发的用户证书的序列号与设备证书的设备序列号进行比对,以此确保银行签发的用户证书的序列号与key设备出厂时预设的设备序列号一致,证书预植机构也只能申请与key设备的序列号所对应的用户证书,key设备只能下载与自己序列号一致的用户证书,相比于商业协议约束的方法,本发明通过技术手段能够有效防止证书预植机构非法下载用户证书的行为。
二、本发明中key厂商根据银行ca机构颁发的设备证书根证书,以生成预植有设备证书的key设备,且证书预植机构不能脱离key设备获取银行签发的用户证书,即证书预植机构不能自己生成一个公私钥对给银行ca机构,设备证书只存在于key设备中,key设备不能导出私钥,证书预植机构下载用户证书后,只能把该用户证书导入key设备中,无法获取该用户证书对应的私钥,证书预植机构也不能获取带私钥的银行用户证书,证书预植机构智能在key厂商交付的key设备中写入用户证书,如果没有合法的key设备,证书预植机构就无法调用银行接口获取银行签发的用户证书。
三、本发明利用key设备的设备序列号分别与申请的证书的序列号以及签发的用户证书的序列号进行比对,既能够避免证书预植机构非法获取与key设备的设备序列号不一致的用户证书,还能保证key设备的设备序列号与下载的用户证书的序列号一致,从而提高证书预植过程的安全性。
附图说明
图1为本发明的证书预植系统结构示意图;
图2为本发明的证书预植方法流程示意图;
图3为实施例中证书预植过程示意图;
图中标记说明:1、key厂商,2、证书预植机构,3、银行ca机构。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
为方便对本发明技术方案的理解,首先对涉及到的一些专业词汇进行如下解释:
证书:电子证书,一般指公钥证书;
证书dn:证书可识别名,证书签发时指定,签发后无法修改;
用户证书:key设备中存放的代表客户身份的证书,公钥证书可以导出,私钥只能由key设备生成,不能导出私钥;
设备证书:key设备出厂时存放的证书,该证书dn中包含设备序列号;
key设备:银行机构发给客户的身份认证设备,简称key,key设备中存放证书私钥和公钥证书,用于电子交易的在线认证;
设备序列号:每一个key设备的唯一序列号;
证书私钥:一般在key里生成,生成不能从key中导出;
银行ca机构:签发电子证书的机构,一般在银行内部;
key厂商:生产key设备的厂商。出厂时key中仅有设备证书,无用户证书;
证书预植机构:将用户证书写入key设备的机构。
如图1所示,一种证书预植系统,包括key厂商1、证书预植机构2和银行ca机构3,银行ca机构3用于颁发设备证书的根证书给key厂商1;
key厂商1与证书预植机构2连接,用于生产预植有设备证书的key设备(包括usbkey、蓝牙key等),并将该key设备发送到证书预植机构2;
证书预植机构2与银行ca机构3双向连接,用于向银行ca机构3发送包含签名的证书请求,由银行ca机构3签发用户证书给证书预植机构,并由key设备将用户证书及设备证书进行比对,以完成用户证书预植过程。
将上述证书预植系统应用于实际,其具体的证书预植过程如图2所示,包括以下步骤:
s1、银行ca机构颁发设备证书的根证书给key厂商,其中,设备证书的根证书对应于不同的key厂商,即每个key厂商的设备证书根证彼此独立;
s2、key厂商根据设备证书的根证书,生产预植有设备证书的key设备,并将生产的key设备发送到证书预植机构,具体的:
s21、key厂商根据设备证书的根证书,在生产的key设备中预植设备证书,其中,设备证书dn中包含设备序列号;
s22、key厂商将生产的key设备发送到证书预植机构;
s3、证书预植机构从key设备中获取包含签名的用户证书请求,并将该包含签名的证书请求发送给银行ca机构,具体的:
s31、key设备将证书预植机构申请的证书与设备证书进行比对,若比对成功,则key设备生成包含签名的证书请求p10,否则结束证书预植过程,其中,key设备首先将证书预植机构申请的证书dn中的序列号与设备证书中的设备序列号进行比对,若比对成功,则key设备生成证书请求p10,并对证书请求p10使用设备证书进行签名,得到包含签名的证书请求p10,否则结束证书预植过程;
s32、证书预植机构从key设备中获取包含签名的证书请求p10,之后调用银行签发证书的接口,以将包含签名的证书请求p10发送给银行ca机构;
s4、银行ca机构对证书请求进行验签,并进行序列号比对操作,若验签通过,且序列号比对成功,则银行ca机构签发用户证书给证书预植机构,否则结束证书预植过程,具体的:
s41、银行ca机构对证书请求p10进行验签,若验签通过,则银行ca机构从签名中获取设备证书的dn、从证书请求p10中获取证书预植机构申请的证书的dn,否则结束证书预植过程;
s42、银行ca机构将设备证书dn中的设备序列号与申请的证书dn中的序列号进行比对,若比对成功,则银行ca机构通过证书预植机构调用的接口,将签发的用户证书发送给证书预植机构,否则结束证书预植过程;
s5、证书预植机构将银行签发的用户证书写入key设备中,key设备将用户证书的序列号与设备证书的序列号进行比对,若比对成功,则key设备下载用户证书,否则结束证书预植过程,具体的:
s51、证书预植机构将用户证书写入key设备中,key设备获取用户证书dn中的序列号;
s52、key设备将用户证书dn中的序列号与设备证书dn中的设备序列号进行比对,若比对成功,则key设备下载用户证书,否则结束证书预植过程。
本发明中,key厂商在key设备出厂前植入设备证书,设备证书的dn中包含key序列号,该证书仅用于本key生成证书请求p10时对p10进行签名,不提供外部接口调用设备证书签名。
证书预植机构申请预植用户证书时调用银行接口,上送使用设备证书签名后的证书请求p10,key生成证书请求p10时,需要比对申请的证书的序列号与自身设备证书的序列号,比对通过后才生成证书请求p10,并使用内部的设备证书对p10进行签名。
银行通过验签取得设备证书dn中的key序列号,并与用户证书请求中的key序列号进行比对,比对通过后签发证书。
key设备在下载证书时,需要比对用户证书的序列号与自身的设备证书的序列号,比对通过后才完成下载。
采用这种方法能够确保银行签发的证书的序列号与key出厂时预设的序列号一致,证书预植厂商也只能通过key才能申请与key的序列号所对应的用户证书,key中也只能下载与自己序列号一致的用户证书。
将上述系统及方法应用于实际,如图3所示,其应用流程包括:
0、key厂商入围银行采购后,银行颁发设备证书根证给key厂商,每个厂商的设备证书根证彼此独立。
1、银行向key厂商订购key设备(usbkey、蓝牙key等),key厂商生产key时,在key中预植设备证书,设备证书使用银行颁发给设备厂商的设备证书根证签发,设备证书dn中包含key序列号,key中的设备证书只能对本key生成的公私钥对的证书请求p10进行签名,没有外部接口可以调用设备证书对外部数据进行签名。
2、key厂商将key设备发送给证书预植机构。
3、证书预植机构进行证书预植申请。先从key中获取证书请求p10:key判断申请的证书dn中的序列号与设备证书的序列号是否一致,若一致生成证书请求p10,并对p10使用设备证书进行签名;
证书预植机构调用银行签发证书的接口,将p10及p10的签名发送给银行。
4、银行得到p10及p10的签名后,对p10进行验签,从签名中取得设备证书的dn,从p10中取得预植机构申请的证书的dn,银行从设备证书的dn,以及申请证书的dn中分别取出设备序列号,并进行比对。如果验签通过,并且两个序列号比对成功,说明预植机构申请的证书的序列号,与key的序列号一致,银行ca签发证书。
5、银行ca签发证书后,在证书预植机构调用银行的接口中返回所签发的用户证书。
6、证书预植机构并银行签发的用户证书写入到key中,key比对银行签发的用户证书的dn中的序列号与key中设备证书的设备序列号,只有两者一致才下载成功。
综上所述,本发明提出的技术方案能够保证key厂商无法生产具备用户证书的key,key厂商无法调用银行ca的接口下载用户证书,key厂商出产的key设备中只包含设备证书;
能够保证证书预植机构无法脱离key获取银行签发的用户证书,即证书预植机构不能自己生成一个公私钥对到银行签发用户证书,银行签发证书时校验设备证书签名并比对设备序列号,设备证书只存在于key中,证书预植机构在没有key的情况下不能调用银行接口下载证书,key厂商保证key中不能导出私钥,证书预植机构下载证书后,只能把该证书导入key中,无法获取该证书对应的私钥,证书预植机构也不能获取带私钥的银行用户证书;
能够保证key中的用户证书的序列号与key本身的序列号一致,银行根据key设备的序列号将证书与用户绑定,由于key在申请与下载证书时会比对用户证书序列号与设备证书序列号,所以不会存在key的序列号与key中用户证书dn中序列号不一致的情况;
保证证书预植机构无法在key中下载与该key序列号不一致的证书,可以避免证书预植机构使用a序列号的key下载b序列号的用户证书,把b序列号发送给银行,而非法保留b序列号证书的情况,由于采用本发明提出的技术方案,银行只要核对订单的序列号及收到的key的序列号,就可以防止用户证书非法外流现象的发生。
1.一种证书预植系统,包括key厂商(1)、证书预植机构(2)和银行ca机构(3),其特征在于,所述银行ca机构(3)用于颁发设备证书的根证书给key厂商(1);
所述key厂商(1)与证书预植机构(2)连接,用于生产预植有设备证书的key设备,并将该key设备发送到证书预植机构(2);
所述证书预植机构(2)与银行ca机构(3)双向连接,用于向银行ca机构(3)发送包含签名的证书请求,由银行ca机构(3)签发用户证书给证书预植机构(2),并由key设备将用户证书及设备证书进行比对,以完成用户证书预植过程。
2.根据权利要求1所述的一种证书预植系统,其特征在于,所述key设备包括usbkey和蓝牙key。
3.一种应用权利要求1所述证书预植系统的证书预植方法,其特征在于,包括以下步骤:
s1、银行ca机构颁发设备证书的根证书给key厂商;
s2、key厂商根据设备证书的根证书,生产预植有设备证书的key设备,并将生产的key设备发送到证书预植机构;
s3、证书预植机构从key设备中获取包含签名的用户证书请求,并将该包含签名的证书请求发送给银行ca机构;
s4、银行ca机构对证书请求进行验签,并进行序列号比对操作,若验签通过,且序列号比对成功,则银行ca机构签发用户证书给证书预植机构,否则结束证书预植过程;
s5、证书预植机构将银行签发的用户证书写入key设备中,key设备将用户证书的序列号与设备证书的序列号进行比对,若比对成功,则key设备下载用户证书,否则结束证书预植过程。
4.根据权利要求3所述的一种证书预植方法,其特征在于,所述设备证书的根证书对应于不同的key厂商。
5.根据权利要求3所述的一种证书预植方法,其特征在于,所述步骤s2具体包括以下步骤:
s21、key厂商根据设备证书的根证书,在生产的key设备中预植设备证书,其中,设备证书dn中包含设备序列号;
s22、key厂商将生产的key设备发送到证书预植机构。
6.根据权利要求5所述的一种证书预植方法,其特征在于,所述步骤s3具体包括以下步骤:
s31、key设备将证书预植机构申请的证书与设备证书进行dn中序列号的比对,若比对成功,则key设备生成包含签名的证书请求p10,否则结束证书预植过程;
s32、证书预植机构从key设备中获取包含签名的证书请求p10,之后调用银行签发证书的接口,以将包含签名的证书请求p10发送给银行ca机构。
7.根据权利要求6所述的一种证书预植方法,其特征在于,所述步骤s31具体包括以下步骤:
s311、key设备将证书预植机构申请的证书dn中的序列号与设备证书dn中的设备序列号进行比对,若比对成功,则执行步骤s312,否则结束证书预植过程;
s312、key设备生成证书请求p10,并对证书请求p10使用设备证书进行签名,得到包含签名的证书请求p10。
8.根据权利要求6所述的一种证书预植方法,其特征在于,所述步骤s4具体包括以下步骤:
s41、银行ca机构对证书请求p10进行验签,若验签通过,则银行ca机构从签名中获取设备证书的dn、从证书请求p10中获取证书预植机构申请的证书的dn,否则结束证书预植过程;
s42、银行ca机构将设备证书dn中的设备序列号与申请的证书dn中的序列号进行比对,若比对成功,则银行ca机构签发用户证书给证书预植机构,否则结束证书预植过程。
9.根据权利要求8所述的一种证书预植方法,其特征在于,所述步骤s42中银行ca机构具体是通过证书预植机构调用的接口,将签发的用户证书发送给证书预植机构。
10.根据权利要求9所述的一种证书预植方法,其特征在于,所述步骤s5具体包括以下步骤:
s51、证书预植机构将用户证书写入key设备中,key设备获取用户证书dn中的序列号;
s52、key设备将用户证书dn中的序列号与设备证书dn中的设备序列号进行比对,若比对成功,则key设备下载用户证书,否则结束证书预植过程。
技术总结