CN114726597B - 数据传输方法、装置、系统及存储介质 - Google Patents

数据传输方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN114726597B
CN114726597B CN202210306273.3A CN202210306273A CN114726597B CN 114726597 B CN114726597 B CN 114726597B CN 202210306273 A CN202210306273 A CN 202210306273A CN 114726597 B CN114726597 B CN 114726597B
Authority
CN
China
Prior art keywords
data
client
encryption key
server
encrypted
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
CN202210306273.3A
Other languages
English (en)
Other versions
CN114726597A (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 Resources Digital Technology Shenzhen Co ltd
Original Assignee
China Resources Digital Technology Shenzhen 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 Resources Digital Technology Shenzhen Co ltd filed Critical China Resources Digital Technology Shenzhen Co ltd
Priority to CN202210306273.3A priority Critical patent/CN114726597B/zh
Publication of CN114726597A publication Critical patent/CN114726597A/zh
Application granted granted Critical
Publication of CN114726597B publication Critical patent/CN114726597B/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/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/0822Key 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 key encryption key
    • 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/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

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

本申请实施例属于信息安全领域,涉及一种数据传输方法,应用于客户端,包括与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥;在获取到传输数据时,随机生成第一对称加密密钥,并基于第一对称加密密钥对传输数据进行加密,得到第一加密数据;基于第一非对称加密密钥对中的第一私钥对第一对称加密密钥进行加密,得到加密密钥,连接第一加密数据和加密密钥,得到完整数据;对完整数据和客户端ID进行签名,得到签名值,并基于第二公钥对签名值进行加密,得到第二加密数据;传输完整数据和第二加密数据至服务端。本申请还提供一种数据传输装置、系统及存储介质。本申请提高了数据传输的安全性。

Description

数据传输方法、装置、系统及存储介质
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据传输方法、装置、系统及存储介质。
背景技术
在数据传输的过程中,通常使用HTTPS进行传输,其中,HTTPS使用的安全套接层(Secure Socket Layer,以下简称为SSL)协议为网络通信中常用的确保会话安全的标准协议。SSL协议采用非对称加密算法,非对称加密算法采用一对密钥,而由于SSL协议主要为电子商务场景设计,在互联网中还需要证书管理中心进行管理,且密钥对相对固定,最终导致数据传输的安全性有限的问题。
发明内容
本申请实施例的目的在于提出一种数据传输方法、装置、系统及存储介质,以解决数据传输安全性较低的技术问题。
为了解决上述技术问题,本申请实施例提供一种数据传输方法,应用于客户端,采用了如下所述的技术方案:
与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥;
在获取到传输数据时,随机生成第一对称加密密钥,并基于所述第一对称加密密钥对所述传输数据进行加密,得到第一加密数据;
基于所述第一非对称加密密钥对中的第一私钥对所述第一对称加密密钥进行加密,得到加密密钥,连接所述第一加密数据和所述加密密钥,得到完整数据;
对所述完整数据和所述客户端ID进行签名,得到签名值,并基于所述第二公钥对所述签名值进行加密,得到第二加密数据;
传输所述完整数据和所述第二加密数据至所述服务端。
进一步的,所述客户端与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥的步骤包括:
发送服务请求至所述服务端,接收所述服务端返回的客户端ID;
生成第一非对称加密密钥对,其中,所述第一非对称加密密钥对包括第一公钥和第一私钥,基于所述第一公钥和所述第一私钥,获取第二公钥。
进一步的,所述基于所述第一公钥和所述第一私钥,获取第二公钥的步骤包括:
对所述第一公钥进行加密,得到第一加密密文,发送所述第一加密密文至所述服务端,以使所述服务端基于所述第一加密密文生成第二加密密文;
在接收到所述服务端发送的所述第二加密密文时,基于所述第一私钥解密所述第二加密密文,得到所述第二公钥。
进一步的,所述对所述第一公钥进行加密,得到第一加密密文的步骤包括:
获取所述服务端发送的第二对称加密密钥;
基于所述第二对称加密密钥对所述第一公钥进行对称加密,得到所述第一加密密文。
进一步的,所述连接所述第一加密数据和所述加密密钥,得到完整数据的步骤包括:
获取所述客户端和所述服务端预先协议的特殊连接字符;
基于所述特殊连接字符连接所述第一加密数据和所述加密密钥,得到所述完整数据。
进一步的,所述客户端对所述完整数据和所述客户端ID进行签名,得到签名值的步骤包括:
获取随机字段,连接所述随机字段、所述完整数据和所述客户端ID得到目标序列;
获取预设加密算法,基于所述预设加密算法对所述目标序列进行加密,得到所述签名值。
进一步的,所述客户端传输所述完整数据和所述第二加密数据至所述服务端的步骤包括:
将所述第二加密数据作为所述完整数据的数据头,基于所述数据头连接至所述完整数据,得到目标数据;
传输所述目标数据至所述服务端。
为了解决上述技术问题,本申请实施例提供一种数据传输方法,应用于服务端,采用了如下所述的技术方案:
与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥;
在接收到所述客户端发送的完整数据和第二加密数据时,对所述完整数据和所述客户端ID进行签名,得到目标签名;
获取所述第二非对称加密密钥对中的第二私钥,基于所述第二私钥对所述第二加密数据进行解密,得到解密值,比对所述解密值和所述目标签名;
在所述解密值和所述目标签名相等时,分离所述完整数据,得到所述完整数据中的第一加密数据和加密密钥;
基于所述第一公钥对所述加密密钥进行解密,得到第一对称加密密钥;
基于所述第一对称加密密钥对所述第一加密数据进行解密,得到传输数据。
进一步的,所述与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥的步骤包括:
在接收到所述客户端发送的服务请求时,基于对称加密算法生成第二对称加密密钥和客户端ID,返回所述第二对称加密密钥和所述客户端ID至所述客户端;
在接收到客户端发送的第一加密密文时,基于所述第二对称加密密钥对所述第一加密密文进行解密,得到第一公钥;
生成第二非对称加密密钥对,其中,所述第二非对称加密密钥对包括第二私钥和第二公钥,基于所述第一公钥对所述第二公钥进行加密,得到第二加密密文;
发送所述第二加密密文至所述客户端。
为了解决上述技术问题,本申请实施例还提供一种数据传输装置,应用于客户端,采用了如下所述的技术方案:
连接模块,用于客户端与服务端建立连接并交换密钥,得到客户端ID、非对称加密密钥对和第二公钥;
第一加密模块,用于所述客户端在获取到传输数据时,随机生成第一对称加密密钥,并基于所述第一对称加密密钥对所述传输数据进行加密,得到第一加密数据;
第二加密模块,用于所述客户端基于所述非对称加密密钥对中的第一私钥对所述第一对称加密密钥进行加密,得到加密密钥,连接所述第一加密数据和所述加密密钥,得到完整数据;
第三加密模块,用于所述客户端对所述完整数据和所述客户端ID进行签名,得到签名值,并基于所述第二公钥对所述签名值进行加密,得到第二加密数据;
传输模块,用于所述客户端传输所述完整数据和所述第二加密数据至所述服务端。
为了解决上述技术问题,本申请实施例还提供一种数据传输装置,应用于服务端,采用了如下所述的技术方案:
交换模块,用于与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥;
签名模块,用于在接收到所述客户端发送的完整数据和第二加密数据时,对所述完整数据和所述客户端ID进行签名,得到目标签名;
第一解密模块,用于获取所述第二非对称加密密钥对中的第二私钥,基于所述第二私钥对所述第二加密数据进行解密,得到解密值,比对所述解密值和所述目标签名;
分离模块,用于在所述解密值和所述目标签名相等时,分离所述完整数据,得到所述完整数据中的第一加密数据和加密密钥;
第二解密模块,用于基于所述第一公钥对所述加密密钥进行解密,得到第一对称加密密钥;
第三解密模块,用于基于所述第一对称加密密钥对所述第一加密数据进行解密,得到传输数据。
为了解决上述技术问题,本申请实施例还提供一种数据传输系统,所述数据传输系统包括服务端以及与所述服务端通信连接的至少一个客户端,所述客户端包括第一存储器和第一处理器,所述第一存储器中存储有计算机可读指令,所述第一处理器执行所述计算机可读指令时实现如上述的数据传输方法;所述服务端包括第二存储器和第二处理器,所述第二存储器中存储有计算机可读指令,所述第二处理器执行所述计算机可读指令时实现如上述的数据传输方法。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述的数据传输方法。
本申请提出的数据传输方法,应用于客户端,通过与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥;在获取到传输数据时,随机生成第一对称加密密钥,并基于第一对称加密密钥对传输数据进行加密,得到第一加密数据,实现了对传输数据的加密,避免数据的泄露;而后,基于第一非对称加密密钥对中的第一私钥对第一对称加密密钥进行加密,得到加密密钥,连接第一加密数据和加密密钥,得到完整数据,实现了对密钥加密,并通过对第一加密数据和加密密钥进行连接,进一步提高了传输数据的安全性;之后,对完整数据和客户端ID进行签名,得到签名值,并基于第二公钥对签名值进行加密,得到第二加密数据,实现了对签名值的加密,并使得服务端能够通过该签名值确认完整数据在传输过程中是否被篡改;最后,传输完整数据和第二加密数据至服务端,实现了对数据的安全传输,避免了数据传输过程中信息的泄露,极大地提高了数据传输的安全性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的数据传输方法的一个实施例的流程图;
图3是根据本申请的数据传输装置的一个实施例的结构示意图;
图4是根据本申请的数据传输系统的一个实施例的结构示意图。
附图标记:数据传输装置300、连接模块301、第一加密模块302、第二加密模块303、第三加密模块304以及传输模块305。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的数据传输方法一般由终端设备执行,相应地,数据传输装置一般设置于终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的数据传输的方法,应用于客户端的一个实施例的流程图。所述的数据传输方法,包括以下步骤:
步骤S201,与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥。
在本实施例中,客户端可以通过TCP协议,建立和服务端的连接并进行通信,在客户端与服务端建立连接时,客户端与服务端之间交换密钥。在经过密钥交换之后,客户端上存储有客户端ID、第一非对称加密密钥对和第二公钥,其中,客户端上存储的第一非对称加密密钥对为客户端生成的非对称加密密钥,该第一非对称加密密钥对包括第一公钥和第一私钥;服务端上则存储有客户端ID、第二非对称加密密钥对,以及客户端的第一非对称加密密钥对中的第一公钥,该服务端上的第二非对称加密密钥对则包括第二公钥和第二私钥。
步骤S202,在获取到传输数据时,随机生成第一对称加密密钥,并基于所述第一对称加密密钥对所述传输数据进行加密,得到第一加密数据。
在本实施例中,传输数据可以为业务数据,客户端将加密后的业务数据传输至服务端,服务端对该业务数据解密后,可以处理该业务数据对应的业务请求。客户端在获取到传输数据时,随机生成第一对称加密密钥,基于该第一对称加密密钥对该传输数据进行加密,得到第一加密数据。
步骤S203,基于所述第一非对称加密密钥对中的第一私钥对所述第一对称加密密钥进行加密,得到加密密钥,连接所述第一加密数据和所述加密密钥,得到完整数据。
在本实施例中,第一非对称加密密钥对中包括第一公钥和第一私钥。在得到第一加密数据时,客户端基于该第一私钥对第一对称加密密钥进行加密,得到加密密钥;而后,连接该第一加密数据和加密密钥,即得到完整数据。其中,通过特殊连接字符或者拼接的方式可以对第一加密密钥和加密数据进行连接。
步骤S204,对所述完整数据和所述客户端ID进行签名,得到签名值,并基于所述第二公钥对所述签名值进行加密,得到第二加密数据。
在本实施例中,在得到完整数据时,客户端对该完整数据和客户端ID进行组合,得到组合数据,对该组合数据进一步进行加密,生成签名值,该签名值即为加密后的数据。在得到签名值时,客户端基于存储的第二公钥对该签名值进行加密,得到第二加密数据。
步骤S205,传输所述完整数据和所述第二加密数据至所述服务端。
在本实施例中,在得到第二加密数据时,客户端传输该第二加密数据和完整数据至服务端。具体地,在传输完整数据和第二加密数据至服务端时,可以将该第二加密数据作为该完整数据的数据头,基于该数据头连接至该完整数据,得到目标数据;而后,传输该目标数据至服务端。
本实施例通过对客户端与服务端之间的传输数据进行加密,并且加密的密钥随机生成,且每个请求均只使用一次,实现了对数据的安全传输,避免了数据传输过程中信息的泄露,极大地提高了数据传输的安全性。
在本实施例的一些可选的实现方式中,上述客户端与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥的步骤包括:
发送服务请求至所述服务端,接收所述服务端返回的客户端ID;
生成第一非对称加密密钥对,其中,所述第一非对称加密密钥对包括第一公钥和第一私钥,基于所述第一公钥和所述第一私钥,获取第二公钥。
在本实施例中,服务请求为客户端ID请求,客户端发送该服务请求至服务端,服务端在接收到该服务请求时,通过对称加密算法(如SM4算法)生成客户端ID,并将客户端ID返回至客户端。该客户端ID为客户端的唯一标识编号,在客户端每次发送服务请求至服务端时,服务端可以对该客户端ID进行复用,也可以重新获取。客户端在接收到该客户端ID时,客户端对该客户端ID进行存储,并根据预设算法(如SM2算法)生成第一非对称加密密钥对,该第一非对称加密密钥对包括第一公钥和第一私钥。客户端基于该第一公钥和第二私钥从服务端获取得到第二公钥。
本实施例通过客户端发送服务请求至服务端,获取客户端ID,并生成非对称加密密钥对,避免了客户端信息的泄露,并通过非对称加密密钥对获取第二公钥,避免了密钥的单一性,进一步提高了数据传输的安全。
在本实施例的一些可选的实现方式中,上述基于所述第一公钥和所述第一私钥,获取第二公钥的步骤包括:
对所述第一公钥进行加密,得到第一加密密文,发送所述第一加密密文至所述服务端,以使所述服务端基于所述第一加密密文生成第二加密密文;
在接收到所述服务端发送的所述第二加密密文时,基于所述第一私钥解密所述第二加密密文,得到所述第二公钥。
在本实施例中,在客户端生成第一非对称加密密钥对时,客户端对该第一非对称加密密钥对中的第一公钥进行加密,得到第一加密密文,将该第一加密密文发送至服务端。服务端在接收到该第一加密密文时,通过在服务端本地存储的第二对称加密密钥对该第一加密密文进行解密,得到第一公钥,存储该第一公钥;而后,服务端生成第二非对称加密密钥对,该第二非对称加密密钥对为服务端生成的密钥对,与客户端生成的第一非对称加密密钥对为不同的两个密钥对。该服务端的第二非对称加密密钥对包括第二公钥和第二私钥,服务端基于存储的第一公钥对该第二公钥进行加密,得到第二加密密文。服务端返回该第二加密密文至客户端,客户端在接收到该第二加密密文时,基于第一私钥对该第二加密密文进行解密,得到第二公钥。
本实施例通过对第一公钥进行加密,得到第一加密密文,发送第一加密密文至服务端,在接收到服务端发送的第二加密密文时,基于第一私钥解密第二加密密文,得到第二公钥,实现了对第二公钥的加密传输,避免了密钥的泄露。
在本实施例的一些可选的实现方式中,上述对所述第一公钥进行加密,得到第一加密密文的步骤包括:
获取所述服务端发送的第二对称加密密钥;
基于所述第二对称加密密钥对所述第一公钥进行对称加密,得到所述第一加密密文。
在本实施例中,在客户端对第一公钥进行加密时,可通过服务端发送的第二对称加密密钥进行加密。具体地,服务端在接收到客户端发送的服务请求时,可以生成第二对称加密密钥,该第二对称加密密钥可通过对称加密算法生成;而后,服务端在发送客户端ID至客户端时,将该第二对称加密密钥同时发送至客户端。客户端在接收到该第二对称加密密钥时,基于该第二对称加密密钥对第一公钥进行对称加密,即得到第一加密密文。
本实施例通过第二对称加密密钥对第一公钥进行对称加密,得到第一加密密文,提高了密钥传输的安全性。
在本实施例的一些可选的实现方式中,上述连接所述第一加密数据和所述加密密钥,得到完整数据的步骤包括:
获取所述客户端和所述服务端预先协议的特殊连接字符;
基于所述特殊连接字符连接所述第一加密数据和所述加密密钥,得到所述完整数据。
在本实施例中,客户端和服务端在进行通信之前,可以通过预先协议协定各种字符及数据。因此,在得到第一加密数据和加密密钥时,获取客户端和服务端预先协议的特殊连接字符,基于该特殊连接字符连接该第一加密数据和加密密钥,即得到完整数据。
本实施例通过获取客户端和服务端预先协议的特殊连接字符,基于特殊连接字符连接第一加密数据和加密密钥,得到完整数据,实现了对传输数据的多重加密,进一步提高了传输数据的安全性。
在本实施例的一些可选的实现方式中,上述客户端对所述完整数据和所述客户端ID进行签名,得到签名值的步骤包括:
获取随机字段,连接所述随机字段、所述完整数据和所述客户端ID得到目标序列;
获取预设加密算法,基于所述预设加密算法对所述目标序列进行加密,得到所述签名值。
在本实施例中,随机字段为盐字段,盐字段(salt)由n位随机数组成,获取随机字段,将该随机字段、完整数据和客户端ID连接在一起,得到目标序列。其中,该随机字段可以连接在完整数据和客户端ID之间,也可以放在完整数据和客户端ID前或后。在得到目标序列时,获取预设加密算法(如SM3算法),基于该预设加密算法对目标序列进行加密,得到签名值。
本实施例通过随机字段对完整数据和客户端ID进行加盐,得到目标序列,之后对目标序列进行加密,进一步提高了数据的安全性。
在本申请一些实施例中,上述数据传输方法还可以应用于服务端,包括:
与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥;
在接收到所述客户端发送的完整数据和第二加密数据时,对所述完整数据和所述客户端ID进行签名,得到目标签名;
获取所述第二非对称加密密钥对中的第二私钥,基于所述第二私钥对所述第二加密数据进行解密,得到解密值,比对所述解密值和所述目标签名;
在所述解密值和所述目标签名相等时,分离所述完整数据,得到所述完整数据中的第一加密数据和加密密钥;
基于所述第一公钥对所述加密密钥进行解密,得到第一对称加密密钥;
基于所述第一对称加密密钥对所述第一加密数据进行解密,得到传输数据。
在本实施例中,服务端与客户端建立连接,并交换密钥,其中,服务端上存储有客户端ID、第二非对称加密密钥对和第一公钥。服务端在接收到第二加密数据和完整数据时,通过该完整数据和本地存储的客户端ID加盐得到加盐后的数据,之后通过加密算法(如SM3算法)对该加盐后的数据进行加密,得到目标签名。在得到目标签名时,服务端通过其生成的第二非对称加密密钥对中的第二私钥对客户端发送的第二加密数据进行解密,得到解密后的解密值。服务端比对该解密值和目标签名,确定该解密值是否与该目标签名相等,若相等,则确定该完整数据在传输过程未被篡改;若不相等,则确定该完整数据在传输过程存在修改。在服务端确定该完整数据在传输过程未被篡改时,服务端对完整数据中的第一加密数据和加密密钥进行分离,得到第一加密数据和加密密钥;之后,通过存储的第一公钥对该加密密钥进行解密,得到第一对称加密密钥;最后,通过该第一对称加密密钥对第一加密数据进行解密,即得到真实的传输数据;服务端对该传输数据的业务请求进行处理,处理完成后即响应客户端。
本实施例通过服务端对客户端发送的完整数据和第二加密数据进行解密,实现了对传输数据的高效快速解密,并避免了数据的泄露,提高了数据传输的安全性。
在本实施例的一些可选的实现方式中,上述与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥的步骤包括:
在接收到所述客户端发送的服务请求时,基于对称加密算法生成第二对称加密密钥和客户端ID,返回所述第二对称加密密钥和所述客户端ID至所述客户端;
在接收到客户端发送的第一加密密文时,基于所述第二对称加密密钥对所述第一加密密文进行解密,得到所述第一公钥。
在本实施例中,服务请求为客户端发送的客户端ID请求。服务端在接收到客户端发送的该服务请求时,基于对称加密算法生成第二对称加密密钥和客户端ID,而后,返回该第二对称加密密钥和客户端ID至客户端。在服务端接收到客户端发送的第一加密密文时,则基于该第二对称加密密钥对该第一加密密文进行解密,得到第一公钥;之后,生成第二非对称加密密钥对,其中,该第二非对称加密密钥对包括第二私钥和第二公钥。服务端基于第一公钥可以对第二私钥进行加密,得到第二加密密文,发送该第二加密密文至客户端;客户端在接收到该第二加密密文时,对该第二加密密文进行解密,即得到第二公钥。
本实施例通过在接收到客户端发送的服务请求时,生成第二对称加密密钥和客户端ID,在接收到客户端发送的第一加密密文时,基于该第二对称加密密钥对该第一加密密文进行解密,即得到第一公钥,实现了对密钥的安全交换。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种数据传输装置的一个实施例,应用于客户端,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的数据传输装置300包括:连接模块301、第一加密模块302、第二加密模块303、第三加密模块304以及传输模块305。其中:
连接模块301,用于与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥;
在本实施例中,客户端可以通过TCP协议,建立和服务端的连接并进行通信,在客户端与服务端建立连接时,客户端与服务端之间交换密钥。在经过密钥交换之后,客户端上存储有客户端ID、第一非对称加密密钥对和第二公钥,其中,客户端上存储的第一非对称加密密钥对为客户端生成的非对称加密密钥,该第一非对称加密密钥对包括第一公钥和第一私钥;服务端上则存储有客户端ID、第二非对称加密密钥对,以及客户端的第一非对称加密密钥对中的第一公钥,该服务端上的第二非对称加密密钥对则包括第二公钥和第二私钥。
在本实施例的一些可选的实现方式中,连接模块301包括:
接收单元,用于发送服务请求至所述服务端,接收所述服务端返回的客户端ID;
生成单元,用于生成第一非对称加密密钥对,其中,所述第一非对称加密密钥对包括第一公钥和第一私钥,基于所述第一公钥和所述第一私钥,获取第二公钥。
在本实施例中,服务请求为客户端ID请求,客户端发送该服务请求至服务端,服务端在接收到该服务请求时,通过对称加密算法(如SM4算法)生成客户端ID,并将客户端ID返回至客户端。该客户端ID为客户端的唯一标识编号,在客户端每次发送服务请求至服务端时,服务端可以对该客户端ID进行复用,也可以重新获取。客户端在接收到该客户端ID时,客户端对该客户端ID进行存储,并根据预设算法(如SM2算法)生成第一非对称加密密钥对,该第一非对称加密密钥对包括第一公钥和第一私钥。客户端基于该第一公钥和第二私钥从服务端获取得到第二公钥。
在本实施例的一些可选的实现方式中,生成单元包括:
发送单元,用于对所述第一公钥进行加密,得到第一加密密文,发送所述第一加密密文至所述服务端,以使所述服务端基于所述第一加密密文生成第二加密密文;
解密单元,用于在接收到所述服务端发送的所述第二加密密文时,基于所述第一私钥解密所述第二加密密文,得到所述第二公钥。
在本实施例中,在客户端生成第一非对称加密密钥对时,客户端对该第一非对称加密密钥对中的第一公钥进行加密,得到第一加密密文,将该第一加密密文发送至服务端。服务端在接收到该第一加密密文时,通过在服务端本地存储的第二对称加密密钥对该第一加密密文进行解密,得到第一公钥,存储该第一公钥;而后,服务端生成第二非对称加密密钥对,该第二非对称加密密钥对为服务端生成的密钥对,与客户端生成的第一非对称加密密钥对为不同的两个密钥对。该服务端的第二非对称加密密钥对包括第二公钥和第二私钥,服务端基于存储的第一公钥对该第二公钥进行加密,得到第二加密密文。服务端返回该第二加密密文至客户端,客户端在接收到该第二加密密文时,基于第一私钥对该第二加密密文进行解密,得到第二公钥。
在本实施例的一些可选的实现方式中,发送单元包括:
第一获取单元,用于获取所述服务端发送的第二对称加密密钥;
第一加密单元,用于基于所述第二对称加密密钥对所述第一公钥进行对称加密,得到所述第一加密密文。
在本实施例中,在客户端对第一公钥进行加密时,可通过服务端发送的第二对称加密密钥进行加密。具体地,服务端在接收到客户端发送的服务请求时,可以生成第二对称加密密钥,该第二对称加密密钥可通过对称加密算法生成;而后,服务端在发送客户端ID至客户端时,将该第二对称加密密钥同时发送至客户端。客户端在接收到该第二对称加密密钥时,基于该第二对称加密密钥对第一公钥进行对称加密,即得到第一加密密文。
第一加密模块302,用于在获取到传输数据时,随机生成第一对称加密密钥,并基于所述第一对称加密密钥对所述传输数据进行加密,得到第一加密数据;
在本实施例中,传输数据可以为业务数据,客户端将加密后的业务数据传输至服务端,服务端对该业务数据解密后,可以处理该业务数据对应的业务请求。客户端在获取到传输数据时,随机生成第一对称加密密钥,基于该第一对称加密密钥对该传输数据进行加密,得到第一加密数据。
第二加密模块303,用于基于所述第一非对称加密密钥对中的第一私钥对所述第一对称加密密钥进行加密,得到加密密钥,连接所述第一加密数据和所述加密密钥,得到完整数据;
在本实施例中,第一非对称加密密钥对中包括第一公钥和第一私钥。在得到第一加密数据时,客户端基于该第一私钥对第一对称加密密钥进行加密,得到加密密钥;而后,连接该第一加密数据和加密密钥,即得到完整数据。其中,通过特殊连接字符或者拼接的方式可以对第一加密密钥和加密数据进行连接。
在本实施例的一些可选的实现方式中,第二加密模块303包括:
第二获取单元,用于获取所述客户端和所述服务端预先协议的特殊连接字符;
连接单元,用于基于所述特殊连接字符连接所述第一加密数据和所述加密密钥,得到所述完整数据。
在本实施例中,客户端和服务端在进行通信之前,可以通过预先协议协定各种字符及数据。因此,在得到第一加密数据和加密密钥时,获取客户端和服务端预先协议的特殊连接字符,基于该特殊连接字符连接该第一加密数据和加密密钥,即得到完整数据。
第三加密模块304,用于对所述完整数据和所述客户端ID进行签名,得到签名值,并基于所述第二公钥对所述签名值进行加密,得到第二加密数据;
在本实施例中,在得到完整数据时,客户端对该完整数据和客户端ID进行组合,得到组合数据,对该组合数据进一步进行加密,生成签名值,该签名值即为加密后的数据。在得到签名值时,客户端基于存储的第二公钥对该签名值进行加密,得到第二加密数据。
在本实施例的一些可选的实现方式中,第三加密模块304包括:
第三获取单元,用于获取随机字段,连接所述随机字段、所述完整数据和所述客户端ID得到目标序列;
第二加密单元,用于获取预设加密算法,基于所述预设加密算法对所述目标序列进行加密,得到所述签名值。
在本实施例中,随机字段为盐字段,盐字段(salt)由n位随机数组成,获取随机字段,将该随机字段、完整数据和客户端ID连接在一起,得到目标序列。其中,该随机字段可以连接在完整数据和客户端ID之间,也可以放在完整数据和客户端ID前或后。在得到目标序列时,获取预设加密算法(如SM3算法),基于该预设加密算法对目标序列进行加密,得到签名值。
传输模块305,用于传输所述完整数据和所述第二加密数据至所述服务端。
在本实施例中,在得到第二加密数据时,客户端传输该第二加密数据和完整数据至服务端。具体地,在传输完整数据和第二加密数据至服务端时,可以将该第二加密数据作为该完整数据的数据头,基于该数据头连接至该完整数据,得到目标数据;而后,传输该目标数据至服务端。
本实施例提出的数据传输装置,应用于客户端,实现了对数据的安全传输,避免了数据传输过程中信息的泄露,极大地提高了数据传输的安全性。
本申请还提供一种数据传输装置的实施例,应用于服务端,该装置具体可以应用于各种电子设备中。本实施例所述的数据传输装置包括:交换模块、签名模块、第一解密模块、分离模块、第二解密模块以及第三解密模块。其中:
交换模块,用于与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥;
签名模块,用于在接收到所述客户端发送的完整数据和第二加密数据时,对所述完整数据和所述客户端ID进行签名,得到目标签名;
第一解密模块,用于获取所述第二非对称加密密钥对中的第二私钥,基于所述第二私钥对所述第二加密数据进行解密,得到解密值,比对所述解密值和所述目标签名;
分离模块,用于在所述解密值和所述目标签名相等时,分离所述完整数据,得到所述完整数据中的第一加密数据和加密密钥;
第二解密模块,用于基于所述第一公钥对所述加密密钥进行解密,得到第一对称加密密钥;
第三解密模块,用于基于所述第一对称加密密钥对所述第一加密数据进行解密,得到传输数据。
在本实施例中,服务端与客户端建立连接,并交换密钥,其中,服务端上存储有客户端ID、第二非对称加密密钥对和第一公钥。服务端在接收到第二加密数据和完整数据时,通过该完整数据和本地存储的客户端ID加盐得到加盐后的数据,之后通过加密算法(如SM3算法)对该加盐后的数据进行加密,得到目标签名。在得到目标签名时,服务端通过其生成的第二非对称加密密钥对中的第二私钥对客户端发送的第二加密数据进行解密,得到解密后的解密值。服务端比对该解密值和目标签名,确定该解密值是否与该目标签名相等,若相等,则确定该完整数据在传输过程未被篡改;若不相等,则确定该完整数据在传输过程存在修改。在服务端确定该完整数据在传输过程未被篡改时,服务端对完整数据中的第一加密数据和加密密钥进行分离,得到第一加密数据和加密密钥;之后,通过存储的第一公钥对该加密密钥进行解密,得到第一对称加密密钥;最后,通过该第一对称加密密钥对第一加密数据进行解密,即得到真实的传输数据;服务端对该传输数据的业务请求进行处理,处理完成后即响应客户端。
在本实施例的一些可选的实现方式中,交换模块包括:
返回单元,用于在接收到所述客户端发送的服务请求时,基于对称加密算法生成第二对称加密密钥和客户端ID,返回所述第二对称加密密钥和所述客户端ID至所述客户端;
解密单元,用于在接收到客户端发送的第一加密密文时,基于所述第二对称加密密钥对所述第一加密密文进行解密,得到所述第一公钥。
在本实施例中,服务请求为客户端发送的客户端ID请求。服务端在接收到客户端发送的该服务请求时,基于对称加密算法生成第二对称加密密钥和客户端ID,而后,返回该第二对称加密密钥和客户端ID至客户端。在服务端接收到客户端发送的第一加密密文时,则基于该第二对称加密密钥对该第一加密密文进行解密,得到第一公钥;之后,生成第二非对称加密密钥对,其中,该第二非对称加密密钥对包括第二私钥和第二公钥。服务端基于第一公钥可以对第二私钥进行加密,得到第二加密密文,发送该第二加密密文至客户端;客户端在接收到该第二加密密文时,对该第二加密密文进行解密,即得到第二公钥。
本实施例提出的数据传输装置,应用于服务端,实现了对传输数据的高效快速解密,并避免了数据的泄露,提高了数据传输的安全性
为解决上述技术问题,本申请实施例还提供数据传输系统。具体请参阅图4,图4为本实施例数据传输系统基本结构框图。
所述数据传输系统6包括客户端和服务端,客户端包括通过系统总线相互通信连接第一存储器61、第一处理器62、第一网络接口63,服务端包括通过系统总线相互通信连接第二存储器64、第二处理器65、第二网络接口66。需要指出的是,图中仅示出了具有组件61-66的数据传输系统6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的数据传输系统是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述数据传输系统可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述数据传输系统可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述第一存储器61和第二存储器64至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述第一存储器61和第二存储器64可以是所述数据传输系统6的内部存储单元,例如该数据传输系统6的硬盘或内存。在另一些实施例中,所述第一存储器61和第二存储器64也可以是所述数据传输系统6的外部存储设备,例如该数据传输系统6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述第一存储器61和第二存储器64还可以既包括所述数据传输系统6的内部存储单元也包括其外部存储设备。本实施例中,所述第一存储器61和第二存储器64通常用于存储安装于所述数据传输系统6的操作系统和各类应用软件,例如数据传输方法的计算机可读指令等。此外,所述第一存储器61和第二存储器64还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述第一处理器62和第二处理器65在一些实施例中可以是中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该第一处理器62和第二处理器65通常用于控制所述数据传输系统6的总体操作。本实施例中,所述第一处理器62用于运行所述第一存储器61中存储的计算机可读指令或者处理数据,例如运行所述数据传输方法的计算机可读指令;所述第二处理器65用于运行所述第二存储器64中存储的计算机可读指令或者处理数据,例如运行所述数据传输方法的计算机可读指令。
所述第一网络接口63和第二网络接口66可包括无线网络接口或有线网络接口,该第一网络接口63和第二网络接口66通常用于在所述数据传输系统6与其他电子设备之间建立通信连接。
本实施例提出的数据传输系统,实现了对数据的安全传输,避免了数据传输过程中信息的泄露,极大地提高了数据传输的安全性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据传输方法的步骤。
本实施例提出的计算机可读存储介质,实现了对数据的安全传输,避免了数据传输过程中信息的泄露,极大地提高了数据传输的安全性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (9)

1.一种数据传输方法,应用于客户端,其特征在于,包括下述步骤:
与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥,其中,所述与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥的步骤包括:
发送服务请求至所述服务端,接收所述服务端返回的客户端ID;
生成第一非对称加密密钥对,其中,所述第一非对称加密密钥对包括第一公钥和第一私钥;
对所述第一公钥进行加密,得到第一加密密文,发送所述第一加密密文至所述服务端,以使所述服务端基于所述第一加密密文生成第二加密密文,所述以使所述服务端基于所述第一加密密文生成第二加密密文的步骤,具体包括:在所述服务端接收到所述第一加密密文,并基于所述第一加密密文解密出所述第一公钥,以及所述服务端生成了包括所述第二公钥的第二非对称加密密钥对后,触发启动目标加密指令,使得所述服务端基于所述第一公钥对所述第二公钥进行加密,得到所述第二加密密文;
在接收到所述服务端发送的所述第二加密密文时,基于所述第一私钥解密所述第二加密密文,得到所述第二公钥;
在获取到传输数据时,随机生成第一对称加密密钥,并基于所述第一对称加密密钥对所述传输数据进行加密,得到第一加密数据;
基于所述第一非对称加密密钥对中的第一私钥对所述第一对称加密密钥进行加密,得到加密密钥,连接所述第一加密数据和所述加密密钥,得到完整数据;
对所述完整数据和所述客户端ID进行签名,得到签名值,并基于所述第二公钥对所述签名值进行加密,得到第二加密数据;
传输所述完整数据和所述第二加密数据至所述服务端。
2.根据权利要求1所述的数据传输方法,其特征在于,所述对所述第一公钥进行加密,得到第一加密密文的步骤包括:
获取所述服务端发送的第二对称加密密钥;
基于所述第二对称加密密钥对所述第一公钥进行对称加密,得到所述第一加密密文。
3.根据权利要求1所述的数据传输方法,其特征在于,所述连接所述第一加密数据和所述加密密钥,得到完整数据的步骤包括:
获取所述客户端和所述服务端预先协议的特殊连接字符;
基于所述特殊连接字符连接所述第一加密数据和所述加密密钥,得到所述完整数据。
4.根据权利要求1所述的数据传输方法,其特征在于,所述客户端对所述完整数据和所述客户端ID进行签名,得到签名值的步骤包括:
获取随机字段,连接所述随机字段、所述完整数据和所述客户端ID得到目标序列;
获取预设加密算法,基于所述预设加密算法对所述目标序列进行加密,得到所述签名值。
5.一种数据传输方法,应用于服务端,其特征在于,包括下述步骤:
与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥,其中,所述与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥的步骤包括:在接收到所述客户端发送的服务请求时,基于对称加密算法生成第二对称加密密钥和客户端ID,返回所述第二对称加密密钥和所述客户端ID至所述客户端;在接收到客户端发送的第一加密密文时,基于所述第二对称加密密钥对所述第一加密密文进行解密,得到所述第一公钥;基于所述第一公钥对所述第二非对称加密密钥对中的第二公钥进行加密,得到第二加密密文,并将所述第二加密密文返回给所述客户端;
在接收到所述客户端发送的完整数据和第二加密数据时,对所述完整数据和所述客户端ID进行签名,得到目标签名;
获取所述第二非对称加密密钥对中的第二私钥,基于所述第二私钥对所述第二加密数据进行解密,得到解密值,比对所述解密值和所述目标签名;
在所述解密值和所述目标签名相等时,分离所述完整数据,得到所述完整数据中的第一加密数据和加密密钥;
基于所述第一公钥对所述加密密钥进行解密,得到第一对称加密密钥;
基于所述第一对称加密密钥对所述第一加密数据进行解密,得到传输数据。
6.一种数据传输装置,应用于客户端,其特征在于,所述应用于客户端的所述数据传输装置用于实现如权利要求1至4中任一项所述的数据传输方法的步骤,所述应用于客户端的所述数据传输装置,包括:
连接模块,用于与服务端建立连接并交换密钥,得到客户端ID、第一非对称加密密钥对和第二公钥;
第一加密模块,用于在获取到传输数据时,随机生成第一对称加密密钥,并基于所述第一对称加密密钥对所述传输数据进行加密,得到第一加密数据;
第二加密模块,用于基于所述第一非对称加密密钥对中的第一私钥对所述第一对称加密密钥进行加密,得到加密密钥,连接所述第一加密数据和所述加密密钥,得到完整数据;
第三加密模块,用于对所述完整数据和所述客户端ID进行签名,得到签名值,并基于所述第二公钥对所述签名值进行加密,得到第二加密数据;
传输模块,用于传输所述完整数据和所述第二加密数据至所述服务端。
7.一种数据传输装置,应用于服务端,其特征在于,所述应用于服务端的所述数据传输装置用于实现如权利要求5所述的数据传输方法的步骤,所述应用于服务端的所述数据传输装置,包括:
交换模块,用于与客户端建立连接并交换密钥,得到客户端ID、第二非对称加密密钥对和第一公钥;
签名模块,用于在接收到所述客户端发送的完整数据和第二加密数据时,对所述完整数据和所述客户端ID进行签名,得到目标签名;
第一解密模块,用于获取所述第二非对称加密密钥对中的第二私钥,基于所述第二私钥对所述第二加密数据进行解密,得到解密值,比对所述解密值和所述目标签名;
分离模块,用于在所述解密值和所述目标签名相等时,分离所述完整数据,得到所述完整数据中的第一加密数据和加密密钥;
第二解密模块,用于基于所述第一公钥对所述加密密钥进行解密,得到第一对称加密密钥;
第三解密模块,用于基于所述第一对称加密密钥对所述第一加密数据进行解密,得到传输数据。
8.一种数据传输系统,包括服务端以及与所述服务端通信连接的至少一个客户端,所述客户端包括第一存储器和第一处理器,所述第一存储器中存储有计算机可读指令,所述第一处理器执行所述计算机可读指令时实现如权利要求1至4中任一项所述的数据传输方法的步骤;所述服务端包括第二存储器和第二处理器,所述第二存储器中存储有计算机可读指令,所述第二处理器执行所述计算机可读指令时实现如权利要求5所述的数据传输方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至4中任一项所述的数据传输方法的步骤,或者如权利要求5所述的数据传输方法的步骤。
CN202210306273.3A 2022-03-25 2022-03-25 数据传输方法、装置、系统及存储介质 Active CN114726597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210306273.3A CN114726597B (zh) 2022-03-25 2022-03-25 数据传输方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210306273.3A CN114726597B (zh) 2022-03-25 2022-03-25 数据传输方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN114726597A CN114726597A (zh) 2022-07-08
CN114726597B true CN114726597B (zh) 2024-04-26

Family

ID=82239194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210306273.3A Active CN114726597B (zh) 2022-03-25 2022-03-25 数据传输方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN114726597B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116208428B (zh) * 2023-04-27 2023-07-18 中科信工创新技术(北京)有限公司 一种传输文件的方法、系统、装置、存储介质及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN108881318A (zh) * 2018-09-06 2018-11-23 程杰 海洋环境探测数据的加密传输方法与加密传输系统
CN109802825A (zh) * 2017-11-17 2019-05-24 深圳市金证科技股份有限公司 一种数据加密、解密的方法、系统及终端设备
CN111130803A (zh) * 2019-12-26 2020-05-08 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
CN111835511A (zh) * 2020-06-30 2020-10-27 平安国际智慧城市科技股份有限公司 数据安全传输方法、装置、计算机设备及存储介质
CN112291190A (zh) * 2020-07-28 2021-01-29 国网思极网安科技(北京)有限公司 一种身份认证方法、终端及服务器
WO2021103802A1 (zh) * 2019-11-26 2021-06-03 中国银联股份有限公司 数据的加解密方法、装置、存储介质及加密文件
CN113037484A (zh) * 2021-05-19 2021-06-25 银联商务股份有限公司 数据传输方法、装置、终端、服务器及存储介质
CN113364760A (zh) * 2021-06-01 2021-09-07 平安科技(深圳)有限公司 一种数据加密处理方法、装置、计算机设备及存储介质
CN113868684A (zh) * 2021-09-30 2021-12-31 成都卫士通信息产业股份有限公司 一种签名方法、装置、服务端、介质以及签名系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN111585749A (zh) * 2016-10-26 2020-08-25 阿里巴巴集团控股有限公司 数据传输方法、装置、系统及设备
CN109802825A (zh) * 2017-11-17 2019-05-24 深圳市金证科技股份有限公司 一种数据加密、解密的方法、系统及终端设备
CN108881318A (zh) * 2018-09-06 2018-11-23 程杰 海洋环境探测数据的加密传输方法与加密传输系统
WO2021103802A1 (zh) * 2019-11-26 2021-06-03 中国银联股份有限公司 数据的加解密方法、装置、存储介质及加密文件
CN111130803A (zh) * 2019-12-26 2020-05-08 信安神州科技(广州)有限公司 数字签名的方法、系统及装置
CN111835511A (zh) * 2020-06-30 2020-10-27 平安国际智慧城市科技股份有限公司 数据安全传输方法、装置、计算机设备及存储介质
CN112291190A (zh) * 2020-07-28 2021-01-29 国网思极网安科技(北京)有限公司 一种身份认证方法、终端及服务器
CN113037484A (zh) * 2021-05-19 2021-06-25 银联商务股份有限公司 数据传输方法、装置、终端、服务器及存储介质
CN113364760A (zh) * 2021-06-01 2021-09-07 平安科技(深圳)有限公司 一种数据加密处理方法、装置、计算机设备及存储介质
CN113868684A (zh) * 2021-09-30 2021-12-31 成都卫士通信息产业股份有限公司 一种签名方法、装置、服务端、介质以及签名系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于RSA的加密技术在网站中的应用;薛忠明;王斌;吴杰;杨瑾;施志宏;;山西电子技术(02);全文 *
基于混合加密的无线医疗传感网数据安全与隐私保护;丁邢涛;钟伯成;朱淑文;黄勃;;医疗卫生装备(12);全文 *

Also Published As

Publication number Publication date
CN114726597A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
WO2021012574A1 (zh) 多重签名方法、签名中心、介质及电子设备
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN111130803B (zh) 数字签名的方法、系统及装置
CN111200502B (zh) 协同数字签名方法和装置
CN104618116B (zh) 一种协同数字签名系统及其方法
CN109660534B (zh) 基于多商户的安全认证方法、装置、电子设备及存储介质
CN112511514A (zh) 一种http加密传输方法、装置、计算机设备及存储介质
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
KR20150079489A (ko) 실시간 통신 방법 및 시스템
CN107359998A (zh) 一种便携式智能口令管理体制的建立与操作方法
CN113572743B (zh) 数据加密、解密方法、装置、计算机设备和存储介质
CN115242514B (zh) 基于国密的隐私集合求交方法、系统、电子设备及存储介质
CN114726597B (zh) 数据传输方法、装置、系统及存储介质
CN114257562B (zh) 即时通讯方法、装置、电子设备和计算机可读存储介质
CN114139176A (zh) 一种基于国密的工业互联网核心数据的保护方法及系统
CN114037447A (zh) 离线交易的方法和装置
CN111865761B (zh) 一种基于区块链智能合约的社交聊天信息存证方法
CN112751868A (zh) 一种异构加密传输方法、存储介质及系统
CN115022012B (zh) 一种数据传输方法、装置、系统、设备及存储介质
CN110266483A (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN104868994A (zh) 一种协同密钥管理的方法、装置及系统
CN115801287A (zh) 签名认证方法和装置
CN114549206A (zh) 一种交易抗抵赖的方法、系统、电子设备及可读存储介质
CN109639409B (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