本发明涉及银行网银应用领域,具体涉及一种银行usbkey证书申请防篡改保护方法及系统。
背景技术:
由于银行定义了证书的应用场景,定义了网银证书用途,即交易签名证书只能用于对特定格式的数据签名,普通签名证书只能用于非特定格式数据签名。在证书下载过程中证书请求环节,usbkey的生成密钥对过程,网银应用请求的用途,在生成密钥对时存在被篡改的风险,为避免该风险,需要针对用途做防篡改防护。
技术实现要素:
针对现有技术中存在的缺陷,本发明的目的在于提供一种银行usbkey证书申请防篡改保护方法及系统,通过该方法及系统能够解决网银证书用途在下证过程中被篡改的问题。
为实现上述目的,本发明采用的技术方案如下:
一种银行usbkey证书申请防篡改保护方法,包括:
(1)网银应用调用证书申请模块并传入证书请求参数;
(2)所述证书申请模块解析所述参数,获取所述证书请求参数中的网银证书用途信息,根据所述网银证书用途信息向usbkey发送密钥对生成指令;
(3)所述usbkey接收所述网银证书用途信息和所述密钥对生成指令,根据所述密钥对生成指令生成相应的密钥对,并将所述密钥对绑定所述网银证书用途信息;
(4)所述证书申请模块将获取的所述usbkey生成的所述密钥对的公钥,解析所述参数获取的网银证书用途信息和其他信息组织并生成证书请求信息原文,根据所述证书请求信息原文向usbkey发送签名生成指令;
(5)所述usbkey接收所述证书请求信息原文和所述签名生成指令,解析获取所述证书请求信息原文中的公钥和网银证书用途信息,根据所述公钥获取所述密钥对绑定的网银证书用途信息;
(6)所述usbkey根据所述签名生成指令将所述证书请求信息原文中的网银证书用途信息与所述密钥对绑定的网银证书用途信息进行比对,若一致,则生成相应的签名,并将签名结果返回给所述证书申请模块;
(7)所述证书申请模块根据所述签名结果组织证书请求数据,将所述证书请求数据返回给所述网银应用。
进一步,如上所述的方法,步骤(1)包括:
网银应用通过调用者调用证书申请模块并传入参数;
所述调用者包括:安装程序进程,卸载程序进程,以及其他需要处理占用问题的程序进程。
进一步,如上所述的方法,步骤(3)中,将所述密钥对绑定所述网银证书用途信息包括:
将所述密钥对中的私钥绑定所述网银证书用途信息;
步骤(5)中,根据所述公钥获取所述密钥对绑定的网银证书用途信息包括:
根据所述公钥获取对应的私钥,获取该私钥绑定的网银证书用途信息。
进一步,如上所述的方法,步骤(6)还包括:
所述usbkey根据所述签名生成指令将所述证书请求信息原文中的网银证书用途信息与所述密钥对绑定的的网银证书用途信息进行比对,若不一致,则拒绝签名。
进一步,如上所述的方法,所述网银应用包括:银行跟证书相关的后台服务和网银客户端软件,所述证书申请模块为客户端支持下证的控件或动态库。
本发明还提供一种银行usbkey证书申请防篡改保护系统,包括:网银应用、证书申请模块和usbkey;
网银应用用于调用所述证书申请模块并传入证书请求参数;
所述证书申请模块用于解析所述参数,获取所述证书请求参数中的网银证书用途信息,根据所述网银证书用途信息向usbkey发送密钥对生成指令;
所述usbkey用于接收所述网银证书用途信息和所述密钥对生成指令,根据所述密钥对生成指令生成相应的密钥对,并将所述密钥对绑定所述网银证书用途信息;
所述证书申请模块用于将获取的所述usbkey生成的所述密钥对的公钥,解析所述参数获取的网银证书用途信息和其他信息组织并生成证书请求信息原文,根据所述证书请求信息原文向usbkey发送签名生成指令;
所述usbkey用于接收所述证书请求信息原文和所述签名生成指令,解析获取所述证书请求信息原文中的公钥和网银证书用途信息,根据所述公钥获取所述密钥对绑定的网银证书用途信息;
所述usbkey用于根据所述签名生成指令将所述证书请求信息原文中的网银证书用途信息与所述密钥对绑定的网银证书用途信息进行比对,若一致,则生成相应的签名,并将签名结果返回给所述证书申请模块;
所述证书申请模块用于根据所述签名结果组织证书请求数据,将所述证书请求数据返回给所述网银应用。
进一步,如上所述的系统,所述网银应用具体用于:
通过调用者调用证书申请模块并传入参数;
所述调用者包括:安装程序进程,卸载程序进程,以及其他需要处理占用问题的程序进程。
进一步,如上所述的系统,所述usbkey具体用于:
接收所述网银证书用途信息和所述密钥对生成指令,根据所述密钥对生成指令生成相应的密钥对,并将所述密钥对中的私钥绑定所述网银证书用途信息;还具体用于:
接收所述证书请求信息原文和所述签名生成指令,解析获取所述证书请求信息原文中的公钥和网银证书用途信息,根据所述公钥获取对应的私钥,获取该私钥绑定的网银证书用途信息。
进一步,如上所述的系统,所述usbkey还用于:
根据所述签名生成指令将所述证书请求信息原文中的网银证书用途信息与所述密钥对绑定的的网银证书用途信息进行比对,若不一致,则拒绝签名。
进一步,如上所述的系统,所述网银应用包括:银行跟证书相关的后台服务和网银客户端软件,所述证书申请模块为客户端支持下证的控件或动态库。
本发明的有益效果在于:本发明所提供的方法及系统,通过usbkey在进行数据签名之前检测网银证书用途信息在生成密钥对时是否被篡改,若检测结果为已被篡改则拒绝签名,只有检测结果为未被篡改时才进行数据签名,有效解决了网银证书用途在下证过程中被篡改的问题,提高了下证过程的安全性。
附图说明
图1为本发明实施例中提供的一种银行usbkey证书申请防篡改保护方法的流程示意图;
图2为本发明实施例中提供的一种银行usbkey证书申请防篡改保护方法的整体框架图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
如图1所示,一种银行usbkey证书申请防篡改保护方法,包括:
s100、网银应用调用证书申请模块并传入证书请求参数;
步骤s100包括:
网银应用通过调用者调用证书申请模块并传入参数;
调用者包括:安装程序进程,卸载程序进程,以及其他需要处理占用问题的程序进程。
网银应用包括:银行跟证书相关的后台服务和网银客户端软件,证书申请模块为客户端支持下证的控件或动态库。
s200、证书申请模块解析参数,获取证书请求参数中的网银证书用途信息,根据网银证书用途信息向usbkey发送密钥对生成指令;
s300、usbkey接收网银证书用途信息和密钥对生成指令,根据密钥对生成指令生成相应的密钥对,并将密钥对绑定网银证书用途信息;
步骤s300中,将密钥对绑定网银证书用途信息包括:
将密钥对中的私钥绑定网银证书用途信息。
s400、证书申请模块将获取的usbkey生成的密钥对的公钥,解析参数获取的网银证书用途信息和其他信息组织并生成证书请求信息原文,根据证书请求信息原文向usbkey发送签名生成指令;
s500、usbkey接收证书请求信息原文和签名生成指令,解析获取证书请求信息原文中的公钥和网银证书用途信息,根据公钥获取密钥对绑定的网银证书用途信息;
步骤s500中,根据公钥获取密钥对绑定的网银证书用途信息包括:
根据公钥获取对应的私钥,获取该私钥绑定的网银证书用途信息。
s600、usbkey根据签名生成指令将证书请求信息原文中的网银证书用途信息与密钥对绑定的网银证书用途信息进行比对,若一致,则生成相应的签名,并将签名结果返回给证书申请模块;
步骤(6)还包括:
usbkey根据签名生成指令将证书请求信息原文中的网银证书用途信息与密钥对绑定的的网银证书用途信息进行比对,若不一致,则拒绝签名。
s700、证书申请模块根据签名结果组织证书请求数据,将证书请求数据返回给网银应用。
usbkey在做数据签名之前,将证书请求信息原文中的网银证书用途信息与密钥对绑定的网银证书用途信息进行比对,根据比对结果判断网银证书用途信息在生成密钥对时是否被篡改,如果比对结果为一致,则表明网银证书用途信息未被篡改,此时可以进行数据签名,将签名结果返回给证书申请模块,如果比对结果为不一致,则表明网银证书用途信息已被篡改,此时应拒绝签名。证书申请模块收到签名结果,表示可以组织证书请求数据返回给网银应用。
本发明通过usbkey在进行数据签名之前检测网银证书用途信息在生成密钥对时是否被篡改,若检测结果为已被篡改则拒绝签名,只有检测结果为未被篡改时才进行数据签名,有效解决网银证书用途在下证过程中被篡改的问题,提高了下证过程的安全性。
实施例一
如图2所示,一种银行usbkey证书申请防篡改保护方法,包括:
s101:网银应用调用证书申请模块,将请求参数传入,该参数包括了网银证书用途信息;
s201:证书申请模块,解析参数,获取到网银证书用途信息。
s202:证书申请模块,使用网银证书用途信息,向usbkey发送生成密钥对指令;
s301:usbkey根据指令生成要求用途的密钥对,并绑定网银证书用途信息;
具体地,将密钥对的私钥绑定网银证书用途信息,usbkey内部记录该私钥的网银证书用途信息。
s203:证书申请模块获取(s301)生成密钥对的公钥,(s201)中的网银证书用途信息,以及其他信息组织并生成证书请求信息原文。
s303:证书申请模块使用(s203)中生成的证书请求信息原文向usbkey发送生成签名指令。
s304:usbkey收到证书请求信息原文,解析得到证书请求信息原文中的公钥和网银证书用途信息a,根据公钥找到密钥对绑定的网银证书用途信息b。
s305:usbkey将对比(s304)中获取到的两个网银证书用途信息(a和b),如果一致,则生成签名,将签名结果返回给证书申请模块,否则拒绝签名。
如果一致,则表明使用密钥对的私钥对证书请求信息原文做签名,生成签名值。
s103:如果(s305)签名成功,证书申请模块组织证书请求数据,将结果返回给网银应用。
最后网银应用完成后续流程。
本发明还提供一种银行usbkey证书申请防篡改保护系统,包括:网银应用、证书申请模块和usbkey;
网银应用用于调用证书申请模块并传入证书请求参数;
证书申请模块用于解析参数,获取证书请求参数中的网银证书用途信息,根据网银证书用途信息向usbkey发送密钥对生成指令;
usbkey用于接收网银证书用途信息和密钥对生成指令,根据密钥对生成指令生成相应的密钥对,并将密钥对绑定网银证书用途信息;
证书申请模块用于将获取的usbkey生成的密钥对的公钥,解析参数获取的网银证书用途信息和其他信息组织并生成证书请求信息原文,根据证书请求信息原文向usbkey发送签名生成指令;
usbkey用于接收证书请求信息原文和签名生成指令,解析获取证书请求信息原文中的公钥和网银证书用途信息,根据公钥获取密钥对绑定的网银证书用途信息;
usbkey用于根据签名生成指令将证书请求信息原文中的网银证书用途信息与密钥对绑定的网银证书用途信息进行比对,若一致,则生成相应的签名,并将签名结果返回给证书申请模块;
证书申请模块用于根据签名结果组织证书请求数据,将证书请求数据返回给网银应用。
网银应用具体用于:
通过调用者调用证书申请模块并传入参数;
调用者包括:安装程序进程,卸载程序进程,以及其他需要处理占用问题的程序进程。
usbkey具体用于:
接收网银证书用途信息和密钥对生成指令,根据密钥对生成指令生成相应的密钥对,并将密钥对中的私钥绑定网银证书用途信息;还具体用于:
接收证书请求信息原文和签名生成指令,解析获取证书请求信息原文中的公钥和网银证书用途信息,根据公钥获取对应的私钥,获取该私钥绑定的网银证书用途信息。
usbkey还用于:
根据签名生成指令将证书请求信息原文中的网银证书用途信息与密钥对绑定的的网银证书用途信息进行比对,若不一致,则拒绝签名。
网银应用包括:银行跟证书相关的后台服务和网银客户端软件,证书申请模块为客户端支持下证的控件或动态库。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。