CN114338091A - 数据传输方法、装置、电子设备及存储介质 - Google Patents

数据传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114338091A
CN114338091A CN202111493588.5A CN202111493588A CN114338091A CN 114338091 A CN114338091 A CN 114338091A CN 202111493588 A CN202111493588 A CN 202111493588A CN 114338091 A CN114338091 A CN 114338091A
Authority
CN
China
Prior art keywords
ciphertext
request
key
key information
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111493588.5A
Other languages
English (en)
Other versions
CN114338091B (zh
Inventor
张川
斯丹
唐嘉诚
刘骏佳
夏浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Douku Software Technology Co Ltd
Original Assignee
Hangzhou Douku Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Douku Software Technology Co Ltd filed Critical Hangzhou Douku Software Technology Co Ltd
Priority to CN202111493588.5A priority Critical patent/CN114338091B/zh
Publication of CN114338091A publication Critical patent/CN114338091A/zh
Application granted granted Critical
Publication of CN114338091B publication Critical patent/CN114338091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请公开了一种数据传输方法、装置、电子设备及存储介质。其中,所述方法应用于客户端,包括:调用第一软件开发工具包SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文;向服务器发送第一请求;所述第一请求中携带所述第一密文;所述第一请求用于请求处理所述第一业务;接收所述服务器基于所述第一请求返回的第二密文;所述第二密文由所述服务器基于所述第一请求对所述第一密文的第一处理结果进行加密得到;调用所述第一SDK对所述第二密文进行解密,生成第一明文;基于所述第一明文,处理所述第一业务。

Description

数据传输方法、装置、电子设备及存储介质
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
相关技术中,为了保证数据在传输过程中的安全性,会对传输数据进行加密,由于不同的数据加密方式存在一定的安全漏洞或者存在适用场景的限制,导致数据加密的效率与数据的安全性降低的问题。
发明内容
有鉴于此,本申请实施例提供一种数据传输方法、装置、电子设备及存储介质,以至少解决相关技术出现的数据加密的效率与数据的安全性降低的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种数据传输方法,应用于客户端,所述方法包括:
调用第一软件开发工具包(SDK,Software Development Kit),基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文;
向服务器发送第一请求;所述第一请求中携带所述第一密文;所述第一请求用于请求处理所述第一业务;
接收所述服务器基于所述第一请求返回的第二密文;所述第二密文由所述服务器基于所述第一请求对所述第一密文的第一处理结果进行加密得到;
调用所述第一SDK对所述第二密文进行解密,生成第一明文;
基于所述第一明文,处理所述第一业务。
本申请实施例提供了另一种数据传输方法,应用于服务器,所述方法包括:
接收客户端发送的第一请求;所述第一请求携带第一密文;所述第一密文表征关于第一业务的第一数据的加密结果;所述第一请求用于请求处理所述第一业务;
调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果;所述第一解密结果表征关于所述第一请求的解密结果;
根据所述第一解密结果,对所述第一业务进行处理,生成第一处理结果;
调用所述第二SDK对所述第一处理结果进行加密,生成第二密文;
将所述第二密文返回至所述客户端。
本申请实施例还提供了另一种数据传输方法,应用于密钥管理平台,所述方法包括:
接收客户端或服务器发送的密钥管理请求;
根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应;
将关于所述密钥管理请求的响应返回至所述客户端或服务器。
本申请实施例还提供了一种数据传输装置,应用于客户端,包括:
第二接收单元,用于接收客户端发送的第一请求;所述第一请求携带第一密文;所述第一密文表征关于第一业务的第一数据的加密结果;所述第一请求用于请求处理所述第一业务;
第二解密单元,用于调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果;所述第一解密结果表征关于所述第一请求的解密结果;
第二处理单元,用于根据所述第一解密结果,对所述第一业务进行处理,生成第一处理结果;
第二加密单元,用于调用所述第二SDK对所述第一处理结果进行加密,生成第二密文;
第二发送单元,将所述第二密文返回至所述客户端。
本申请实施例还提供了一种数据传输装置,应用于密钥管理平台,包括:
第三接收单元,用于接收客户端或服务器发送的密钥管理请求;
第一生成单元,用于根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应;
第三发送单元,将关于所述密钥管理请求的响应返回至所述客户端或服务器。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
在本申请实施例中,客户端通过调用客户端上的软件开发工具包为第一业务的数据进行加密,并为服务器返回的关于第一业务的处理结果的密文进行解密,从而能够保证第一业务的数据在传输过程中的安全性的同时,还能通用的数据加密或解密的基础设施,从而能够提高数据加密和解密的效率。
附图说明
图1为本申请一实施例提供的密钥管理的服务架构示意图;
图2为本申请一实施例提供的密钥管理的技术架构示意图;
图3为本申请一实施例提供的数据传输方法的实现流程示意图;
图4为本申请又一实施例提供的数据传输方法的实现流程示意图;
图5为本申请又一实施例提供的数据传输方法的实现流程示意图;
图6为本申请又一实施例提供的数据传输方法的实现流程示意图;
图7为本申请又一实施例提供的数据传输方法的实现流程示意图;
图8为本申请又一实施例提供的数据传输方法的实现流程示意图;
图9为本申请又一实施例提供的数据传输方法的实现流程示意图;
图10为本申请又一实施例提供的数据传输方法的实现流程示意图;
图11为本申请又一实施例提供的数据传输方法的实现流程示意图;
图12为本申请又一实施例提供的数据传输方法的实现流程示意图;
图13为本申请一应用实施例提供的密钥管理技术架构对RSA数字信封的处理流程示意图;
图14为本申请又一应用实施例提供的密钥管理技术架构对ECC数字信封的处理流程示意图;
图15为本申请又一应用实施例提供的密钥管理技术架构对基于客户端与服务器之间的通信密钥加密的第一密文的处理流程示意图;
图16为本申请又一应用实施例提供的密钥管理技术架构登记密钥的处理流程;
图17为本申请又一应用实施例提供的密钥管理技术架构的业务证书升级的处理流程;
图18为本申请又一应用实施例提供的密钥申请业务接入流程;
图19为本申请一实施例提供的数据传输装置的结构示意图;
图20为本申请又一实施例提供的数据传输装置的结构示意图;
图21为本申请又一实施例提供的数据传输装置的结构示意图;
图22为本申请一实施例提供电子设备的硬件组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本申请作进一步详细的说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本文中术语“至少一个”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
相关技术中,对于相同的业务,存在不同的安全合规政策,为此不同的设计团队为满足安全合规政策,设计了不同的加密方案与解密方案,并且部分加密方案与解密方案存在较高的安全漏洞,例如,将加密密钥信息追加到统一资源***(url,Uniform ResourceLocator)请求中,导致数据传输的安全性减弱。
基于此,在本申请实施例提供的方案能够提供一套标准化的加密方案与解密方案,并且还能保证数据在传输过程中的安全性。
在对本申请实施例的技术方案进行详细说明之前,首先对本申请实施例应用的密钥管理的服务架构与密钥管理的技术架构进行相应的介绍。
如图1所示,图1示出了密钥管理的服务架构示意图。在密钥管理的服务架构中,能够处理RSA数字信封、椭圆加密算法(ECC,Elliptic curve cryptography)数字信封,以及基于Noise框架传输的数据,其中,RSA数字信封是基于RSA加密算法对数据进行加密所生成的,RSA加密算法是一种非对称的加密算法。ECC数字信封是基于ECC加密算法对数据进行加密所生成的。Noise框架是一个用于构建安全协议的框架,为网络协议提供安全信道,从而可以保证数据在传输过程中的安全性。
基于密钥管理的服务架构的处理场景,能够提供不同的密钥管理服务,包括密钥登记、密钥协商和流量卸载,其中,不同的密钥管理服务需要调用相应的密钥管理能力协助实现,密钥管理能力包括密钥配置、业务证书分发、密钥采集、协议鉴权、密钥协商等。在实际应用中,密钥管理能力还需要依赖一定的工具,在密钥管理服务架构中,基础设施层提供了密钥管理服务(KMS,Key Management Service)工具、公钥基础设施(PKI,Public KeyInfrastructure)等,KMS工具能够确定解密的密钥,PKI能够实现证书的产生、管理、存储、分发和撤销等功能。例如,当需要对ECC数字信封中的密钥进行登记,首先要利用密钥协商服务,通过密钥协商的密钥管理能力从KMS工具中,确定解密ECC数字信封的密钥,在获取密钥后,提供密钥登记服务,通过密钥存储的密钥管理能力从PKI中完成密钥的登记。
如图2所示,图2示出了密钥管理的技术架构示意图,在图2中的技术架构中,包括了接入层、应用层、领域层和基础设施层,其中,接入层能够供客户端、服务器、客户端的SDK、服务器的SDK以及运营后台接入,从而调用密钥管理的技术架构中的不同层,完成不同的密钥管理。在实际应用中,客户端的SDK与服务器的SDK集成密钥装卸和流量装卸的能力。应用层中提供了密钥运营、密钥登记以及密钥协商,当接入层调用应用层进行相应的处理的情况下,能够触发领域层的对应能力,领域层中包括密钥管理、密钥同步、密钥协商、密钥采集、业务鉴权等不同的能力,并依赖于基础设施层中的不同工具,完成接入层发起的密钥管理,其中,基础设施层中含有KMS、PKI等。
下面结合附图及具体实施例对本申请作进一步详细的说明。
本申请实施例提供了一种数据传输方法,图3为本申请实施例的数据传输方法的一种流程示意图,如图3所示,所述方法应用于客户端,所述方法包括:
S301:调用第一SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文。
客户端上配置标准化的第一SDK,第一SDK集成了一定的能力,例如,第一SDK可以进行数据的加密、数据的解密等。
第一业务为客户端上进行的数据交互业务,例如,在登录网站的过程中,第一业务可以为登录验证服务,第一业务也可以付款业务,第一业务还可以为数据查询业务等。
客户端在进行第一业务的处理过程中,存在客户端与服务器之间的数据交互的需求,例如,第一业务为付款业务的情况下,客户端需要将付款信息、付款密码等信息传输给服务器,服务器根据客户端传输的信息进行相应的验证和数据处理,从而完成付款,其中,客户端传输给服务器的付款信息、付款密码等信息,属于隐私信息,如果在传输的过程中被窃取或泄露,将会影响账户的安全,因此,需要将与第一业务相关的第一数据进行加密后传输给服务器。客户端可以调用第一SDK,为第一数据进行加密,生成第一密文,第一密文为第一数据的加密结果。
第一SDK上集成了不同的加密方式,可以通过第一SDK支持的加密方式对第一数据进行加密,在实际应用中,可以根据第一业务的传输要求选择第一数据的加密方式,例如,在第一业务的传输要求更注重数据的安全性的情况下,在第一SDK支持的加密方式中选择加密安全性最高的加密方式,相应的加密时间会增加,导致第一数据的传输时间也会相应的增加。在第一业务的传输要求更倾向数据的处理效率的情况下,在第一SDK支持的加密方式中选择传输效率最高的加密方式,相应的加密时间会缩短,从而能够减少第一数据的传输时间。
S302:向服务器发送第一请求;所述第一请求中携带所述第一密文;所述第一请求用于请求处理所述第一业务。
在完成第一数据加密的情况下,需要请求服务器协助完成第一业务的处理,从而客户端可以向服务器发送第一请求,其中,第一请求为请求信息,第一请求中携带了第一密文,从而能够在第一数据随着请求发送的过程中得到保护。
S303:接收所述服务器基于所述第一请求返回的第二密文;所述第二密文由所述服务器基于所述第一请求对所述第一密文的第一处理结果进行加密得到。
在服务器完成对第一请求的处理后,客户端能够接收服务器基于第一请求返回的第二密文,第二密文中含有对第一业务的处理结果,客户端通过对第一密文进行解密,能够获取第一业务的处理结果。
S304:调用所述第一SDK对所述第二密文进行解密,生成第一明文。
服务器返回的第二密文是基于第一密文的加密方式加密得到的,客户端可以调用第一SDK,对第二密文进行解密,从而得到第二密文的解密结果。在实际应用中,对第二密文的解密过程与对第一密文的加密过程相反。
S305:基于所述第一明文,处理所述第一业务。
客户端根据第一明文,能够完成第一业务的后续处理,例如,第一业务为付款业务的情况下,获取的第一明文可以为表征支付成功的信息,从而客户端上可以显示支付成功的页面,完成了付款业务的处理。获取的第一明文还可以表征支付失败的信息,从而客户端上可以显示支付失败的页面,继续进行付款业务的处理。
在本申请实施例中,第一SDK能够支持三种加密方式,下面通过不同的实施例介绍通过三种加密方式对第一数据进行加密的过程以及对三种加密方式加密得到的数据进行解密的过程。
在一实施例中,所述基于所述第一SDK支持的至少一种加密方式,对所述第一数据进行加密,生成所述第一密文,包括:
在所述第一SDK支持的至少一种加密方式中选择第一加密方式或第二加密方式的情况下,基于第一加密方式的第一加密算法或第二加密方式的第二加密算法,根据客户端的第一私钥信息与服务器的第一公钥信息,对所述第一数据进行加密,生成所述第一密文;第一加密算法为RAS算法;所述第二加密算法为椭圆曲线ECC算法。
第一加密方式是基于RSA算法对第一数据进行加密,生成第一密文,第一密文的具体生成过程为:首先确定客户端的第一私钥信息,其中,第一私钥信息可以为随机产生的对称密钥信息,利用客户端的第一私钥信息对第一数据进行加密,从而得到关于第一数据的加密结果A,再利用服务器的第一公钥信息通过RSA算法对客户端的第一私钥信息进行加密,得到关于客户端的第一私钥信息的加密结果B,将加密结果A与加密结果B进行组合,得到第一密文,在实际应用中,第一密文称为第一数据的数字信封,由于第一密文是使用第一加密方式加密得到的,因而第一密文为RSA数字信封。
第二加密方式是基于ECC算法对第一数据进行加密,生成第一密文。第一密文的具体生成过程为:首先确定客户端的第一私钥信息,根据客户端的第一私钥信息,用椭圆曲线迪菲-赫尔曼秘钥交换(ECDH,Elliptic Curve Diffie Hellman key Exchange),得到AES密钥,通过AES密钥对第一数据进行加密,得到关于第一数据的加密结果A,再利对客户端的AES密钥进行加密,得到关于客户端的第一私钥信息的加密结果B,基于加密结果A与加密结果B,能够生成第一密文。在实际应用中,第一密文为ECC数字信封。
第二加密方式相对于第一加密方式而言,具有更高的安全性,在对第一数据进行加密过程中的处理速度也会比第一加密方式更快,并且,在第二加密方式在加密的过程中,生成的AES密钥的尺寸会比第一加密方式在加密过程中生成的密钥尺寸小,从而不需要较多的存储资源。
在第二密文的加密方式为第一加密方式或第二加密方式的情况下,所述调用所述第一SDK对所述第二密文进行解密,生成第一明文,包括:
根据服务器的第二私钥信息对所述第二密文进行解密,生成所述第一明文;所述服务器的第二私钥信息是基于客户端的第二公钥信息确定的。
服务器返回的第二密文是基于第一密文的加密方式加密得到的,当客户端接收到的第二密文是基于第一加密方式或第二加密方式加密的情况下,第一SDK能够对第二密文进行解密,在实际应用中,对第二密文的解密过程与对第一密文的加密过程相反。
在第二密文是基于第一加密方式加密得到的情况下,第二密文为RSA数字信封,首先利用客户端的私钥对RSA数字信封进行解密,得到服务器的第二私钥信息,服务器的第二私钥信息是用于加密第一处理结果从而生成第二密文,进而可以通过服务器的第二私钥信息对加密的第一处理结果进行解密,从而得到第一明文。
在第二密文是基于第二加密方式加密得到的情况下,第二密文为ECC数字信封,首先利用客户端的私钥对ECC数字信封进行解密,得到服务器的第二私钥信息,服务器的第二私钥信息是用于加密第一处理结果从而生成第二密文,进而可以通过服务器的第二私钥信息对加密的第一处理结果进行解密,从而得到第一明文。
在一实施例中,如图4所示,所述基于所述第一SDK支持的至少一种加密方式,对所述第一数据进行加密,生成所述第一密文,包括:
S401:在所述第一SDK支持的至少一种加密方式中选择第三加密方式的情况下,向密钥管理平台发送第二请求;所述第二请求用于请求分配客户端与服务器之间的通信密钥信息。
第三加密方式是通过客户端与服务器之间的通信密钥信息对第一数据进行加密,其中,客户端与服务器之间的通信密钥信息是由密钥管理平台分配。密钥管理平台用于对密钥进行管理,提供密钥登记、密钥分发等不同的密钥管理服务。
客户端通过向密钥管理平台发送第二请求,获取密钥管理平台分配的客户端与服务器之间的通信密钥信息。
在实际应用中,客户端基于第一SDK生成客户端的临时公钥信息与临时私钥信息,调用initialize函数对协商状态机(HS,Handshake State-machine)进行初始化,协商状态机是用于确定客户端与服务器之间的握手状态,并调用write_message函数对HS进行更新,生成第一缓存数据buffer1,其中,第一缓存数据buffer1中含有第一SDK生成的客户端的临时公钥信息、以及签名信息等其他信息。客户端基于第一SDK向密钥管理平台发送第二请求中携带有第一缓存数据buffer1。
S402:接收所述密钥管理平台返回的关于所述第二请求的第一响应;所述第一响应包括第一密钥信息和第二密钥信息。
密钥管理平台对第二请求处理完成后,客户端能够接收到密钥管理平台返回的第一密钥信息与第二密钥信息,其中,第一密钥信息与第二密钥信息为客户端与服务器之间的通信密钥信息。
客户端接收到的第一响应为利用客户端的临时公钥信息加密生成的第二缓存数据buffer2,第一SDK调用write_message函数对HS进行更新,并且对第二缓存数据buffer2进行解密,从而能够得到第一密钥信息与第二密钥信息。
S403:根据所述第一密钥信息加密所述第一数据,生成所述第一密文。
利用第一密钥信息对第一数据进行加密,从而生成第一密文。
在第二密文的加密方式为第三加密方式的情况下,所述调用所述第一SDK对所述第二密文进行解密,生成第一明文,包括:
通过所述第二密钥信息,对所述第二密文进行解密,生成所述第一明文。
客户端通过第二请求向密钥管理平台请求分配客户端与服务器之间的通信密钥信息,同样地,服务器也能向密钥管理平台获取客户端与服务器之间的通信密钥信息。在密钥管理平台分配的通信密钥信息中,当客户端使用第一密钥信息对数据进行加密,那么服务器将使用第二密钥信息对数据进行加密,在这种情况下,客户端能够通过第二密钥信息对第二密文进行解密,得到第一明文。
在一实施例中,如图5所示,所述方法还包括:
S501:向密钥管理平台发送第三请求;所述第三请求用于请求登记客户端的第二公钥信息以使所述服务器根据所述第二公钥信息对所述第一处理结果进行加密。
第一SDK在利用第一加密方式或第二加密方式对第一数据进行加密的过程中,会生成客户端的第一私钥信息,在生成客户端的第一私钥信息的同时,还可以生成客户端的第二公钥信息,其中,服务器可以利用第二公钥信息对传输给客户端的数据进行加密。在实际应用中,服务器可以通过密钥管理平台获取客户端的第二公钥信息,为了保证服务器能够从密钥管理平台获取客户端的第二公钥信息,需要客户端向密钥管理平台登记第二公钥信息。在实际应用中,客户端向密钥管理平台发起登记密钥的第三请求,用于使密钥管理平台对第二公钥信息进行登记,其中,第三请求中携带第二公钥信息,在实际应用中,为了保证第二公钥信息在传输过程中的数据安全,第三请求中携带的是第二公钥信息的加密结果。
S502:接收所述密钥管理平台返回的关于所述第三请求的第二响应;所述第二响应表征所述第二公钥信息是否登记成功。
密钥管理平台根据第二公钥信息的登记情况作出第二响应,客户端能够接收第二响应,从而能够根据第二响应确定第二公钥信息的登记情况。
在一实施例中,如图6所示,所述方法还包括:
S601:向密钥管理平台发送第四请求;所述第四请求用于请求获取新版本的业务证书;所述业务证书包括所述服务器的第一公钥信息。
业务证书为服务器的数字证书,是一个经证书授权中心数字签名的文件,最简单的业务证书中含有服务器的第一公钥信息、服务器的名称以及证书授权中心的数字签名,一般情况下,业务证书中还包括服务器的第一公钥信息的有效时间、发证机关的名称、业务证书的序列号等不同的信息。
在第一加密方式与第二加密方式下,需要服务器的第一公钥信息对第一数据进行加密,因此,客户端需要获取服务器的第一公钥信息。在实际应用中,客户端可以通过密钥管理平台中查询服务器的第一公钥信息,并将第一公钥信息进行保存,从而能够利用保存的第一公钥信息对第一数据进行加密。由于服务器的第一公钥信息存在有效时间,或者,服务器的第一公钥信息可能会发生改变,因此客户端可以定期向密钥管理平台查询业务证书是否发生变化,客户端通过向密钥管理平台发送第四请求,以使密钥管理平台获取服务器的最新版本的业务证书。
S602:接收所述密钥管理平台基于所述第四请求返回的第三响应;所述第三响应表征最新版本的业务证书。
客户端接收第三响应,其中,第三响应包括服务器的最新版本的业务证书,客户端还可以对业务证书进行保存,从而能够利用最新版本的业务证书中的服务器的第一公钥信息对第一数据进行加密,能够保证服务器对第一密文解密成功,进行第一业务的相关处理。此外,客户端还可以根据服务器的业务证书,对服务器进行验证,从而避免客户端将第一数据传输到非法的服务器。
在本申请实施例中,第一SDK提供了标准化的加密方式与解密方式,客户端通过调用第一SDK完成数据的加密与数据的解密,从而能够保证客户端与服务器之间的数据传输的安全性的同时,也可以避免客户端利用存在较高的安全漏洞的加密方式对数据进行加密,还能提高数据的加密效率。
本申请是实例还提供了另一种数据传输方法,如图7所示,所述方法应用于服务器,包括:
S701:接收客户端发送的第一请求;所述第一请求携带第一密文;所述第一密文表征关于第一业务的第一数据的加密结果;所述第一请求用于请求处理所述第一业务。
接收客户端的第一请求,客户端通过第一请求,请求服务器对第一业务进行相应的处理,第一业务为客户端上进行的数据交互业务,例如,第一业务为登录验证服务的情况下,客户端通过第一请求,请求服务器对登录验证服务进行相应的处理,服务器会根据关于第一业务的第一数据确认是否通过验证,其中,为了保证客户端与服务器的传输数据的安全性,服务器接收到的是加密后的第一数据,在实际应用中,服务器接收到的第一请求中携带了关于第一数据的第一密文,第一密文为第一数据的加密结果。
S702:调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果;所述第一解密结果表征关于所述第一请求的解密结果。
服务器需要对第一密文进行解密后,才能根据第一密文对第一业务进行相应的处理,其中,服务器可以通过调用第二SDK对第一密文进行解密,第二SDK上集成了不同的功能,例如,第二SDK可以实现数据的加密与数据的解密。
通过第一密文的加密方式,对第一密文进行解密,从而得到第一解密结果,其中,对第一密文的解密是对第一数据的加密的逆过程。
在一实施例中,如图8所示,所述调用所述第二SDK,根据所述第一密文的加密方式,生成第一解密结果,包括:
S801:在所述客户端适用非证书类鉴权的情况下,调用所述第二SDK,确定第二处理结果;所述第二处理结果表征所述客户端的鉴权结果。
第二SDK还集成了鉴权的功能。在实际应用中,对客户端进行鉴权可以通过证书类鉴权,也可以通过非证书类鉴权,其中证书类鉴权由于需要通过密钥管理服务平台获取客户端的证书,因而一般在密钥管理平台进行证书类鉴权,在本实施例中,第二SDK的业务鉴权功能适用于简单的业务鉴权,并不适用证书类鉴权。第二SDK在客户端适用非证书类鉴权的情况下,对客户端进行鉴权,得到第二处理结果。
S802:在所述第二处理结果表征所述客户端具有访问所述服务器的权利的情况下,调用所述第二SDK,根据所述第一密文的加密方式,生成所述第一解密结果。
在第二处理结果表征客户端具有访问服务器的权利的情况下,表明客户端为合法的客户端,第一请求是由客户端发出的,并不存在其他非法的客户端盗取信息以获取服务器的处理结果,因而可以对第一密文进行解密,并对第一业务进行后续的处理。
S803:在所述第二处理结果表征所述客户端不具有访问所述服务器的权利的情况下,向所述客户端返回的关于所述第一请求的第四响应;所述第四响应表征拒绝处理所述第一业务。
在第二处理结果表征客户端不具有访问服务器的权利的情况下,表明客户端为非法客户端,非法客户端通过截取合法客户端向服务器发送的第一请求,使服务器接收到的第一请求的发送者由合法客户端转变为非法客户端,进而骗取服务器以获取合法客户端的数据,在这种情况下,为了保护数据安全,服务器不再将第一请求进行相关的处理,并向非法客户端返回拒绝处理第一业务的第四响应。
S703:根据所述第一解密结果,对所述第一业务进行处理,生成第一处理结果。
根据所述第一密钥信息对所述第一密文进行解密,生成所述第一解密结果。
在利用第五响应对第一密文进行解密的过程中,是根据第一密钥信息对第一密文进行解密,其中,第一密钥信息为客户端对第一数据进行加密所使用的密钥信息,从而得到第一解密结果。
S704:调用所述第二SDK对所述第一处理结果进行加密,生成第二密文。
第一处理结果会返回至客户端,在服务器处理的第一业务的处理结果含有敏感信息的情况下,直接将第一处理结果返回至客户端,容易造成数据泄露的情况,从而产生各种安全威胁,例如,当第一业务为申请登录验证码的情况下,服务器对于第一业务的第一处理结果为客户端用于登录的验证码,验证码被窃取后,会导致用户的账户信息泄露,因此需要将第一处理结果进行加密。在实际应用中,使用生成第一密文的加密方式对第一处理结果进行加密,从而生成第二密文。
S705:将所述第二密文返回至所述客户端。
在本申请实施例中,可以通过三种不同的加密方式生成第一密文,下面通过不同的实施例介绍通过第一密文在不同加密方式下的解密过程以及第一处理结果的加密过程。
在一实施例中,如图9所示,所述调用所述第二SDK,根据所述第一密文的加密方式,生成第一解密结果,包括:
S901:根据所述第一密文的加密方式,向密钥管理平台发送第五请求;所述第五请求用于请求获取解密所述第一密文的密钥信息。
由于解密过程是加密过程的逆过程,因此确定第一密文的加密方式,进而可以根据第一密文的加密方式,对第一密文进行解密,其中,用于解密第一密文的密钥信息需要通过密钥管理平台获取解密第一密文的密钥信息,服务器通过向密钥管理平台发送第五请求,使密钥管理平台能够向服务器提供第一密文的密钥信息。
S902:根据所述密钥管理平台返回的关于所述第五请求的第五响应,对所述第一密文进行解密,生成所述第一解密结果。
服务器接收第五响应,第五响应中含有解密第一密文的密钥信息,从而服务器能够根据第五响应中的第一密文的密钥信息,对第一密文进行机密,得到第一解密结果。在实际应用中,根据第一密文的加密方式的不同,第五响应中的第一密文的密钥信息也不相同。
在所述第一密文的加密方式为第一加密方式,所述第五响应包括所述服务器的第二私钥信息。
第一加密方式为基于RSA算法进行加密,对应的第一密文为RSA数字信封,RSA数字信封的解密首先要获取服务器的第二私钥信息,服务器的第二私钥信息是服务器通过第五请求向密钥管理平台获取,服务器得到的第五响应中含有服务器的第二私钥信息。利用服务器获取的第二私钥信息,能够解密RSA数字信封,从而获取用于加密第一数据的密钥信息,也就是客户端的第一私钥信息,进而通过第一私钥信息对加密的第一数据进行解密,获取第一数据。
在所述第一密文的加密方式为第一加密方式,所述第五响应包括第三密钥信息;所述第三密钥信息为AES密钥信息。
第二加密方式为基于ECC算法进行加密,对应的第一密文为ECC数字信封,AES密钥信息为生成第一密文的过程中用于加密第一数据的密钥信息,服务器能够通过AES密钥信息对ECC数字信封进行解密,从而得到第一数据。
调用所述第二SDK对所述第一处理结果进行加密,生成第二密文,包括:
基于第一加密方式的第一加密算法或第二加密方式的第二加密算法,根据所述服务器的第二私钥信息与客户端的第二公钥信息,对所述第一处理结果进行加密,生成所述第二密文;第一加密算法为RAS算法;所述第二加密算法为椭圆曲线ECC算法。
使用第一密文的加密方式对第一处理结果进行加密,生成第二密文。
第一加密方式是基于RSA算法,对第一处理结果进行加密,生成第二密文。第二密文的具体生成过程为:利用服务器的第二私钥信息对第一处理结果进行加密,从而得到关于第一处理结果的加密结果A,再利用客户端的第二公钥信通过RSA算法对服务器的第二私钥信息进行加密,得到关于服务器的第二私钥信息的加密结果B,将加密结果A与加密结果B进行组合,生成第二密文,在实际应用中,第二密文为RSA数字信封。
第二加密方式是基于ECC算法,对第一处理结果进行加密,生成第二密文。第二密文的具体生成过为:根据服务器的第二私钥信息,通过椭圆曲线迪菲-赫尔曼秘钥交换(ECDH,Elliptic Curve Diffie–Hellman key Exchange)生成服务器的AES密钥,利用服务器的AES密钥对第一处理结果进行加密,从而得到关于第一处理结果的加密结果A,再利用客户端的第二公钥信息对AES密钥进行加密,得到关于服务器的AES密钥的加密结果B,将加密结果A与加密结果B进行组合,生成第二密文,在实际应用中,第二密文为ECC数字信封。
在一实施例中,所述调用所述第二SDK,根据所述第一密文的加密方式,生成第一解密结果,包括:
在所述加密方式为第三加密方式的情况下,所述第五响应包括第一密钥信息与第二密钥信息;所述第一密钥信息与第二密钥信息表征客户端与所述服务器之间的通信密钥信息。
第三加密方式是通过客户端向密钥管理平台请求分配的密钥信息进行加密,因此服务器通过第五请求向密钥管理平台请求获取密钥管理平台为客户端分配的密钥信息,服务器通过第五响应,得到第一密钥信息与第二密钥信息,可以根据第五响应中的密钥信息,对第一密文进行解密,得到第一密文的第一解密结果。
调用所述第二SDK对所述第一处理结果进行加密,生成第二密文,包括:
根据所述第二密钥信息,对所述第一处理结果进行加密,生成所述第二密文。
在客户端利用第一密钥信息进行加密的情况下,服务器可以利用第二密钥信息对第一处理结果进行加密,生成第二密文。
在一实施例中,所述方法还包括:
在无法生成所述第一解密结果的情况下,向所述密钥管理平台发送第六响应;所述第六响应表征对所述第一密文解密失败。
在一般情况下,服务器接收到密钥管理平台返回的关于第五请求的第五响应中含有的密钥信息,是正确的密钥信息,能够对第一密文进行解密。当存在根据第五响应中的密钥信息无法对第一密文进行解密的情况下,服务器能够将解密失败的情况上报至密钥管理平台,使密钥管理平台对解密失败的情况进行统计和分析,从而能够有利于保证下一次解密能够顺利进行。
在上述实施例中,第二SDK提供了标准化的加密方式与解密方式,服务器通过调用第二SDK能够实现第一密文的解密,从而能够根据相应的业务数据处理第一业务,并将处理结果进行加密后返回客户端,提高了客户端与服务器之间的传输数据的安全性,并且还能提高了对传输数据的加密效率以及解密效率。
本申请实施例还提供了另一种数据传输方法,如图10所示,应用于密钥管理平台,所述方法包括:
S1001:接收客户端或服务器发送的密钥管理请求。
密钥管理平台能够接收客户端或服务器发送的密钥管理请求,其中,客户端发送的密钥管理请求通常为请求进行密钥登记、分配密钥信息以及获取服务器的业务证书。服务器发送的密钥管理请求通常为请求进行密钥协商。在实际应用中,密钥管理平台能够支持不同的密钥管理服务以及支持调用各种密钥管理工具,例如,KMS工具、PKI工具等,进而完成客户端或服务器发送的密钥管理请求所请求的密钥服务。
S1002:根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应。
密钥管理平台根据密钥管理请求,从而确定密钥管理请求需要的密钥服务,例如,密钥管理请求为密钥登记的情况下,调用密钥登记服务进行密钥的登记。当密钥管理平台调用相应的密钥服务完成密钥管理请求所请求的密钥服务器的情况下,会生成关于密钥管理请求的响应,例如,调用密钥登记服务完成密钥的登记,能够生成密钥登记成功的响应信息。
在一实施例中,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
在所述密钥管理请求为第二请求的情况下,调用第一密钥服务和第一工具,生成关于所述第二请求的第一响应;所述第一响应包括第一密钥信息与第二密钥信息;所述第一密钥服务表征密钥协商服务;所述第二请求用于请求分配所述客户端与所述服务器之间的通信密钥信息。
密钥管理平台接收到第二请求,第二请求为客户端发起的请求,客户端发起的第二请求用于请求密钥管理平台分配客户端与服务器之间的通信密钥信息,使客户端与服务器通过密钥管理平台分配的通信密钥信息进行数据的传输。
密钥管理平台接收到的密钥管理请求为第二请求的情况下,需要调用第一密钥服务,通过第一密钥服务,进行密钥协商,从而生成客户端与服务器之间的通信密钥信息。
第一响应的生成过程具体为:密钥管理平台接收到第二请求,其中,第二请求中还携带了第一缓存数据buffer1,密钥管理平台调用第一密钥服务请求进行密钥协商,通过第一工具KMS工具,解密得到第一密钥信息,并通过调用密钥分发服务能够分配得到第二密钥信息,在实际应用中,客户端可以根据第一密钥信息实现对客户端的数据进行加密,从而服务器能够根据第一密钥信息实现对客户端加密的数据进行解密,服务器能够根据第二密钥信息实现对服务器的数据进行加密,从而客户端也能够根据第二密钥信息实现对服务器加密的数据进行解密。
在实际应用中,直接将第一密钥信息与第二密钥信息返回至客户端容易导致信息的泄露,因此需要对第一密钥信息与第二密钥信息进行加密。第一密钥服务通过两次轮转更新,负责解密第一缓存数据buffer1,并负责对第一密钥信息与第二密钥信息进行加密,其中,第一密钥信息与第二密钥信息通过AES密钥进行加密,从而派生得到经过AES密钥加密的第一密钥信息C1与第二密钥信息C2,只需要对经过AES密钥加密的第一密钥信息与第二密钥信息进行加密保护,即使在传输的过程中泄漏了AES密钥的明文,也不会影响第一密钥信息与第二密钥信息的安全性。第一密钥服务能够对第一密钥信息C1与第二密钥信息C2进行保存,并将第二缓存数据buffer2返回至客户端,其中,第二缓存数据buffer2中含有第一密钥信息与第二密钥信息。
在一实施例中,如图11所示,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
S1101:在所述密钥管理请求为第三请求的情况下,调用第二密钥服务,确定第三处理结果;所述第三处理结果表征对所述客户端进行鉴权的结果;所述第二密钥服务表征鉴权服务。
第三请求为客户端发起的请求,用于请求密钥管理平台对密钥信息进行登记。当密钥管理平台接收到第三请求的情况下,调用第二密钥服务对客户端进行鉴权,得到第三处理结果,通过第三处理结果能够确定客户端是否为合法客户端,从而避免密钥管理平台登记非法客户端的密钥信息,避免非法客户端与服务器进行通信。
S1102:在所述第三处理结果表征允许所述客户端访问所述密钥管理平台的情况下,调用第三密钥服务对客户端的第二公钥信息进行登记,生成第二响应;所述第二响应表征所述第二公钥信息登记成功;所述第三密钥服务表征密钥登记服务。
在第三处理结果表征允许客户端访问密钥管理平台的情况下,表明客户端为合法客户端,从而进行客户端的第二公钥信息的登记。密钥管理平台通过调用第三密钥服务对客户端的第二公钥信息进行登记,生成关于第三请求的第二响应,当密钥管理平台成功登记第二公钥信息的情况下,能够生成表征密钥登记成功的第二响应,登记成功的第二公钥信息是通过密钥采集服务,将第二公钥信息写入到密钥管理平台的数据库中。当密钥管理平台没能登记第二公钥信息的情况下,生成表征密钥登记失败的第二响应。
在实际应用中,第三请求携带的第二公钥信息是经过加密的,也就是说第二密钥信息装载在数字信封中,在这种情况下,首先对数字信封进行解密,从而获取第二公钥信息,再对第二公钥信息进行登记。具体地,密钥管理平台调用第一密钥服务,对数字信封进行拆解,从而获得AES密钥信息,其中,AES密钥信息是用于加密第二公钥信息的密钥信息,通过AES密钥信息对加密的第二公钥信息进行解密,得到第二公钥信息,再对第二公钥信息进行登记。
在一实施例中,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
在所述密钥管理请求为第四请求的情况下,调用第三密钥服务,生成第三响应;所述第三密钥服务表征所述第三密钥服务表征密钥登记服务;所述第三响应表征最新版本的业务证书。
第四请求为客户端发起的请求,用于请求密钥管理平台向客户端返回最新版本的业务证书,其中,业务证书是服务器的数字证书,是一个经证书授权中心数字签名的文件,最简单的业务证书中含有服务器的第一公钥信息、服务器的名称以及证书授权中心的数字签名,一般情况下,业务证书中还包括服务器的第一公钥信息的有效时间、发证机关的名称、业务证书的序列号等不同的信息,客户端通过获取从最新版本的业务证书中获取服务器的第一公钥信息,进而完成数据的加密。
当密钥管理平台接收到第四请求的情况下,调用第三密钥管理服务,在密钥管理平台的数据库中查询最新版本的业务证书,并生成关于第四请求的第三响应,其中,第三相应为最新版本的业务证书。
在一实施例中,如图12所示,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
S1201:在所述密钥管理请求为第五请求的情况下,调用第一密钥服务;所述第五请求用于请求获取解密所述第一密文的密钥信息;所述第一密钥服务表征密钥协商服务。
第五请求为服务器发起的请求,用于请求密钥管理平台获取解密第一密文的密钥信息,其中,解密第一密文的密钥信息是通过第一密钥服务,进行密钥协商得到的。
S1202:根据所述第一密文的加密方式,生成第五响应;所述第五响应包括解密所述第一密文的密钥信息。
解密过程实质上为加密过程的逆过程,不同的加密方式会导致解密的密钥信息以及解密方式不相同,因此,密钥管理平台在调用密钥协商服务的过程中,会根据第一密文的加密方式,协商得到解密第一密文的密钥信息,从而根据第五响应,将解密第一密文的密钥信息返回至服务器,以使服务器根据第五响应中的密钥信息进行解密。
在一实施例中,所述根据所述第一密文的加密方式,生成第五响应,包括:
在所述第一密文的加密方式为第一加密方式的情况下,调用第一工具,获取所述服务器的第一私钥信息。
第一加密方式表征利用RSA算法对第一数据进行加密,得到的第一密文为RSA数字信封,第一密文的解密步骤为先解密RSA数字信封,再对加密的第一数据进行解密。密钥协商服务能够从第一工具KMS工具中获取用于解密RSA的数字信封的密钥信息,也就是服务器的第二私钥信息,通过第五响应将服务器的第二私钥信息返回至服务器。
在所述第一密文的加密方式为第二加密方式的情况下,调用第一工具,获取所述第三密钥信息;所述第三密钥信息表征AES密钥信息。
第二加密方式表征利用ECC算法对第一数据进行加密,得到的第一密文为ECC数字信封,要获取第一数据,首先要对ECC数字信封进行解密,再对加密的第一数据进行解密。密钥协商服务能够从第一工具KMS工具中获取服务器的第二私钥信息,并且根据服务器的第二私钥信息确定AES密钥信息,AES密钥信息为加密第一数据的密钥信息,通过第五响应将AES密钥信息返回至服务器。
所述第一密文的加密方式为第三方式的情况下,根据第一标记,获取第一密钥信息与第二密钥信息;所述第一标记表征所述第一密钥服务历史协商所述服务器与所述客户端之间的密钥信息。
第三加密方式为通过密钥管理平台分配的客户端与服务器之间的通信密钥信息对第一数据进行加密,对第一密文进行解密需要先获取客户端与服务器之间的通信密钥信息,由于密钥管理平台在确定客户端与服务器之间的通信密钥信息的过程中,将客户端与服务器之间的通信密钥信息存储至密钥协商服务中,因此可以通过第一标记从密钥协商服务中获取对应的第一密钥信息与第二密钥信息,第一标记可以用于区分不同客户端与服务器的通信密钥信息,从而能够从密钥协商服务存储的密钥信息中提取到对应的第一密钥信息与第二密钥信息。
在一实施例中,所述方法还包括:
在无法获取解密所述第一密文的密钥信息的情况下,生成第七响应;所述第七响应表征协商密钥信息失败。
密钥管理平台是通过密钥协商服务,确定用于解密第一密文的密钥信息。当密钥协商服务无法协商确定用于解密第一密文的密钥信息的情况下,服务器无法对第一密文进行解密,也就是说密钥管理平台存在错误报告,将无法获取解密第一密文的密钥信息的情况下产生的第七响应进行上报,从而能够统计密钥管理平台协商失败的次数,进而能够进一步分析得到密钥协商失败的原因,能够保证密钥协商成功的几率。
在实际应用中,由于第三加密方式是通过密钥管理平台分配的通信密钥信息进行加密的,因而针对第三加密方式不存在协商失败的情况,而第一加密方式与第二加密方式均需要密钥管理平台协商得到服务器的第二私钥信息,从而存在协商失败的情况,因此,在获取第一加密方式或第二加密方式对应的解密密钥信息的情况下,需要监控密钥协商是否成功,在获取第三加密方式对应的解密密钥信息的情况下,不需要监控密钥协商是否成功。
S1003:将关于所述密钥管理请求的响应返回至所述客户端或服务器。
密钥管理平台将关于密钥管理请求的响应返回至客户端或服务器,在实际应用中,当关于密钥管理请求的响应中存在安全需求高的数据的情况下,可以对数据进行加密后再返回至客户端或服务器,从而使客户端或服务器能够接收到关于密钥管理请求的处理结果。
在上述实施例中,密钥管理平台通过服务器或客户端发起的密钥管理平台,调用相应的密钥管理服务器完成不同密钥需求对应的密钥管理服务,从而能够通过不同的接口,提供一套标准化的密钥管理服务的处理流程,提高了密钥管理的效率,并且还能够提高密钥管理平台所管理的密钥信息的安全性。
本申请还提供了一应用实施例,如图13所示,图13示出了密钥管理技术架构对RSA数字信封的处理流程示意图。
客户端向第一SDK发送加密请求,用于请求第一SDK对第一数据进行加密。第一SDK通过第一加密方式对第一数据进行加密,生成第一密文,第一密文为RSA数字信封。
客户端向服务器发送第一请求,用于请求服务器协助进行第一业务的处理,其中,第一请求中携带有第一密文。
服务器接收到第一请求后,请求第二SDK解密第一密文。第二SDK通过向密钥管理平台发送第五请求,用于请求获取解密第一密文的密钥信息。
密钥管理平台接收到第五请求后,密钥协商应用服务调用领域层的业务鉴权能力,对客户端进行鉴权,其中,当进行的是非证书类的简单鉴权,可以集成在第二SDK中。业务鉴权能力得到客户端的鉴权结果后,将鉴权结果返回至密钥协商应用服务。密钥协商应用服务请求密钥协商领域服务进行密钥协商,密钥协商领域服务从KMS中获取服务器的第二私钥信息,并逐层返回至第二SDK。其中,当密钥协商领域服务不能从KMS中获取服务器的第二私钥信息的情况下,向数据统计上报协商失败信息。
第二SDK获得服务器的第二私钥信息后,对第一密文进行解密,得到第一密文的解密结果,并将第一密文的解密结果返回至服务器。
服务器根据第一密文的解密结果处理业务逻辑,并调用第二SDK对处理结果进行加密,并将第二密文返回至客户端。
客户端接收第二密文后,调用第一SDK对第二密文进行解密,第一SDK将第二密文解密得到的第一明文返回至客户端,客户端根据第一明文,处理业务逻辑。
本申请还提供了另一应用实施例,如图14所示,图14示出了密钥管理技术架构对ECC数字信封的处理流程示意图。
客户端向第一SDK发送加密请求,用于请求第一SDK对第一数据进行加密。第一SDK通过第二加密方式对第一数据进行加密,生成第一密文,第一密文为ECC数字信封。
客户端向服务器发送第一请求,用于请求服务器协助进行第一业务的处理,其中,第一请求中携带有第一密文。
服务器接收到第一请求后,请求第二SDK解密第一密文。第二SDK通过向密钥管理平台发送第五请求,用于请求获取解密第一密文的密钥信息。
密钥管理平台接收到第五请求后,密钥协商应用服务调用领域层的业务鉴权能力,对客户端进行鉴权,其中,当进行的是非证书类的简单鉴权,可以集成在第二SDK中。业务鉴权能力得到客户端的鉴权结果后,将鉴权结果返回至密钥协商应用服务。密钥协商应用服务请求密钥协商领域服务进行密钥协商,密钥协商领域服务从KMS中获取服务器的第二私钥信息,并根据第二私钥信息使用ECDH计算得到AES密钥,并将AES密钥逐层返回至第二SDK。其中,当密钥协商领域服务不能从KMS中获取AES密钥的情况下,向数据统计上报协商失败信息。
第二SDK获得AES密钥后,对第一密文进行解密,得到第一密文的解密结果,并将第一密文的解密结果返回至服务器。
服务器根据第一密文的解密结果处理业务逻辑,并调用第二SDK对处理结果进行加密,并将第二密文返回至客户端。
客户端接收第二密文后,调用第一SDK对第二密文进行解密,第一SDK将第二密文解密得到的第一明文返回至客户端,客户端根据第一明文,处理业务逻辑。
本申请还提供了另一应用实施例,如图15所示,图15示出了密钥管理技术架构对基于客户端与服务器之间的通信密钥加密的第一密文的处理流程示意图。
客户端向第一SDK发送加密请求,用于请求第一SDK对第一数据进行加密。第一SDK初始化生成临时公钥信息与私钥信息,调用initialize函数初始化HS,调用write_message函数更新HS,并生成第一缓存数据buffer1,将第一缓存数据buffer1传输给密钥管理平台,其中,第一缓存数据buffer1中含有临时公钥信息、签名等信息。
密钥管理平台在接收到第一缓存数据buffer1后,调用密钥协商应用服务,密钥协商应用服务请求密钥协商领域服务器进行密钥协商,密钥协商领域服务通过KMS获取业务私钥,并调用密钥分发服务获取应用公钥,密钥协商领域服务根据业务私钥与应用公钥,生成临时公钥信息与私钥信息,通过两次轮转更新HS,并解密第一缓存数据buffer1,派生得到AES密钥信息,包括第一密钥信息与第二密钥信息,密钥协商领域服务将第二缓存数据buffer2、临时公钥信息、第一密钥信息与第二密钥信息返回至密钥协商应用服务,密钥协商应用服务保持第一密钥信息与第二密钥信息,并将第二缓存数据buffer2、第一密钥信息与第二密钥信息返回至客户端。
第一SDK调用write_message函数更新HS,并解密第二缓存数据buffer2,得到第一密钥信息与第二密钥信息。使用第一密钥信息加密第一数据得到第一密文。将第一密文返回至客户端。
客户端向服务器发送第一请求,用于请求服务器协助进行第一业务的处理,其中,第一请求中携带有第一密文。
服务器接收到第一请求后,请求第二SDK解密第一密文。第二SDK通过向密钥管理平台发送第五请求,用于请求获取解密第一密文的密钥信息。
密钥管理平台接收到第五请求后,通过密钥协商应用服务,通过相应的第一标记,得到第一密钥信息与第二密钥信息,将第一密钥信息与第二密钥信息返回至服务器。
调用第二SDK利用第一密钥信息对第一密文进行解密,将第一密文的解密结果返回至服务器。
服务器根据第一密文的解密结果,处理业务逻辑,并调用第二SDK对第一处理结果进行加密。
第二SDK通过第二密钥信息对第一处理结果进行加密,生成第二密文。服务器将第二密文返回至客户端。
客户端调用第一SDK,根据第二密钥信息,解密第二密文,得到第一明文,并根据第一明文处理业务逻辑。
本申请还提供了另一应用实施例,如图16所示,图16示出了密钥管理技术架构登记密钥的处理流程。
客户端初始化第一SDK,第一SDK生成公钥信息与私钥信息,并将公钥信息与私钥信息进行保存。客户端向密钥管理平台发起第三请求,第三请求中携带有公钥信息。
密钥管理平台根据第三请求,调用密钥登记应用服务,如果公钥信息经过数字信封进行加密,密钥登记应用服务请求密钥协商领域服务拆解数字信封,密钥领域协商服务拆解数字信封后得到AES密钥,将AES密钥返回至密钥登记应用服务,密钥登记应用服务根据AES密钥解密得到公钥信息,并调用业务鉴权能力,对客户端进行鉴权,并将鉴权结果返回至密钥登记应用服务,在鉴权结果表征客户端为合法客户端的情况下,密钥登记应用服务将公钥信息发送给密钥采集服务,密钥采集服务将公钥信息存储至数据库中,并逐层返回响应。
客户端能够接收表征登记成功的响应。
本申请还提供了另一应用实施例,如图17所示,图17示出了密钥管理技术架构的业务证书升级的处理流程。
客户端初始化第一SDK,并调用第一SDK向密钥管理平台发送第四请求,第四请求用于请求密钥管理平台检测业务证书的更新。
密钥管理平台根据第四请求,调用密钥登记应用服务,密钥登记应用服务向密钥分发领域服务获取最新版本的业务证书,密钥分发领域服务在数据库中将查询到的最新版本的业务证书逐层返回至客户端,客户端能够获取最新版本的业务证书。
本申请还提供了另一应用实施例,如图18所示,图18示出了密钥申请业务接入流程。
业务方提交创建证书的申请,管理后台根据请求创建对应的证书,并将证书送审。审批人员对证书进行第一次审批,再由平台对证书进行第二次审批,根据第二次的审批结果,业务方进行接入SDK的调试,并根据调试结果配置网关转发规则。此外,平台根据第二次的审批结果进行业务量的评估,并通知平台准备相关业务的上线,部署对应的资源。
本申请实施例还提供了数据传输装置,如图19所述,应用于客户端,包括:
第一加密单元1901,用于调用第一软件开发工具包SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文;
第一发送单元1902,用于向服务器发送第一请求;所述第一请求中携带所述第一密文;所述第一请求用于请求处理所述第一业务;
第一接收单元1903,用于接收所述服务器基于所述第一请求返回的第二密文;所述第二密文由所述服务器基于所述第一请求对所述第一密文的第一处理结果进行加密得到;
第一解密单元1904,用于调用所述第一SDK对所述第二密文进行解密,生成第一明文;
第一处理单元1905,用于基于所述第一明文,处理所述第一业务。
在一实施例中,所述第一加密单元1901在调用第一软件开发工具包SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文时,还用于:
在所述第一SDK支持的至少一种加密方式中选择第一加密方式或第二加密方式的情况下,基于第一加密方式的第一加密算法或第二加密方式的第二加密算法,根据客户端的第一私钥信息与服务器的第一公钥信息,对所述第一数据进行加密,生成所述第一密文;第一加密算法为RAS算法;所述第二加密算法为椭圆曲线ECC算法;
第一解密单元1904在所述调用所述第一SDK对所述第二密文进行解密,生成第一明文时,还用于:
根据服务器的第二私钥信息对所述第二密文进行解密,生成所述第一明文;所述服务器的第二私钥信息是基于客户端的第二公钥信息确定的。
在一实施例中,所述第一加密单元1901在调用第一软件开发工具包SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文时,还用于:
在所述第一SDK支持的至少一种加密方式中选择第三加密方式的情况下,向密钥管理平台发送第二请求;所述第二请求用于请求分配客户端与服务器之间的通信密钥信息;
接收所述密钥管理平台返回的关于所述第二请求的第一响应;所述第一响应包括第一密钥信息和第二密钥信息;
根据所述第一密钥信息加密所述第一数据,生成所述第一密文。
第一解密单元1904在所述调用所述第一SDK对所述第二密文进行解密,生成第一明文时,还用于:
通过所述第二密钥信息,对所述第二密文进行解密,生成所述第一明文。
在一实施例中,所述装置还用于:
向密钥管理平台发送第四请求;所述第四请求用于请求获取新版本的业务证书;所述业务证书包括所述服务器的第一公钥信息;
接收所述密钥管理平台基于所述第四请求返回的第三响应;所述第三响应表征最新版本的业务证书。
实际应用时,第一加密单元1901、第一发送单元1902、第一接收单元1903、第一解密单元1904、第一处理单元1905可由数据传输装置中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是,上述图19实施例提供的数据传输装置在进行数据传输时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了另一种数据传输装置,如图20所示,应用于服务器,包括:
第二接收单元2001,用于接收客户端发送的第一请求;所述第一请求携带第一密文;所述第一密文表征关于第一业务的第一数据的加密结果;所述第一请求用于请求处理所述第一业务;
第二解密单元2002,用于调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果;所述第一解密结果表征关于所述第一请求的解密结果;
第二处理单元2003,用于根据所述第一解密结果,对所述第一业务进行处理,生成第一处理结果;
第二加密单元2004,用于调用所述第二SDK对所述第一处理结果进行加密,生成第二密文;
第二发送单元2005,将所述第二密文返回至所述客户端。
在一实施例中,所述第二解密单元2002在调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果时,还用于:
在所述客户端适用非证书类鉴权的情况下,调用所述第二SDK,确定第二处理结果;所述第二处理结果表征所述客户端的鉴权结果;
在所述第二处理结果表征所述客户端具有访问所述服务器的权利的情况下,调用所述第二SDK,根据所述第一密文的加密方式,生成所述第一解密结果;
在所述第二处理结果表征所述客户端不具有访问所述服务器的权利的情况下,向所述客户端返回的关于所述第一请求的第四响应;所述第四响应表征拒绝处理所述第一业务。
在一实施例中,所述第二解密单元2002在调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果时,还用于:
根据所述第一密文的加密方式,向密钥管理平台发送第五请求;所述第五请求用于请求获取解密所述第一密文的密钥信息;
根据所述密钥管理平台返回的关于所述第五请求的第五响应,对所述第一密文进行解密,生成所述第一解密结果;其中,
在所述第一密文的加密方式为第一加密方式,所述第五响应包括所述服务器的第二私钥信息;
在所述第一密文的加密方式为第一加密方式,所述第五响应包括第三密钥信息;所述第三密钥信息为AES密钥信息;
第二加密单元2004在调用所述第二SDK对所述第一处理结果进行加密,生成第二密文时,还用于:
基于第一加密方式的第一加密算法或第二加密方式的第二加密算法,根据所述服务器的第二私钥信息与客户端的第二公钥信息,对所述第一处理结果进行加密,生成所述第二密文;第一加密算法为RAS算法;所述第二加密算法为椭圆曲线ECC算法。
在一实施例中,所述加密方式为第三加密方式的情况下,所述第五响应包括第一密钥信息与第二密钥信息;所述第一密钥信息与第二密钥信息表征客户端与所述服务器之间的通信密钥信息;
第二加密单元2004在调用所述第二SDK对所述第一处理结果进行加密,生成第二密文时,还用于:
根据所述第二密钥信息,对所述第一处理结果进行加密,生成所述第二密文。
在一实施例中,所述装置还用于:
在无法生成所述第一解密结果的情况下,向所述密钥管理平台发送第六响应;所述第六响应表征对所述第一密文解密失败。
实际应用时,第二接收单元2001、第二解密单元2002、第二处理单元2003、第二加密单元2004、第二发送单元2005可由数据传输装置中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是,上述图20实施例提供的数据传输装置在进行数据传输时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了另一种数据传输装置,如图21所示,应用于密钥管理平台,包括:
第三接收单元2101,用于接收客户端或服务器发送的密钥管理请求;
第一生成单元2102,用于根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应;
第三发送单元2103,将关于所述密钥管理请求的响应返回至所述客户端或服务器。
在一实施例中,第一生成单元2102在根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应时,还用于:
在所述密钥管理请求为第二请求的情况下,调用第一密钥服务和第一工具,生成关于所述第二请求的第一响应;所述第一响应包括第一密钥信息与第二密钥信息;所述第一密钥服务表征密钥协商服务;所述第二请求用于请求分配所述客户端与所述服务器之间的通信密钥信息。
在一实施例中,第一生成单元2102在根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应时,还用于:
在所述密钥管理请求为第三请求的情况下,调用第二密钥服务,确定第三处理结果;所述第三处理结果表征对所述客户端进行鉴权的结果;所述第二密钥服务表征鉴权服务;
在所述第三处理结果表征允许所述客户端访问所述密钥管理平台的情况下,调用第三密钥服务对客户端的第二公钥信息进行登记,生成第二响应;所述第二响应表征所述第二公钥信息登记成功;所述第三密钥服务表征密钥登记服务。
在一实施例中,第一生成单元2102在根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应时,还用于:
在所述密钥管理请求为第四请求的情况下,调用第三密钥服务,生成第三响应;所述第三密钥服务表征所述第三密钥服务表征密钥登记服务;所述第三响应表征最新版本的业务证书。
在一实施例中,第一生成单元2102在根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应时,还用于:
在所述密钥管理请求为第五请求的情况下,调用第一密钥服务;所述第五请求用于请求获取解密所述第一密文的密钥信息;所述第一密钥服务表征密钥协商服务;
根据所述第一密文的加密方式,生成第五响应;所述第五响应包括解密所述第一密文的密钥信息。
在一实施例中,第一生成单元2102在根据所述第一密文的加密方式,生成第五响应时,还用于:
在所述第一密文的加密方式为第一加密方式的情况下,调用第一工具,获取所述服务器的第一私钥信息;
在所述第一密文的加密方式为第二加密方式的情况下,调用第一工具,获取所述第三密钥信息;所述第三密钥信息表征AES密钥信息;
在所述第一密文的加密方式为第三方式的情况下,根据第一标记,获取第一密钥信息与第二密钥信息;所述第一标记表征所述第一密钥服务历史协商所述服务器与所述客户端之间的密钥信息。
在一实施例中,所述装置还用于:
在无法获取解密所述第一密文的密钥信息的情况下,生成第七响应;所述第七响应表征协商密钥信息失败。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图22为本申请实施例电子设备的硬件组成结构示意图,如图22所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的数据传输方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线***4耦合在一起。可理解,总线***4用于实现这些组件之间的连接通信。总线***4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图22中将各种总线都标为总线***4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (22)

1.一种数据传输方法,其特征在于,应用于客户端,所述方法包括:
调用第一软件开发工具包SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文;
向服务器发送第一请求;所述第一请求中携带所述第一密文;所述第一请求用于请求处理所述第一业务;
接收所述服务器基于所述第一请求返回的第二密文;所述第二密文由所述服务器基于所述第一请求对所述第一密文的第一处理结果进行加密得到;
调用所述第一SDK对所述第二密文进行解密,生成第一明文;
基于所述第一明文,处理所述第一业务。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一SDK支持的至少一种加密方式,对所述第一数据进行加密,生成所述第一密文,包括:
在所述第一SDK支持的至少一种加密方式中选择第一加密方式或第二加密方式的情况下,基于第一加密方式的第一加密算法或第二加密方式的第二加密算法,根据客户端的第一私钥信息与服务器的第一公钥信息,对所述第一数据进行加密,生成所述第一密文;第一加密算法为RAS算法;所述第二加密算法为椭圆曲线ECC算法;
所述调用所述第一SDK对所述第二密文进行解密,生成第一明文,包括:
根据服务器的第二私钥信息对所述第二密文进行解密,生成所述第一明文;所述服务器的第二私钥信息是基于客户端的第二公钥信息确定的。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一SDK支持的至少一种加密方式,对所述第一数据进行加密,生成所述第一密文,包括:
在所述第一SDK支持的至少一种加密方式中选择第三加密方式的情况下,向密钥管理平台发送第二请求;所述第二请求用于请求分配客户端与服务器之间的通信密钥信息;
接收所述密钥管理平台返回的关于所述第二请求的第一响应;所述第一响应包括第一密钥信息和第二密钥信息;
根据所述第一密钥信息加密所述第一数据,生成所述第一密文;
所述调用所述第一SDK对所述第二密文进行解密,生成第一明文,包括:
通过所述第二密钥信息,对所述第二密文进行解密,生成所述第一明文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向密钥管理平台发送第三请求;所述第三请求用于请求登记客户端的第二公钥信息以使所述服务器根据所述第二公钥信息对所述第一处理结果进行加密;
接收所述密钥管理平台返回的关于所述第三请求的第二响应;所述第二响应表征所述第二公钥信息是否登记成功。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
向密钥管理平台发送第四请求;所述第四请求用于请求获取新版本的业务证书;所述业务证书包括所述服务器的第一公钥信息;
接收所述密钥管理平台基于所述第四请求返回的第三响应;所述第三响应表征最新版本的业务证书。
6.一种数据传输方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的第一请求;所述第一请求携带第一密文;所述第一密文表征关于第一业务的第一数据的加密结果;所述第一请求用于请求处理所述第一业务;
调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果;所述第一解密结果表征关于所述第一请求的解密结果;
根据所述第一解密结果,对所述第一业务进行处理,生成第一处理结果;
调用所述第二SDK对所述第一处理结果进行加密,生成第二密文;
将所述第二密文返回至所述客户端。
7.根据权利要求6所述的方法,其特征在于,所述调用所述第二SDK,根据所述第一密文的加密方式,生成第一解密结果,包括:
在所述客户端适用非证书类鉴权的情况下,调用所述第二SDK,确定第二处理结果;所述第二处理结果表征所述客户端的鉴权结果;
在所述第二处理结果表征所述客户端具有访问所述服务器的权利的情况下,调用所述第二SDK,根据所述第一密文的加密方式,生成所述第一解密结果;
在所述第二处理结果表征所述客户端不具有访问所述服务器的权利的情况下,向所述客户端返回的关于所述第一请求的第四响应;所述第四响应表征拒绝处理所述第一业务。
8.根据权利要求6所述的方法,其特征在于,所述调用所述第二SDK,根据所述第一密文的加密方式,生成第一解密结果,包括:
根据所述第一密文的加密方式,向密钥管理平台发送第五请求;所述第五请求用于请求获取解密所述第一密文的密钥信息;
根据所述密钥管理平台返回的关于所述第五请求的第五响应,对所述第一密文进行解密,生成所述第一解密结果;其中,
在所述第一密文的加密方式为第一加密方式,所述第五响应包括所述服务器的第二私钥信息;
在所述第一密文的加密方式为第一加密方式,所述第五响应包括第三密钥信息;所述第三密钥信息为AES密钥信息;
调用所述第二SDK对所述第一处理结果进行加密,生成第二密文,包括:
基于第一加密方式的第一加密算法或第二加密方式的第二加密算法,根据所述服务器的第二私钥信息与客户端的第二公钥信息,对所述第一处理结果进行加密,生成所述第二密文;第一加密算法为RAS算法;所述第二加密算法为椭圆曲线ECC算法。
9.根据权利要求8所述的方法,其特征在于,在所述加密方式为第三加密方式的情况下,所述第五响应包括第一密钥信息与第二密钥信息;所述第一密钥信息与第二密钥信息表征客户端与所述服务器之间的通信密钥信息;
调用所述第二SDK对所述第一处理结果进行加密,生成第二密文,包括:
根据所述第二密钥信息,对所述第一处理结果进行加密,生成所述第二密文。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在无法生成所述第一解密结果的情况下,向所述密钥管理平台发送第六响应;所述第六响应表征对所述第一密文解密失败。
11.一种数据传输方法,其特征在于,应用于密钥管理平台,所述方法包括:
接收客户端或服务器发送的密钥管理请求;
根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应;
将关于所述密钥管理请求的响应返回至所述客户端或服务器。
12.根据权利要求11所述的方法,其特征在于,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
在所述密钥管理请求为第二请求的情况下,调用第一密钥服务和第一工具,生成关于所述第二请求的第一响应;所述第一响应包括第一密钥信息与第二密钥信息;所述第一密钥服务表征密钥协商服务;所述第二请求用于请求分配所述客户端与所述服务器之间的通信密钥信息。
13.根据权利要求11所述的方法,其特征在于,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
在所述密钥管理请求为第三请求的情况下,调用第二密钥服务,确定第三处理结果;所述第三处理结果表征对所述客户端进行鉴权的结果;所述第二密钥服务表征鉴权服务;
在所述第三处理结果表征允许所述客户端访问所述密钥管理平台的情况下,调用第三密钥服务对客户端的第二公钥信息进行登记,生成第二响应;所述第二响应表征所述第二公钥信息登记成功;所述第三密钥服务表征密钥登记服务。
14.根据权利要求11所述的方法,其特征在于,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
在所述密钥管理请求为第四请求的情况下,调用第三密钥服务,生成第三响应;所述第三密钥服务表征所述第三密钥服务表征密钥登记服务;所述第三响应表征最新版本的业务证书。
15.根据权利要求11所述的方法,其特征在于,所述根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应,包括:
在所述密钥管理请求为第五请求的情况下,调用第一密钥服务;所述第五请求用于请求获取解密所述第一密文的密钥信息;所述第一密钥服务表征密钥协商服务;
根据所述第一密文的加密方式,生成第五响应;所述第五响应包括解密所述第一密文的密钥信息。
16.根据权利要求15所述的方法,其特征在于,所述根据所述第一密文的加密方式,生成第五响应,包括:
在所述第一密文的加密方式为第一加密方式的情况下,调用第一工具,获取所述服务器的第一私钥信息;
在所述第一密文的加密方式为第二加密方式的情况下,调用第一工具,获取所述第三密钥信息;所述第三密钥信息表征AES密钥信息;
在所述第一密文的加密方式为第三方式的情况下,根据第一标记,获取第一密钥信息与第二密钥信息;所述第一标记表征所述第一密钥服务历史协商所述服务器与所述客户端之间的密钥信息。
17.根据权利要求15所述的方法,其特征在于,所述方法还包括:
在无法获取解密所述第一密文的密钥信息的情况下,生成第七响应;所述第七响应表征协商密钥信息失败。
18.一种数据传输装置,应用于客户端,包括:
第一加密单元,用于调用第一软件开发工具包SDK,基于所述第一SDK支持的至少一种加密方式,对关于第一业务的第一数据进行加密,生成第一密文;
第一发送单元,用于向服务器发送第一请求;所述第一请求中携带所述第一密文;所述第一请求用于请求处理所述第一业务;
第一接收单元,用于接收所述服务器基于所述第一请求返回的第二密文;所述第二密文由所述服务器基于所述第一请求对所述第一密文的第一处理结果进行加密得到;
第一解密单元,用于调用所述第一SDK对所述第二密文进行解密,生成第一明文;
第一处理单元,用于基于所述第一明文,处理所述第一业务。
19.一种数据传输装置,应用于客户端,包括:
第二接收单元,用于接收客户端发送的第一请求;所述第一请求携带第一密文;所述第一密文表征关于第一业务的第一数据的加密结果;所述第一请求用于请求处理所述第一业务;
第二解密单元,用于调用第二软件开发工具包SDK,根据所述第一密文的加密方式,生成第一解密结果;所述第一解密结果表征关于所述第一请求的解密结果;
第二处理单元,用于根据所述第一解密结果,对所述第一业务进行处理,生成第一处理结果;
第二加密单元,用于调用所述第二SDK对所述第一处理结果进行加密,生成第二密文;
第二发送单元,将所述第二密文返回至所述客户端。
20.一种数据传输装置,应用于密钥管理平台,包括:
第三接收单元,用于接收客户端或服务器发送的密钥管理请求;
第一生成单元,用于根据所述密钥管理请求,调用与所述请求相对应的密钥服务,生成关于所述密钥管理请求的响应;
第三发送单元,将关于所述密钥管理请求的响应返回至所述客户端或服务器。
21.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5或6至10或11至17任一项所述方法的步骤。
22.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5或6至10或11至17任一项所述方法的步骤。
CN202111493588.5A 2021-12-08 2021-12-08 数据传输方法、装置、电子设备及存储介质 Active CN114338091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111493588.5A CN114338091B (zh) 2021-12-08 2021-12-08 数据传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111493588.5A CN114338091B (zh) 2021-12-08 2021-12-08 数据传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114338091A true CN114338091A (zh) 2022-04-12
CN114338091B CN114338091B (zh) 2024-05-07

Family

ID=81050065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111493588.5A Active CN114338091B (zh) 2021-12-08 2021-12-08 数据传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114338091B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499250A (zh) * 2022-11-17 2022-12-20 北京搜狐新动力信息技术有限公司 一种数据加密方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812871A (zh) * 2014-02-24 2014-05-21 北京明朝万达科技有限公司 一种基于移动终端应用程序安全应用的开发方法及***
CN105025470A (zh) * 2014-04-18 2015-11-04 ***通信集团公司 一种业务请求处理方法、***及相关装置
CN109981641A (zh) * 2019-03-26 2019-07-05 北京邮电大学 一种基于区块链技术的安全发布订阅***及发布订阅方法
CN110570275A (zh) * 2019-08-19 2019-12-13 香港乐蜜有限公司 一种订单检验方法、装置、电子设备及存储介质
WO2021022701A1 (zh) * 2019-08-08 2021-02-11 平安科技(深圳)有限公司 信息传输方法、装置、客户端、服务端及存储介质
WO2021103708A1 (zh) * 2019-11-26 2021-06-03 支付宝(杭州)信息技术有限公司 基于隐私信息保护的数据查询方法、装置、设备及***
CN113010856A (zh) * 2021-03-02 2021-06-22 北京顶象技术有限公司 一种动态非对称加解密的JavaScript代码混淆方法与***
CN113204772A (zh) * 2021-04-26 2021-08-03 五八有限公司 数据处理方法、装置、***、终端、服务器和存储介质
CN113497778A (zh) * 2020-03-18 2021-10-12 北京同邦卓益科技有限公司 一种数据的传输方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812871A (zh) * 2014-02-24 2014-05-21 北京明朝万达科技有限公司 一种基于移动终端应用程序安全应用的开发方法及***
CN105025470A (zh) * 2014-04-18 2015-11-04 ***通信集团公司 一种业务请求处理方法、***及相关装置
CN109981641A (zh) * 2019-03-26 2019-07-05 北京邮电大学 一种基于区块链技术的安全发布订阅***及发布订阅方法
WO2021022701A1 (zh) * 2019-08-08 2021-02-11 平安科技(深圳)有限公司 信息传输方法、装置、客户端、服务端及存储介质
CN110570275A (zh) * 2019-08-19 2019-12-13 香港乐蜜有限公司 一种订单检验方法、装置、电子设备及存储介质
WO2021103708A1 (zh) * 2019-11-26 2021-06-03 支付宝(杭州)信息技术有限公司 基于隐私信息保护的数据查询方法、装置、设备及***
CN113497778A (zh) * 2020-03-18 2021-10-12 北京同邦卓益科技有限公司 一种数据的传输方法和装置
CN113010856A (zh) * 2021-03-02 2021-06-22 北京顶象技术有限公司 一种动态非对称加解密的JavaScript代码混淆方法与***
CN113204772A (zh) * 2021-04-26 2021-08-03 五八有限公司 数据处理方法、装置、***、终端、服务器和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499250A (zh) * 2022-11-17 2022-12-20 北京搜狐新动力信息技术有限公司 一种数据加密方法及装置

Also Published As

Publication number Publication date
CN114338091B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US10069806B2 (en) Secure transfer and use of secret material in a shared environment
US10797879B2 (en) Methods and systems to facilitate authentication of a user
US9219722B2 (en) Unclonable ID based chip-to-chip communication
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
KR101985179B1 (ko) 블록체인 기반의 ID as a Service
JP6731491B2 (ja) データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法
US11134069B2 (en) Method for authorizing access and apparatus using the method
US20100266128A1 (en) Credential provisioning
WO2023143037A1 (zh) 密钥管理和业务处理
KR100772534B1 (ko) 공개키 기반 디바이스 인증 시스템 및 그 방법
CN114629713B (zh) 身份验证方法、装置及***
JP2024501326A (ja) アクセス制御方法、装置、ネットワーク側機器、端末及びブロックチェーンノード
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
CN113965425B (zh) 物联网设备的接入方法、装置、设备及计算机可读存储介质
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
CN115409511B (zh) 一种基于区块链的个人信息保护***
US20210111906A1 (en) Pseudonym credential configuration method and apparatus
Ghaemi et al. Novel blockchain-assisted fault-tolerant roaming authentication protocol for mobility networks without home agent entanglement
JP2005086428A (ja) 認証を得て暗号通信を行う方法、認証システムおよび方法
CN112242976B (zh) 一种身份认证方法及装置
JP2013236185A (ja) 電子署名代行サーバ、電子署名代行システム及び電子署名代行方法
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법
CN111404901A (zh) 信息验证方法及装置
TWI673621B (zh) 資訊註冊、認證方法及裝置
CN114697065B (zh) 安全认证方法和安全认证装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant