CN116980128A - 一种应用间数据传输处理方法及装置 - Google Patents

一种应用间数据传输处理方法及装置 Download PDF

Info

Publication number
CN116980128A
CN116980128A CN202311229542.1A CN202311229542A CN116980128A CN 116980128 A CN116980128 A CN 116980128A CN 202311229542 A CN202311229542 A CN 202311229542A CN 116980128 A CN116980128 A CN 116980128A
Authority
CN
China
Prior art keywords
data
application
encryption
receiving end
signature
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
CN202311229542.1A
Other languages
English (en)
Other versions
CN116980128B (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.)
Beijing Shudun Information Technology Co ltd
Original Assignee
Beijing Shudun Information 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 Shudun Information Technology Co ltd filed Critical Beijing Shudun Information Technology Co ltd
Priority to CN202311229542.1A priority Critical patent/CN116980128B/zh
Publication of CN116980128A publication Critical patent/CN116980128A/zh
Application granted granted Critical
Publication of CN116980128B publication Critical patent/CN116980128B/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
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/40Network security protocols

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

一种应用间数据传输处理方法及装置
技术领域
本发明涉及信息安全技术领域,特别是指一种应用间数据传输处理方法及装置。
背景技术
随着信息技术的不断发展,数据安全越来越重要。传统的HTTP在数据的传输过程中采用明文数据进行传输,对于一些敏感信息泄露存在巨大的安全隐患;HTTPS虽然可以解决传输过程中数据加密的问题,但配置复杂,需要专业人员来配置服务器证书,并且证书需要使用者按期缴费,增加使用者成本。
发明内容
本发明要解决的技术问题是如何提供一种应用间数据传输处理方法及装置。解决了现有应用间进行数据传输时数据安全性低,以及进行加密传输时,应用配置复杂且成本高的问题。
为解决上述技术问题,本发明的技术方案如下:
本发明的实施例提供一种应用间数据传输处理方法,应用于发送端应用,所述方法包括:
获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;
通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;
对所述第一加密数据进行签名处理,获取目标数据;
将所述目标数据传输至接收端应用。
可选的,与接收端应用协商确定第一加密密钥的过程包括:
获取所述接收端应用的签名公钥证书以及加密公钥证书的存储位置;
基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据;
向所述接收端应用发送数据密钥协商请求数据;
接收所述接收端应用基于所述数据密钥协商请求数据反馈的携带有第二随机数的数据密钥协商请求响应数据;
根据所述数据密钥协商请求响应数据,生成第一加密密钥。
可选的,基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据,包括:
生成第一随机数;
通过接收端应用加密公钥证书的存储位置,获取接收端应用的加密公钥证书;
通过接收端应用的加密公钥证书对第一随机数进行加密处理,获取第一随机数的加密数据;
通过发送端应用自己的签名私钥对第一随机数进行签名,获取第一随机数的签名数据;
对所述第一随机数的签名数据和所述第一随机数的加密数据进行拼接处理,获取数据密钥协商请求数据。
可选的,根据所述数据密钥协商请求响应数据,生成第一加密密钥,包括:
使用发送端应用的加密私钥对所述数据密钥协商请求响应数据进行解密,获取所述第二随机数;
使用接收端应用的签名公钥证书对所述第二随机数进行验签,并在验签通过后,将所述第一随机数与所述第二随机数异或得到第一加密密钥;
其中,所述接收端应用的加密公钥证书通过所述接收端应用加密公钥证书的存储位置处获取。
可选的,对所述第一加密数据进行签名处理,获取目标数据,包括:
通过发送端应用的签名私钥调用发送端应用的签名验签模块对第一加密数据进行签名生成第一签名数据;
将所述第一加密数据和第一签名数据进行预设组装,生成目标数据。
可选的,所述的应用间数据传输处理方法,还包括:
接收所述接收端应用基于所述目标数据发送的反馈数据;
通过所述接收端应用的签名公钥证书对所述反馈数据行验签,并在验签通过后,通过所述第一加密密钥调用发送端加解密模块对所述反馈数据进行解密处理,获取请求数据的响应结果。
本发明的实施例还提供一种应用间数据传输处理方法,应用于接收端应用,所述方法包括:
接收发送端应用发出的目标数据;
获取第二加密密钥,所述第二加密密钥是与发送端应用协商确定的;
通过发送端应用的签名公钥证书对所述目标数据进行验签,并在验签通过后,通过所述第二加密密钥对所述目标数据进行解密处理,获取请求数据;
对所述请求数据进行原有业务逻辑的数据处理,获取请求数据所对应的响应数据;
对所述响应数据进行预处理,获取反馈数据;
将所述反馈数据发送至发送端应用。
可选的,与发送端应用协商确定第二加密密钥的过程包括:
获取发送端应用的签名公钥证书以及加密公钥证书的存储位置;
通过发送端应用加密公钥证书的存储位置,获取发送端应用的加密公钥证书;
接收所述发送端应用发送的数据密钥协商请求数据;
通过发送端应用的签名公钥证书对数据密钥协商请求数据进行验签,并在验签通过后,通过接收端应用自己的加密私钥对所述数据密钥协商请求数据进行解密,获取第一随机数;
生成第二随机数,并将所述第一随机数与所述第二随机数异或得到第二加密密钥。
可选的,对所述响应数据进行预处理,获取反馈数据,包括:
通过所述第二加密密钥调用接收端加解密模块对所述响应数据进行加密处理,获取第二加密数据;
通过接收端应用的签名私钥调用接收端应用的签名验签模块对第二加密数据进行签名生成第二签名数据;
将所述第二加密数据和第二签名数据进行预设组装,生成反馈数据。
本发明的实施例还提供一种应用间数据传输处理装置,包括:
发送端应用处理模块,用于获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;对所述第一加密数据进行签名处理,获取目标数据;将所述目标数据传输至接收端应用;
接收端应用处理模块,用于接收发送端应用发出的目标数据;获取第二加密密钥,所述第二加密密钥是与发送端应用协商确定的;通过发送端应用的签名公钥证书对所述目标数据进行验签,并在验签通过后,通过所述第二加密密钥对所述目标数据进行解密处理,获取请求数据;对所述请求数据进行原有业务逻辑的数据处理,获取请求数据所对应的响应数据;对所述响应数据进行预处理,获取反馈数据;将所述反馈数据发送至发送端应用。
本发明的上述方案至少包括以下有益效果:
本发明所述的应用间数据传输处理方法,通过获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;对所述第一加密数据进行签名处理,获取目标数据;将所述目标数据传输至接收端应用。实现了应用间进行数据传输时,对传输数据的自动加密,保障了传输的数据的机密性和完整性,同时具有配置简单且成本低的优点。
附图说明
图1是本发明实施例的应用间数据传输处理方法应用于发送端应用的流程示意图;
图2是本发明实施例的应用间数据传输处理方法的加密密钥协商流程图;
图3是本发明实施例的应用间数据传输处理方法的应用间进行数据传输的具体流程图;
图4是本发明实施例的应用间数据传输处理方法的应用间数据传输的架构示意图;
图5是本发明实施例的应用间数据传输处理装置的具体模块结构示意图;
图6是本发明实施例的应用间数据传输处理装置应用于应用间的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1至4所示,本发明的实施例提供一种应用间数据传输处理方法,应用于发送端应用,所述方法包括:
步骤11,获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;
步骤12,通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;
步骤13,对所述第一加密数据进行签名处理,获取目标数据;
步骤14,将所述目标数据传输至接收端应用。
本实施例中,所述应用间数据传输处理方法涉及发送端应用和接收端应用,可用于实现HTTP通信数据在应用间传输时对传输数据的自动加密,具体实现过程为通过获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;对所述第一加密数据进行签名处理,获取目标数据;将所述目标数据传输至接收端应用;实现了应用间传输数据的自动加密,保障了传输的数据的机密性和完整性。
本发明的一个可选的实施例中,与接收端应用协商确定第一加密密钥的过程包括:
步骤111,获取所述接收端应用的签名公钥证书以及加密公钥证书的存储位置;
步骤112,基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据;
步骤113,向所述接收端应用发送数据密钥协商请求数据;
步骤114,接收所述接收端应用基于所述数据密钥协商请求数据反馈的携带有第二随机数的数据密钥协商请求响应数据;
步骤115,根据所述数据密钥协商请求响应数据,生成第一加密密钥。
本实施例中,获取所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,可通过发送端应用中的配置模块来配置接收端应用的签名公钥证书和加密公钥证书的存储位置,同时还可以用发送端应用中的配置模块来配置应用自己的签名公私钥证书;该实施例通过配置证书的设计,保障了应用间进行通讯时,对加密密钥的协商的,以及加密传输数据时,对数据的签名和验证,防止数据遭到篡改。
本发明的一个可选的实施例中,步骤112可以包括:
生成第一随机数;
通过接收端应用加密公钥证书的存储位置,获取接收端应用的加密公钥证书;
通过接收端应用的加密公钥证书对第一随机数进行加密处理,获取第一随机数的加密数据;
通过发送端应用自己的签名私钥对第一随机数进行签名,获取第一随机数的签名数据;
对所述第一随机数的签名数据和所述第一随机数的加密数据进行拼接处理,获取数据密钥协商请求数据。
本发明的一个可选的实施例中,步骤115可以包括:
使用发送端应用的加密私钥对所述数据密钥协商请求响应数据进行解密,获取所述第二随机数;
使用接收端应用的签名公钥证书对所述第二随机数进行验签,并在验签通过后,将所述第一随机数与所述第二随机数异或得到第一加密密钥;
其中,所述接收端应用的加密公钥证书通过所述接收端应用加密公钥证书的存储位置处获取。
本发明的一个可选的实施例中,步骤13可以包括:
通过发送端应用的签名私钥调用发送端应用的签名验签模块对第一加密数据进行签名生成第一签名数据;
将所述第一加密数据和第一签名数据进行预设组装,生成目标数据。
本实施例中,所述预设组装可以是将所述第一加密数据和第一签名数据组装成{“data”:“第一加密数据”,“sign”:“第一签名数据”}格式的数据。
本发明的一个可选的实施例中,所述应用间数据传输处理方法,还包括:
步骤15,接收所述接收端应用基于所述目标数据发送的反馈数据;
步骤16,通过所述接收端应用的签名公钥证书对所述反馈数据行验签,并在验签通过后,通过所述第一加密密钥调用发送端加解密模块对所述反馈数据进行解密处理,获取请求数据的响应结果。
本发明的一个可选的实施例中,所述获取第一加密密钥可以包括:
将协商确定的第一加密密钥缓存至发送端应用的缓存模块中;
通过指令获取指令调用发送端应用的缓存模块中缓存的第一加密密钥。
本实施例中,具体的可以是根据期缓存策略将第一加密密钥缓存在指定位置及缓存指定的时长,以便下一次使用第一加密密钥的时候从缓存中进行读取,当缓存的第一加密密钥到达指定时长后,缓存的第一加密密钥将被清除,应用双方再次进行通信时,就需要重新进行数据加密密钥的协商,通过该设计,可实现对加密密钥的实时更新,进一步的提高了第一加密密钥的保密性和安全性。
本发明的实施例提供一种应用间数据传输处理方法,应用于接收端应用,所述方法包括:
步骤21,步骤接收发送端应用发出的目标数据;
步骤22,获取第二加密密钥,所述第二加密密钥是与发送端应用协商确定的;
步骤23,通过发送端应用的签名公钥证书对所述目标数据进行验签,并在验签通过后,通过所述第二加密密钥对所述目标数据进行解密处理,获取请求数据;
步骤24,对所述请求数据进行原有业务逻辑的数据处理,获取请求数据所对应的响应数据;
步骤25,对所述响应数据进行预处理,获取反馈数据;
步骤26,将所述反馈数据发送至发送端应用。
本实施例中,所述第一加密密钥与所述第二加密密钥为相同的加密密钥。
本发明的一个可选的实施例中,与发送端应用协商确定第二加密密钥的过程包括:
获取发送端应用的签名公钥证书以及加密公钥证书的存储位置;
通过发送端应用加密公钥证书的存储位置,获取发送端应用的加密公钥证书;
接收所述发送端应用发送的数据密钥协商请求数据;
通过发送端应用的签名公钥证书对数据密钥协商请求数据进行验签,并在验签通过后,通过接收端应用自己的加密私钥对所述数据密钥协商请求数据进行解密,获取第一随机数;
生成第二随机数,并将所述第一随机数与所述第二随机数异或得到第二加密密钥。
本实施例中,获取所述发送端应用的签名公钥证书以及加密公钥证书的存储位置,可通过接收端应用中的配置模块来配置发送端应用的签名公钥证书和加密公钥证书的存储位置,同时还可以用接收端应用中的配置模块来配置应用自己的签名公私钥证书;该实施例通过配置证书的设计,保障了应用间进行通讯时,对加密密钥的协商的,以及加密传输数据时,对数据的签名和验证,防止数据遭到篡改。
本发明的一个可选的实施例中,步骤25可以包括:
通过所述第二加密密钥调用接收端加解密模块对所述响应数据进行加密处理,获取第二加密数据;
通过接收端应用的签名私钥调用接收端应用的签名验签模块对第二加密数据进行签名生成第二签名数据;
将所述第二加密数据和第二签名数据进行预设组装,生成反馈数据。
本实施例中,所述预设组装可以是将所述第二加密数据和第二签名数据组装成{“data”:“第二加密数据”,“sign”:“第二签名数据”}格式的数据。
本发明的一个可选的实施例中,所述获取第二加密密钥可以包括:
将协商确定的第二加密密钥缓存至接收端应用的缓存模块中;
通过指令获取指令调用接收端应用的缓存模块中缓存的第二加密密钥。
本实施例中,具体的可以是根据期缓存策略将第二加密密钥缓存在指定位置及缓存指定的时长,以便下一次使用第二加密密钥的时候从缓存中进行读取,当缓存的第二加密密钥到达指定时长后,缓存的第二加密密钥将被清除,应用双方再次进行通信时,就需要重新进行数据加密密钥的协商,通过该设计,可实现对加密密钥的实时更新,进一步的提高了第二加密密钥的保密性和安全性。
本发明所述的应用间数据传输处理方法涉及发送端应用和接收端应用,如图2至图4所示,下面以发送端应用为应用A,接收端应用为应用B为例对所述应用间数据传输处理方法的实现过程进行举例说明:
步骤31,应用A发起数据传输请求;
步骤32,通过应用A的拦截模块拦截应用的请求,准备对发送的数据进行加密和签名;
步骤33,判断缓存模块中是否缓存了第一加密密钥,如果不存在则发起数据加密密钥的协商请求流程,来获取第一加密密钥;如果存在则直接继续进行下一步;
步骤34,从缓存模块中获取第一加密密钥,并通过第一加密密钥调用应用A的加解密模块对传输的请求数据进行加密,生成第一加密数据;
步骤35,使用应用A的签名私钥证书调用签名验签模块对第一加密数据进行签名,生成第一签名数据;
步骤36,将第一加密数据和第一签名数据的数据组装成{“data”:“加密后的数据”,“sign”:“签名后的数据”}格式的数据(即目标数据),然后发送至应用B;
步骤37,当目标数据到达应用B时,应用B的拦截模块将拦截接收到的目标数据,准备对接收到的目标数据进行解密和验签;进行解密和验签前,首先判断应用B的缓存模块是否缓存了第二加密密钥,如果不存在直接向应用A则返回错误提示数据;此时,应用A在接收到返回的错误提示数据后,需要向所述应用B发送协商请求,重新进行协商请求流程来获取加密密钥,直到应用A有第一加密密钥,应用B有第二加密密钥为止;如果存在第二加密密钥则继续进行下一步;
步骤38,使用应用A的签名公钥证书对接收到目标数据进行验签,验签失败则返回错误提示数据;解密成功则进行下一步;
步骤39,从应用B的缓存模块中取出第二加密密钥调用应用B的加解密模块对接收到的目标数据进行解密,获取请求数据;
步骤40,对解密后的请求数据继续进行原有业务逻辑,进行数据的处理,并获取处理结果(即响应数据),对所述响应数据进行特殊处理生成反馈数据,并将所述反馈数据发送至应用A;
该实施例中,对所述响应数据进行特殊处理生成反馈数据的具体过程与请求数据的发送过程一致,响应数据会被应用B的拦截模块进行拦截,然后通过所述第二加密密钥调用应用B的加解密模块对所述响应数据进行加密处理,获取第二加密数据;通过应用B的私钥调用应用B的签名验签模块对第二加密数据进行签名生成第二签名数据;将所述第二加密数据和第二签名数据进行预设组装,生成反馈数据。
该实施例中,应用A接收到反馈数据后,还会通过所述应用B的签名公钥证书对所述反馈数据行验签,并在验签通过后,通过所述第一加密密钥调用应用A的加解密模块对所述反馈数据进行解密处理,获取请求数据的响应结果。
如图2所示,该实施例中,所述数据加密密钥的协商流程,在应用进行首次通信或当缓存模块中的加密密钥失效时,会进行数据加密密钥的协商,具体过程如下:
步骤51,应用A生成第一随机数randomA;
步骤52,应用A使用应用B的加密公钥证书对randomA进行加密,获取randomA的加密数据,并使用应用A自己的签名私钥对randomA进行签名,获取randomA的签名数据;
步骤53,应用A将randomA的加密数据和randomA的签名数据进行拼接生成数据密钥协商请求数据,并后发送给应用B;
步骤54,应用B接收到数据后,使用自己的加密私钥进行解密,并用应用A的签名公钥证书对签名数据进行验签,验签通过,则获取randomA,否则返回错误信息;
步骤55,随后应用B生成第二随机数randomB,并将randomA与randomB异或得到第二加密密钥;
步骤56,应用B使用应用A 的加密公钥证书对randomB进行加密,获取randomB的加密数据,并使用应用B自己的签名私钥对randomB进行签名,获取randomB的签名数据;
步骤57,应用B将randomB的加密数据和randomB的签名数据进行拼接生成数据密钥协商请求响应数据,并发送给应用A;
步骤58,应用A接收到数据后,使用自己的加密私钥对数据进行解密,并用应用B的签名公钥证书对签名数据进行验签,验签通过则获取randomB,否则返回错误信息;
步骤59,应用A将自己生成randomA与解密得到randomB异或得到第一加密密钥,需要说明的是,所述第一加密密钥与所述第二加密密钥为相同的加密密钥;
至此,应用A与应用B都生成相同的数据加密密钥,之后应用A和应用B间的数据传递将使用所述加密密钥进行加密;应用A和应用B协商完成加密密钥后,通过加密密钥对通信的数据进行加密,应用间将能够进行安全通信。加密密钥的使用是有时长限制的,当加密密钥的使用时间达到安全策略设定的时间后,加密密钥将失效,再次进行通信时,会先进行加密密钥的协商,然后才可以进行正常加密通信。
本发明所述的应用间数据传输处理方法,可用于实现HTTP通信数据在应用间传输时对传输数据的自动加密;解决了现有应用间进行数据传输时数据安全性低,以及进行加密传输时,应用配置复杂且成本高的问题,实现了应用间进行数据传输时,对传输数据的自动加密,保障了传输的数据的机密性和完整性,同时具有配置简单且成本低的优点。
本发明的实施例提供一种应用间数据传输处理装置,包括:
发送端应用处理模块,用于获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;对所述第一加密数据进行签名处理,获取目标数据;将所述目标数据传输至接收端应用;
接收端应用处理装置,用于接收发送端应用发出的目标数据;获取第二加密密钥,所述第二加密密钥是与发送端应用协商确定的;通过发送端应用的公钥证书对所述目标数据进行验签,并在验签通过后,通过所述第二加密密钥对所述目标数据进行解密处理,获取请求数据;对所述请求数据进行原有业务逻辑的数据处理,获取请求数据所对应的响应数据;对所述响应数据进行预处理,获取反馈数据;将所述反馈数据发送至发送端应用。
可选的,与接收端应用协商确定第一加密密钥的过程包括:
获取所述接收端应用的签名公钥证书以及加密公钥证书的存储位置;
基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据;
向所述接收端应用发送数据密钥协商请求数据;
接收所述接收端应用基于所述数据密钥协商请求数据反馈的携带有第二随机数的数据密钥协商请求响应数据;
根据所述数据密钥协商请求响应数据,生成第一加密密钥。
可选的,基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据,包括:
生成第一随机数;
通过接收端应用加密公钥证书的存储位置,获取接收端应用的加密公钥证书;
通过接收端应用的加密公钥证书对第一随机数进行加密处理,获取第一随机数的加密数据;
通过发送端应用自己的签名私钥对第一随机数进行签名,获取第一随机数的签名数据;
对所述第一随机数的签名数据和所述第一随机数的加密数据进行拼接处理,获取数据密钥协商请求数据。
可选的,根据所述数据密钥协商请求响应数据,生成第一加密密钥,包括:
使用发送端应用的私钥对所述数据密钥协商请求响应数据进行解密,获取所述第二随机数;
使用接收端应用的签名公钥证书对所述第二随机数进行验签,并在验签通过后,将所述第一随机数与所述第二随机数异或得到第一加密密钥;
其中,所述接收端应用的加密公钥证书通过所述接收端应用加密公钥证书的存储位置处获取。
可选的,对所述第一加密数据进行签名处理,获取目标数据,包括:
通过发送端应用的签名私钥调用发送端应用的签名验签模块对第一加密数据进行签名生成第一签名数据;
将所述第一加密数据和第一签名数据进行预设组装,生成目标数据。
可选的,所述发送端应用处理模块还用于接收所述接收端应用基于所述目标数据发送的反馈数据;
通过所述接收端应用的签名公钥证书对所述反馈数据行验签,并在验签通过后,通过所述第一加密密钥调用发送端加解密模块对所述反馈数据进行解密处理,获取请求数据的响应结果。
可选的,与发送端应用协商确定第二加密密钥的过程包括:
获取发送端应用的签名公钥证书以及加密公钥证书的存储位置;
通过发送端应用加密公钥证书的存储位置,获取发送端应用的加密公钥证书;
接收所述发送端应用发送的数据密钥协商请求数据;
通过发送端应用的公钥对数据密钥协商请求数据进行验签,并在验签通过后,通过接收端应用自己的私钥对所述数据密钥协商请求数据进行解密,获取第一随机数;
生成第二随机数,并将所述第一随机数与所述第二随机数异或得到第二加密密钥。
可选的,对所述响应数据进行预处理,获取反馈数据,包括:
通过所述第二加密密钥调用接收端加解密模块对所述响应数据进行加密处理,获取第二加密数据;
通过接收端应用的签名私钥调用接收端应用的签名验签模块对第二加密数据进行签名生成第二签名数据;
将所述第二加密数据和第二签名数据进行预设组装,生成反馈数据。
一种优选的实施例中,本发明所述的应用间数据传输处理装置,可以是一种SDK软件包,如图5所示,使用时,只需要在相互通信的应用中均引入该装置即可进行安全通信;在Java项目应用中,引入的过程为在项目中创建一个lib目录,把该SDK包放入lib目录,并在项目打包发布时包含该SDK即可。
本发明所述的应用间数据传输处理装置内部的具体结构图可设计成如图6所示的结构,具体包括:配置模块、数据加密密钥协商模块、拦截模块以及缓存模块;
其中,所述配置模块用来配置应用自己的签名公私钥证书、通信对端的签名公钥证书、及加密公钥证书的存储位置;以应用A和应用B之进行HTTP通信为例,应用A需要配置:应用A自已的签名公私钥证书、通信对端应用B的签名公钥证书、通信对端应用B的加密公钥证书的存储位置;应用B需要配置:应用B自已的签名公私钥证书位置、通信对端应用A的签名公钥证书、通信对端应用A的加密公钥证书的获取位置;配置证书的作用有两个,一个是为了在应用间进行通讯时,协商出来数据加密密钥;协商加密密钥的过程如图2所示,另一个是为了应用间加密传输数据时进行数据的签名,防止数据遭到篡改;
所述协商模块是在应用间协商数据加密密钥的核心模块,由两个部分组成,其包括协商发起组件、协商响应组件,当数据加密密钥不存在时,如图2所示,由协商发起组件向通信另一端的应用发起密钥协商的请求,当通信过程中,数据加密密钥过期后,如图2所示,同样由协商发起组件向通信另一端的应用发起密钥协商的请求,当应用接到密钥协商请求后,生成随机数,进行相应的密钥协商响应,同时自身生成协商的数据加密密钥,协商发起方收到协商响应后,跟据内置的计算规则进行计算生成数据加密密钥,协商可以是通信两端应用的任一端发起;
所述拦截模块是对传输的数据进行自动加解密和签名核心模块,主要由三个部分组成,包括数据拦截组件、数据加解密组件、数据签名验签组件,数据拦截组件的主要功能是拦截应用自己发出去的HTTP请求数据、应用接收到的HTTP响应数据(反馈数据)、及应用接收到的HTTP请求数据(目标数据),对发出去的HTTP请求携带的请求数据,调用数据加密解密组件对数据进行加密,调用数据签名验签组件对数据进行签名;对接收到的HTTP响应数据,调用数据加解密组件对数据进行解密,调用数据签名验签组件对数据进行验签;对接收到的HTTP请求数据,调用数据加解密组件对数据进行解密和加密,调用数据签名验签组件进行验签;数据加解密组件的功能如前所述,为传输过程中的数据进行加解密操作,保证数据的机密性,数据签名验签组件对传输的数据进行签名验签,发送方应用使用自己私钥对传输的数据进行签名,接收方应用使用发送方应用公钥证书对接收到的数据进行验签,保证数据完整性。
所述缓存模块用来对使用过程的数据加密密钥进行缓存,当进行行通信的双方应用协商出来数据加密密钥后,根据期缓存策略将密钥数据缓存在指定位置及缓存指定的时长,以便下一次使用数据加密密钥的时候从缓存中进行读取,当缓存的数据加密密钥到达指定时长后,缓存的数据加密密钥将被清除,应用双方再次进行通信时,就需要重新进行数据加密密钥的协商。
本发明所述的应用间数据传输处理装置在实现过程中,应用间原有的业务调用逻辑是无任何影响的,对于应用来说是透明的,无需应用进行任务额外的操作,整个加解密和签名验签过程都是由更该装置自动进行的;
本发明所述的应用间数据传输处理装置,本发明解决了应用间HTTP通信时数据传输的安全性问题,应用间进行HTTP通信时,不需要额外的配置,只需引入该装置,应用间通信传输的数据将会自动的加解密和签名验签,提供了数据的机密性和完整性保护,在无需引入HTTPS的情况下对数据的安全传输起到了重要作用,降低了数据安全传输过程中原先需要大量手动配置的复杂过程及投入,满足了企业常见应用间进行安全通信的基本要求,降低了成本。
需要说明的是,该装置是与上述应用间数据传输处理方法对应的装置,上述各方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算设备,包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上所述的应用间数据传输处理方法的步骤。
本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的应用间数据传输处理方法。上述各方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可 以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种应用间数据传输处理方法,其特征在于,应用于发送端应用,所述方法包括:
获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;
通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;
对所述第一加密数据进行签名处理,获取目标数据;
将所述目标数据传输至接收端应用。
2.根据权利要求1所述的应用间数据传输处理方法,其特征在于,与接收端应用协商确定第一加密密钥的过程包括:
获取所述接收端应用的签名公钥证书以及加密公钥证书的存储位置;
基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据;
向所述接收端应用发送数据密钥协商请求数据;
接收所述接收端应用基于所述数据密钥协商请求数据反馈的携带有第二随机数的数据密钥协商请求响应数据;
根据所述数据密钥协商请求响应数据,生成第一加密密钥。
3.根据权利要求2所述的应用间数据传输处理方法,其特征在于,基于所述接收端应用的签名公钥证书以及加密公钥证书的存储位置,生成数据密钥协商请求数据,包括:
生成第一随机数;
通过接收端应用加密公钥证书的存储位置,获取接收端应用的加密公钥证书;
通过接收端应用的加密公钥证书对第一随机数进行加密处理,获取第一随机数的加密数据;
通过发送端应用自己的签名私钥对第一随机数进行签名,获取第一随机数的签名数据;
对所述第一随机数的签名数据和所述第一随机数的加密数据进行拼接处理,获取数据密钥协商请求数据。
4.根据权利要求3所述的应用间数据传输处理方法,其特征在于,根据所述数据密钥协商请求响应数据,生成第一加密密钥,包括:
使用发送端应用的加密私钥对所述数据密钥协商请求响应数据进行解密,获取所述第二随机数;
使用接收端应用的签名公钥证书对所述第二随机数进行验签,并在验签通过后,将所述第一随机数与所述第二随机数异或得到第一加密密钥;
其中,所述接收端应用的签名公钥证书通过所述接收端应用签名公钥证书的存储位置处获取。
5.根据权利要求1所述的应用间数据传输处理方法,其特征在于,对所述第一加密数据进行签名处理,获取目标数据,包括:
通过发送端应用的签名私钥调用发送端应用的签名验签模块对第一加密数据进行签名生成第一签名数据;
将所述第一加密数据和第一签名数据进行预设组装,生成目标数据。
6.根据权利要求2所述的应用间数据传输处理方法,其特征在于,还包括:
接收所述接收端应用基于所述目标数据发送的反馈数据;
通过所述接收端应用的签名公钥证书对所述反馈数据行验签,并在验签通过后,通过所述第一加密密钥调用发送端加解密模块对所述反馈数据进行解密处理,获取请求数据的响应结果。
7.一种应用间数据传输处理方法,其特征在于,应用于接收端应用,所述方法包括:
接收发送端应用发出的目标数据;
获取第二加密密钥,所述第二加密密钥是与发送端应用协商确定的;
通过发送端应用的公钥证书对所述目标数据进行验签,并在验签通过后,通过所述第二加密密钥对所述目标数据进行解密处理,获取请求数据;
对所述请求数据进行原有业务逻辑的数据处理,获取请求数据所对应的响应数据;
对所述响应数据进行预处理,获取反馈数据;
将所述反馈数据发送至发送端应用。
8.根据权利要求7所述的应用间数据传输处理方法,其特征在于,与发送端应用协商确定第二加密密钥的过程包括:
获取发送端应用的签名公钥证书以及加密公钥证书的存储位置;
通过发送端应用加密公钥证书的存储位置,获取发送端应用的加密公钥证书;
接收所述发送端应用发送的数据密钥协商请求数据;
通过发送端应用的签名公钥证书对数据密钥协商请求数据进行验签,并在验签通过后,通过接收端应用自己的加密私钥对所述数据密钥协商请求数据进行解密,获取第一随机数;
生成第二随机数,并将所述第一随机数与所述第二随机数异或得到第二加密密钥。
9.根据权利要求7所述的应用间数据传输处理方法,其特征在于,对所述响应数据进行预处理,获取反馈数据,包括:
通过所述第二加密密钥调用接收端加解密模块对所述响应数据进行加密处理,获取第二加密数据;
通过接收端应用的私钥调用接收端应用的签名验签模块对第二加密数据进行签名生成第二签名数据;
将所述第二加密数据和第二签名数据进行预设组装,生成反馈数据。
10.一种应用间数据传输处理装置,其特征在于,包括:
发送端应用处理模块,用于获取第一加密密钥和需要传输的请求数据,所述第一加密密钥是与接收端应用协商确定的;通过所述第一加密密钥对所述请求数据进行加密处理,获取第一加密数据;对所述第一加密数据进行签名处理,获取目标数据;将所述目标数据传输至接收端应用;
接收端应用处理模块,用于接收发送端应用发出的目标数据;获取第二加密密钥,所述第二加密密钥是与发送端应用协商确定的;通过发送端应用的公钥证书对所述目标数据进行验签,并在验签通过后,通过所述第二加密密钥对所述目标数据进行解密处理,获取请求数据;对所述请求数据进行原有业务逻辑的数据处理,获取请求数据所对应的响应数据;对所述响应数据进行预处理,获取反馈数据;将所述反馈数据发送至发送端应用。
CN202311229542.1A 2023-09-22 2023-09-22 一种应用间数据传输处理方法及装置 Active CN116980128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311229542.1A CN116980128B (zh) 2023-09-22 2023-09-22 一种应用间数据传输处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311229542.1A CN116980128B (zh) 2023-09-22 2023-09-22 一种应用间数据传输处理方法及装置

Publications (2)

Publication Number Publication Date
CN116980128A true CN116980128A (zh) 2023-10-31
CN116980128B CN116980128B (zh) 2023-12-26

Family

ID=88471635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311229542.1A Active CN116980128B (zh) 2023-09-22 2023-09-22 一种应用间数据传输处理方法及装置

Country Status (1)

Country Link
CN (1) CN116980128B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614637A (zh) * 2020-05-08 2020-09-01 郑州信大捷安信息技术股份有限公司 一种基于软件密码模块的安全通信方法及系统
CN113438071A (zh) * 2021-05-28 2021-09-24 荣耀终端有限公司 安全通信的方法及设备
CN113630248A (zh) * 2021-09-15 2021-11-09 深圳市国信量子科技有限公司 一种会话密钥协商方法
CN114362946A (zh) * 2022-03-10 2022-04-15 北京得瑞领新科技有限公司 密钥协商方法及系统
US20230128131A1 (en) * 2021-10-27 2023-04-27 Salesforce.Com, Inc. Protecting Application Private Keys with Remote and Local Security Controllers and Local MPC Key Generation
CN116132986A (zh) * 2022-12-16 2023-05-16 中国铁塔股份有限公司 一种数据传输方法、电子设备及存储介质
CN116781292A (zh) * 2022-03-07 2023-09-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614637A (zh) * 2020-05-08 2020-09-01 郑州信大捷安信息技术股份有限公司 一种基于软件密码模块的安全通信方法及系统
CN113438071A (zh) * 2021-05-28 2021-09-24 荣耀终端有限公司 安全通信的方法及设备
CN113630248A (zh) * 2021-09-15 2021-11-09 深圳市国信量子科技有限公司 一种会话密钥协商方法
US20230128131A1 (en) * 2021-10-27 2023-04-27 Salesforce.Com, Inc. Protecting Application Private Keys with Remote and Local Security Controllers and Local MPC Key Generation
CN116781292A (zh) * 2022-03-07 2023-09-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质
CN114362946A (zh) * 2022-03-10 2022-04-15 北京得瑞领新科技有限公司 密钥协商方法及系统
CN116132986A (zh) * 2022-12-16 2023-05-16 中国铁塔股份有限公司 一种数据传输方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN116980128B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
US11451386B2 (en) Method and system for many-to-many symmetric cryptography and a network employing the same
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN114651421A (zh) 使用临时密钥的传输层安全中的正向安全
CN110519309A (zh) 数据传输方法、装置、终端、服务器及存储介质
CN103036880A (zh) 网络信息传输方法、设备及系统
CN114584307B (zh) 一种可信密钥管理方法、装置、电子设备和存储介质
CN111464315B (zh) 数字签名处理方法、装置、计算机设备以及存储介质
JP2020532177A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
CN113630238B (zh) 一种基于密码混淆的用户请求许可方法及装置
CN114037447A (zh) 离线交易的方法和装置
CN116980128B (zh) 一种应用间数据传输处理方法及装置
CN116707778A (zh) 数据混合加密传输方法、装置和电子设备
CN116244750A (zh) 一种涉密信息维护方法、装置、设备及存储介质
EP4283549A1 (en) Payment service implementation method and device
CN115801232A (zh) 一种私钥保护方法、装置、设备及存储介质
CN113922976A (zh) 设备日志传输方法、装置、电子设备及存储介质
CN113382398B (zh) 服务器、蓝牙耳机终端、蓝牙耳机固件更新处理系统
CN114125830B (zh) 一种app数据的加密传输方法、设备及介质
CN108650233B (zh) 一种JavaScript数据传输加密方法
CN117857046A (zh) 一种服务接入授权方法、装置及可读介质
CN117375863A (zh) 一种数据加密方法、数据解密方法和装置
CN116112156A (zh) 加密方法、解密方法、装置、设备及存储介质
CN116668147A (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