CN111262811B - 一种数据加密传输方法及装置、设备和存储介质 - Google Patents

一种数据加密传输方法及装置、设备和存储介质 Download PDF

Info

Publication number
CN111262811B
CN111262811B CN201811452304.6A CN201811452304A CN111262811B CN 111262811 B CN111262811 B CN 111262811B CN 201811452304 A CN201811452304 A CN 201811452304A CN 111262811 B CN111262811 B CN 111262811B
Authority
CN
China
Prior art keywords
data
key
algorithm
mac
session key
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
CN201811452304.6A
Other languages
English (en)
Other versions
CN111262811A (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 Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile IoT 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 China Mobile Communications Group Co Ltd, China Mobile IoT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811452304.6A priority Critical patent/CN111262811B/zh
Publication of CN111262811A publication Critical patent/CN111262811A/zh
Application granted granted Critical
Publication of CN111262811B publication Critical patent/CN111262811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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 using cryptographic hash functions

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)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开了一种数据加密传输方法及装置、设备和存储介质,其中,所述方法包括:利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。

Description

一种数据加密传输方法及装置、设备和存储介质
技术领域
本申请实施例涉及电子技术,涉及但不限于一种数据加密传输方法及装置、设备和存储介质。
背景技术
智能网关软探针是智能网关中的一款预置插件,主要在用户侧实时监测网络和业务质量,为排障和质量保障提供真实可靠的数据。智能网关软探针会通过开机,周期,实时、告警、网络探测接口将采集的数据上报到软探针监测平台,智能网关软探针与软探针监测平台之间采用HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议进行交互。
但是,HTTP协议以明文方式发送内容,不提供任何方式的数据加密。这就导致了,如果攻击者截取了软探针和软探针前置机之间的传输报文,就可以直接读取其中的信息,导致用户数据泄露,存在极大的安全隐患。
发明内容
有鉴于此,本申请实施例为解决现有技术中存在的至少一个问题而提供一种数据加密传输方法及装置、设备和存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种数据加密传输方法,应用于第一设备,所述方法包括:
利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
利用第二会话密钥确定所述第二传输数据的第一MAC码(MessageAuthentication Code,消息认证码);所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。
本申请实施例中,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:
向第二设备发送服务器证书获取请求;
利用CA(Certification Authority,认证机构)根证书验证所述服务器证书的合法性,获取验证结果;
当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。
本申请实施例中,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:
利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;
利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;
将所述第三指定数据发送给第二设备。
本申请实施例中,所述签名信息包括:所述网关的设备ID(Identity,身份标识号)、第一设备的版本、第一设备的时间和第二设备的时间。
本申请实施例中,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:
接收第二设备发送的第四指定数据的MAC码,其中,所述第四指定数据为解密后的第二指定数据;
利用所述第二会话密钥确定所述第一指定数据的MAC码;
当第一指定数据的MAC码与所述第四指定数据的MAC码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。
本申请实施例中,所述方法还包括:
通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES(Advanced Encryption Standard,高级加密标准)-ECB(Electronic Codebook,电码本)算法,确定所述第一会话密钥的;
通过所述第一共享数据和密钥协商接口中的安全报文MAC算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第二会话密钥。
第二方面,本申请实施例提供一种数据加密传输方法,应用于第二设备,所述方法包括:
接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;
获取密钥协商接口中的第二共享数据;
利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密。
本申请实施例中,所述方法还包括:
当所述第一MAC码与所述第二MAC码不同时,进行密钥协商,重新确定第一MAC码和第二MAC码。
本申请实施例中,所述接收第一设备发送的第二传输数据和第二传输数据的第一MAC码之前,所述方法还包括:
接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;
使用第一设备的公钥对所述签名进行验证;
当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。
本申请实施例中,所述接收第一设备发送的第二传输数据和第二传输数据的第一MAC码之前,所述方法还包括:
利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文MAC密钥;
设置所述安全报文加密密钥和所述安全报文MAC密钥的失效时间;
当所述安全报文加密密钥和所述安全报文MAC密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文MAC密钥。
本申请实施例中,所述接收第一设备发送的第二传输数据和第二传输数据的第一MAC码之前,所述方法还包括:
利用所述第三会话密钥确定所述第四指定数据的MAC码;
将所述第四指定数据的MAC码发送给第一设备。
本申请实施例中,所述方法还包括:
通过所述第二共享数据和密钥协商接口中的安全报文MAC算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第三会话密钥。
第三方面,本申请实施例提供一种数据加密传输装置,应用于第一设备,所述装置包括:加密单元、第一确定单元和发送单元,其中:
所述加密单元,用于利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
所述第一确定单元,用于利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
所述发送单元,用于将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。
本申请实施例中,所述装置还包括:
请求单元,用于向第二设备发送服务器证书获取请求;
验证单元,用于利用CA根证书验证所述服务器证书的合法性,获取验证结果;
生成单元,用于当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。
本申请实施例中,所述装置还包括:
指定数据加密单元,用于利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;
签名单元,用于利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;
第一指定数据发送单元,用于将所述第三指定数据发送给第二设备。
本申请实施例中,所述签名信息包括:所述网关的设备ID、第一设备的版本、第一设备的时间和第二设备的时间。
本申请实施例中,所述装置还包括:
第一指定数据接收单元,用于接收第二设备发送的第四指定数据的MAC码,其中,所述第四指定数据为解密后的第二指定数据;
第一指定数据确定单元,用于利用所述第二会话密钥确定所述第一指定数据的MAC码;
协商单元,用于当第一指定数据的MAC码与所述第四指定数据的MAC码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。
本申请实施例中,所述装置还包括:
第一密钥确定单元,用于通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第一会话密钥的;
第二密钥确定单元,用于通过所述第一共享数据和密钥协商接口中的安全报文MAC算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第二会话密钥。
第四方面,本申请实施例提供一种数据加密传输装置,应用于第二设备,所述装置包括:接收单元、获取单元、第二确定单元和处理单元,其中:
所述接收单元,用于接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;
所述获取单元,用于获取密钥协商接口中的第二共享数据;
所述第二确定单元,用于利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
所述处理单元,用于当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密。
本申请实施例中,所述装置还包括:
处理子单元,用于当所述第一MAC码与所述第二MAC码不同时,进行密钥协商,重新确定第一MAC码和第二MAC码。
本申请实施例中,所述装置还包括:
第二指定数据接收单元,用于接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;
指定数据验证单元,用于使用第一设备的公钥对所述签名进行验证;
解密单元,用于当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。
本申请实施例中,所述装置还包括:
密钥生成单元,用于利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文MAC密钥;
设置单元,用于设置所述安全报文加密密钥和所述安全报文MAC密钥的失效时间;
判断单元,用于当所述安全报文加密密钥和所述安全报文MAC密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文MAC密钥。
本申请实施例中,所述装置还包括:
第二指定数据确定单元,用于利用所述第三会话密钥确定所述第四指定数据的MAC码;
第二指定数据发送单元,用于将所述第四指定数据的MAC码发送给第一设备。
本申请实施例中,所述装置还包括:
第三会话密钥确定单元,用于通过所述第二共享数据和密钥协商接口中的安全报文MAC算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第三会话密钥。
第五方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述数据加密传输方法中的步骤。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述数据加密传输方法中的步骤。
本申请实施例提供一种数据加密传输方法及装置、设备和存储介质,利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备;接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;获取密钥协商接口中的第二共享数据;利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密,如此,能够保证数据在传输过程中的安全性。
附图说明
图1A为本申请实施例数据加密传输方法的实现流程示意图一;
图1B为本申请实施例数据加密传输方法的实现流程示意图二;
图2A为本申请实施例密钥协商方法的实现流程示意图;
图2B为本申请实施例数据交互方法的实现流程示意图;
图3A为本申请实施例数据加密传输装置的组成结构示意图一;
图3B为本申请实施例数据加密传输装置的组成结构示意图二;
图4为本申请实施例数据加密传输设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例仅用于说明本申请,不用于限制本申请的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本申请实施例提供一种数据加密传输方法,该方法应用于计算设备,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。所述方法应用于第一电子设备,图1A为本申请实施例数据加密传输方法的实现流程示意图一,如图1A所示,所述方法包括:
步骤S101、利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
步骤S102、利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
步骤S103、将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。
本申请实施例中,通过利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备,如此,能够保证数据在传输过程中的安全性。
基于上述的实施例,本申请实施例再提供一种数据加密传输方法,该方法应用于计算设备,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。所述方法应用于第二电子设备,图1B为本申请实施例数据加密传输方法的实现流程示意图二,如图1B所示,所述方法包括:
步骤S111、接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;
步骤S112、获取密钥协商接口中的第二共享数据;
步骤S113、利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
步骤S114、当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密。
本申请其他实施例中,所述方法还包括:
当所述第一MAC码与所述第二MAC码不同时,进行密钥协商,重新确定第一MAC码和第二MAC码。
本申请实施例中,通过接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;获取密钥协商接口中的第二共享数据;利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密,如此,能够保证数据在传输过程中的安全性。
基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法应用于第一电子设备,所述方法包括:
步骤S121、向第二设备发送服务器证书获取请求;
步骤S122、利用CA根证书验证所述服务器证书的合法性,获取验证结果;
步骤S123、当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密;
步骤S124、利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;
步骤S125、利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;
步骤S126、将所述第三指定数据发送给第二设备。
本申请实施例中,所述签名信息可以包括:所述网关的设备ID、第一设备的版本、第一设备的时间和第二设备的时间。
基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法应用于第二电子设备,所述方法包括:
步骤S131、接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;
步骤S132、使用第一设备的公钥对所述签名进行验证;
步骤S133、当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。
步骤S134、利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文MAC密钥;
步骤S135、设置所述安全报文加密密钥和所述安全报文MAC密钥的失效时间;
步骤S136、当所述安全报文加密密钥和所述安全报文MAC密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文MAC密钥。
步骤S137、利用所述第三会话密钥确定所述第四指定数据的MAC码;
步骤S138、将所述第四指定数据的MAC码发送给第一设备。
本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文MAC算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第三会话密钥。
基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法应用于第一电子设备,所述方法包括:
步骤S141、接收第二设备发送的第四指定数据的MAC码,其中,所述第四指定数据为解密后的第二指定数据;
步骤S142、利用所述第二会话密钥确定所述第一指定数据的MAC码;
步骤S143、当第一指定数据的MAC码与所述第四指定数据的MAC码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。
本申请其他实施例中,所述方法还包括:通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第一会话密钥的;通过所述第一共享数据和密钥协商接口中的安全报文MAC算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第二会话密钥。
基于上述的实施例,本申请实施例再提供一种数据加密传输方法,所述方法包括:
步骤S151、第一设备向第二设备发送服务器证书获取请求;
步骤S152、第一设备利用CA根证书验证所述服务器证书的合法性,获取验证结果;
步骤S153、当所述验证结果为合法时,第一设备随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密;
步骤S154、第一设备利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;
步骤S155、第一设备利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;
这里,所述签名信息包括:所述网关的设备ID、第一设备的版本、第一设备的时间和第二设备的时间。
步骤S156、第一设备将所述第三指定数据发送给第二设备;
步骤S157、第二设备接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;
步骤S158、第二设备使用第一设备的公钥对所述签名进行验证;
本申请其他实施例中,所述方法还包括:第二设备将服务器时间戳发送给第一设备;第一设备对第二指定数据进行签名时,使用接收的服务器时间戳;第二设备将签名中携带的服务器时间戳与发送给第一设备的服务器时间戳进行比对;比对成功,则执行步骤S129。
步骤S159、当所述签名验证成功后,第二设备利用自身的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据;
步骤S160、第二设备利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文MAC密钥;
步骤S161、第二设备设置所述安全报文加密密钥和所述安全报文MAC密钥的失效时间;
步骤S162、当所述安全报文加密密钥和所述安全报文MAC密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文MAC密钥;
步骤S163、第二设备利用所述第三会话密钥确定所述第四指定数据的MAC码;
步骤S164、第二设备将所述第四指定数据的MAC码发送给第一设备;
步骤S165、第一设备接收第二设备发送的第四指定数据的MAC码,其中,所述第四指定数据为解密后的第二指定数据;
步骤S166、第一设备利用所述第二会话密钥确定所述第一指定数据的MAC码;
步骤S167、当第一指定数据的MAC码与所述第四指定数据的MAC码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输;
步骤S168、第一设备利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
步骤S169、第一设备利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
本申请其他实施例中,所述方法还包括:通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第一会话密钥的。
本申请其他实施例中,所述方法还包括:通过所述第一共享数据和密钥协商接口中的安全报文MAC算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第二会话密钥。
步骤S170、第一设备将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备;
步骤S171、第二设备接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;
步骤S172、第二设备获取密钥协商接口中的第二共享数据;
步骤S173、第二设备利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
步骤S174、当所述第一MAC码与所述第二MAC码相同时,第二设备对接收的第二传输数据进行解密;
本申请其他实施例中,所述对接收的第一传输数据进行解密,包括:利用第四会话密钥对第一传输数据进行解密;所述第四会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文加密算法确定的。
本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文加密算法,确定所述第四会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第四加密密钥。
本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文MAC算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第三会话密钥;
本申请其他实施例中,所述方法还包括:通过所述第二共享数据和密钥协商接口中的安全报文加密算法,确定所述第四会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第四加密密钥。
步骤S175、当所述第一MAC码与所述第二MAC码不同时,进行密钥协商,重新确定第一MAC码和第二MAC码。
基于上述的实施例,本申请实施例再提供一种数据加密传输方法,应用于网关软探针和软探针监测平台。所述数据加密传输方法中,新增密钥协商接口,用于在网关软探针和软探针监测平台之间协商安全报文密钥。协商完毕后,数据发送方就可以采用协商的密钥对数据进行加密并计算MAC码,然后进行传输。进一步的,数据接收方对接收到的数据MAC码进行校验,通过后采用协商的密钥对数据进行解密。因此,所述数据加密传输方法,包括密钥协商方法和数据交互方法。图2A为本申请实施例密钥协商方法的实现流程示意图,如图2A所示,所述方法包括:
步骤S201、软探针向监测平台发送第一密钥协商请求;
这里,所述第一密钥协商请求为请求服务器证书。所述软探针是运行在智能网关上的,可以获取到智能网关的设备ID,用来标识唯一性。
步骤S202、监测平台响应所述第一密钥协商请求;
这里,监测平台在响应所述第一密钥协商请求的过程中,将服务器证书、服务器时间戳发送给软探针。
步骤S203、软探针验证服务器证书,生成共享数据并签名;
步骤S204、软探针向监测平台发送第二密钥协商请求;
这里,所述第二密钥协商请求为会话密钥协商请求。
步骤S205、监测平台验证软探针身份,并解密密文,生成会话密钥;
步骤S206、监测平台响应所述第二密钥协商请求;
这里,监测平台在响应所述第二密钥协商请求的过程中,将服务器信息发送给软探针。
步骤S207、软探针验证服务器身份,密钥协商完毕。
上述的密钥协商包括了密钥协商接口1和密钥协商接口2。所述密钥协商接口1的作用是请求服务器证书,所述密钥协商接口2的作用是进行密钥协商,其中,所述密钥协商接口1中的操作包括:
1)软探针向监测平台请求服务器证书;
2)监测平台下发服务器证书和服务器时间戳;
这里,所述服务器证书为RSA2048Bit(binary system,比特)证书,所述证书的格式为PEM格式,其中,所述RSA为一种非对称加密算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。SET(Secure Electronic Transaction,电子安全交易)协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。RSA密钥长度随着保密级别提高,增加很快。
3)软探针采用内置的CA根证书验证服务器证书合法性,验证失败进行重试,重试3次还是失败则结束;
4)验证成功后进行如下操作:
①生成共享数据(随机生成的48字节共享数据);
这里,所述共享数据的作用是加密。
②使用服务器公钥(从服务器证书获取)对指定数据(包含共享数据)采用RSA/None/OAEPWithSHA256AndMGF1Padding算法进行加密;
这里,所述指定数据是每个网关的网关数据。
这里,所述RSA/None/OAEPWithSHA256AndMGF1Padding算法的含义是:采用RSA算法,其工作模式为NONE,其填充方式为OAEPWithSHA256AndMGF1Padding。
③使用软探针私钥对设备ID,软探针版本,软探针时间,服务器时间,加密数据采用SHA256WithRSA签名算法进行签名。
这里,SHA256安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准里面定义的数字签名算法;RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击。一般地,SHA256WithRSA表示用SHA算法进行签名,用RSA算法进行加密。
所述密钥协商接口2中的操作包括:
1)软探针向监测平台发送会话密钥协商请求;
2)监测平台收到请求后进行如下操作:
①使用软探针公钥和SHA256WithRSA算法验证签名;验证失败返回给探针,探针进行重新密钥协商;
②验证服务器时间是否相等;验证失败返回给探针,探针进行重新密钥协商;
这里,验证服务器时间指的是监测平台验证软探针上传的服务器时间,这个时间是协商接口1中平台发给软探针的。
③使用服务器私钥和RSA/None/OAEPWithSHA256AndMGF1Padding算法解密数据,获取共享数据;
④生成安全报文加密密钥,算法如下:
KeyEnc=MD5(预共享随机数||SHA(‘ENC’||预共享随机数||智能网关时间戳||服务器时间戳));
这里,所述ENC为安全报文,是一个固定值。
这里,KeyEnc=MD5(预共享随机数||SHA(‘ENC’||预共享随机数||智能网关时间戳||服务器时间戳))算法的含义是:将‘ENC’(一种用于加密的安全报文)、预共享随机书、智能网关时间戳和服务器时间戳拼接成一个第一字符串,然后采用SHA算法对第一字符串进行计算得到第二字符串。再将预共享随机数和第二字符串拼接成第三字符串,然后采用MD5算法(Message Digest Algorithm MD5,消息摘要算法)对第三字符串进行加密得到最终的安全报文加密密钥(即KeyEnc)。
⑤生成安全报文MAC密钥,算法如下:
KeyMac=MD5(预共享随机数||SHA(‘MAC’||预共享随机数||智能网关时间戳||服务器时间戳));
这里,KeyMac=MD5(预共享随机数||SHA(‘MAC’||预共享随机数||智能网关时间戳||服务器时间戳))算法的含义是:将‘MAC’、预共享随机书、智能网关时间戳和服务器时间戳拼接成一个第一字符串,然后采用SHA算法对第一字符串进行计算得到第二字符串。再将预共享随机数和第二字符串拼接成第三字符串,然后采用MD5算法(Message DigestAlgorithm MD5,消息摘要算法)对第三字符串进行加密得到最终的安全报文MAC密钥(即KeyMac)。
⑥将安全报文加密密钥和MAC密钥缓存,并设置失效时间;
这里,所述失效时间可以设置为24小时,并且,密钥失效后需要重新协商。缓存密钥是为了解决每次交互都去协商密钥而耗时耗资源。
⑦使用安全报文MAC密钥通过智能网关时间戳计算出会话密钥,算法如下:
使用安全报文MAC密钥采用AES-ECB算法对分散参数进行加密,得到会话密钥;
这里,所述会话密钥的分散参数X为16字节(如不足16字节则先补0x80,如不足16字节则再补0x00至16字节)。可以采用BCD(Binary-Coded Decimal,二进码十进数)编码将时间戳转换为YYYYMMDDHHmmSS的格式。
⑧使用上述会话密钥采用HMACSha256算法对指定数据计算出MAC码;
这里,HMAC(Hash-based Message Authentication Code,哈希消息认证码)是密钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。Sha256(Secure Hash Algorithm,安全散列算法)是能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。所述HMACSha256算法就是一种跟HMAC和Sha256相关的加密算法。
⑨监测平台返回验证结果和MAC码给软探针;
⑩软探针采用相同的算法验证MAC码,验证成功则协商完成,说明服务器正确收到了安全报文密钥,失败则重试。
图2B为本申请实施例数据交互方法的实现流程示意图,如图2B所示,所述方法包括:
步骤S211、探针使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对周期数据进行加密;
这里,探针使用密钥协商接口协商的安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用该会话密钥对周期数据进行加密;会话密钥算法同协商接口中的算法,加密算法为AES/CBC/PKCS5Padding,参数IV=0。其中,AES/CBC/PKCS5Padding算法的含义是:采用AES算法,工作模式为CBC(Cipher-block chaining,密码分组链接),填充方式为PKCS5Padding。
本申请其他实施例中,所述步骤S211、探针使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对周期数据进行加密之前,所述方法还包括:探针发起周期数据上报。这里,以周期上报接口为例,其他接口步骤相同。
步骤S212、探针使用安全报文MAC密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥计算周期数据的MAC码;
这里,探针使用密钥协商接口协商的安全报文MAC密钥通过智能网关时间戳分散出会话密钥,使用该会话密钥计算MAC码;会话密钥算法同协商接口中的算法,MAC算法为HMACSha256。
步骤S213、探针进行数据上报;
这里,探针发送加密后的周期数据和MAC码到监测平台。
步骤S214、监测平台使用安全报文MAC密钥通过智能网关时间戳分散出会话密钥,使用会话密钥计算周期数据的MAC码;
步骤S215、判断探针计算出的周期数据的MAC码与监测平台计算出的周期数据的MAC码是否相等;当不相等时,监测平台返回MAC码校验失败的信息给软探针;
步骤S216、软探针重新进行密钥协商;
这里,平台使用相同的算法计算MAC码,并验证MAC码是否相等。相等则进行步骤S217,不相等则进入密钥协商。
步骤S217、当相等时,监测平台使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对周期数据进行解密;
这里,平台使用相同算法对数据进行解密,并处理解密后的数据。
步骤S218、监测平台使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对响应数据进行加密;
这里,平台对返回给探针的数据进行加密,加密使用的算法同上述相同。平台返回给探针的数据,是一些指令数据,比如周期时间等等。
步骤S219、监测平台使用安全报文MAC密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥计算响应数据的MAC码;
这里,平台对返回给探针的数据计算MAC码,计算MAC码的算法和上述相同。平台返回给探针的数据,是一些指令配置,比如周期时间等等。
步骤S220、监测平台向软探针发送请求响应;
这里,平台返回加密后数据给探针。
步骤S221、软探针使用安全报文MAC密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥计算响应数据的MAC码;
这里,探针验证MAC码,验证成功后解密返回数据;验证失败进行密钥协商。
步骤S222、判断探针计算出的响应数据的MAC码与监测平台计算出的响应数据的MAC码是否相等;当不相等时,重新密钥协商;
步骤S223、当不相等时,软探针使用安全报文加密密钥通过智能网关时间戳分散出会话密钥,使用此会话密钥对响应数据进行解密。
本申请实施例中,软探针计算安全报文加密密钥和安全报文MAC密钥时,使用的预共享随机数,是由软探针随机生成的。监测平台计算安全报文加密密钥和安全报文MAC密钥时,使用的预共享随机数,是通过解密数据获取的。
本申请实施例,提出了软探针与监测平台之间的安全交互方法,请求数据与响应数据均加密传输,避免用户数据泄露。
本申请实施例,提出的密钥协商接口方案,一次协商多次使用,减少每次数据交互时间,减少终端资源消耗;密钥设置失效时间,超过时间重新协商,减少密钥泄露风险。
本申请实施例中,报文加密会话密钥和MAC会话密钥是通过安全报文加密和MAC密钥对分散参数采用AES-ECB算法加密动态获取,安全性高。
本申请实施例,提出了软探针与监测平台之间的安全交互方法,请求数据与响应数据均加密传输,相比原有的HTTP交互方案更安全可靠,保证数据在传输过程中的安全性。
本申请实施例提供一种数据加密传输装置,应用于第一设备,图3A为本申请实施例数据加密传输装置的组成结构示意图一,如图3A所示,所述装置30包括:加密单元31、第一确定单元32和发送单元33,其中:
所述加密单元31,用于利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
所述第一确定单元32,用于利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
所述发送单元33,用于将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。
本申请其他实施例中,所述装置还包括:
请求单元,用于向第二设备发送服务器证书获取请求;
验证单元,用于利用CA根证书验证所述服务器证书的合法性,获取验证结果;
生成单元,用于当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。
本申请其他实施例中,所述装置还包括:
指定数据加密单元,用于利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;
签名单元,用于利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;
第一指定数据发送单元,用于将所述第三指定数据发送给第二设备。
本申请其他实施例中,所述签名信息包括:所述网关的设备ID、第一设备的版本、第一设备的时间和第二设备的时间。
本申请其他实施例中,所述装置还包括:
第一指定数据接收单元,用于接收第二设备发送的第四指定数据的MAC码,其中,所述第四指定数据为解密后的第二指定数据;
第一指定数据确定单元,用于利用所述第二会话密钥确定所述第一指定数据的MAC码;
协商单元,用于当第一指定数据的MAC码与所述第四指定数据的MAC码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。
本申请其他实施例中,所述装置还包括:
第一密钥确定单元,用于通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法,确定所述第一会话密钥;或者,通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第一会话密钥的;
第二密钥确定单元,用于通过所述第一共享数据和密钥协商接口中的安全报文MAC算法确定所述第二会话密钥;或者,通过所述第一共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第二会话密钥。
基于上述的实施例,本申请实施例再提供一种数据加密传输装置,应用于第二设备,图3B为本申请实施例数据加密传输装置的组成结构示意图二,如图3B所示,所述装置300包括:接收单元301、获取单元302、第二确定单元303和处理单元304,其中:
所述接收单元301,用于接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;
所述获取单元302,用于获取密钥协商接口中的第二共享数据;
所述第二确定单元303,用于利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
所述处理单元304,用于当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密。
本申请其他实施例中,所述装置还包括:
处理子单元,用于当所述第一MAC码与所述第二MAC码不同时,进行密钥协商,重新确定第一MAC码和第二MAC码。
本申请其他实施例中,所述装置还包括:
第二指定数据接收单元,用于接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;
指定数据验证单元,用于使用第一设备的公钥对所述签名进行验证;
解密单元,用于当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。
本申请其他实施例中,所述装置还包括:
密钥生成单元,用于利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文MAC密钥;
设置单元,用于设置所述安全报文加密密钥和所述安全报文MAC密钥的失效时间;
判断单元,用于当所述安全报文加密密钥和所述安全报文MAC密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文MAC密钥。
本申请其他实施例中,所述装置还包括:
第二指定数据确定单元,用于利用所述第三会话密钥确定所述第四指定数据的MAC码;
第二指定数据发送单元,用于将所述第四指定数据的MAC码发送给第一设备。
本申请其他实施例中,所述装置还包括:
第三会话密钥确定单元,用于通过所述第二共享数据和密钥协商接口中的安全报文MAC算法,确定所述第三会话密钥;或者,通过所述第二共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第三会话密钥。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例中,如果以软件功能模块的形式实现上述的数据加密传输方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、ROM(Read Only Memory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种计算机设备,该设备包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现数据加密传输方法中的步骤。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现数据加密传输方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图4为本申请实施例数据加密传输设备的一种硬件实体示意图,如图4所示,该数据加密传输设备400的硬件实体包括:存储器401、通信总线402和处理器403,其中,
存储器401配置为存储由处理器403可执行的指令和应用,还可以缓存待处理器403以及数据加密传输设备400中各模块待处理或已经处理的数据,可以通过FLASH(闪存)或RAM(Random Access Memory,随机访问存储器)实现。
通信总线402可以使数据加密传输设备400通过网络与其他终端或服务器通信,还可以实现处理器403和存储器401之间的连接通信。
处理器403通常控制数据加密传输设备400的总体操作。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所描述的方法。
本申请是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (16)

1.一种数据加密传输方法,应用于第一设备,其特征在于,所述方法包括:
利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
其中,所述第一会话密钥具体通过以下方式确定:将预设的安全报文、所述第一共享数据、获取到的所述第一设备的网关时间戳和获取到的服务器时间戳拼接成第一字符串,采用安全哈希算法SHA算法对所述第一字符串进行计算得到第二字符串,将所述第一共享数据和所述第二字符串拼接成第三字符串,采用消息摘要算法MD5算法对所述第三字符串进行加密得到所述第一会话密钥;
利用第二会话密钥确定所述第二传输数据的第一消息认证码MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
其中,所述第二会话密钥具体通过以下方式确定:将预设的MAC、所述第一共享数据、获取到的所述第一设备的网关时间戳和获取到的所述服务器时间戳拼接成第四字符串,采用SHA算法对所述第四字符串进行计算得到第五字符串,将所述第一共享数据和所述第五字符串拼接成第六字符串,采用MD5算法对所述第六字符串进行加密得到所述第二会话密钥;
将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。
2.根据权利要求1所述的方法,其特征在于,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:
向第二设备发送服务器证书获取请求;
利用CA根证书验证所述服务器证书的合法性,获取验证结果;
当所述验证结果为合法时,随机生成第一共享数据,所述第一共享数据用于对所述传输数据进行加密。
3.根据权利要求2所述的方法,其特征在于,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:
利用第二设备的公钥对获取的第一指定数据进行加密,得到第二指定数据;所述第二设备的公钥是从所述服务器证书中获取的,所述指定数据包含所述第一共享数据和第一设备所在网关的网关数据;
利用签名信息和第一设备的私钥,对所述第二指定数据进行签名,得到第三指定数据,所述第三指定数据包括第二指定数据和签名;
将所述第三指定数据发送给第二设备。
4.根据权利要求3所述的方法,其特征在于,所述签名信息包括:所述网关的设备ID、第一设备的版本、第一设备的时间和第二设备的时间。
5.根据权利要求4所述的方法,其特征在于,所述利用第一会话密钥对传输数据进行加密之前,所述方法还包括:
接收第二设备发送的第四指定数据的MAC码,其中,所述第四指定数据为解密后的第二指定数据;
利用所述第二会话密钥确定所述第一指定数据的MAC码;
当第一指定数据的MAC码与所述第四指定数据的MAC码相同时,密钥协商成功,其中,所述密钥协商成功表示所述第一设备和所述第二设备开始进行数据传输。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过预先生成的第一共享数据、密钥协商接口中的安全报文加密算法和对分散参数采用的AES-ECB算法,确定所述第一会话密钥的;
通过所述第一共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第二会话密钥。
7.一种数据加密传输方法,应用于第二设备,其特征在于,所述方法包括:
接收第一设备发送的第二传输数据和第二传输数据的第一消息认证码MAC码;
获取密钥协商接口中的第二共享数据;
利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
其中,所述第三会话密钥具体通过以下方式确定:将预设的MAC、所述第二共享数据、获取到的所述第一设备的网关时间戳和获取到的服务器时间戳拼接成第七字符串,采用安全哈希算法SHA算法对所述第七字符串进行计算得到第八字符串,将所述第二共享数据和所述第八字符串拼接成第九字符串,采用消息摘要算法MD5算法对所述第九字符串进行加密得到所述第三会话密钥;
当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述第一MAC码与所述第二MAC码不同时,进行密钥协商,重新确定第一MAC码和第二MAC码。
9.根据权利要求8所述的方法,其特征在于,所述接收第一设备发送的第二传输数据和第二传输数据的第一MAC码之前,所述方法还包括:
接收第一设备发送的第三指定数据,所述第三指定数据中包括第二指定数据和签名;
使用第一设备的公钥对所述签名进行验证;
当所述签名验证成功后,利用第二设备的私钥对所述第二指定数据进行解密,得到第二共享数据和第四指定数据,其中,所述第四指定数据是解密后的第二指定数据。
10.根据权利要求9所述的方法,其特征在于,所述接收第一设备发送的第二传输数据和第二传输数据的第一MAC码之前,所述方法还包括:
利用所述第二共享数据和密钥协商接口中的安全报文加密算法生成安全报文加密密钥和安全报文MAC密钥;
设置所述安全报文加密密钥和所述安全报文MAC密钥的失效时间;
当所述安全报文加密密钥和所述安全报文MAC密钥失效时,进行密钥协商,重新确定安全报文加密密钥和安全报文MAC密钥。
11.根据权利要求10所述的方法,其特征在于,所述接收第一设备发送的第二传输数据和第二传输数据的第一MAC码之前,所述方法还包括:
利用所述第三会话密钥确定所述第四指定数据的MAC码;
将所述第四指定数据的MAC码发送给第一设备。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
通过所述第二共享数据、密钥协商接口中的安全报文MAC算法和对分散参数采用的AES-ECB算法,确定所述第三会话密钥。
13.一种数据加密传输装置,应用于第一设备,其特征在于,所述装置包括:加密单元、第一确定单元和发送单元,其中:
所述加密单元,用于利用第一会话密钥对第一传输数据进行加密,获得第二传输数据;所述第一会话密钥是通过预先生成的第一共享数据和密钥协商接口中的安全报文加密算法确定的;
其中,所述第一会话密钥具体通过以下方式确定:将预设的安全报文、所述第一共享数据、获取到的所述第一设备的网关时间戳和获取到的服务器时间戳拼接成第一字符串,采用安全哈希算法SHA算法对所述第一字符串进行计算得到第二字符串,将所述第一共享数据和所述第二字符串拼接成第三字符串,采用消息摘要算法MD5算法对所述第三字符串进行加密得到所述第一会话密钥;
所述第一确定单元,用于利用第二会话密钥确定所述第二传输数据的第一MAC码;所述第二会话密钥是通过所述第一共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
其中,所述第二会话密钥具体通过以下方式确定:将预设的MAC、所述第一共享数据、获取到的所述第一设备的网关时间戳和获取到的所述服务器时间戳拼接成第四字符串,采用SHA算法对所述第四字符串进行计算得到第五字符串,将所述第一共享数据和所述第五字符串拼接成第六字符串,采用MD5算法对所述第六字符串进行加密得到所述第二会话密钥;
所述发送单元,用于将所述第二传输数据和所述第二传输数据的第一MAC码发送给第二设备。
14.一种数据加密传输装置,应用于第二设备,其特征在于,所述装置包括:接收单元、获取单元、第二确定单元和处理单元,其中:
所述接收单元,用于接收第一设备发送的第二传输数据和第二传输数据的第一MAC码;
所述获取单元,用于获取密钥协商接口中的第二共享数据;
所述第二确定单元,用于利用第三会话密钥确定所述第二传输数据的第二MAC码;所述第三会话密钥是通过所述第二共享数据和所述密钥协商接口中的安全报文MAC算法确定的;
其中,所述第三会话密钥具体通过以下方式确定:将预设的MAC、所述第二共享数据、获取到的所述第一设备的网关时间戳和获取到的服务器时间戳拼接成第七字符串,采用安全哈希算法SHA算法对所述第七字符串进行计算得到第八字符串,将所述第二共享数据和所述第八字符串拼接成第九字符串,采用消息摘要算法MD5算法对所述第九字符串进行加密得到所述第三会话密钥;
所述处理单元,用于当所述第一MAC码与所述第二MAC码相同时,对接收的第二传输数据进行解密。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6中任一项所述的方法,或权利要求7-12中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法,或权利要求7-12中任一项所述的方法。
CN201811452304.6A 2018-11-30 2018-11-30 一种数据加密传输方法及装置、设备和存储介质 Active CN111262811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811452304.6A CN111262811B (zh) 2018-11-30 2018-11-30 一种数据加密传输方法及装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811452304.6A CN111262811B (zh) 2018-11-30 2018-11-30 一种数据加密传输方法及装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111262811A CN111262811A (zh) 2020-06-09
CN111262811B true CN111262811B (zh) 2022-05-13

Family

ID=70950115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811452304.6A Active CN111262811B (zh) 2018-11-30 2018-11-30 一种数据加密传输方法及装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111262811B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070563B (zh) * 2020-07-31 2023-09-05 中移(苏州)软件技术有限公司 一种数据处理方法、装置、终端及存储介质
CN112054906B (zh) * 2020-08-21 2022-02-11 郑州信大捷安信息技术股份有限公司 一种密钥协商方法及系统
CN112291066B (zh) * 2020-10-29 2022-02-01 中国科学院信息工程研究所 一种数据发送方法、接收方法、终端设备及电子设备
CN114765544A (zh) * 2021-01-11 2022-07-19 中国移动通信有限公司研究院 可信执行环境数据离线迁移方法及装置
CN113904766B (zh) * 2021-09-08 2024-04-30 北京世纪互联宽带数据中心有限公司 一种加密通信方法、装置、设备及介质
CN114389804B (zh) * 2021-12-30 2024-04-30 中国电信股份有限公司 一种智能终端控制方法、装置、电子设备及存储介质
CN114338239B (zh) * 2022-03-03 2023-09-01 福建天晴数码有限公司 一种数据加密传输的方法及其系统
CN116094714B (zh) * 2023-02-24 2023-06-20 浙江大华技术股份有限公司 一种码流加密、解密方法、装置、设备及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems
MX2016000048A (es) * 2013-07-12 2016-08-18 Koninklijke Philips Nv Dispositivo y metodo para acuerdo de clave.
SG11201608945WA (en) * 2014-04-25 2016-12-29 Tendyron Corp Secure data interaction method and system
CN105306406A (zh) * 2014-05-26 2016-02-03 中国移动通信集团公司 认证和密钥协商算法的协商方法、网络侧设备和用户设备
CN106788960A (zh) * 2016-12-01 2017-05-31 北京信安世纪科技有限公司 一种密钥协商的方法及装置

Also Published As

Publication number Publication date
CN111262811A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111262811B (zh) 一种数据加密传输方法及装置、设备和存储介质
US10554636B2 (en) Lightweight encrypted communication protocol
US20200252396A1 (en) Lightweight authentication protocol using device tokens
CN109120649B (zh) 密钥协商方法、云服务器、设备、存储介质以及系统
US10826708B2 (en) Authenticating nonces prior to encrypting and decrypting cryptographic keys
CN106470104B (zh) 用于生成共享密钥的方法、装置、终端设备及系统
US10250573B2 (en) Leveraging transport-layer cryptographic material
CN104471918B (zh) 文件下载方法、装置和系统
CN110278080B (zh) 数据传输的方法、系统及计算机可读存储介质
CN108366063B (zh) 智能设备的数据通信方法、装置及其设备
CN106778285B (zh) 用于对设备进行升级的方法、装置
CN110611670A (zh) 一种api请求的加密方法及装置
CN104836784B (zh) 一种信息处理方法、客户端和服务器
CN110912920A (zh) 数据处理方法、设备及介质
CN109145628B (zh) 一种基于可信执行环境的数据采集方法及系统
CN105391734A (zh) 一种安全登录系统及方法、登录服务器和认证服务器
CN111740995B (zh) 一种授权认证方法及相关装置
WO2018208546A1 (en) Generation of shared secrets using pairwise implicit certificates
WO2023151479A1 (zh) 数据处理方法及设备
KR102510868B1 (ko) 클라이언트 시스템 인증 방법, 클라이언트 장치 및 인증 서버
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
CN113395406A (zh) 一种基于电力设备指纹的加密认证方法及系统
CN112487380A (zh) 一种数据交互方法、装置、设备及介质
CN110912685A (zh) 建立受保护通信信道
CN116709325B (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