CN114095254B - 报文加密方法、服务端设备、客户端设备及存储介质 - Google Patents

报文加密方法、服务端设备、客户端设备及存储介质 Download PDF

Info

Publication number
CN114095254B
CN114095254B CN202111387007.XA CN202111387007A CN114095254B CN 114095254 B CN114095254 B CN 114095254B CN 202111387007 A CN202111387007 A CN 202111387007A CN 114095254 B CN114095254 B CN 114095254B
Authority
CN
China
Prior art keywords
data
request
client
response
plaintext
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.)
Active
Application number
CN202111387007.XA
Other languages
English (en)
Other versions
CN114095254A (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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202111387007.XA priority Critical patent/CN114095254B/zh
Publication of CN114095254A publication Critical patent/CN114095254A/zh
Application granted granted Critical
Publication of CN114095254B publication Critical patent/CN114095254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种报文加密方法、服务端设备、客户端设备及存储介质,涉及数据加密领域。其中,服务端接收客户端发送的请求密文签名数据;采用对称秘钥对第一请求密文数据进行解密得到明文数据,并将明文数据转换成第一请求摘要数据;采用客户端的客户端公钥对第二请求密文数据进行解密,得到第二请求摘要数据;若第一请求摘要数据和第二请求摘要数据一致,则对明文数据进行业务处理,得到响应明文,并基于响应明文向客户端发送反馈数据,采用对称秘钥和非对称秘钥结合加密的方法,可以报文数据传输的安全性,进一步降低报文数据被篡改的几率。

Description

报文加密方法、服务端设备、客户端设备及存储介质
技术领域
本申请涉及数据加密领域,特别涉及一种报文加密方法、服务端设备、客户端设备及存储介质。
背景技术
随着互联网的发展以及信息技术的快速进步,新一代电子商务正在改变人们的生活方式,如网上购物、电子银行、网上纳税、网上报关等。由于互联网的开放性设计,存在着许多安全问题,严重影响了电子商务的普及和发展。其中最重要一点是数据在传输过程中的安全性问题,即如何防止数据被截获、窃听、篡改等。
目前,在数据传输过程中,为了防止数据被截获、窃听或篡改等,常使用单一秘钥对报文数据进行加密,虽然在一定程度上保证了数据在交互过程中的安全性,但秘钥一旦被窃取,数据就很容易被泄露,甚至被篡改,容易造成多方利益受损。
发明内容
本申请实施例提供一种报文加密方法、服务端设备、客户端设备及存储介质,可以降低报文数据被篡改的几率,加强报文数据传输的安全性。
第一方面,本申请实施例提供了一种报文加密方法,应用于服务端,所述方法包括:
接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;
若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送反馈数据。
在一种可选的实施例中,所述基于所述响应明文向所述客户端发送反馈数据,包括:
采用所述对称秘钥对所述响应明文进行加密得到第一响应密文数据;
将所述响应明文转换成响应明文摘要,并采用服务端私钥对所述响应明文摘要进行非对称加密,得到第二响应密文数据;
向所述客户端发送反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据。
在一种可选的实施例中,所述请求密文签名数据包括所述客户端的客户端标识;所述采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据之前,所述方法还包括:
根据所述请求密文签名数据中的客户端标识查找所述客户端对应的对称秘钥和所述客户端公钥。
在一种可选的实施例中,所述第一密文数据中包含第一客户端时间标识;所述第二密文数据中包含第二客户端时间标识;所述若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理;包括:
若第一请求摘要数据和所述第二请求摘要数据一致,则查看所述第一客户端时间标识和所述第二客户端时间标识;所述第一客户端时间标识是采用所述对称秘钥对所述第一请求密文数据进行解密得到的;所述第二客户端时间标识是采用所述客户端的客户端公钥对所述第二请求密文数据进行解密得到的;
若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则对所述明文数据进行业务处理。
在一种可选的实施例中,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
第二方面,本申请实施例提供了一种报文加密方法,应用于客户端,所述方法包括:
采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;
接受所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据。
在一种可选的实施例中,所述反馈数据包括第一响应密文数据和第二响应密文数据;所述接受服务端发送的反馈数据之后,所述方法还包括:
采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据,并将所述响应明文数据转换成第一响应摘要数据;
采用所述服务端的服务端公钥对所述第二响应密文数据进行解密,得到第二响应摘要数据;
若所述第一响应摘要数据和所述第二响应摘要数据一致,则保存所述响应明文数据。
在一种可选的实施例中,所述第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识;所述若所述第一响应摘要数据和所述第二响应摘要数据一致,则保存所述响应明文数据;包括:
若所述第一响应摘要数据和所述第二响应摘要数据一致,则查看所述第一服务端时间标识和所述第二服务端时间标识;所述第一服务端时间标识是采用所述对称秘钥对所述第一响应密文数据进行解密得到的;所述第二服务端时间标识是采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到的;
若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则保存所述响应明文数据。
在一种可选的实施例中,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
第三方面,本申请实施例提供了一种报文加密装置,应用于服务端,所述装置包括:
第一接收单元,接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
第一解密单元,采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
第二解密单元,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;
第一发送单元,若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送反馈数据。
第四方面,本申请实施例提供了一种服务端设备,包括:存储器、收发机以及处理器;
所述存储器,用于存储计算机指令;
所述收发机,用于在所述处理器的控制下收发数据;
所述处理器,用于读取所述存储器中的计算机程序并执行如下步骤:
接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;
若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送反馈数据。
第五方面,本申请实施例提供了一种报文加密装置,应用于客户端,所述装置包括:
第一加密单元,采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
第二加密单元,将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
第二发送单元,向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;
第二接受单元,接受所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据。
第六方面,本申请实施例提供了一种客户端设备,包括:存储器、收发机以及处理器;
所述存储器,用于存储计算机指令;
所述收发机,用于在所述处理器的控制下收发数据;
所述处理器,用于读取所述存储器中的计算机程序并执行如下步骤:
采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;
接受所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如第一方面和第二方面中任一项所述的方法。
第八方面,本申请实施例提供了一种计算机程序产品,包含有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面和第二方面中任一项所述的方法。
本申请实施例提供的报文加密方法、服务端设备、客户端设备及存储介质,服务端在接收到客户端发送的请求密文签名数据后,采用对称秘钥对请求密文签名数据中的第一请求密文数据进行解密得到明文数据,将明文数据转换成第一请求摘要数据;并采用客户端公钥对请求密文签名数据中的第二密文数据进行解密,得到第二请求摘要数据;若第一请求摘要数据和第二请求摘要数据一致,则对明文数据进行业务处理,得到响应明文,并基于响应明文向客户端发送反馈数据。通过采用对称秘钥加密和非对称秘钥加密结合的方法,不仅可以加强报文加密的强度,还可以降低报文被篡改的几率,进一步提高报文传输的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例适用的报文加密的应用场景图;
图2为本申请实施例提供的一种报文加密方法的交互流程图;
图3为本申请实施例提供的一种秘钥更新方法的交互流程图;
图4为本申请实施例提供的一种报文加密方法的流程图;
图5为本申请实施例提供的另一种报文加密方法的流程图;
图6为本申请实施例提供的一种报文加密装置的结构示意图;
图7为本申请实施例提供的另一种报文加密装置的结构示意图;
图8为本申请实施例提供的另一种报文加密装置的结构示意图;
图9为本申请实施例提供的一种服务端设备的结构示意图;
图10为本申请实施例提供的一种客户端设备的结构示意图。
具体实施方式
下面结合附图对本申请的具体实施方式进行详细的说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请,并不用于限制本申请。
随着互联网技术的不断发展,电子商务的交易数量非常庞大,发起交易的客户遍布全球,大型的电子商务服务商普遍采用部署有多个服务实例(Service Instance)的服务端来实现电子商务后台。
服务端可以通过多个服务实例共同提供同一种服务。对于客户端来说,无需区分服务端中的多个服务实例,客户端与服务端的交互过程可以为客户端与服务端中的任一服务实例的交互过程。服务端可以利用多个服务实例进行并行处理从而获得很高的处理效率,也可以利用多个服务实例进行多副本备份,从而在任一服务实例出现异常时整个集群系统还可以正常运行。
图1是根据本申请实施例提供的报文加密方法的一种应用场景图。需要注意的是,图1所示仅为本申请实施例提供的一种应用场景示例图,以帮助本领域技术人员理解本申请的技术内容,但并不意味着本申请实施例不可以用于其他设备、系统、环境或场景。
如图1所示,在本申请中可以包括客户端110、网络120和服务端130,服务端130可以包括多个服务器,每个服务器中可以部署有服务实例。其中,客户端110可以是各种可以进行网络通信的电子设备,例如智能手机、平板电脑、笔记本电脑、台式计算机等,本申请对此不做限定。服务端130中的各个服务器可以是各种具有一定计算能力的电子设备,客户端110可以安装各种类型的客户端,例如浏览器客户端、移动互联网应用(Application)客户端等,与服务端130进行交互。
由于互联网的开放性设计,存在着许多安全问题,严重影响了电子商务的普及和发展。以调用银农直连接口过程中的数据传输为例,银农直连的接口后端链接着各种内部服务,例如,提供账户查询、明细查询和转账代发等服务,当用户通过互联网调用银农直连接口时,如果无法保证数据传输过程中的各种安全问题,将会产生不可估量的后果。
因此数据在传输过程中的安全性问题需要被高度重视,即如何防止报文数据被截获、窃听、篡改等。目前,在数据传输过程中,为了防止数据被截获、窃听或篡改等,常使用单一秘钥对报文数据进行加密,虽然在一定程度上保证了数据在交互过程中的安全性,但秘钥一旦被窃取,数据就很容易被泄露,甚至被篡改,容易造成多方利益受损。
基于此,本申请提出了一种报文加密方法,可以降低报文数据被篡改的几率,加强报文数据传输的安全性。如图2所示,图2示出了一种报文加密方法的交互流程图,该方法可以包括如下步骤:
步骤S201,客户端采用对称秘钥对请求明文进行加密,得到第一请求密文数据。
步骤S202,客户端将请求明文转换成请求明文摘要,并采用客户端私钥对请求明文摘要进行非对称加密,得到第二请求密文数据。
步骤S203,客户端向服务端发送请求密文签名数据。
请求密文签名数据包括第一请求密文数据和第二请求密文数据。
示例性地,假设请求明文为str,对称秘钥为m2,客户端私钥为s1,客户端采用对称秘钥m2对请求明文str进行3des对称算法加密,得到第一请求密文数据C1;并将请求明文str转换成请求明文摘要,并采用客户端私钥s1对请求明文摘要进行MD5withRSA非对称算法加密,得到第二请求密文数据C2,并将第一请求密文数据C1和第二请求密文数据C2发送至服务端。
步骤S204,服务端接收客户端发送的请求密文签名数据。
在一种可选的实施方式中,请求密文签名数据中可以包括客户端的客户端标识,服务端在接收到客户端发送的请求密文签名数据后,可以根据请求密文签名数据中的客户端标识查找客户端对应的对称秘钥和客户端公钥。
步骤S205,服务端采用对称秘钥对第一请求密文数据进行解密得到明文数据,并将明文数据转换成第一请求摘要数据。
步骤S206,服务端采用客户端的客户端公钥对第二请求密文数据进行解密,得到第二请求摘要数据。
示例性地,假设客户端公钥为p1,服务端在接收到客户端发送的请求密文签名数据后,采用对称秘钥m2对第一请求密文数据C1进行解密,得到明文数据,并将明文数据转换成第一请求摘要数据n1,并采用客户端的客户端公钥p1对第二请求密文数据C2进行解密,得到第二请求摘要数据n2。
步骤S207,服务端对明文数据进行业务处理,得到响应明文。
在一种可选的实施方式中,服务端在获得第一请求摘要数据和第二请求摘要数据后,将第一请求摘要数据和第二请求摘要数据进行比较,若第一请求摘要数据和第二请求摘要数据一致,则对明文数据进行业务处理,得到响应明文;若第一请求摘要数据和第二请求摘要数据不一致,则说明第一请求密文数据或第二请求密文数据在传输的过程中,被篡改过,因此,服务端不对明文数据进行业务处理,并向客户端发送解密失败的信息。
示例性地,服务端在获得第一请求摘要数据n1和第二请求摘要数据n2后,将第一请求摘要数据n1和第二请求摘要数据n2进行比对,若第一请求摘要数据n1和第二请求摘要数据n2一致,则对明文数据进行业务处理,得到响应明文str2;若第一请求摘要数据n1和第二请求摘要数据n2不一致,则服务端不对明文数据进行业务处理,并向客户端发送解密失败的信息。
在一种可选的实施方式中,第一请求密文数据中可以包含第一客户端时间标识;第二请求密文数据中可以包含第二客户端时间标识;服务端在采用对称秘钥对第一请求密文数据进行解密后,可以得到明文数据和第一客户端时间标识,在采用客户端的客户端公钥对第二请求密文数据进行解密后,可以得到第二请求摘要数据和第二客户端时间标识;服务端可以将明文数据转换成第一请求摘要数据,并将第一请求摘要数据和第二请求摘要数据进行比较。
若第一请求摘要数据和第二请求摘要数据一致,则查看第一请求密文数据中的第一客户端时间标识和第二请求密文数据中的第二客户端时间标识;若第一客户端时间标识和第二客户端时间标识均未超出设定期限,则对明文数据进行业务处理,若第一客户端时间标识超出设定期限,或第二客户端时间标识超出设定期限,则不对明文数据进行业务处理。
示例性地,假设设定期限的开始时间为第一请求密文数据和第二请求密文数据的发送时间,第一客户端时间标识中表示设定期限为1个月,第二客户端时间标识表示设定期限为1个月,当第一请求摘要数据和第二请求摘要数据一致后,服务端可以查看第一客户端时间标识和第二客户端时间标识,当第一客户端时间标识和第二客户端时间标识均未超出1个月时,服务端才对解密得到的明文数据进行业务处理。
步骤S208,服务端采用对称秘钥对响应明文进行加密得到第一响应密文数据。
步骤S209,服务端将响应明文转换成响应明文摘要,并采用服务端私钥对响应明文摘要进行非对称加密,得到第二响应密文数据。
步骤S210,服务端向客户端发送反馈数据。
在本申请实施例中,上述反馈数据包括第一响应密文数据和第二响应密文数据。
示例性地,假设客户端私钥为s2,服务端采用对称秘钥m2对响应明文str2进行3des对称算法加密,得到第一响应密文数据C3;并将响应明文str2转换成响应明文摘要,并采用服务端私钥s2对响应明文摘要进行MD5withRSA非对称算法加密,得到第二响应密文数据C4;服务端将第一响应密文数据C3和第二响应密文数据C4发送至客户端。
步骤S211,客户端接受服务端发送的反馈数据。
步骤S212,客户端采用对称秘钥对第一响应密文数据进行解密得到响应明文数据,并将响应明文数据转换成第一响应摘要数据;
步骤S213,客户端采用服务端的服务端公钥对第二响应密文数据进行解密,得到第二响应摘要数据;
步骤S214,客户端保存响应明文数据。
在一种可选的实施方式中,服务端在获得第一响应摘要数据和第二响应摘要数据后,将第一响应摘要数据和第二响应摘要数据进行比较,若第一响应摘要数据和第二响应摘要数据一致,则客户端接收该响应明文数据;
若第一响应摘要数据和第二响应摘要数据不一致,则说明第一响应密文数据或第二响应密文数据在传输的过程中,被篡改过,因此,客户端不保存该响应明文数据,并向服务端发送响应失败的信息。
示例性地,假设服务端公钥为p2,客户端在接受服务端发送的第一响应密文数据C3和第二响应密文数据C4后,采用对称秘钥m2对第一响应密文数据C3进行解密,得到响应明文数据,并将响应明文数据转换成第一响应摘要数据n3,并采用服务端的服务端公钥p2对第二响应摘要数据C4进行解密,得到第二响应摘要数据n4,客户端将第一响应摘要数据n3和第二响应摘要数据n4进行比对,若第一响应摘要数据n3和第二响应摘要数据n4一致,则客户端保存该响应明文数据;若第一响应摘要数据n3和第二响应摘要数据n4不一致,则客户端不保存该响应明文数据,并向服务端发送响应失败的信息。
在一种可选的实施方式中,第一响应密文数据中可以包含第一服务端时间标识;第二响应密文数据中可以包含第二服务端时间标识;客户端在采用对称秘钥对第一响应密文数据进行解密后,可以得到响应明文数据和第一服务端时间标识,在采用服务端时的服务端公钥对第二响应密文数据进行解密后,可以得到第二响应摘要数据和第二服务端时间标识;服务端可以将响应明文数据转换成第一响应摘要数据,并将第一响应摘要数据和第二响应摘要数据进行比较。
若第一响应摘要数据和第二响应摘要数据一致,则查看第一响应密文数据中的第一服务端时间标识和第二响应密文数据中的第二服务端时间标识;若第一服务端时间标识和第二服务端时间标识均未超出设定期限,则保存响应明文数据。
示例性地,假设设定期限的开始时间为第一响应密文数据和第二响应密文数据的发送时间,第一服务端时间标识中表示设定期限为1个月,第二服务端时间标识表示设定期限为1个月,当第一响应摘要数据和第二响应摘要数据一致后,服务端可以查看第一服务端时间标识和第二服务端时间标识,当第一服务端时间标识和第二服务端时间标识均未超出1个月时,客户端才保存响应明文数据。
在一种可选的实施方式中,对称秘钥和非对称秘钥均可以按照设定时间周期进行更新,非对称秘钥包括客户端私钥、客户端公钥、服务端私钥和服务端公钥,其中,在秘钥更新过程中,对称秘钥包括待更新秘钥和已更新秘钥。如图3所示,图3示出了一种秘钥更新方法的交互流程图,该方法可以包括如下步骤:
步骤S301,客户端向服务端发送注册请求;
步骤S302,服务端接收客户端发送的注册请求,向客户端发送客户端标识和初始秘钥;
在一种可选的实施方式中,初始秘钥为客户端首次向服务端发送秘钥更新请求时的待更新秘钥,且初始秘钥只能用于后续秘钥的更新,不能对报文数据进行加密和解密。
步骤S303,客户端向服务端发送秘钥更新请求;
在一种可选的实施方式中,秘钥更新请求是客户端按照设定时间周期发送的,其中,设定时间周期可以是一个月,也可以是两个月等,本申请对此不做限定。
在一种可选的实施方式中,秘钥更新请求中可以包括客户端的客户端标识和客户端标识密文;其中,客户端标识密文是采用待更新秘钥对客户端的客户端标识进行加密得到的,在加密过程中,可以对客户端标识密文设置有效时间;例如,假设客户端标识密文的有效期为一个月;在一个月内,该客户端标识密文为有效密文,服务端在接收到该客户端标识密文后,可以对该客户端标识密文正常响应;当超过一个月后,该客户端标识密文为无效密文,服务端在接收到该客户端标识密文后,不对该客户端标识密文进行响应。
步骤S304,服务端根据秘钥更新请求中的客户端标识查找客户端对应的待更新秘钥;并采用客户端对应的待更新秘钥对客户端标识密文进行解密,得到客户端标识密文中的客户端标识;
步骤S305,生成已更新秘钥,并采用待更新秘钥对已更新秘钥进行加密,得到已更新秘钥密文。
在一种可选的实施方式中,服务端可以将客户端标识密文中的客户端标识与秘钥更新请求中的客户端标识进行比对;若客户端标识密文中的客户端标识与秘钥更新请求中的客户端标识一致,则生成已更新秘钥,并采用待更新秘钥对已更新秘钥进行加密,得到已更新秘钥密文;若客户端标识密文中的客户端标识与秘钥更新请求中的客户端标识不一致,则不对客户端进行响应。
在一种可选的实施方式中,服务端可以针对各个客户端,在服务端数据库中对应存储与各个客户端相关的待更新秘钥,在每次生成已更新秘钥,并采用待更新秘钥对已更新秘钥进行加密,得到已更新秘钥密文后,将已更新秘钥作为新的待更新秘钥存储至服务端数据库中,并删除旧的待更新秘钥。
步骤S306,服务端将已更新秘钥密文发送至客户端;
步骤S307,客户端接收服务端发送的已更新秘钥密文,采用待更新秘钥对已更新秘钥密文进行解密,得到已更新秘钥;
在一种可选的实施方式中,客户端在采用待更新秘钥对已更新秘钥密文进行解密,得到已更新秘钥后,可以删除旧的待更新秘钥,并将得到的已更新秘钥作为新的待更新秘钥对应存储至客户端数据库中。
步骤S308,客户端生成客户端公钥和客户端私钥;
步骤S309,客户端向服务端发送客户端公钥密文和客户端标识;
在一种可选的实施方式中,客户端公钥密文是客户端采用已更新秘钥对客户端公钥进行加密后得到的。
步骤S310,服务端接收客户端发送的客户端公钥密文和客户端标识,根据客户端标识查找到客户端对应的已更新秘钥,采用已更新秘钥对客户端公钥密文进行解密,得到客户端的客户端公钥,并生成与客户端标识对应的服务端公钥和服务端私钥;
步骤S311,客户端向服务端发送服务端公钥下载请求;
在一种可选的实施方式中,服务端公钥下载请求中包括服务端公钥下载密文和客户端标识。其中,服务端公钥下载密文是客户端采用已更新秘钥对客户端标识进行加密,并采用客户端私钥对客户端标识进行加密后得到的;
步骤S312,服务端接收客户端发送的服务端公钥下载请求,根据服务端公钥下载请求中的客户端标识查找与客户端对应的已更新秘钥和客户端公钥;分别采用客户端对应的已更新秘钥和客户端公钥对服务端公钥下载密文进行解密,得到服务端公钥下载密文中的客户端标识;
步骤S313,服务端向客户端发送服务端公钥密文;
在一种可选的实施方式中,服务端公钥密文是采用已更新秘钥对服务端公钥进行加密得到的;服务端可以将服务端公钥下载密文中的客户端标识与服务端公钥下载请求中的客户端标识进行比较,若服务端公钥下载密文中的客户端标识与服务端公钥下载请求中的客户端标识一致,则向客户端发送服务端公钥密文;若服务端公钥下载密文中的客户端标识与服务端公钥下载请求中的客户端标识不一致,则服务端不对客户端进行响应。
步骤S314,客户端接收服务端发送的服务端公钥密文,采用已更新秘钥对服务端公钥密文进行解密,得到服务端公钥。
示例性地,在一种实施例中,假设服务端向客户端发送的客户端标识为id1,初始秘钥为m1,客户端向服务端发送秘钥更新请求,该秘钥更新请求中包括客户端的客户端标识id1和客户端标识密文,客户端标识密文是使用初始秘钥m1对客户端标识id1进行加密得到的;服务端在接收到秘钥更新请求后,根据秘钥更新请求中包含的客户端标识id1查找到对应的待更新秘钥,采用客户端对应的待更新秘钥对客户端标识密文进行解密,得到客户端标识密文中的客户端标识。
服务端将客户端标识密文中的客户端标识和秘钥更新请求中的客户端标识id1进行比对;若比对结果一致,则生成已更新秘钥m2;采用待更新秘钥m1对已更新秘钥m2进行加密,得到已更新秘钥密文,并发送至客户端。
客户端接收服务端发送的已更新秘钥密文后,采用待更新秘钥m1对已更新秘钥密文进行解密,得到已更新秘钥m2。
客户端生成客户端公钥P1和客户端私钥S1,向服务端发送客户端公钥密文和客户端标识id1,其中,客户端公钥密文是客户端采用已更新秘钥m2对客户端公钥P1进行加密后得到的。服务端根据客户端标识查找到客户端对应的已更新秘钥m2,采用已更新秘钥m2对客户端公钥密文进行解密,得到客户端的客户端公钥P1,并生成与客户端标识对应的服务端公钥P2和服务端私钥S2。
客户端向服务端发送服务端公钥下载请求,服务端公钥下载请求中包括服务端公钥下载密文和客户端标识id1。其中,服务端公钥下载密文是客户端采用已更新秘钥m2对客户端标识id1进行加密,并采用客户端私钥S1对客户端标识id1进行加密后得到的。
服务端接收客户端发送的服务端公钥下载请求后,根据服务端公钥下载请求中的客户端标识id1查找与客户端对应的已更新秘钥m2和客户端公钥P1;分别采用客户端对应的已更新秘钥m2和客户端公钥P1对服务端公钥下载密文进行解密,得到服务端公钥下载密文中的客户端标识;服务端公钥密文是采用已更新秘钥对服务端公钥进行加密得到的;服务端可以将服务端公钥下载密文中的客户端标识与服务端公钥下载请求中的客户端标识进行比较,若比对结果一致,则向客户端发送服务端公钥密文。
客户端接收服务端发送的服务端公钥密文,并采用已更新秘钥对服务端公钥密文进行解密,以得到服务端公钥。
在本申请实施例中,初始秘钥可以通过短信、邮件或线下等方式进行申请,本申请对此不做限定。
基于相同的技术构思,本申请实施例还提供了一种报文加密方法,应用于服务端,如图4所示,该方法可以包括以下步骤:
步骤S401,接收客户端发送的请求密文签名数据。
请求密文签名数据中包括第一请求密文数据和第二请求密文数据;第一请求密文数据是客户端采用对称秘钥对请求明文进行加密得到的;第二请求密文数据是客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,请求明文摘要是基于请求明文得到的。
步骤S402,采用对称秘钥对第一请求密文数据进行解密得到明文数据,并将明文数据转换成第一请求摘要数据。
步骤S403,采用客户端的客户端公钥对第二请求密文数据进行解密,得到第二请求摘要数据。
步骤S404,若第一请求摘要数据和第二请求摘要数据一致,则对明文数据进行业务处理,得到响应明文,并基于响应明文向客户端发送反馈数据。
基于相同的技术构思,本申请实施例还提供了一种报文加密方法,应用于客户端,如图5所示,该方法可以包括以下步骤:
步骤S501,采用对称秘钥对请求明文进行加密,得到第一请求密文数据。
步骤S502,将请求明文转换成请求明文摘要,并采用客户端私钥对请求明文摘要进行非对称加密,得到第二请求密文数据。
步骤S503,向服务端发送请求密文签名数据。
请求密文签名数据中包括第一请求密文数据和第二请求密文数据;
步骤S504,接受所述服务端发送的反馈数据。
反馈数据是服务端采用所述对称秘钥对第一请求密文数据进行解密得到明文数据,并将明文数据转换成第一请求摘要数据后,采用客户端的客户端公钥对第二密文数据进行解密,得到第二请求摘要数据;若第一请求摘要数据和第二请求摘要数据一致,则对明文数据进行业务处理,得到响应明文,并基于响应明文向客户端发送的反馈数据。
基于相同的技术构思,本申请实施例还提供了一种服务端设备,该服务端设备可实现前述实施例所执行的流程。
图6为本申请实施例提供的一种报文加密装置的结构示意图。如图6所示,该报文加密装置应用于服务端,该装置包括:第一接收单元601、第一解密单元602、第二解密单元603和第一发送单元604;
第一接收单元601,接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
第一解密单元602,采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
第二解密单元603,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;
第一发送单元604,若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送反馈数据。
在一种可选的实施例中,所述第一发送单元604,还可以用于:
采用所述对称秘钥对所述响应明文进行加密得到第一响应密文数据;
将所述响应明文转换成响应明文摘要,并采用服务端私钥对所述响应明文摘要进行非对称加密,得到第二响应密文数据;
向所述客户端发送反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据。
在一种可选的实施例中,所述第一发送单元604,还可以用于:
若第一请求摘要数据和所述第二请求摘要数据一致,则查看所述第一客户端时间标识和所述第二客户端时间标识;所述第一客户端时间标识是采用所述对称秘钥对所述第一请求密文数据进行解密得到的;所述第二客户端时间标识是采用所述客户端的客户端公钥对所述第二请求密文数据进行解密得到的;
若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则对所述明文数据进行业务处理。
在一种可选的实施例中,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
在一种可选的实施例中,所述报文加密装置在第一接收单元601和第一解密单元602之间,还可以包括查找单元701,如图7所示,所述查找单元701具体用于:
根据所述请求密文签名数据中的客户端标识查找所述客户端对应的对称秘钥和所述客户端公钥。
基于相同的技术构思,本申请实施例还提供了一种客户端设备,该客户端设备可实现前述实施例所执行的流程。
图8为本申请实施例提供的一种报文加密装置的结构示意图。如图8所示,该报文加密装置应用于客户端,包括:第一加密单元801、第二加密单元802、第二发送单元803和第二接收单元804。
第一加密单元801,采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
第二加密单元802,将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
第二发送单元803,向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;
第二接收单元804,接受所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据。
在一种可选的实施例中,所述第二接收单元804,还可以用于:
采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据,并将所述响应明文数据转换成第一响应摘要数据;
采用所述服务端的服务端公钥对所述第二响应密文数据进行解密,得到第二响应摘要数据;
若所述第一响应摘要数据和所述第二响应摘要数据一致,则接收所述响应明文数据。
在一种可选的实施例中,所述第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识;所述第二接收单元804,还可以用于:
若所述第一响应摘要数据和所述第二响应摘要数据一致,则查看所述第一服务端时间标识和所述第二服务端时间标识;所述第一服务端时间标识是采用所述对称秘钥对所述第一响应密文数据进行解密得到的;所述第二服务端时间标识是采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到的;
若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则接收所述响应明文数据。
在一种可选的实施例中,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
基于相同的技术构思,本申请实施例还提供了一种服务端设备。该服务端设备可实现前述实施例中图9所执行的方法的流程。
图9示出了本申请实施例提供的该服务端设备的结构示意图,即示出了服务端设备的另一结构示意图。如图9所示,该服务端设备包括处理器901、存储器902和收发机903;
处理器901负责管理总线架构和通常的处理,存储器902可以存储处理器901在执行操作时所使用的数据。收发机903用于在处理器901的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器902代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器901负责管理总线架构和通常的处理,存储器902可以存储处理器901在执行操作时所使用的数据。
本申请实施例揭示的流程,可以应用于处理器901中,或者由处理器901实现。在实现过程中,信号处理流程的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。处理器901可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成信号处理流程的步骤。
具体地,处理器901,用于读取存储器902中的程序并执行:
接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
采用所述客户端的客户端公钥对所述第二请求密文数据进行解密,得到第二请求摘要数据;
若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送反馈数据。
在一种可选的实施例中,所述处理器901,还可以用于:
采用所述对称秘钥对所述响应明文进行加密得到第一响应密文数据;
将所述响应明文转换成响应明文摘要,并采用服务端私钥对所述响应明文摘要进行非对称加密,得到第二响应密文数据;
向所述客户端发送反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据。
在一种可选的实施例中,所述请求密文签名数据包括所述客户端的客户端标识;所述处理器901,还可以用于:
根据所述请求密文签名数据中的客户端标识查找所述客户端对应的对称秘钥和所述客户端公钥。
在一种可选的实施例中,所述第一请求密文数据中包含第一客户端时间标识;所述第二请求密文数据中包含第二客户端时间标识;所述处理器901,还可以用于:
若第一请求摘要数据和所述第二请求摘要数据一致,则查看所述第一客户端时间标识和所述第二客户端时间标识;所述第一客户端时间标识是采用所述对称秘钥对所述第一请求密文数据进行解密得到的;所述第二客户端时间标识是采用所述客户端的客户端公钥对所述第二请求密文数据进行解密得到的;
若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则对所述明文数据进行业务处理。
在一种可选的实施例中,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
基于相同的技术构思,本申请实施例还提供了一种客户端设备。该客户端设备可实现前述实施例中图10所执行的方法的流程。
图10示出了本申请实施例提供的该客户端设备的结构示意图,即示出了客户端设备的另一结构示意图。如图10所示,该客户端设备包括处理器1001、存储器1002和收发机1003;
处理器1001负责管理总线架构和通常的处理,存储器1002可以存储处理器1001在执行操作时所使用的数据。收发机1003用于在处理器1001的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器1001代表的一个或多个处理器和存储器1002代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器1001负责管理总线架构和通常的处理,存储器1002可以存储处理器1001在执行操作时所使用的数据。
本申请实施例揭示的流程,可以应用于处理器1001中,或者由处理器1001实现。在实现过程中,信号处理流程的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1001可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1002,处理器1001读取存储器1002中的信息,结合其硬件完成信号处理流程的步骤。
具体地,处理器1001,用于读取存储器1002中的程序并执行:
采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;
接受所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据。
在一种可选的实施例中,所述反馈数据包括第一响应密文数据和第二响应密文数据;所述处理器1001,还可以用于:
采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据,并将所述响应明文数据转换成第一响应摘要数据;
采用所述服务端的服务端公钥对所述第二响应密文数据进行解密,得到第二响应摘要数据;
若所述第一响应摘要数据和所述第二响应摘要数据一致,则接收所述响应明文数据。
在一种可选的实施例中,所述第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识;所述处理器1001,还可以用于:
若所述第一响应摘要数据和所述第二响应摘要数据一致,则查看所述第一服务端时间标识和所述第二服务端时间标识;所述第一服务端时间标识是采用所述对称秘钥对所述第一响应密文数据进行解密得到的;所述第二服务端时间标识是采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到的;
若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则接收所述响应明文数据。
在一种可选的实施例中,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
本申请实施例针对报文加密方法还提供一种计算设备可读存储介质,即断电后内容不丢失。该存储介质中存储软件程序,包括程序代码,当程序代码在计算设备上运行时,该软件程序在被一个或多个处理器读取并执行时可实现本申请实施例上面任何一种报文加密方法的方案。
在一些可能的实施方式中,本申请提供的报文加密方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的报文加密方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种报文加密方法,其特征在于,应用于服务端,所述方法包括:
接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
采用所述客户端的客户端公钥对所述第二请求密文数据进行解密,得到第二请求摘要数据;
若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送反馈数据;
所述基于所述响应明文向所述客户端发送反馈数据,包括:
采用所述对称秘钥对所述响应明文进行加密得到第一响应密文数据;
将所述响应明文转换成响应明文摘要,并采用服务端私钥对所述响应明文摘要进行非对称加密,得到第二响应密文数据;
向所述客户端发送反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据;第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识,以使所述客户端接收到所述反馈数据后,采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据和所述第一服务端时间标识,并将所述响应明文数据转换成第一响应摘要数据,采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到第二响应摘要数据和所述第二服务端时间标识,若所述第一响应摘要数据和所述第二响应摘要数据一致,且若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则所述客户端保存响应明文数据;
所述第一请求密文数据中包含第一客户端时间标识;所述第二请求密文数据中包含第二客户端时间标识;所述若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理;包括:
若第一请求摘要数据和所述第二请求摘要数据一致,则查看所述第一客户端时间标识和所述第二客户端时间标识;所述第一客户端时间标识是采用所述对称秘钥对所述第一请求密文数据进行解密得到的;所述第二客户端时间标识是采用所述客户端的客户端公钥对所述第二请求密文数据进行解密得到的;
若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则对所述明文数据进行业务处理。
2.根据权利要求1所述的方法,其特征在于,所述请求密文签名数据包括所述客户端的客户端标识;所述采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据之前,所述方法还包括:
根据所述请求密文签名数据中的客户端标识,查找所述客户端对应的对称秘钥和所述客户端公钥。
3.根据权利要求1所述的方法,其特征在于,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
4.一种报文加密方法,其特征在于,应用于客户端,所述方法包括:
采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据中包含第一客户端时间标识;所述第二请求密文数据中包含第二客户端时间标识,以使所述服务端接收到所述请求密文签名数据后,采用所述对称秘钥对所述第一请求密文数据进行解密后得到明文数据和所述第一客户端时间标识,并将所述明文数据转换成第一请求摘要数据,采用所述客户端的客户端公钥对所述第二请求密文数据进行解密后得到第二请求摘要数据和所述第二客户端时间标识,若所述第一请求摘要数据和所述第二请求摘要数据一致,且若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则所述服务端对所述明文数据进行业务处理,得到响应明文;
接收所述服务端发送的反馈数据;所述反馈数据是所述服务端基于所述响应明文得到的反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据;
采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据,并将所述响应明文数据转换成第一响应摘要数据;
采用所述服务端的服务端公钥对所述第二响应密文数据进行解密,得到第二响应摘要数据;
若所述第一响应摘要数据和所述第二响应摘要数据一致,则保存所述响应明文数据;
所述第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识;所述若所述第一响应摘要数据和所述第二响应摘要数据一致,则保存所述响应明文数据;包括:
若所述第一响应摘要数据和所述第二响应摘要数据一致,则查看所述第一服务端时间标识和所述第二服务端时间标识;所述第一服务端时间标识是采用所述对称秘钥对所述第一响应密文数据进行解密得到的;所述第二服务端时间标识是采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到的;
若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则保存所述响应明文数据。
5.根据权利要求4所述的方法,其特征在于,所述对称秘钥、所述客户端私钥和所述客户端公钥均按照设定时间周期进行更新。
6.一种报文加密装置,其特征在于,应用于服务端,所述装置包括:
第一接收单元,用于接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
第一解密单元,用于采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;所述第一请求密文数据中包含第一客户端时间标识;
第二解密单元,用于采用所述客户端的客户端公钥对所述第二请求密文数据进行解密,得到第二请求摘要数据;所述第二请求密文数据中包含第二客户端时间标识;
第一发送单元,用于若第一请求摘要数据和所述第二请求摘要数据一致,则查看所述第一客户端时间标识和所述第二客户端时间标识;所述第一客户端时间标识是采用所述对称秘钥对所述第一请求密文数据进行解密得到的;所述第二客户端时间标识是采用所述客户端的客户端公钥对所述第二请求密文数据进行解密得到的;若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则对所述明文数据进行业务处理,得到响应明文,并采用所述对称秘钥对所述响应明文进行加密得到第一响应密文数据;将所述响应明文转换成响应明文摘要,并采用服务端私钥对所述响应明文摘要进行非对称加密,得到第二响应密文数据;向所述客户端发送反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据;第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识,以使所述客户端接收到所述反馈数据后,采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据和所述第一服务端时间标识,并将所述响应明文数据转换成第一响应摘要数据,采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到第二响应摘要数据和所述第二服务端时间标识,若所述第一响应摘要数据和所述第二响应摘要数据一致,且若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则所述客户端保存响应明文数据。
7.一种服务端设备,其特征在于,包括:存储器、收发机以及处理器;
所述存储器,用于存储计算机指令;
所述收发机,用于在所述处理器的控制下收发数据;
所述处理器,用于读取所述存储器中的计算机指令并执行如下步骤:
接收客户端发送的请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据是所述客户端采用对称秘钥对请求明文进行加密得到的;所述第二请求密文数据是所述客户端采用客户端私钥对请求明文摘要进行非对称加密得到的,所述请求明文摘要是基于所述请求明文得到的;
采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据;
采用所述客户端的客户端公钥对所述第二请求密文数据进行解密,得到第二请求摘要数据;
所述第一请求密文数据中包含第一客户端时间标识;所述第二请求密文数据中包含第二客户端时间标识;若所述第一请求摘要数据和所述第二请求摘要数据一致,则查看所述第一客户端时间标识和所述第二客户端时间标识;所述第一客户端时间标识是采用所述对称秘钥对所述第一请求密文数据进行解密得到的;所述第二客户端时间标识是采用所述客户端的客户端公钥对所述第二请求密文数据进行解密得到的;若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则对所述明文数据进行业务处理,得到响应明文,并采用所述对称秘钥对所述响应明文进行加密得到第一响应密文数据;将所述响应明文转换成响应明文摘要,并采用服务端私钥对所述响应明文摘要进行非对称加密,得到第二响应密文数据;向所述客户端发送反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据;第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识,以使所述客户端接收到所述反馈数据后,采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据和所述第一服务端时间标识,并将所述响应明文数据转换成第一响应摘要数据,采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到第二响应摘要数据和所述第二服务端时间标识,若所述第一响应摘要数据和所述第二响应摘要数据一致,且若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则所述客户端保存响应明文数据。
8.一种报文加密装置,其特征在于,应用于客户端,所述装置包括:
第一加密单元,用于采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
第二加密单元,用于将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
第二发送单元,用于向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据中包含第一客户端时间标识;所述第二请求密文数据中包含第二客户端时间标识,以使所述服务端接收到所述请求密文签名数据后,采用所述对称秘钥对所述第一请求密文数据进行解密后得到明文数据和所述第一客户端时间标识,并将所述明文数据转换成第一请求摘要数据,采用所述客户端的客户端公钥对所述第二请求密文数据进行解密后得到第二请求摘要数据和所述第二客户端时间标识,若所述第一请求摘要数据和所述第二请求摘要数据一致,且若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则所述服务端对所述明文数据进行业务处理,得到响应明文;
第二接收单元,用于接收所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二请求密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据;采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据,并将所述响应明文数据转换成第一响应摘要数据;采用所述服务端的服务端公钥对所述第二响应密文数据进行解密,得到第二响应摘要数据;所述第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识;若所述第一响应摘要数据和所述第二响应摘要数据一致,则查看所述第一服务端时间标识和所述第二服务端时间标识;所述第一服务端时间标识是采用所述对称秘钥对所述第一响应密文数据进行解密得到的;所述第二服务端时间标识是采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到的;若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则保存所述响应明文数据。
9.一种客户端设备,其特征在于,包括:存储器、收发机以及处理器;
所述存储器,用于存储计算机指令;
所述收发机,用于在所述处理器的控制下收发数据;
所述处理器,用于读取所述存储器中的计算机指令并执行如下步骤:
采用对称秘钥对请求明文进行加密,得到第一请求密文数据;
将所述请求明文转换成请求明文摘要,并采用客户端私钥对所述请求明文摘要进行非对称加密,得到第二请求密文数据;
向服务端发送请求密文签名数据;所述请求密文签名数据中包括第一请求密文数据和第二请求密文数据;所述第一请求密文数据中包含第一客户端时间标识;所述第二请求密文数据中包含第二客户端时间标识,以使所述服务端接收到所述请求密文签名数据后,采用所述对称秘钥对所述第一请求密文数据进行解密后得到明文数据和所述第一客户端时间标识,并将所述明文数据转换成第一请求摘要数据,采用所述客户端的客户端公钥对所述第二请求密文数据进行解密后得到第二请求摘要数据和所述第二客户端时间标识,若所述第一请求摘要数据和所述第二请求摘要数据一致,且若所述第一客户端时间标识和所述第二客户端时间标识均未超出设定期限,则所述服务端对所述明文数据进行业务处理,得到响应明文;
接收所述服务端发送的反馈数据,所述反馈数据是所述服务端采用所述对称秘钥对所述第一请求密文数据进行解密得到明文数据,并将所述明文数据转换成第一请求摘要数据后,采用所述客户端的客户端公钥对所述第二请求密文数据进行解密,得到第二请求摘要数据;若所述第一请求摘要数据和所述第二请求摘要数据一致,则对所述明文数据进行业务处理,得到响应明文,并基于所述响应明文向所述客户端发送的反馈数据;所述反馈数据包括第一响应密文数据和第二响应密文数据;采用所述对称秘钥对所述第一响应密文数据进行解密得到响应明文数据,并将所述响应明文数据转换成第一响应摘要数据;采用所述服务端的服务端公钥对所述第二响应密文数据进行解密,得到第二响应摘要数据;所述第一响应密文数据中包含第一服务端时间标识;所述第二响应密文数据中包含第二服务端时间标识;若所述第一响应摘要数据和所述第二响应摘要数据一致,则查看所述第一服务端时间标识和所述第二服务端时间标识;所述第一服务端时间标识是采用所述对称秘钥对所述第一响应密文数据进行解密得到的;所述第二服务端时间标识是采用所述服务端的服务端公钥对所述第二响应密文数据进行解密得到的;若所述第一服务端时间标识和所述第二服务端时间标识均未超出设定期限,则保存所述响应明文数据。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至5中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包含有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5中任一项所述的方法。
CN202111387007.XA 2021-11-22 2021-11-22 报文加密方法、服务端设备、客户端设备及存储介质 Active CN114095254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111387007.XA CN114095254B (zh) 2021-11-22 2021-11-22 报文加密方法、服务端设备、客户端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111387007.XA CN114095254B (zh) 2021-11-22 2021-11-22 报文加密方法、服务端设备、客户端设备及存储介质

Publications (2)

Publication Number Publication Date
CN114095254A CN114095254A (zh) 2022-02-25
CN114095254B true CN114095254B (zh) 2024-04-12

Family

ID=80302726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111387007.XA Active CN114095254B (zh) 2021-11-22 2021-11-22 报文加密方法、服务端设备、客户端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114095254B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
WO2021169266A1 (zh) * 2020-02-26 2021-09-02 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质
CN113438086A (zh) * 2021-06-24 2021-09-24 深圳前海微众银行股份有限公司 一种数据安全防护方法和系统
CN113497778A (zh) * 2020-03-18 2021-10-12 北京同邦卓益科技有限公司 一种数据的传输方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354498A (zh) * 2013-05-31 2013-10-16 北京鹏宇成软件技术有限公司 一种基于身份的文件加密传输方法
WO2021169266A1 (zh) * 2020-02-26 2021-09-02 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质
CN113497778A (zh) * 2020-03-18 2021-10-12 北京同邦卓益科技有限公司 一种数据的传输方法和装置
CN113438086A (zh) * 2021-06-24 2021-09-24 深圳前海微众银行股份有限公司 一种数据安全防护方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
银行信息安全系统的设计与实现;贺兴华;《中国优秀硕士学位论文全文数据库 信息科技辑 2013年第02期》;20130215;全文 *

Also Published As

Publication number Publication date
CN114095254A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
US11153072B2 (en) Processing blockchain data based on smart contract operations executed in a trusted execution environment
US10860710B2 (en) Processing and storing blockchain data under a trusted execution environment
US11323271B2 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
JP6892513B2 (ja) 信頼できる実行環境に基づいたオフチェーンスマートコントラクトサービス
US10917249B2 (en) Processing data elements stored in blockchain networks
CN114024710A (zh) 一种数据传输方法、装置、系统及设备
CN107040520B (zh) 一种云计算数据共享系统及方法
CN109660534B (zh) 基于多商户的安全认证方法、装置、电子设备及存储介质
CN112966287B (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN114095165B (zh) 密钥更新方法、服务端设备、客户端设备及存储介质
CN114357472B (zh) 数据的打标签方法、系统、电子设备和可读存储介质
CN114095254B (zh) 报文加密方法、服务端设备、客户端设备及存储介质
KR20210069865A (ko) Rest api 기반의 암호화폐 거래 시스템
Tabassum et al. Trident: a M2M communication solution for IoT devices using blockchain fused MQTT and PUF based authentication scheme
CN116668030A (zh) 基于区块链的数据处理方法及装置、电子设备、存储介质
CN115809877A (zh) 一种卡片激活方法、装置、设备及介质
CN114386073A (zh) 创建安全证书方法、装置、电子设备及存储介质
CN113746835A (zh) 数据传输方法、装置、设备和存储介质
CN118540696A (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