基于多商户的安全认证方法、装置、电子设备及存储介质与流程

文档序号:17481660发布日期:2019-04-20 06:29阅读:148来源:国知局
基于多商户的安全认证方法、装置、电子设备及存储介质与流程

本发明涉及密码学技术领域,具体涉及一种基于多商户的安全认证方法、装置、电子设备及存储介质。



背景技术:

在日益信息化的社会中,信息技术的应用已经渗透到生产与生活的方方面面。人们会使用电子设备终端通过网络访问各种各样的信息系统,这些信息系统有可能关系到企业的生产经营或者个人的交易钱款,为了保障这些信息系统的安全,常用的手段是为系统的每个用户设置私有的用户名和密码。但是系统用户的用户名和密码在网络上传输时,存在被第三方截获的可能,并且在系统的服务端和用户电子设备访问终端都存在被第三方植入收集用户密码的木马程序的可能,所以常见的用户名和密码保障系统用户安全的技术手段还存在着相当大的风险。



技术实现要素:

鉴于以上内容,有必要提出一种基于多商户的安全认证方法、装置、电子设备及存储介质,通过中间服务器的接收、解密、加密、转发,有效的确保了商户客户端和金融服务器双方的安全性。

本发明的第一方面提供一种基于多商户的安全认证方法,应用于中间服务器中,所述中间服务器通过网络与多个商户客户端及金融服务器连接,所述方法包括:

接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求;

使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求;

使用所述第一私钥对所述第一解密请求进行加密后得到第二加密请求,根据所述第一解密请求中携带的金融服务器标识将所述第二加密请求发送给对应所述金融服务器标识的金融服务器;

接收所述金融服务器发送的使用第二私钥对第二解密请求进行加密后的第一加密响应,其中,所述第二解密请求是通过所述金融服务器使用所述第一公钥对所述第二加密请求进行解密后得到的;

使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应;

使用所述第一私钥对所述第一解密响应进行加密后得到第二加密响应,将所述第二加密响应发送至所述商户客户端,使得所述商户客户端使用所述第一公钥对所述第二加密响应进行验签后得到响应结果。

优选的,在所述接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求之前,所述方法还包括:

首次接收到所述商户客户端发送的携带有商户客户端标识的请求时,根据所述请求中的商户客户端标识生成所述第一公钥和所述第一私钥;

将所述第一公钥和所述第一私钥发送给所述商户客户端进行存储,使得所述商户客户端能够使用所述第一私钥对所述交易请求进行加密得到所述第一加密请求。

优选的,在所述根据所述请求中的商户客户端标识生成所述第一公钥和所述第一私钥之后,所述方法还包括:

将所述商户客户端标识、所述第一公钥及所述第一私钥关联存储在预设第一列表中;及

将所述商户客户端标识及所述第一公钥发送给所述金融服务器进行存储。

优选的,在所述使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求之前,所述方法还包括:

在接收所述第一加密请求的同时接收所述商户客户端标识;

根据所述商户客户端标识从所述预设第一列表中获取对应所述第一私钥的所述第一公钥。

优选的,所述方法还包括:

接收所述金融服务器发送的所述第二公钥并将所述金融服务器标识及对应的所述第二公钥关联存储在预设第二列表中。

优选的,在所述使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应之前,所述方法还包括:

根据所述金融服务器标识从所述预设第二列表中获取对应对应所述第二私钥的第二公钥。

优选的,所述第一公钥和所述第一私钥成对,所述第二公钥和所述第二私钥成对,均采用所述非对称加密算法生成。

本发明的第二方面提供一种基于多商户的安全认证装置,运行于中间服务器中,所述中间服务器通过网络与多个商户客户端及金融服务器连接,所述装置包括:

第一接收模块,用于接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求;

第一解密模块,用于使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求;

第一加密模块,用于使用所述第一私钥对所述第一解密请求进行加密后得到第二加密请求,根据所述第一解密请求中携带的金融服务器标识将所述第二加密请求发送给对应所述金融服务器标识的金融服务器;

第二接收模块,用于接收所述金融服务器发送的使用第二私钥对第二解密请求进行加密后的第一加密响应,其中,所述第二解密请求是通过所述金融服务器使用所述第一公钥对所述第二加密请求进行解密后得到的;

第二解密模块,用于使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应;

第二加密模块,用于使用所述第一私钥对所述第一解密响应进行加密后得到第二加密响应,将所述第二加密响应发送至所述商户客户端,使得所述商户客户端使用所述第一公钥对所述第二加密响应进行验签后得到响应结果。

本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述基于多商户的安全认证方法。

本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于多商户的安全认证方法。

本发明所述的基于多商户的安全认证方法、装置、电子设备及存储介质,在接收到商户客户端的注册请求时,根据商户客户端标识生成唯一的公钥私钥对,将商户客户端的公钥私钥对发送给商客户端户,使得公网中的每一个商户客户端具有自己独立的安全密钥对(一对公钥和私钥);同时将商户客户端的公钥发送给所请求的金融服务器,便于金融服务器使用商户客户端的公钥进行解密并确认请求是由商户客户端发出的;其次,通过中间服务器的接收、解密、加密、转发,有效的确保了商户客户端和金融服务器双方的安全性,无需担心请求或响应被攻击或者篡改,因为经过公钥加密后,只有对应的私钥才能解密,而经过私钥加密后,只有对应的公钥才能解密,因而,即使请求或者响应被其他金融服务器或者商户客户端看到,也无法看到加密后的内容。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明实施例一提供的基于多商户的安全认证方法的流程图。

图2是本发明实施例二提供的基于多商户的安全认证装置的功能模块图。

图3是本发明实施例三提供的电子设备的示意图。

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一

本发明实施例一提供一种基于多商户的安全认证方法,所述基于多商户的安全认证方法应用环境包括:多个商户客户端、中间服务器及金融服务器,商户客户端通过中间服务器向金融服务器发送交易请求,金融服务器经过验证后返回报文给中间服务器,中间服务器将报文转发给商户客户端。

如图1所示,是本发明实施例一提供的基于多商户的安全认证方法的流程图。根据不同的需求,该流程图中的执行顺序可以改变,某些步骤可以省略。

s11:接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求。

本实施例中,多个商户客户端和多个中间服务器均通过网络与中间服务器进行通讯连接。所述网络是用以提供通信连接的介质,包括但不限于:广域网、城域网或局域网。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。所述商户客户端上可以安装有各种通讯客户端应用,例如社交类应用等。所述商户客户端可以是具有显示屏并且支持无线通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机等等。所述金融服务器可以是提供金融交易服务的平台或者系统等。所述中间服务器接收商户客户端发送的请求或者接收金融服务器发送的响应,从而起到多个商户客户端和金融服务器之间的桥梁作用。中间服务器对接收到的商户客户端发送的请求进行解密再加密后发送给金融服务器,同时对接收到的金融服务器发送的响应进行解密再加密后发送给商户客户端,从而确保商户客户端和金融服务器的安全。

优选的,在所述接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求之前,所述方法还包括:

首次接收到所述商户客户端发送的携带有商户客户端标识的请求时,根据所述商户客户端标识生成所述第一公钥和所述第一私钥;

将所述第一公钥和所述第一私钥发送给所述商户客户端进行存储,使得所述商户客户端能够使用所述第一私钥对所述交易请求进行加密得到所述第一加密请求。

中间服务器首次接收到商户客户端发送的携带有商户客户端标识的请求时,可根据商户客户端标识,利用非对称加密算法生成一对第一公钥和第一私钥,同时将所述第一公钥和第一私钥发回给商户客户端进行存储。商户客户端接收所述第一公钥和所述第一私钥,当需要请求交易时,对交易请求进行加密后再发送给中间服务器。所述商户客户端标识可以包括,但不限于:商户的手机号、商户的身份证号、商户的商户号、商户的商户名称、商户的地址等。根据商户客户端的不同标识,利用非对称加密算法生成不同的第一公钥和第一私钥对。使得不同的商户客户端拥有不同且唯一的第一公钥和第一私钥对,在公网交易中,有利于提高商户客户端交易的安全性。

所述首次接收到所述商户客户端发送的携带有商户客户端标识的请求可以包括多种首次请求,例如,首次接收到商户客户端发送的携带有商户客户端标识的注册请求,首次接收到商户客户端发送的携带有商户客户端标识的登录请求,或者首次接收到商户客户端发送的携带有商户客户端标识的交易请求等。优选的,为商户客户端首次向中间服务器发送注册请求或者首次向中间服务器发送登录请求时携带商户客户端标识。中间服务器根据商户客户端首次发送的注册请求或者首次发送的登陆请求中携带的商户客户端标识生成第一公钥及第一私钥并响应商户客户端的首次注册请求或首次登陆请求返回第一公钥及第一私钥对。如此商户客户端后续可直接根据所述第一私钥对交易请求进行加密后发送给中间服务器,从而可避免如果在提交交易请求时获取第一公钥和第一私钥,需使用第一私钥对交易请求加密后再次发送请求,如此能够减少商户客户端发送同一个交易请求的次数。

优选的,在中间服务器根据所述请求中的商户客户端标识生成所述第一公钥和所述第一私钥之后,所述方法还包括:

将所述商户客户端标识、所述第一公钥及所述第一私钥关联存储在预设第一列表中;及

将所述商户客户端标识及所述第一公钥发送给所述金融服务器进行存储。

中间服务器根据商户客户端标识可为每一个商户客户端生成不同的第一公钥和第一私钥对,将商户客户端标识、对应所述商户客户端标识的所述第一公钥及所述第一私钥关联存储在预设第一列表中,便于后续可根据商户客户端标识获取对应的第一公钥或第一私钥。所述第一加密请求中还可以携带有所请求交易的金融服务器的金融服务器标识。中间服务器根据接收到的第一加密请求将所述商户客户端标识及所生成的第一公钥发送给对应所述金融服务器标识的金融服务器进行存储。

s12:使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求。

本实施例中,中间服务器接收到商户客户端发送的经过加密的交易请求后,先对加密请求进行解密。

优选的,在所述使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求之前,所述方法还包括:

在接收所述第一加密请求的同时接收所述商户客户端标识;

根据所述商户客户端标识从所述预设第一列表中获取对应所述第一私钥的所述第一公钥。

本实施例中,商户客户端在向中间服务器发送经过加密后的第一加密请求时同时发送商户客户端标识。中间服务器同时接收所述第一加密请求及所述商户客户端标识,根据商户客户端标识来判断第一加密请求是由哪个商户客户端发出的,进而从所述预设第一列表中获取对应所述第一私钥的所述第一公钥,然后使用所述第一公钥对所述第一加密请求进行解密,因为只有第一公钥才能对所述第一加密请求进行解密。

s13:使用所述第一私钥对所述第一解密请求进行加密后得到第二加密请求,根据所述第一解密请求中携带的金融服务器标识将所述第二加密请求发送给对应所述金融服务器标识的金融服务器。

本实施例中,中间服务器使用第一公钥对第一加密请求进行解密后再使用第一私钥对第一解密请求进行加密后得到第二加密请求。同时,中间服务器对第一加密请求进行解密后得到的第一解密请求中携带有金融服务器标识,根据所述金融服务器标识将所述第二加密请求及商户客户端标识发送给对应所述金融服务器标识的金融服务器。

通过上述步骤s12和s13,即中间服务器根据商户客户端标识确保交易请求是由哪个商户客户端发出的,使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求,再使用第一私钥进行加密,进一步确认请求到达金融服务器的安全性。

s14:接收所述金融服务器发送的使用第二私钥对第二解密请求进行加密后的第一加密响应,其中,所述第二解密请求是通过所述金融服务器使用所述第一公钥对所述第二加密请求进行解密后得到的。

本实施例中,金融服务器接收到中间服务器发送的第二加密请求及商户客户端标识后,根据商户客户端标识判断交易请求是由哪个商户客户端发出的。由于第二加密请求是中间服务器使用第一私钥加密后得到的,金融服务器只有使用对应所述第一私钥的第一公钥才能进行解密。因而金融服务器可根据存储的商户客户端标识及对应的第一公钥,获取对应所述商户客户端标识的第一公钥并利用所述第一公钥对所述第二加密请求进行解密后得到第二解密请求。同时,金融服务器响应第二解密请求,返回报文,即使用金融服务器的第二私钥对第二解密请求进行加密得到第一加密响应并返回给中间服务器。

优选的,所述方法还包括:

接收所述金融服务器发送的所述第二公钥并将所述金融服务器标识及对应的所述第二公钥关联存储在预设第二列表中。

本实施例中,金融服务器在发送第一加密响应至中间服务器时,可以将金融服务器标识及对应金融服务器标识的第二公钥发送给中间服务器。中间服务器将所述金融服务器标识及对应的所述第二公钥关联存储在预设第二列表中,便于后续根据金融服务器标识获取第二公钥进行解密。第二公钥和第二私钥成对,预先由金融服务器采用非对称加密算法生成的。

s15:使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应。

本实施例中,金融服务器在成功完成对第二加密请求的解密时,响应所述第二加密请求中的交易请求,并返回经过第二私钥加密后的第一加密响应至中间服务器。为避免报文被窃取或者攻击,确保报文的安全,金融服务器使用自身的第二私钥对报文进行加密,得到第一加密响应,并将第一加密响应发送给中间服务器。中间服务器接收到金融服务器发送的第一加密响应后,使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应。

优选的,在所述使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应之前,所述方法还包括:

根据所述金融服务器标识从所述预设第二列表中获取对应所述第二私钥的第二公钥。

本实施例中,由于中间服务器存储有金融服务器标识及对应的第二公钥,在接收到金融服务器使用自身的第二私钥进行密码的第一加密响应时,可以使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密。因为只有使用第二公钥才能对使用第二私钥加密的第一加密响应。如此,可以确保加密响应是由金融服务器发出的,排除其他金融服务器伪造或者冒充的可能性。

s16:使用所述第一私钥对所述第一解密响应进行加密后得到第二加密响应,将所述第二加密响应发送至所述商户客户端,使得所述商户客户端使用所述第一公钥对所述第二加密响应进行验签后得到响应结果。

本实施例中,金融服务器在发送第一加密响应的同时发送金融服务器标识,中间服务器接收到第一加密响应和金融服务器标识后,根据金融服务器标识获取对应的第二公钥,然后使用第二公钥对第一加密响应进行解密得到第一解密响应,再使用第一私钥对第一解密响应进行加密得到第二加密响应,同时将第二加密响应发送给对应所述第一私钥的商户客户端。商户客户端根据第一公钥对所述第二加密响应进行验签后得到响应结果。

通过上述步骤s15和s16,即中间服务器根据金融服务器标识确保响应请求是由哪个金融服务器发出的,使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应,再使用第一私钥进行加密,进一步确认请求到达商户客户端的安全性。

最后需要说明的是,中间服务器利用非对称加密算法生成的一对第一公钥和第一私钥,及金融服务器利用非对称加密算法生成的一对第二公钥和第二私钥具有如下特性:使用第一公钥进行加密后,必须使用对应的第一私钥才能解密,使用第一私钥加密后,必须使用对应的第一公钥才能解密;使用第二公钥进行加密后,必须使用对应的第二私钥才能解密;使用第二私钥加密后,必须使用对应的第二公钥才能解密。设置生成的公钥和私钥对具有上述的特性,第一可以证明请求是由商户客户端发出的,或者响应是由金融服务器发出的,因为商户客户端或者金融服务器使用私钥进行加密,可以排除请求或者响应是别人伪造的或者冒充的可能性。中间服务器接收到请求或者响应后进行解密再加密是为了确保请求只有金融服务器能够解密并看到加密请求,或者为了确保响应只有商户客户端能够解密并看到加密响应,因为只有商户客户端或者金融服务器有解密公钥,即使其他商户客户端或者金融服务器看到加密后的信息,也无法解密,更无法篡改,从而有效的保证了信息传输过程中的安全。

综上所述,本发明实施例提供的基于多商户的安全认证方法,接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求;使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求;使用所述第一私钥对所述第一解密请求进行加密后得到第二加密请求,根据所述第一解密请求中携带的金融服务器标识将所述第二加密请求发送给对应所述金融服务器标识的金融服务器;接收所述金融服务器发送的使用第二私钥对第二解密请求进行加密后的第一加密响应,其中,所述第二解密请求是通过所述金融服务器使用所述第一公钥对所述第二加密请求进行解密后得到的;使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应;使用所述第一私钥对所述第一解密响应进行加密后得到第二加密响应,将所述第二加密响应发送至对应所述第一私钥的商户客户端,使得所述商户客户端使用所述第一公钥对所述第二加密响应进行验签后得到响应结果。

在接收到商户客户端的注册请求时,根据商户客户端标识生成唯一的公钥私钥对,将商户客户端的公钥私钥对发送给商客户端户,使得公网中的每一个商户客户端具有自己独立的安全密钥对(一对公钥和私钥);同时将商户客户端的公钥发送给所请求的金融服务器,便于金融服务器使用商户客户端的公钥进行解密并确认请求是由商户客户端发出的;其次,通过中间服务器的接收、解密、加密、转发,有效的确保了商户客户端和金融服务器双方的安全性,无需担心请求或响应被攻击或者篡改,因为经过公钥加密后,只有对应的私钥才能解密,而经过私钥加密后,只有对应的公钥才能解密,因而,即使请求或者响应被其他金融服务器或者商户客户端看到,也无法看到加密后的内容。

以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。

下面结合第2至3图,分别对实现上述基于多商户的安全认证方法的电子设备的功能模块及硬件结构进行介绍。

实施例二

图2为本发明基于多商户的安全认证装置较佳实施例中的功能模块图。

在一些实施例中,所述基于多商户的安全认证装置20运行于电子设备中。所述基于多商户的安全认证装置20可以包括多个由程序代码段所组成的功能模块。所述基于多商户的安全认证装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行(详见图1及其相关描述)基于多商户的安全认证方法。

本实施例中,所述基于多商户的安全认证装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:第一接收模块201、第一解密模块202、第一加密模块203、第二接收模块204、第二解密模块205及第二加密模块206。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。

第一接收模块201,用于接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求。

本实施例中,多个商户客户端和多个中间服务器均通过网络与中间服务器进行通讯连接。所述网络是用以提供通信连接的介质,包括但不限于:广域网、城域网或局域网。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。所述商户客户端上可以安装有各种通讯客户端应用,例如社交类应用等。所述商户客户端可以是具有显示屏并且支持无线通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机等等。所述金融服务器可以是提供金融交易服务的平台或者系统等。所述中间服务器接收商户客户端发送的请求或者接收金融服务器发送的响应,从而起到多个商户客户端和金融服务器之间的桥梁作用。中间服务器对接收到的商户客户端发送的请求进行解密再加密后发送给金融服务器,同时对接收到的金融服务器发送的响应进行解密再加密后发送给商户客户端,从而确保商户客户端和金融服务器的安全。

优选的,在所述接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求之前,所述装置还包括:

首次接收到所述商户客户端发送的携带有商户客户端标识的请求时,根据所述商户客户端标识生成所述第一公钥和所述第一私钥;

将所述第一公钥和所述第一私钥发送给所述商户客户端进行存储,使得所述商户客户端能够使用所述第一私钥对所述交易请求进行加密得到所述第一加密请求。

中间服务器首次接收到商户客户端发送的携带有商户客户端标识的请求时,可根据商户客户端标识,利用非对称加密算法生成一对第一公钥和第一私钥,同时将所述第一公钥和第一私钥发回给商户客户端进行存储。商户客户端接收所述第一公钥和所述第一私钥,当需要请求交易时,对交易请求进行加密后再发送给中间服务器。所述商户客户端标识可以包括,但不限于:商户的手机号、商户的身份证号、商户的商户号、商户的商户名称、商户的地址等。根据商户客户端的不同标识,利用非对称加密算法生成不同的第一公钥和第一私钥对。使得不同的商户客户端拥有不同且唯一的第一公钥和第一私钥对,在公网交易中,有利于提高商户客户端交易的安全性。

所述首次接收到所述商户客户端发送的携带有商户客户端标识的请求可以包括多种首次请求,例如,首次接收到商户客户端发送的携带有商户客户端标识的注册请求,首次接收到商户客户端发送的携带有商户客户端标识的登录请求,或者首次接收到商户客户端发送的携带有商户客户端标识的交易请求等。优选的,为商户客户端首次向中间服务器发送注册请求或者首次向中间服务器发送登录请求时携带商户客户端标识。中间服务器根据商户客户端首次发送的注册请求或者首次发送的登陆请求中携带的商户客户端标识生成第一公钥及第一私钥并响应商户客户端的首次注册请求或首次登陆请求返回第一公钥及第一私钥对。如此商户客户端后续可直接根据所述第一私钥对交易请求进行加密后发送给中间服务器,从而可避免如果在提交交易请求时获取第一公钥和第一私钥,需使用第一私钥对交易请求加密后再次发送请求,如此能够减少商户客户端发送同一个交易请求的次数。

优选的,在中间服务器根据所述请求中的商户客户端标识生成所述第一公钥和所述第一私钥之后,所述装置还包括:

将所述商户客户端标识、所述第一公钥及所述第一私钥关联存储在预设第一列表中;及

将所述商户客户端标识及所述第一公钥发送给所述金融服务器进行存储。

中间服务器根据商户客户端标识可为每一个商户客户端生成不同的第一公钥和第一私钥对,将商户客户端标识、对应所述商户客户端标识的所述第一公钥及所述第一私钥关联存储在预设第一列表中,便于后续可根据商户客户端标识获取对应的第一公钥或第一私钥。所述第一加密请求中还可以携带有所请求交易的金融服务器的金融服务器标识。中间服务器根据接收到的第一加密请求将所述商户客户端标识及所生成的第一公钥发送给对应所述金融服务器标识的金融服务器进行存储。

第一解密模块202,用于使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求。

本实施例中,中间服务器接收到商户客户端发送的经过加密的交易请求后,先对加密请求进行解密。

优选的,在所述使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求之前,所述装置还包括:

在接收所述第一加密请求的同时接收所述商户客户端标识;

根据所述商户客户端标识从所述预设第一列表中获取对应所述第一私钥的所述第一公钥。

本实施例中,商户客户端在向中间服务器发送经过加密后的第一加密请求时同时发送商户客户端标识。中间服务器同时接收所述第一加密请求及所述商户客户端标识,根据商户客户端标识来判断第一加密请求是由哪个商户客户端发出的,进而从所述预设第一列表中获取对应所述第一私钥的所述第一公钥,然后使用所述第一公钥对所述第一加密请求进行解密,因为只有第一公钥才能对所述第一加密请求进行解密。

第一加密模块203,用于使用所述第一私钥对所述第一解密请求进行加密后得到第二加密请求,根据所述第一解密请求中携带的金融服务器标识将所述第二加密请求发送给对应所述金融服务器标识的金融服务器。

本实施例中,中间服务器使用第一公钥对第一加密请求进行解密后再使用第一私钥对第一解密请求进行加密后得到第二加密请求。同时,中间服务器对第一加密请求进行解密后得到的第一解密请求中携带有金融服务器标识,根据所述金融服务器标识将所述第二加密请求及商户客户端标识发送给对应所述金融服务器标识的金融服务器。

通过所述第一解密模块202和所述第一加密模块203,即中间服务器根据商户客户端标识确保交易请求是由哪个商户客户端发出的,使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求,再使用第一私钥进行加密,进一步确认请求到达金融服务器的安全性。

第二接收模块204,用于接收所述金融服务器发送的使用第二私钥对第二解密请求进行加密后的第一加密响应,其中,所述第二解密请求是通过所述金融服务器使用所述第一公钥对所述第二加密请求进行解密后得到的。

本实施例中,金融服务器接收到中间服务器发送的第二加密请求及商户客户端标识后,根据商户客户端标识判断交易请求是由哪个商户客户端发出的。由于第二加密请求是中间服务器使用第一私钥加密后得到的,金融服务器只有使用对应所述第一私钥的第一公钥才能进行解密。因而金融服务器可根据存储的商户客户端标识及对应的第一公钥,获取对应所述商户客户端标识的第一公钥并利用所述第一公钥对所述第二加密请求进行解密后得到第二解密请求。同时,金融服务器响应第二解密请求,返回报文,即使用金融服务器的第二私钥对第二解密请求进行加密得到第一加密响应并返回给中间服务器。

优选的,所述装置还包括:

接收所述金融服务器发送的所述第二公钥并将所述金融服务器标识及对应的所述第二公钥关联存储在预设第二列表中。

本实施例中,金融服务器在发送第一加密响应至中间服务器时,可以将金融服务器标识及对应金融服务器标识的第二公钥发送给中间服务器。中间服务器将所述金融服务器标识及对应的所述第二公钥关联存储在预设第二列表中,便于后续根据金融服务器标识获取第二公钥进行解密。第二公钥和第二私钥成对,预先由金融服务器采用非对称加密算法生成的。

第二解密模块205,用于使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应。

本实施例中,金融服务器在成功完成对第二加密请求的解密时,响应所述第二加密请求中的交易请求,并返回经过第二私钥加密后的第一加密响应至中间服务器。为避免报文被窃取或者攻击,确保报文的安全,金融服务器使用自身的第二私钥对报文进行加密,得到第一加密响应,并将第一加密响应发送给中间服务器。中间服务器接收到金融服务器发送的第一加密响应后,使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应。

优选的,在所述使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应之前,所述装置还包括:

根据所述金融服务器标识从所述预设第二列表中获取对应所述第二私钥的第二公钥。

本实施例中,由于中间服务器存储有金融服务器标识及对应的第二公钥,在接收到金融服务器使用自身的第二私钥进行密码的第一加密响应时,可以使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密。因为只有使用第二公钥才能对使用第二私钥加密的第一加密响应。如此,可以确保加密响应是由金融服务器发出的,排除其他金融服务器伪造或者冒充的可能性。

第二加密模块206,用于使用所述第一私钥对所述第一解密响应进行加密后得到第二加密响应,将所述第二加密响应发送至所述商户客户端,使得所述商户客户端使用所述第一公钥对所述第二加密响应进行验签后得到响应结果。

本实施例中,金融服务器在发送第一加密响应的同时发送金融服务器标识,中间服务器接收到第一加密响应和金融服务器标识后,根据金融服务器标识获取对应的第二公钥,然后使用第二公钥对第一加密响应进行解密得到第一解密响应,再使用第一私钥对第一解密响应进行加密得到第二加密响应,同时将第二加密响应发送给对应所述第一私钥的商户客户端。商户客户端根据第一公钥对所述第二加密响应进行验签后得到响应结果。

通过所述第二解密模块205和所述第二加密模块206,即中间服务器根据金融服务器标识确保响应请求是由哪个金融服务器发出的,使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应,再使用第一私钥进行加密,进一步确认请求到达商户客户端的安全性。

最后需要说明的是,中间服务器利用非对称加密算法生成的一对第一公钥和第一私钥,及金融服务器利用非对称加密算法生成的一对第二公钥和第二私钥具有如下特性:使用第一公钥进行加密后,必须使用对应的第一私钥才能解密,使用第一私钥加密后,必须使用对应的第一公钥才能解密;使用第二公钥进行加密后,必须使用对应的第二私钥才能解密;使用第二私钥加密后,必须使用对应的第二公钥才能解密。设置生成的公钥和私钥对具有上述的特性,第一可以证明请求是由商户客户端发出的,或者响应是由金融服务器发出的,因为商户客户端或者金融服务器使用私钥进行加密,可以排除请求或者响应是别人伪造的或者冒充的可能性。中间服务器接收到请求或者响应后进行解密再加密是为了确保请求只有金融服务器能够解密并看到加密请求,或者为了确保响应只有商户客户端能够解密并看到加密响应,因为只有商户客户端或者金融服务器有解密公钥,即使其他商户客户端或者金融服务器看到加密后的信息,也无法解密,更无法篡改,从而有效的保证了信息传输过程中的安全。

综上所述,本发明实施例提供的基于多商户的安全认证装置,接收商户客户端发送的使用第一私钥对交易请求进行加密后的第一加密请求;使用对应所述第一私钥的第一公钥对所述第一加密请求进行解密后得到第一解密请求;使用所述第一私钥对所述第一解密请求进行加密后得到第二加密请求,根据所述第一解密请求中携带的金融服务器标识将所述第二加密请求发送给对应所述金融服务器标识的金融服务器;接收所述金融服务器发送的使用第二私钥对第二解密请求进行加密后的第一加密响应,其中,所述第二解密请求是通过所述金融服务器使用所述第一公钥对所述第二加密请求进行解密后得到的;使用对应所述第二私钥的第二公钥对所述第一加密响应进行解密后得到第一解密响应;使用所述第一私钥对所述第一解密响应进行加密后得到第二加密响应,将所述第二加密响应发送至对应所述第一私钥的商户客户端,使得所述商户客户端使用所述第一公钥对所述第二加密响应进行验签后得到响应结果。

在接收到商户客户端的注册请求时,根据商户客户端标识生成唯一的公钥私钥对,将商户客户端的公钥私钥对发送给商客户端户,使得公网中的每一个商户客户端具有自己独立的安全密钥对(一对公钥和私钥);同时将商户客户端的公钥发送给所请求的金融服务器,便于金融服务器使用商户客户端的公钥进行解密并确认请求是由商户客户端发出的;其次,通过中间服务器的接收、解密、加密、转发,有效的确保了商户客户端和金融服务器双方的安全性,无需担心请求或响应被攻击或者篡改,因为经过公钥加密后,只有对应的私钥才能解密,而经过私钥加密后,只有对应的公钥才能解密,因而,即使请求或者响应被其他金融服务器或者商户客户端看到,也无法看到加密后的内容。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。

实施例三

图3为本发明实施例三提供的电子设备的示意图。

所述电子设备3包括:存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。

所述至少一个处理器32执行所述计算机程序33时实现上述方法实施例中的步骤。

示例性的,所述计算机程序33可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述至少一个处理器32执行,以完成本发明上述方法实施例中的步骤。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序33在所述电子设备3中的执行过程。

所述电子设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备、总线等。

所述至少一个处理器32可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。

所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备3的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1