CN110493265A - 加密数据的方法及存储介质 - Google Patents

加密数据的方法及存储介质 Download PDF

Info

Publication number
CN110493265A
CN110493265A CN201910882757.0A CN201910882757A CN110493265A CN 110493265 A CN110493265 A CN 110493265A CN 201910882757 A CN201910882757 A CN 201910882757A CN 110493265 A CN110493265 A CN 110493265A
Authority
CN
China
Prior art keywords
server
client
information
encryption
symmetric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910882757.0A
Other languages
English (en)
Inventor
王泓镔
黄镇杰
米雪碧
柯栋
贾聪
容敬民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gree Electric Appliances Inc of Zhuhai
Zhuhai Lianyun Technology Co Ltd
Original Assignee
Gree Electric Appliances Inc of Zhuhai
Zhuhai Lianyun 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 Gree Electric Appliances Inc of Zhuhai, Zhuhai Lianyun Technology Co Ltd filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN201910882757.0A priority Critical patent/CN110493265A/zh
Publication of CN110493265A publication Critical patent/CN110493265A/zh
Pending legal-status Critical Current

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/0435Network 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 symmetric encryption, i.e. same key used 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/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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及数据通信技术领域,具体涉及一种加密数据的方法及存储介质,用于解决相关技术中加密通信数据所使用的对称加密算法和非对称加密算法单一而导致通信数据容易被破解的技术问题。所述加密数据的方法包括:在客户端与服务端建立连接后,接收服务端根据随机选取的非对称加密算法生成的第一非对称加密信息;选取与第一非对称加密信息对应的非对称加密算法加密客户端根据随机选取的对称加密算法生成的第一对称加密信息;将加密的第一对称加密信息发送至服务端;选取与第一对称加密信息对应的对称加密算法加密客户端应用数据;将加密后的客户端应用数据发送至服务端,以使服务端根据第一对称加密信息对加密后的客户端应用数据进行解密。

Description

加密数据的方法及存储介质
技术领域
本公开涉及数据通信技术领域,特别地涉及一种加密数据的方法及存储介质。
背景技术
随着网络技术的飞速发展,由此引起的网络安全问题也就日益严重,如何保护网络上传输的信息,也即网络传输数据的安全问题显得越来越重要。在信息安全技术中,数据加密是信息安全的核心和关键技术,通过数据加密技术,可以在一定程度上提高数据传输的安全性,保证传输数据的完整性,是对信息进行保护的最可靠、最实用的方法。
发明内容
本公开提供一种加密数据的方法及存储介质,以解决相关技术中加密通信数据所使用的对称加密算法和非对称加密算法单一而导致通信数据容易被破解的技术问题。
为实现上述目的,本公开实施例的第一方面,提供一种加密数据的方法,应用于客户端,所述方法包括:
在所述客户端与服务端建立连接后,接收服务端根据随机选取的非对称加密算法生成的第一非对称加密信息;
选取与所述第一非对称加密信息对应的非对称加密算法加密客户端根据随机选取的对称加密算法生成的第一对称加密信息;
将加密的所述第一对称加密信息发送至服务端;
选取与所述第一对称加密信息对应的对称加密算法加密客户端应用数据;
将加密后的所述客户端应用数据发送至所述服务端,以使所述服务端根据所述第一对称加密信息对加密后的所述客户端应用数据进行解密。
可选地,该方法还包括:
随机选取非对称加密算法以生成第二非对称加密信息;
向服务端发起连接请求;
在所述客户端与所述服务端建立连接后,将所述第二非对称加密信息发送至所述服务端,以使所述服务端根据所述第二非对称加密信息加密服务端随机选取的对称加密算法生成的第二对称加密信息。
可选地,该方法还包括:
接收所述服务端发送的加密的所述第二对称加密信息和所述服务端使用所述第二对称加密信息加密的服务端应用数据;
选取与所述第二非对称加密信息对应的非对称加密算法解密加密的所述第二对称加密信息,以得到所述第二对称加密信息;
根据所述第二对称加密信息,对加密后的所述服务端应用数据进行解密。
可选地,所述第一对称加密信息和所述第二对称加密信息包括对应的对称密钥和用于指示所述对称密钥所使用的对称加密算法的对称标识;所述第一非对称加密信息和所述第二非对称加密信息包括对应的非对称密钥对和用于指示所述非对称密钥对所使用的非对称加密算法的非对称标识。
可选地,该方法还包括:
接收所述服务端发送的使用所述第一对称加密信息加密的服务端应用数据;
选取所述第一对称加密信息对应的对称加密算法解密所述服务端应用数据。
本公开实施例的第二方面,提供一种加密数据的方法,应用于服务端,所述方法包括:
在客户端与服务端建立连接后,将随机选取非对称加密算法生成的第一非对称加密信息发送至客户端;
接收客户端使用所述第一非对称加密信息加密的客户端根据随机选取对称加密算法生成的第一对称加密信息和使用所述第一对称加密信息加密的客户端应用数据;
选取所述第一非对称加密信息对应的非对称加密算法解密加密的所述第一对称加密信息;
根据所述第一对称加密信息,对加密后的所述客户端应用数据进行解密。
可选地,该方法还包括:
在接收所述客户端发送的连接请求后,接收所述客户端根据随机选取的非对称加密算法生成的第二非对称加密信息;
随机选取对称加密算法生成第二对称加密信息;
根据所述第二对称加密信息和所述第二非对称加密信息分别加密服务端应用数据和所述第二对称加密信息;
将加密的所述服务端应用数据和所述第二对称加密信息发送至所述客户端,以使所述客户端根据所述第二对称加密信息解密加密的所述服务端应用数据。
可选地,所述第一对称加密信息和所述第二对称加密信息包括对应的对称密钥和用于指示所述对称密钥所使用的对称加密算法的对称标识;所述第一非对称加密信息和所述第二非对称加密信息包括对应的非对称密钥对和用于指示所述非对称密钥对所使用的非对称加密算法的非对称标识。
可选地,该方法还包括:
选取所述第一对称加密信息对应的对称加密算法加密服务端应用数据;
将加密后的所述服务端应用数据发送至所述客户端,以使所述客户端根据所述第一对称加密信息对加密后的所述服务端应用数据进行解密。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面或第二方面中任一项所述方法的步骤。
采用上述技术方案,至少能够达到如下技术效果:
本公开服务端随机选取非对称加密算法生成第一非对称加密信息并发送给客户端,客户端随机选取对称加密算法生成的第一对称加密信息,客户端使用第一对称加密信息加密客户端应用数据以及使用第一非对称加密信息加密第一对称加密信息并发送给服务端,即通过随机组合对称加密算法和非对称加密算法,在不影响传输性能的基础上,实现了客户端与服务端通信数据加密方案的多样性和复杂性,并且,每个客户端与服务端通信,服务端都生成一对与之对应的密钥对,减少服务端因私钥暴露带来的安全问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种加密数据的方法流程图。
图2是本公开一示例性实施例示出的一种实施环境的示意图。
图3是本公开一示例性实施例示出的另一种加密数据的方法流程图。
图4是本公开一示例性实施例示出的另一种加密数据的方法流程图。
图5是本公开一示例性实施例示出的一种加密数据的装置框图。
具体实施方式
以下将结合附图及实施例来详细说明本公开的实施方式,借此对本公开如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本公开的保护范围之内。
本公开发明人经研究发现,相关技术中,基于对称加密算法和非对称加密算法的加密技术,选用的算法单一,容易被发现和破解。另外,服务端使用的密钥对单一,一旦暴露,影响客户端与服务端的通信安全。
图2是本公开一示例性实施例示出的一种实施环境的示意图。如图2所示,该实施环境可以包括终端10和服务端20。该移动终端10可以是通过移动通信网络访问服务端20的用户设备,例如智能手机、平板电脑、笔记本电脑等用户设备。图2以终端10是智能手机来示意。
具体地,终端10可以安装有多种客户端,客户端在访问网络服务时,发起网络连接请求,基于该网络连接请求,该终端10可以连接移动通信网络,访问服务端20。
图1是本公开一示例性实施例示出的一种加密数据的方法流程图,以解决相关技术中加密通信数据所使用的对称加密算法和非对称加密算法单一而导致通信数据容易被破解的技术问题。本实施例示出的该方法可以应用于如图2所示的终端10和服务端20,终端10中安装有客户端。如图1所示,该加密数据的方法包括:
S11,在客户端与服务端建立连接后,服务端将随机选取非对称加密算法生成的第一非对称加密信息发送至客户端。
S12,客户端选取与第一非对称加密信息对应的非对称加密算法加密客户端根据随机选取的对称加密算法生成的第一对称加密信息。
S13,客户端选取与所述第一对称加密信息对应的对称加密算法加密客户端应用数据,并将加密的所述第一对称加密信息和加密后的所述客户端应用数据发送至服务端。
S14,服务端选取第一非对称加密信息对应的非对称加密算法解密加密的第一对称加密信息。
S15,服务端根据所述第一对称加密信息,对加密后的客户端应用数据进行解密。
在步骤S11中,第一非对称加密信息包括非对称密钥对和非对称标识,非对称标识用于指示所述非对称密钥对所使用的非对称加密算法。服务端首先需要随机选取非对称加密算法生成非对称密钥对和非对称标识,非对称加密算法可以是ECC(Elliptic curvecryptography;椭圆曲线密码学)非对称加密算法,也可以是RSA非对称加密算法,或者是其它非对称加密算法。
服务端在生成第一非对称加密信息后,将第一非对称加密信息发送至客户端,接着执行步骤S12,客户端选取与第一非对称加密信息对应的非对称加密算法加密客户端根据随机选取的对称加密算法生成的第一对称加密信息。需要说明的是,非对称密钥对包括公钥和私钥,其中,服务端发送给客户端的是公钥,私钥服务端本地保存。
在步骤S12中,第一对称加密信息包括对称密钥和对称标识,对称标识用于指示所述对称密钥所使用的对称加密算法。客户端首先需要随机选取对称加密算法生成对称密钥和对称标识,对称加密算法可以是DES(Data Encryption Standard;数据加密标准)对称加密算法,也可以是AES(Advanced Encryption Standard;高级加密标准)对称加密算法,或者是其它对称加密算法。
接着,客户端使用第一非对称加密信息中的非对称密钥对并根据非对称标识选取对应的非对称加密算法加密第一对称加密信息,以及使用第一对称加密信息中的对称密钥并根据对称标识选取对应的对称加密算法加密客户端应用数据,然后客户端将加密的所述第一对称加密信息和加密后的所述客户端应用数据发送至服务端。
服务端接收到加密的所述第一对称加密信息和加密后的所述客户端应用数据后,执行步骤S14,服务端选取第一非对称加密信息对应的非对称加密算法解密加密的第一对称加密信息。
服务端使用第一非对称加密信息中的非对称密钥对并根据非对称标识选取对应的非对称加密算法解密第一对称加密信息。接着,服务端根据解密后的所述第一对称加密信息,对加密后的所述客户端应用数据进行解密。
本公开服务端随机选取非对称加密算法生成第一非对称加密信息并发送给客户端,客户端随机选取对称加密算法生成的第一对称加密信息,客户端使用第一对称加密信息加密客户端应用数据以及使用第一非对称加密信息加密第一对称加密信息并发送给服务端,即通过随机组合对称加密算法和非对称加密算法,在不影响传输性能的基础上,实现了客户端与服务端通信数据加密方案的多样性和复杂性,并且,每个客户端与服务端通信,服务端都生成一对与之对应的密钥对,减少服务端因私钥暴露带来的安全问题。
值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图3是本公开一示例性实施例示出的一种加密数据的方法流程图,以解决相关技术中加密通信数据所使用的对称加密算法和非对称加密算法单一而导致通信数据容易被破解的技术问题。本实施例示出的该方法可以应用于如图2所示的终端10和服务端20,终端10中安装有客户端。如图3所示,该加密数据的方法包括:
S21,客户端随机选取非对称加密算法以生成第二非对称加密信息,并向服务端发起连接请求。
S22,在客户端与服务端建立连接后,客户端将所述第二非对称加密信息发送至所述服务端。需要说明的是,第二非对称加密信息包括非对称密钥对和非对称标识,非对称标识用于指示所述非对称密钥对所使用的非对称加密算法;非对称密钥对包括公钥和私钥,其中,客户端发送给服务端的是公钥,私钥客户端本地保存。
S23,服务端将随机选取非对称加密算法生成的第一非对称加密信息发送至客户端。需要说明的是,第一非对称加密信息包括非对称密钥对和非对称标识,非对称标识用于指示所述非对称密钥对所使用的非对称加密算法;非对称密钥对包括公钥和私钥,其中,服务端发送给客户端的是公钥,私钥服务端本地保存。
S24,客户端选取与所述第一非对称加密信息对应的非对称加密算法加密客户端根据随机选取的对称加密算法生成的第一对称加密信息。
S25,客户端选取与所述第一对称加密信息对应的对称加密算法加密客户端应用数据,并将加密的所述第一对称加密信息和加密后的所述客户端应用数据发送至服务端。
S26,服务端选取所述第一非对称加密信息对应的非对称加密算法解密加密的第一对称加密信息,并根据解密后的所述第一对称加密信息,对加密后的客户端应用数据进行解密。
S27,服务端随机选取对称加密算法生成第二对称加密信息,并根据第二对称加密信息和第二非对称加密信息分别加密服务端应用数据和第二对称加密信息。
S28,服务端将加密的服务端应用数据和第二对称加密信息发送至所述客户端。
S29,客户端选取与第二非对称加密信息对应的非对称加密算法解密加密的第二对称加密信息,以得到第二对称加密信息,并根据第二对称加密信息,对加密后的所述服务端应用数据进行解密。
其中,第一非对称加密信息和第二非对称加密信息包括对应的非对称密钥对和非对称标识,非对称标识用于指示所述非对称密钥对所使用的非对称加密算法。非对称加密算法可以是ECC(Elliptic curve cryptography;椭圆曲线密码学)非对称加密算法,也可以是RSA非对称加密算法,或者是其它非对称加密算法。第一对称加密信息和第一对称加密信息包括对应的对称密钥和对称标识,对称标识用于指示所述对称密钥所使用的对称加密算法。对称加密算法可以是DES(Data Encryption Standard;数据加密标准)对称加密算法,也可以是AES(Advanced Encryption Standard;高级加密标准)对称加密算法,或者是其它对称加密算法。
接着,对上述实施例举例说明:
步骤1:服务端监听tcp端口,客户端发起tcp连接请求之前随机选取非对称加密算法,生成非对称密钥对client-publicKey和client-privateKey以及非对称标识client-flag1,其中client-flag1为客户端选取的非对称加密算法标志,用于服务端判读客户端所使用的非对称加密算法。
步骤2:客户端与服务端建立tcp连接后,客户端发送client-publicKey和client-flag1给服务端,client-privateKey则保存在客户端本地。
步骤3:服务端接收client-publicKey和client-flag1,依据客户端id保存client-publicKey和client-flag1。服务端随机选取非对称加密算法,生成密钥对server-publicKey和server-privateKey以及非对称标识server-flag1,server-flag1为服务端选取的非对称加密算法标志,用于客户端判读服务端所使用的非对称加密算法。
步骤4:服务端发送server-publicKey和server-flag1给客户端,server-privateKey则保存在服务端本地。
步骤5:客户端接收保存server-publicKey和server-flag1。客户端随机选取对称加密算法,生成对称密钥client-key以及对称标识client-flag2,client-flag2为客户端选取的对称加密算法标志,用于服务端判读客户端所使用的对称加密算法。客户端使用client-key加密客户端应用数据得到client-encryptedData1,使用server-publicKey并根据server-flag1选择相应的加密方法加密client-key得到client-encryptedData2。
步骤6:客户端发送client-encryptedData1、client-encryptedData2和client-flag2至服务端。至此客户端所使用的复合加密方案已经确定,并且服务端已经知道。
步骤7:服务端接收client-encryptedData1、client-encryptedData2和client-flag2。使用server-privateKey并根据server-flag1选择相应的解密方法解密client-encryptedData2得到client-key。使用client-key并根据client-flag2选择相应的解密方法解密client-encryptedData1得到客户端发送的应用数据。
步骤8:服务端随机选取对称加密算法,生成对称密钥server-key以及对称标识server-flag2,server-flag2为服务端选取的对称加密算法标志,用于客户端判读服务端所使用的对称加密算法。服务端使用server-key加密服务端应用数据得到server-encryptedData1,使用client-publicKey并根据client-flag1选择相应的加密方法加密server-key得到server-encryptedData2。
步骤9:服务端发送server-encryptedData1、server-encryptedData2和server-flag2至客户端。至此服务端所使用的复合加密方案已经确定,并且客户端已经知道。
步骤10:客户端接收server-encryptedData1、server-encryptedData2和server-flag2。客户端使用client-privateKey并根据client-flag1选择相应的解密方法解密server-encryptedData2得到server-key。接着,客户端使用server-key并根据server-flag2选择相应解密方法解密server-encryptedData1得到服务端发送的服务端应用数据。
至此,客户端与服务端之间单次互相传输应用数据已经完成,客户端与服务端的非对称加密算法和密钥对已经确定,实际应用中可定期更换非对称加密算法和密钥对(即重复步骤1至步骤4)。而客户端与服务端的对称加密算法和密钥则是在每次传输应用数据的过程中随机变化的。
本公开在不影响传输性能的基础上,实现了客户端与服务端通信数据加密方案的多样性和复杂性,并且,每个客户端与服务端通信,服务端都生成一对与之对应的密钥对,减少服务端因私钥暴露带来的安全问题,服务端通过使用多密钥对,提高了通信的安全程度。
值得说明的是,对于图3所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图4是本公开一示例性实施例示出的一种加密数据的方法流程图,以解决相关技术中加密通信数据所使用的对称加密算法和非对称加密算法单一而导致通信数据容易被破解的技术问题。本实施例示出的该方法可以应用于如图2所示的终端10和服务端20,终端10中安装有客户端。如图4所示,该加密数据的方法包括:
S31,客户端根据随机选取的对称加密算法生成的第一对称加密信息,并向服务端发起连接请求。
S32,在客户端与服务端建立连接后,服务端随机选取非对称加密算法生成第一非对称加密信息并将第一非对称加密信息发送至客户端。需要说明的是,第一非对称加密信息包括非对称密钥对和非对称标识,非对称标识用于指示所述非对称密钥对所使用的非对称加密算法;非对称密钥对包括公钥和私钥,其中,服务端发送给客户端的是公钥,私钥服务端本地保存。
S33,客户端选取与第一非对称加密信息对应的非对称加密算法加密第一对称加密信息和客户端应用数据,并将加密的第一对称加密信息和加密后的客户端应用数据发送至服务端。
S34,服务端选取第一非对称加密信息对应的非对称加密算法解密加密的第一对称加密信息,并根据解密后的第一对称加密信息,对加密后的客户端应用数据进行解密。
S35,服务端根据第一对称加密信息加密服务端应用数据,并将加密的服务端应用数据发送至客户端。
S36,客户端根据第一对称加密信息,对加密后的服务端应用数据进行解密。
其中,第一非对称加密信息包括非对称密钥对和非对称标识,非对称标识用于指示所述非对称密钥对所使用的非对称加密算法。非对称加密算法可以是ECC(Ellipticcurve cryptography;椭圆曲线密码学)非对称加密算法,也可以是RSA非对称加密算法,或者是其它非对称加密算法。第一对称加密信息包括对称密钥和对称标识,对称标识用于指示所述对称密钥所使用的对称加密算法。对称加密算法可以是DES(Data EncryptionStandard;数据加密标准)对称加密算法,也可以是AES(Advanced Encryption Standard;高级加密标准)对称加密算法,或者是其它对称加密算法。
接着,对上述实施例举例说明:
步骤1:1.服务端监听tcp端口,客户端发起请求之前随机选取对称加密算法,生成对称密钥client-key以及对称标识client-flag,client-flag为客户端选取的对称加密算法标志,用于服务端判读客户端所使用的对称加密算法。
步骤2:客户端发起tcp连接请求,客户端与服务端建立tcp连接后,服务端随机选取非对称加密算法,生成密钥对server-publicKey和server-privateKey以及非对称标识server-flag,server-flag为服务端选取的非对称加密算法标志,用于客户端判读服务端所使用的非对称加密算法。
步骤3:服务端发送server-publicKey和server-flag给客户端,server-privateKey则保存在服务端本地。
步骤4:客户端接收保存server-publicKey和server-flag。客户端使用server-publicKey并根据server-flag选择相应的加密方法加密client-key得到client-encryptedData。
步骤5:客户端发送client-encryptedData和client-flag至服务端。
步骤6:服务端接收client-encryptedData和client-flag。服务端使用server-privateKey并根据server-flag选择相应的解密方法解密client-encryptedData得到client-key。服务端根据客户端id保存client-key和client-flag。
步骤7:客户端使用client-key并根据client-flag选择相应的加密方法加密客户端应用数据得到client-encryptedData,并发送client-encryptedData给服务端。
步骤8:服务端接收到client-encryptedData,使用client-key并根据client-flag选择相应的解密方法解密client-encryptedData得到客户端应用数据。
步骤9:服务端使用client-key并根据client-flag选择相应的加密方法加密服务端应用数据得到server-encryptedData,并发送server-encryptedData给客户端。
步骤10:客户端接收server-encryptedData。客户端使用client-key并根据client-flag选择相应的解密方法解密server-encryptedData得到服务端应用数据。
至此,客户端与服务端之间单次互相传输应用数据已经完成。客户端与服务端的非对称加密算法及密钥对和对称加密算法和密钥已经确定,实际应用中可定期更换非对称加密算法及密钥对和对称加密算法和密钥(即重复步骤1至步骤6)。
本公开在不影响传输性能的基础上,实现了客户端与服务端通信数据加密方案的多样性和复杂性,并且,每个客户端与服务端通信,服务端都生成一对与之对应的密钥对,减少服务端因私钥暴露带来的安全问题,服务端通过使用多密钥对,提高了通信的安全程度。
值得说明的是,对于图4所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
本公开还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述的加密数据的方法步骤。
其中,在所述处理器上运行的计算机程序被执行时所实现的方法可参照本公开加密数据的方法的具体实施例,此处不再赘述。
所述处理器可以是一种集成电路芯片,具有信息处理能力。所述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。
本公开还提供一种加密数据的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项可选实施例所述的加密数据方法步骤。
图5是根据一示例性实施例示出的一种加密数据的装置400的框图。如图5所示,该装置400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(I/O)接口404,以及通信组件405。
其中,处理器401用于控制该装置400的整体操作,以完成上述的加密数据的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该装置400的操作,这些数据例如可以包括用于在该装置400上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该装置400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的加密数据的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器402,上述程序指令可由装置400的处理器401执行以完成上述的加密数据的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种加密数据的方法,其特征在于,应用于客户端,所述方法包括:
在所述客户端与服务端建立连接后,接收服务端根据随机选取的非对称加密算法生成的第一非对称加密信息;
选取与所述第一非对称加密信息对应的非对称加密算法加密客户端根据随机选取的对称加密算法生成的第一对称加密信息;
将加密的所述第一对称加密信息发送至服务端;
选取与所述第一对称加密信息对应的对称加密算法加密客户端应用数据;
将加密后的所述客户端应用数据发送至所述服务端,以使所述服务端根据所述第一对称加密信息对加密后的所述客户端应用数据进行解密。
2.根据权利要求1所述的方法,其特征在于,还包括:
随机选取非对称加密算法以生成第二非对称加密信息;
向服务端发起连接请求;
在所述客户端与所述服务端建立连接后,将所述第二非对称加密信息发送至所述服务端,以使所述服务端根据所述第二非对称加密信息加密服务端随机选取的对称加密算法生成的第二对称加密信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收所述服务端发送的加密的所述第二对称加密信息和所述服务端使用所述第二对称加密信息加密的服务端应用数据;
选取与所述第二非对称加密信息对应的非对称加密算法解密加密的所述第二对称加密信息,以得到所述第二对称加密信息;
根据所述第二对称加密信息,对加密后的所述服务端应用数据进行解密。
4.根据权利要求3所述的方法,其特征在于,所述第一对称加密信息和所述第二对称加密信息包括对应的对称密钥和用于指示所述对称密钥所使用的对称加密算法的对称标识;所述第一非对称加密信息和所述第二非对称加密信息包括对应的非对称密钥对和用于指示所述非对称密钥对所使用的非对称加密算法的非对称标识。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收所述服务端发送的使用所述第一对称加密信息加密的服务端应用数据;
选取所述第一对称加密信息对应的对称加密算法解密所述服务端应用数据。
6.一种加密数据的方法,其特征在于,应用于服务端,所述方法包括:
在客户端与服务端建立连接后,将随机选取非对称加密算法生成的第一非对称加密信息发送至客户端;
接收客户端使用所述第一非对称加密信息加密的客户端根据随机选取对称加密算法生成的第一对称加密信息和使用所述第一对称加密信息加密的客户端应用数据;
选取所述第一非对称加密信息对应的非对称加密算法解密加密的所述第一对称加密信息;
根据所述第一对称加密信息,对加密后的所述客户端应用数据进行解密。
7.根据权利要求6所述的方法,其特征在于,还包括:
在接收所述客户端发送的连接请求后,接收所述客户端根据随机选取的非对称加密算法生成的第二非对称加密信息;
随机选取对称加密算法生成第二对称加密信息;
根据所述第二对称加密信息和所述第二非对称加密信息分别加密服务端应用数据和所述第二对称加密信息;
将加密的所述服务端应用数据和所述第二对称加密信息发送至所述客户端,以使所述客户端根据所述第二对称加密信息解密加密的所述服务端应用数据。
8.根据权利要求7所述的方法,其特征在于,所述第一对称加密信息和所述第二对称加密信息包括对应的对称密钥和用于指示所述对称密钥所使用的对称加密算法的对称标识;所述第一非对称加密信息和所述第二非对称加密信息包括对应的非对称密钥对和用于指示所述非对称密钥对所使用的非对称加密算法的非对称标识。
9.根据权利要求6所述的方法,其特征在于,还包括:
选取所述第一对称加密信息对应的对称加密算法加密服务端应用数据;
将加密后的所述服务端应用数据发送至所述客户端,以使所述客户端根据所述第一对称加密信息对加密后的所述服务端应用数据进行解密。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至9中任一项所述方法的步骤。
CN201910882757.0A 2019-09-18 2019-09-18 加密数据的方法及存储介质 Pending CN110493265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910882757.0A CN110493265A (zh) 2019-09-18 2019-09-18 加密数据的方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910882757.0A CN110493265A (zh) 2019-09-18 2019-09-18 加密数据的方法及存储介质

Publications (1)

Publication Number Publication Date
CN110493265A true CN110493265A (zh) 2019-11-22

Family

ID=68558494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910882757.0A Pending CN110493265A (zh) 2019-09-18 2019-09-18 加密数据的方法及存储介质

Country Status (1)

Country Link
CN (1) CN110493265A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912920A (zh) * 2019-12-03 2020-03-24 望海康信(北京)科技股份公司 数据处理方法、设备及介质
CN111931222A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 应用数据加密方法、装置、终端及存储介质
CN115278312A (zh) * 2022-07-21 2022-11-01 中山亿联智能科技有限公司 一种机顶盒信息安全传输加密方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
WO2001065805A2 (en) * 2000-02-28 2001-09-07 Hughes Electronics Corporation Performance enhancing proxy and method for enhancing performance
CN102014136A (zh) * 2010-12-13 2011-04-13 南京邮电大学 基于随机握手的p2p网络安全通信方法
CN104821944A (zh) * 2015-04-28 2015-08-05 广东小天才科技有限公司 一种混合加密的网络数据安全方法及系统
CN105763315A (zh) * 2014-12-16 2016-07-13 展讯通信(深圳)有限公司 数据加密和解密的方法、装置以及通信系统
CN106254327A (zh) * 2016-07-28 2016-12-21 努比亚技术有限公司 信息处理装置及方法
CN107682141A (zh) * 2017-10-26 2018-02-09 广州市雷军游乐设备有限公司 用于数据传输的数据加密方法和系统
CN109150502A (zh) * 2018-09-19 2019-01-04 广州通达汽车电气股份有限公司 数据加密方法、装置、系统、计算机设备和存储介质
CN109150923A (zh) * 2018-11-06 2019-01-04 江苏怡通数码科技有限公司 基于混合加密的网络传输数据安全处理方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
WO2001065805A2 (en) * 2000-02-28 2001-09-07 Hughes Electronics Corporation Performance enhancing proxy and method for enhancing performance
CN102014136A (zh) * 2010-12-13 2011-04-13 南京邮电大学 基于随机握手的p2p网络安全通信方法
CN105763315A (zh) * 2014-12-16 2016-07-13 展讯通信(深圳)有限公司 数据加密和解密的方法、装置以及通信系统
CN104821944A (zh) * 2015-04-28 2015-08-05 广东小天才科技有限公司 一种混合加密的网络数据安全方法及系统
CN106254327A (zh) * 2016-07-28 2016-12-21 努比亚技术有限公司 信息处理装置及方法
CN107682141A (zh) * 2017-10-26 2018-02-09 广州市雷军游乐设备有限公司 用于数据传输的数据加密方法和系统
CN109150502A (zh) * 2018-09-19 2019-01-04 广州通达汽车电气股份有限公司 数据加密方法、装置、系统、计算机设备和存储介质
CN109150923A (zh) * 2018-11-06 2019-01-04 江苏怡通数码科技有限公司 基于混合加密的网络传输数据安全处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912920A (zh) * 2019-12-03 2020-03-24 望海康信(北京)科技股份公司 数据处理方法、设备及介质
CN111931222A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 应用数据加密方法、装置、终端及存储介质
CN115278312A (zh) * 2022-07-21 2022-11-01 中山亿联智能科技有限公司 一种机顶盒信息安全传输加密方法
CN115278312B (zh) * 2022-07-21 2023-11-14 中山亿联智能科技有限公司 一种机顶盒信息安全传输加密方法

Similar Documents

Publication Publication Date Title
US20200372503A1 (en) Transaction messaging
US10785019B2 (en) Data transmission method and apparatus
AU2016211551B2 (en) Methods for secure credential provisioning
EP2634703B1 (en) Removable storage device, and data processing system and method based on the device
CN104092663A (zh) 一种加密通信方法和加密通信系统
CN108282329A (zh) 一种双向身份认证方法及装置
JPWO2007125877A1 (ja) 通信装置、及び通信システム
CN108880806A (zh) 加密、解密方法、芯片及可读存储介质
JP7420779B2 (ja) 鍵保護処理方法、装置、機器及び記憶媒体
KR20170035665A (ko) 키 교환 장치 및 방법
CN104253694A (zh) 一种用于网络数据传输的保密方法
CN110493265A (zh) 加密数据的方法及存储介质
CN104270242A (zh) 一种用于网络数据加密传输的加解密装置
CN104901803A (zh) 一种基于cpk标识认证技术的数据交互安全保护方法
JP2017515385A (ja) 銀行posとモバイルターミナルとの通信の暗号化方法、通信方法、通信装置及びposターミナル
WO2021109668A1 (zh) 一种安全认证方法、装置及电子设备
TW202231014A (zh) 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
Kofuji Performance analysis of encryption algorithms on mobile devices
CN103312671B (zh) 校验服务器的方法和系统
WO2021083349A1 (zh) 一种基于安全芯片的安全认证方法与系统、安全芯片及可读存储介质
CN103929743B (zh) 一种对移动智能终端传输数据的加密方法
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
CN115315968A (zh) 应用于短距离通信系统的配对方法和无线设备
KR101829423B1 (ko) 암복호화 장치 및 이를 이용한 암복호화 방법

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191122