CN116319031A - 一种接口报文加解密方法及装置 - Google Patents

一种接口报文加解密方法及装置 Download PDF

Info

Publication number
CN116319031A
CN116319031A CN202310300626.3A CN202310300626A CN116319031A CN 116319031 A CN116319031 A CN 116319031A CN 202310300626 A CN202310300626 A CN 202310300626A CN 116319031 A CN116319031 A CN 116319031A
Authority
CN
China
Prior art keywords
key
server
interface
encrypted
encrypted data
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.)
Pending
Application number
CN202310300626.3A
Other languages
English (en)
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.)
Beijing Shangyin Microchip Technology Co ltd
Original Assignee
Beijing Shangyin Microchip 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 Beijing Shangyin Microchip Technology Co ltd filed Critical Beijing Shangyin Microchip Technology Co ltd
Priority to CN202310300626.3A priority Critical patent/CN116319031A/zh
Publication of CN116319031A publication Critical patent/CN116319031A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Abstract

本申请公开了一种接口报文加解密方法及装置,在该方法中,通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对第一密钥进行加密,获得第一加密数据;向服务端发送第一加密数据;接收服务端响应第一加密数据后发送的第二加密数据;通过客户端私钥对第二加密数据进行解密,获得接口响应报文。可见,该方法通过加解密速度快的加密算法对接口报文进行加解密,并通过安全性能好的公私钥加密算法对密钥进行非对称加密,采用两种加解密算法对接口报文进行加密,以及对接口报文加密的密钥再次加密的双层加密,在进一步提高接口报文的安全性的基础上,能够提高对大数据量的接口报文进行加解密的速度,从而提高接口的性能。

Description

一种接口报文加解密方法及装置
技术领域
本申请涉及数据安全技术领域,尤其涉及一种接口报文加解密方法及装置。
背景技术
随着科技的不断发展,在传递接口报文时,若直接将接口报文进行明文传递,容易被网络爬虫爬取数据,引起数据的泄露。因此,如何确保接口报文的安全性十分重要。
现有技术中,接口报文的加解密方法通常为:采用RSA算法生成一个公钥和一个私钥,通过公钥对接口报文进行加密,通过私钥对接口报文进行解密。然而,RSA算法对大数据量的接口报文进行加解密的速度较慢,导致接口性能降低。
综上所述,如何在提高大数据量接口报文安全性的同时提高接口的性能是目前亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种接口报文加解密方法及装置,旨在可以在提高大数据量接口报文安全性的同时提高接口的性能。
第一方面,本申请实施例提供了一种接口报文加解密方法,所述方法包括:
通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对所述第一密钥进行加密,获得第一加密数据,所述第一加密数据包括加密接口请求报文和加密第一密钥;
向所述服务端发送所述第一加密数据;
接收所述服务端响应所述第一加密数据后发送的第二加密数据,所述第二加密数据是所述服务端通过第一服务端私钥对所述第一加密数据进行解密,获得所述接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对所述第二密钥进行加密得到的;
通过所述客户端私钥对所述第二加密数据进行解密,获得所述接口响应报文。
可选地,所述第二加密数据包括加密接口响应报文和加密第二密钥,所述加密接口响应报文是所述服务端通过所述第二密钥对所述接口响应报文进行加密得到的,所述加密第二密钥是所述服务端通过所述客户端公钥对所述第二密钥进行加密得到的;
所述通过所述客户端私钥对所述第二加密数据进行解密,获得所述接口响应报文,包括:
通过所述客户端私钥对所述加密第二密钥进行解密,获得所述第二密钥;
通过所述第二密钥对所述加密接口响应报文进行解密,获得所述接口响应报文。
可选地,所述方法还包括:
获取服务端发送的所述客户端私钥和所述第一服务端公钥。
可选地,所述获取服务端发送的所述客户端私钥和所述第一服务端公钥,包括:
获取所述服务端发送的第二服务端公钥和第二服务端私钥;
通过第三密钥对密钥请求参数进行加密,并通过第二服务端公钥对所述第三密钥进行加密,获得第三加密数据,所述第三加密数据包括加密密钥请求参数和加密第三密钥;
向所述服务端发送所述第三加密数据;
接收所述服务端响应所述第三加密数据后发送的第四加密数据,所述第四加密数据是所述服务端通过所述第二服务端私钥对所述第三加密数据进行解密,获得所述密钥请求参数,并通过第四密钥对密钥数据进行加密以及通过第二服务端公钥对所述第四密钥进行加密得到的,所述密钥数据包括所述客户端私钥和所述第一服务端公钥;
通过所述第二服务端私钥对所述第四加密数据进行解密,获得所述客户端私钥和所述第一服务端公钥。
可选地,所述客户端私钥、所述客户端公钥、所述第一服务端公钥和所述第一服务端私钥根据预设数据进行动态变化。
可选地,所述预设数据包括预设失效时间和客户端标识。
可选地,所述服务端的接口包括注解,所述注解用于控制所述服务端的接口的加解密方式。
第二方面,本申请实施例提供了一种接口报文加解密装置,所述装置包括:
加密模块,用于通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对所述第一密钥进行加密,获得第一加密数据,所述第一加密数据包括加密接口请求报文和加密第一密钥;
发送模块,用于向所述服务端发送所述第一加密数据;
接收模块,用于接收所述服务端响应所述第一加密数据后发送的第二加密数据,所述第二加密数据是所述服务端通过第一服务端私钥对所述第一加密数据进行解密,获得所述接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对所述第二密钥进行加密得到的;
解密模块,用于通过所述客户端私钥对所述第二加密数据进行解密,获得所述接口响应报文。
第三方面,本申请实施例提供了一种接口报文加解密设备,所述设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以使所述设备执行前述第一方面所述的接口报文加解密方法。
第四方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,当所述计算机程序被运行时,运行所述计算机程序的设备实现前述第一方面所述的接口报文加解密方法。
相较于现有技术,本申请实施例具有以下有益效果:
本申请实施例提供了一种接口报文加解密方法及装置,在该方法中,通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对第一密钥进行加密,获得第一加密数据,第一加密数据包括加密接口请求报文和加密第一密钥;向服务端发送第一加密数据;接收服务端响应第一加密数据后发送的第二加密数据,第二加密数据是服务端通过第一服务端私钥对第一加密数据进行解密,获得接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对第二密钥进行加密得到的;通过客户端私钥对第二加密数据进行解密,获得接口响应报文。可见,该方法通过加解密速度快的加密算法对接口报文进行加解密,并通过安全性能好的公私钥加密算法对密钥进行非对称加密,采用两种加解密算法对接口报文进行加密以及对接口报文加密的密钥再次加密的双层加密,在进一步提高接口报文的安全性的基础上,能够提高对大数据量的接口报文进行加解密的速度,从而提高接口的性能。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种接口报文加解密方法的流程图;
图2为本申请实施例提供的一种获取服务端发送的客户端私钥和第一服务端公钥的方法的流程图;
图3为本申请实施例提供的一种具体的接口报文加解密方法的示意图;
图4为本申请实施例提供的一种接口报文加解密装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,接口报文的加解密方法通常为:采用RSA算法生成一个公钥和一个私钥,通过公钥对接口报文进行加密,通过私钥对接口报文进行解密。然而,RSA算法对大数据量的接口报文进行加解密的速度较慢,导致接口性能降低。
而AES算法通过AES密钥对接口报文进行加解密,AES算法是对称性加解密算法,接口报文的加解密安全性较低,但加解密的速度性能好。基于此,为了在提高大数据量接口报文安全性的同时提高接口的性能,结合AES算法加解密的速度性能以及RSA算法加解密的安全性,本申请实施例提供了一种接口报文加解密方法及装置,在该方法中,通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对第一密钥进行加密,获得第一加密数据,第一加密数据包括加密接口请求报文和加密第一密钥;向服务端发送第一加密数据;接收服务端响应第一加密数据后发送的第二加密数据,第二加密数据是服务端通过第一服务端私钥对第一加密数据进行解密,获得接口请求报文,并通过第二密钥对接口报文进行加密以及通过客户端公钥对第二密钥进行加密得到的;通过客户端私钥对第二加密数据进行解密,获得接口报文。可见,该方法通过加解密速度快的加密算法对接口报文进行加解密,并通过安全性能好的公私钥加密算法对密钥进行非对称加密,采用两种加解密算法对接口报文进行加密以及对接口报文加密的密钥再次加密的双层加密,在进一步提高接口报文的安全性的基础上,能够提高对大数据量的接口报文进行加解密的速度,从而提高接口的性能。
下面结合附图,通过实施例来详细说明本申请实施例中接口报文加解密方法及装置的具体实现方式。
参见图1,该图为本申请实施例提供的一种接口报文加解密方法的流程图,结合图1所示,具体可以包括:
S101:通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对第一密钥进行加密,获得第一加密数据,第一加密数据包括加密接口请求报文和加密第一密钥。
举例来说,第一密钥可以是AES密钥,将生成的随机字符串作为AES密钥,即客户端随机生成16位AES KEY,16位AES KEY即为第一密钥;第一服务端公钥可以通过RSA算法生成,RSA算法是一种使用不同的加密密钥与解密密钥的公开密钥密码体制,RSA算法生成第一服务端公钥和第一服务端私钥作为密钥对。客户端通过随机生成的第一密钥对接口请求报文进行加密,再通过第一服务端公钥对第一密钥进行加密,得到包括加密接口请求报文和加密第一密钥的第一加密数据。当然,也可以采用其他方式生成第一密钥或者生成第一服务端公钥,并不影响本申请实施例的实现。可见,利用第一密钥对接口请求报文进行加密,再利用第一服务端公钥对第一密钥进行加密,即对接口请求报文进行两层加密,采用安全性好但速度较慢的服务端密钥对的第一服务端公钥对第一密钥进行加密,第一密钥数据量少,不会影响加密的速度,采用安全性一般但速度较快的第一密钥对接口请求报文进行加密,该方法既提高了接口请求报文的安全性,又提高了对接口请求报文进行加解密的速度。
S102:向服务端发送第一加密数据。
客户端将进行加密处理后得到的第一加密数据发送给服务端。
S103:接收服务端响应第一加密数据后发送的第二加密数据,第二加密数据是服务端通过第一服务端私钥对第一加密数据进行解密,获得接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对第二密钥进行加密得到的。
服务端接收到客户端发送的第一加密数据后,先通过与第一服务端公钥对应的第一服务端私钥对第一加密数据中的加密第一密钥进行解密,得到第一密钥,再通过第一密钥对加密接口请求报文进行解密得到接口请求报文;服务端再根据该接口请求报文处理业务逻辑,处理完成后生成与接口请求报文对应的接口响应报文;然后,服务端随机生成第二密钥,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对第二密钥进行加密得到第二加密数据;最后,服务端向客户端发送该第二加密数据。即客户端接收服务端响应第一加密数据后发送的第二加密数据。
举例来说,第二密钥可以是AES密钥,将生成的随机字符串作为AES密钥,即客户端随机生成16位AES KEY,16位AES KEY即为第二密钥,;客户端公钥可以通过RSA算法生成,RSA算法生成客户端公钥和客户端私钥作为密钥对。服务端根据随机生成的第二密钥和客户端公钥对接口响应报文进行加密,得到第二加密数据。当然,也可以采用其他方式,并不影响本申请实施例的实现。
对于客户端私钥、客户端公钥、第一服务端公钥和第一服务端私钥本申请实施例可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。
在一种可能的实施方式中,客户端私钥、客户端公钥、第一服务端公钥和第一服务端私钥可以根据预设数据进行动态变化,即根据预设数据发生对应变化,避免因密钥对维持不变而引起的接口报文泄露问题,进一步提高了接口报文的安全性。
其中,对于预设数据本申请实施例可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。
在一种可能的实施方式中,预设数据可以包括预设失效时间和客户端标识。其中,预设失效时间是指,超出预先设置的时间密钥对即失效,无法对第一加密数据进行解密,客户端标识是指,针对不同的客户端,服务端可以生成不同的密钥对,即客户端标识发生变化即生成对应客户端的密钥对。其中,每个客户端的公钥和私钥可以配置相同,也可以配置不同。可见,通过预设数据进行动态变化,提高了接口报文的安全性。
S104:通过客户端私钥对第二加密数据进行解密,获得接口响应报文。
客户端通过先前获取到的与客户端公钥对应的客户端私钥,对接收的服务端发送的第二加密数据进行解密,得到接口响应报文,以进行展示或者使用。
对于第二加密数据的内容,本申请实施例可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。
在一种可能的实施方式中,第二加密数据具体可以包括加密后的接口响应报文和加密后的第二密钥,即加密接口响应报文和加密第二密钥,服务端先随机生成第二密钥,通过第二密钥对接口响应报文进行加密得到加密后的接口响应报文,服务端再通过客户端公钥对第二密钥进行加密得到加密后的第二密钥,第二加密数据即为加密后的接口响应报文和加密后的第二密钥组成;相应地,客户端接收到服务端发送的第二加密数据后,先通过与客户端公钥对应的客户端私钥对加密第二密钥进行解密得到第二密钥,再通过第二密钥对加密接口响应报文进行解密得到接口响应报文。因此,第二加密数据具体可以包括:加密接口响应报文和加密第二密钥,加密接口响应报文是服务端通过第二密钥对接口响应报文进行加密得到的,加密第二密钥是服务端通过客户端公钥对第二密钥进行加密得到的;相应地,S104具体可以包括:通过客户端私钥对加密第二密钥进行解密,获得第二密钥;通过第二密钥对加密接口响应报文进行解密,获得接口响应报文。可见,同样的,利用第二密钥对接口响应报文进行加密,再利用客户端公钥对第二密钥进行加密,即对接口响应报文进行两层加密,采用安全性好但速度较慢的客户端密钥对的客户端公钥对第二密钥进行加密,第二密钥数据量少,不会影响加密的速度,采用安全性一般但速度较快的第二密钥对接口响应报文进行加密,该方法既提高了接口响应报文的安全性,又提高了对接口响应报文进行加解密的速度。
对于服务端的接口本申请实施例可不做具体限制,为了便于理解,下面结合一种可能的实施方式进行说明。
在一种可能的实施方式中,服务端的接口可以包括注解,注解用于控制服务端的接口的加解密方式。举例来说,服务端可以包括多个接口,每个接口上的注解可以控制具体某个接口不进行加解密,也可以控制某个接口进行加解密以及加解密的方式。当然,也可以是其他方式,并不影响本申请实施例的实现。
另外,客户端使用的客户端私钥和第一服务端公钥可以是服务端生成并发送的。因此,在本申请可选实施例中,该接口报文加解密方法还包括S1:获取服务端发送的客户端私钥和第一服务端公钥。服务端随机生成两对密钥对,密钥对包括公钥(公开密钥)和私钥(秘密密钥),将一对密钥对作为服务端的密钥对,另一对作为客户端的密钥对,服务端向客户端发送客户端私钥和第一服务端公钥,客户端获取到该客户端私钥和该第一服务端公钥。举例来说,可以通过RSA算法生成密钥对。当然,也可以采用其他方式,并不影响本申请实施例的实现。
对于获取服务端发送的客户端私钥和第一服务端公钥的过程的具体实现方式,本申请实施例可不做具体限定,为了便于理解,下面结合一种可能的实施方式进行说明。技术详情请参见下文所做的介绍。
基于上述S101-S104的相关内容可知,本申请实施例中,通过加解密速度快的加密算法对接口报文进行加解密,并通过安全性能好的公私钥加密算法对密钥进行非对称加密,采用两种加解密算法对接口报文进行加密以及对接口报文加密的密钥再次加密的双层加密,在进一步提高接口报文的安全性的基础上,能够提高对大数据量的接口报文进行加解密的速度,从而提高接口的性能。
参见图2,该图为本申请实施例提供的一种获取服务端发送的客户端私钥和第一服务端公钥的方法的流程图,结合图2所示,具体可以包括:
S201:获取服务端发送的第二服务端公钥和第二服务端私钥。
服务端随机生成一对密钥对,即为第二服务端公钥和第二服务端私钥,服务端向客户端发送该第二服务端公钥和该第二服务端私钥,客户端获取到该第二服务端公钥和该第二服务端私钥。
S202:通过第三密钥对密钥请求参数进行加密,,并通过第二服务端公钥对第三密钥进行加密,获得第三加密数据,第三加密数据包括加密密钥请求参数和加密第三密钥。
S203:向服务端发送第三加密数据。
客户端将进行加密处理后得到的第三加密数据发送给服务端。
S204:接收服务端响应第三加密数据后发送的第四加密数据,第四加密数据是服务端通过第二服务端私钥对第三加密数据进行解密,获得密钥请求参数,并通过第四密钥对密钥数据进行加密以及通过第二服务端公钥对第四密钥进行加密得到的,密钥数据包括客户端私钥和第一服务端公钥,密钥数据与密钥请求参数相对应。
服务端接受到客户端发送的第三加密数据后,先通过与第二服务端公钥对应的第二服务端私钥对第三加密数据进行解密,得到密钥请求参数;服务端再根据该密钥请求参数生成两对密钥对,将其中的客户端私钥和第一服务端公钥作为密钥数据;然后,服务端随机生成第四密钥,并通过先前生成的第二服务端公钥和第四密钥对密钥数据进行加密得到第四加密数据;最后,服务端向客户端发送该第四加密数据。即客户端接收服务端响应第三加密数据后发送的第四加密数据。
S205:通过第二服务端私钥对第四加密数据进行解密,获得客户端私钥和第一服务端公钥。
客户端通过先前获取到的与第二服务端公钥对应的第二服务端私钥,对接收的服务端发送的第四加密数据进行解密,得到密钥数据,即得到客户端私钥和第一服务端公钥,以进行使用。
S202-S205的具体实现方式可参考S101-S104的具体实现方式,在此不再进行赘述。
基于上述S201-S205的相关内容可知,本申请实施例中,通过第三密钥对密钥请求参数进行加密,并通过第二服务端公钥对第三密钥进行加密得到第三加密数据,并接收服务端响应第三加密数据后发送的第四加密数据,通过第二服务端私钥对第四加密数据进行解密得到密钥数据,采用两种加解密算法对密钥请求参数和密钥数据进行加解密,在对接口报文采用两种加解密算法的基础上又进行了一次加解密,进一步提高了接口报文的安全性。
参见图3,该图为本申请实施例提供的一种具体的接口报文加解密方法的示意图,结合图3所示,具体可以包括:
S301:客户端获取服务端发送的服务端公钥SKP1和服务端私钥SKP2,通过密钥AES1对密钥请求参数进行加密,并通过SKP1对AES1进行加密,获得包括加密密钥请求参数和加密AES1的第三加密数据;
S302:客户端向服务端发送第三加密数据;
S303:服务端通过SKP2对第三加密数据中的加密AES1进行解密,获得AES1,再通过AES1对加密密钥请求参数进行解密,获得密钥请求参数;然后,服务端根据密钥请求参数处理业务逻辑,生成两对RSA密钥对,一个RSA密钥对包括服务端公钥SK1和服务端私钥SK2,一个RSA密钥对包括客户端公钥CK1和客户端私钥CK2;服务端通过密钥AES2对包括CK2和SK1的密钥数据进行加密,再通过SKP1对AES2进行加密得到包括加密密钥数据和加密AES2的第四加密数据;
S304:服务端向客户端发送第四加密数据;
S305:客户端通过SKP2对第四加密数据中的加密AES2进行解密,获得AES2,再通过AES2对加密密钥数据进行解密,获得客户端私钥CK2和第一服务端公钥SK1;
S306:客户端通过密钥AES3对接口请求报文进行加密,并通过SK1对AES3进行加密,获得包括加密密钥请求参数和加密AES3的第一加密数据;
S307:客户端向服务端发送第一加密数据;
S308:服务端通过SK2对第一加密数据中的加密AES3进行解密,获得AES3,再通过AES3对加密接口请求报文进行解密,获得接口请求报文;然后,服务端根据接口请求报文处理业务逻辑,得到接口响应报文;服务端通过密钥AES4对接口响应报文进行加密,再通过CK1对AES4进行加密得到包括加密接口响应报文和加密AES4的第四加密数据;
S309:服务端向客户端发送第二加密数据;
S310:客户端通过CK2对第二加密数据中的加密AES4进行解密,获得AES4,再通过AES4对加密接口响应报文进行解密,获得接口响应报文。其中,AES1-AES4均为随机生成的16位AES KEY。
以上为本申请实施例提供接口报文加解密方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的装置进行介绍。
参见图4,该图为本申请实施例提供的一种接口报文加解密装置400的结构示意图,该装置400可以包括:
加密模块401,用于通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对第一密钥进行加密,获得第一加密数据,第一加密数据包括加密接口请求报文和加密第一密钥;
发送模块402,用于向服务端发送第一加密数据;
接收模块403,用于接收服务端响应第一加密数据后发送的第二加密数据,第二加密数据是服务端通过第一服务端私钥对第一加密数据进行解密,获得接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对第二密钥进行加密得到的;
解密模块404,用于通过客户端私钥对第二加密数据进行解密,获得接口响应报文。
在本申请实施例中,通过加密模块401、发送模块402、接收模块403以及解密模块404这四个模块的配合,通过加解密速度快的加密算法对接口报文进行加解密,并通过安全性能好的公私钥加密算法对密钥进行非对称加密,采用两种加解密算法对接口报文进行加密以及对接口报文加密的密钥再次加密的双层加密,在进一步提高接口报文的安全性的基础上,能够提高对大数据量的接口报文进行加解密的速度,从而提高接口的性能。
作为一种实施方式,接收模块403中的第二加密数据,具体可以包括:
加密接口响应报文和加密第二密钥,加密接口响应报文是服务端通过第二密钥对接口响应报文进行加密得到的,加密第二密钥是服务端通过客户端公钥对第二密钥进行加密得到的;
相应地,解密模块404,具体可以包括:
第一解密单元,用于通过客户端私钥对加密第二密钥进行解密,获得第二密钥;
第二解密单元,用于通过第二密钥对加密接口响应报文进行解密,获得接口响应报文。
作为一种实施方式,,该接口报文加解密装置400,还可以包括:
获取模块,用于获取服务端发送的客户端私钥和第一服务端公钥。
作为一种实施方式,获取模块,具体可以包括:
获取单元,用于获取服务端发送的第二服务端公钥和第二服务端私钥;
加密单元,用于通过第三密钥对密钥请求参数进行加密,并通过第二服务端公钥对第三密钥进行加密,获得第三加密数据,第三加密数据包括加密密钥请求参数和加密第三密钥;
发送单元,用于向服务端发送第三加密数据;
接收单元,用于接收服务端响应第三加密数据后发送的第四加密数据,第四加密数据是服务端通过第二服务端私钥对第三加密数据进行解密,获得密钥请求参数,并通过第四密钥对密钥数据进行加密以及通过第二服务端公钥对第四密钥进行加密得到的,密钥数据包括客户端私钥和第一服务端公钥,密钥数据与密钥请求参数相对应;
第三解密单元,用于通过第二服务端私钥对第四加密数据进行解密,获得客户端私钥和第一服务端公钥。
作为一种实施方式,该接口报文加解密装置400的客户端私钥、客户端公钥、第一服务端公钥和第一服务端私钥,具体可以根据预设数据进行动态变化。
作为一种实施方式,该接口报文加解密装置400的预设数据,具体可以包括:预设失效时间和客户端标识。
作为一种实施方式,该接口报文加解密装置400的服务端的接口,具体可以包括:注解,注解用于控制服务端的接口的加解密方式。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以使所述设备执行本申请任一实施例所述的接口报文加解密方法。
所述计算机存储介质中存储有计算机程序,当所述计算机程序被运行时,运行所述计算机程序的设备实现本申请任一实施例所述的接口报文加解密方法。
本申请实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种接口报文加解密方法,其特征在于,应用于客户端,所述方法包括:
通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对所述第一密钥进行加密,获得第一加密数据,所述第一加密数据包括加密接口请求报文和加密第一密钥;
向所述服务端发送所述第一加密数据;
接收所述服务端响应所述第一加密数据后发送的第二加密数据,所述第二加密数据是所述服务端通过第一服务端私钥对所述第一加密数据进行解密,获得所述接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对所述第二密钥进行加密得到的;
通过所述客户端私钥对所述第二加密数据进行解密,获得所述接口响应报文。
2.根据权利要求1所述的方法,其特征在于,所述第二加密数据包括加密接口响应报文和加密第二密钥,所述加密接口响应报文是所述服务端通过所述第二密钥对所述接口响应报文进行加密得到的,所述加密第二密钥是所述服务端通过所述客户端公钥对所述第二密钥进行加密得到的;
所述通过所述客户端私钥对所述第二加密数据进行解密,获得所述接口响应报文,包括:
通过所述客户端私钥对所述加密第二密钥进行解密,获得所述第二密钥;
通过所述第二密钥对所述加密接口响应报文进行解密,获得所述接口响应报文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取服务端发送的所述客户端私钥和所述第一服务端公钥。
4.根据权利要求3所述的方法,其特征在于,所述获取服务端发送的所述客户端私钥和所述第一服务端公钥,包括:
获取所述服务端发送的第二服务端公钥和第二服务端私钥;
通过第三密钥对密钥请求参数进行加密,并通过第二服务端公钥对所述第三密钥进行加密,获得第三加密数据,所述第三加密数据包括加密密钥请求参数和加密第三密钥;
向所述服务端发送所述第三加密数据;
接收所述服务端响应所述第三加密数据后发送的第四加密数据,所述第四加密数据是所述服务端通过所述第二服务端私钥对所述第三加密数据进行解密,获得所述密钥请求参数,并通过第四密钥对密钥数据进行加密以及通过第二服务端公钥对所述第四密钥进行加密得到的,所述密钥数据包括所述客户端私钥和所述第一服务端公钥;
通过所述第二服务端私钥对所述第四加密数据进行解密,获得所述客户端私钥和所述第一服务端公钥。
5.根据权利要求1所述的方法,其特征在于,所述客户端私钥、所述客户端公钥、所述第一服务端公钥和所述第一服务端私钥根据预设数据进行动态变化。
6.根据权利要求5所述的方法,其特征在于,所述预设数据包括预设失效时间和客户端标识。
7.根据权利要求1所述的方法,其特征在于,所述服务端的接口包括注解,所述注解用于控制所述服务端的接口的加解密方式。
8.一种接口报文加解密装置,其特征在于,所述装置包括:
加密模块,用于通过第一密钥对接口请求报文进行加密,并通过第一服务端公钥对所述第一密钥进行加密,获得第一加密数据,所述第一加密数据包括加密接口请求报文和加密第一密钥;
发送模块,用于向所述服务端发送所述第一加密数据;
接收模块,用于接收所述服务端响应所述第一加密数据后发送的第二加密数据,所述第二加密数据是所述服务端通过第一服务端私钥对所述第一加密数据进行解密,获得所述接口请求报文,并通过第二密钥对接口响应报文进行加密以及通过客户端公钥对所述第二密钥进行加密得到的;
解密模块,用于通过所述客户端私钥对所述第二加密数据进行解密,获得所述接口响应报文。
9.一种接口报文加解密设备,其特征在于,所述设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以使所述设备执行如权利要求1-7任一项所述的接口报文加解密方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,当所述计算机程序被运行时,运行所述计算机程序的设备实现如权利要求1-7任一项所述的接口报文加解密方法的步骤。
CN202310300626.3A 2023-03-24 2023-03-24 一种接口报文加解密方法及装置 Pending CN116319031A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310300626.3A CN116319031A (zh) 2023-03-24 2023-03-24 一种接口报文加解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310300626.3A CN116319031A (zh) 2023-03-24 2023-03-24 一种接口报文加解密方法及装置

Publications (1)

Publication Number Publication Date
CN116319031A true CN116319031A (zh) 2023-06-23

Family

ID=86823885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310300626.3A Pending CN116319031A (zh) 2023-03-24 2023-03-24 一种接口报文加解密方法及装置

Country Status (1)

Country Link
CN (1) CN116319031A (zh)

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
CN105260668B (zh) 一种文件加密方法及电子设备
CN111130803B (zh) 数字签名的方法、系统及装置
US8291231B2 (en) Common key setting method, relay apparatus, and program
US7890634B2 (en) Scalable session management
CN108200028B (zh) 一种区块链安全获取服务器可信数据的方法及系统
US20150074393A1 (en) Method, Apparatus, and System for Implementing Media Data Processing
US9203614B2 (en) Method, apparatus, and system for protecting cloud data security
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
JP2020532177A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
CN115766066A (zh) 数据传输方法、装置、安全通信系统及存储介质
CN112069530A (zh) 一种基于Linux内核的存储专用操作系统
CN116244750A (zh) 一种涉密信息维护方法、装置、设备及存储介质
CN113609522B (zh) 数据授权及数据访问方法和装置
CN115766119A (zh) 通信方法、装置、通信系统及存储介质
KR20040013966A (ko) 이동 통신망에서의 인증 및 키 합의 방법
CN111431846B (zh) 数据传输的方法、装置和系统
CN116319031A (zh) 一种接口报文加解密方法及装置
CN113708928A (zh) 一种边缘云通信方法及相关装置
CN114978564B (zh) 基于多重加密的数据传输方法及装置
CN115460020B (zh) 数据共享方法、装置、设备及存储介质
US11750580B2 (en) Systems and methods for encryption in network communication

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