CN112866237B - 数据通讯方法、装置、设备和存储介质 - Google Patents
数据通讯方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112866237B CN112866237B CN202110054346.XA CN202110054346A CN112866237B CN 112866237 B CN112866237 B CN 112866237B CN 202110054346 A CN202110054346 A CN 202110054346A CN 112866237 B CN112866237 B CN 112866237B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- signature
- encrypted
- target terminal
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
本申请公开了一种数据通讯方法、装置、设备和存储介质,该方法包括获取待通讯的目标数据,随机生成包括第一密钥的第一加密数据组;根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,第二加密数据组包括盐值;根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;将第一密钥、盐值、密文数据和签名数据上传到服务器。本申请通过签名数据确保了数据发送方的不可否认性,进而确保了通讯双方的合法性,同时防止数据被篡改,防止重放攻击,能够在不降低加密性能的基础上,更加安全、高效地进行数据通讯。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种数据通讯方法、装置、设备和存储介质。
背景技术
为了保证数据的安全通讯,通常需要将数据加密后再进行传输,目前,常见的加密算法有对称加密算法和非对称加密算法,其中,对称加密算法有数据加密标准(DataEncryption Standard,DES)算法、高级加密标准(Advanced Encryption Standard,AES)算法等,非对称加密算法有罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼(Ron Rivest、Adi Shamir、Leonard Adleman,RSA)算法。由于对称加密算法加密和解密都是采用同样的密钥,因此,密钥在网络中进行传输时容易被截获,造成数据泄露。而非对称加密算法将密钥分为公钥和私钥,公钥通过网络进行传输,而私钥由生成者保留。虽然RSA算法解决了对称加密算法的密钥管理问题,但是其加密/解密存在效率低的问题。
目前,为了同时兼具数据传输的安全性和加解密效率,大多是通过RSA算法结合DES算法或AES算法的数据加解密方式,比如,可以先用对称加密算法对业务数据进行加密,在发送加密后的业务数据时,将对称加密算法的密钥采用RSA算法加密后,一同发送给接收方,接收方在接收到数据后,先用RSA私钥将对称加密算法的密钥解密出来,再用该密钥对数据进行解密,由于每次发送的对称加密的密钥都是随机的,即采用了动态密钥进行对称加密,即使密钥被人破解,对于下一条数据来说,被破解的密钥也是无效的,这种数据通讯方法做到了一次一密,能够确保客户端与服务端接***互数据的数据完整性和保密性。
但是,现有的RSA算法结合DES算法或AES算法的数据加解密方式在数据的传输过程中,如果有攻击者接收到合法的数据,便可以对该数据的接收方进行重放攻击,即在短时间内向接收方大量发送数据,这就导致现有技术的数据加解密方法无法做到发送者不可否认性,即存在不能确定信息的发送方/接收方是否合法的问题。
发明内容
本申请提供一种数据通讯方法、装置、设备和存储介质,旨在解决现有技术中数据加解密方法无法做到发送者不可否认性,即存在不能确定信息的发送方/接收方是否合法的问题。
第一方面,本申请提供一种数据通讯方法,应用于目标终端,目标终端位于数据通讯***,数据通讯***还包括与目标终端通信连接的服务器,服务器配置有第一公钥,目标终端配置有第二私钥,在进行数据通讯之前,目标终端获取第一公钥,方法包括:
获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;
根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;
根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;
根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;
将第一密钥、盐值、密文数据和签名数据上传到服务器。
在本申请一种可能的实现方式中,第一加密数据组还包括随机数,第二加密数据组还包括第二密钥,根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,包括:
根据第一公钥对第一密钥进行非对称加密算法加密,得到第二密钥;
根据第一公钥对随机数进行非对称加密算法加密,得到盐值。
在本申请一种可能的实现方式中,根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据,包括:
根据第一密钥和随机数对目标数据进行对称加密算法加密,生成原始密文数据;
对原始密文数据进行编码处理,得到密文数据。
在本申请一种可能的实现方式中,根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据,包括:
按照预设顺序对第二私钥、第一密钥、盐值和密文数据进行排序,生成待签名数据;
根据预设的签名算法对待签名数据进行签名,得到原始签名数据;
对原始签名数据进行编码处理,得到签名数据。
第二方面,本申请还提供一种数据通讯方法,应用于服务器,服务器位于数据通讯***,数据通讯***还包括与服务器通信连接的目标终端,服务器配置有第一公钥和与第一公钥对应的第一私钥,目标终端配置有第二公钥和与第二公钥对应的第二私钥,目标终端还配置有第一加密数据组和第二加密数据组,其中,第一加密数据组包括第一密钥,第二加密数据组包括盐值,在进行数据通讯之前,服务器将第一公钥发送到目标终端,并获取第二公钥,方法包括:
获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据;
根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行加密,得到验签数据;
对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组;
根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
在本申请一种可能的实现方式中,第一加密数据组还包括随机数,第二加密数据组还包括第二密钥,根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组,包括:
根据第一私钥对第二密钥进行非对称加密算法解密,得到第一密钥;
根据第一私钥对盐值进行非对称加密算法解密,得到随机数。
第三方面,本申请还提供一种数据通讯装置,应用于目标终端,目标终端位于数据通讯***,数据通讯***还包括与目标终端通信连接的服务器,服务器配置有第一公钥,目标终端配置有第二私钥,在进行数据通讯之前,目标终端获取第一公钥,装置包括:
第一获取模块,用于获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;
第一处理模块,用于根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;
根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;
根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;
第一输出模块,用于将第一密钥、盐值、密文数据和签名数据上传到服务器。
在本申请一种可能的实现方式中,第一加密数据组还包括随机数,第二加密数据组还包括第二密钥,第一处理模块具体用于:
根据第一公钥对第一密钥进行非对称加密算法加密,得到第二密钥;
根据第一公钥对随机数进行非对称加密算法加密,得到盐值。
在本申请一种可能的实现方式中,第一处理模块具体还用于:
根据第一密钥和随机数对目标数据进行对称加密算法加密,生成原始密文数据;
对原始密文数据进行编码处理,得到密文数据。
在本申请一种可能的实现方式中,第一处理模块具体还用于:
按照预设顺序对第二私钥、第一密钥、盐值和密文数据进行排序,生成待签名数据;
根据预设的签名算法对待签名数据进行签名,得到原始签名数据;
对原始签名数据进行编码处理,得到签名数据。
第四方面,本申请还提供一种数据通讯装置,应用于服务器,服务器位于数据通讯***,数据通讯***还包括与服务器通信连接的目标终端,服务器配置有第一公钥和与第一公钥对应的第一私钥,目标终端配置有第二公钥和与第二公钥对应的第二私钥,目标终端还配置有第一加密数据组和第二加密数据组,其中,第一加密数据组包括第一密钥,第二加密数据组包括盐值,在进行数据通讯之前,服务器将第一公钥发送到目标终端,并获取第二公钥,装置包括:
第二获取模块,用于获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据;
第二处理模块,用于根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行加密,得到验签数据;
对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组;
第二输出模块,用于根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
在本申请一种可能的实现方式中,第一加密数据组还包括随机数,第二加密数据组还包括第二密钥,第二密钥为对第一密钥进行加密后得到的数据,第二处理模块具体用于:
根据第一私钥对第二密钥进行非对称加密算法解密,得到第一密钥;
根据第一私钥对盐值非对称加密算法解密,得到随机数。
第五方面,本申请还提供一种数据通讯设备,包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现第一方面或第二方面的数据通讯方法。
第六方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器进行加载,以执行第一方面或第二方面的数据通讯方法中的步骤。
本申请中,通过对称加密算法和非对称加密算法结合的方式,对待通讯的目标数据进行加密处理,具体的,通过随机生成的第一密钥和随机数对目标数据进行对称加密算法加密生成密文数据,保证了密钥的安全性,增加了破解难度,并且还根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据,通过签名数据确保了数据发送方的不可否认性,进而确保了通讯双方的合法性,同时防止数据被篡改,防止重放攻击,能够在不降低加密性能的基础上,更加安全、高效地进行数据通讯。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对本申请描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请中提供的数据通讯***的一个实施例场景示意图;
图2是本申请中提供的数据通讯方法的一个实施例流程示意图;
图3是本申请中得到密文数据的一个实施例流程示意图;
图4是本申请中得到签名数据的一个实施例流程示意图;
图5是本申请中提供的数据通讯方法的另一个实施例流程示意图;
图6是本申请中提供的数据通讯***的网络架构的一个实施例结构示意图;
图7是本申请中提供的数据通讯装置的一个实施例结构示意图;
图8是本申请中提供的数据通讯装置的另一个实施例结构示意图;
图9是本申请中提供的数据通讯设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
本申请提供一种数据通讯方法、装置、设备和存储介质,以下分别进行详细说明。
请参阅图1,图1为本申请实施例所提供的数据通讯***的一个结构示意图,该数据通讯***可以包括服务器100以及目标终端200,目标终端200中集成有数据通讯装置,服务器100与目标终端200之间通信连接,服务器100配置有第一公钥和与第一公钥对应的第一私钥,目标终端200配置有第二公钥和与第二公钥对应的第二私钥,在进行数据通讯之前,目标终端200获取服务器100的第一公钥,并且将第二公钥发送至服务器100。
本申请实施例中,该目标终端200主要用于获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;将第一密钥、盐值、密文数据和签名数据上传到服务器100。
本申请实施例中,该服务器100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请中所描述的服务器100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
本申请实施例中,服务器100与目标终端200之间可以通过任何通信方式实现网络通信,包括但不限于,基于第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)、长期演进(Long Term Evolution,LTE)、全球互通微波访问(WorldwideInteroperability for Microwave Access,WiMAX)的移动通信,或基于TCP/IP协议族(TCP/IP Protocol Suite,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)的计算机网络通信等。目标终端200可以通过上述通信方式向服务器100上传第一密钥、盐值、密文数据和签名数据等。
本申请实施例中,上述的目标终端200可以是一个通用的计算机设备或者是一个专用计算机设备。在具体实现中目标终端200可以是掌上电脑、个人数字助理(PersonalDigital Assistant,PDA)、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定上述目标终端200的类型。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案适配的一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用场景还可以包括比图1中所示更多或更少的目标终端200,例如图1中仅示出1个目标终端200,可以理解的,该数据通讯***还可以包括与服务器100通信连接的其他终端,具体此处不作限定。
需要说明的是,图1所示的数据通讯***的场景示意图仅仅是一个示例,本申请描述的数据通讯***以及场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着数据通讯***的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
首先,本申请提供一种数据通讯方法,该数据通讯方法应用于目标终端,该数据通讯方法的执行主体为数据通讯装置,该目标终端位于数据通讯***,该数据通讯***还包括与目标终端通信连接的服务器,该服务器配置有第一公钥,目标终端配置有第二私钥,在进行数据通讯之前,目标终端获取第一公钥,数据通讯方法包括:获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;将第一密钥、盐值、密文数据和签名数据上传到服务器。
如图2所示,为本申请中提供的数据通讯方法的一个实施例流程示意图。需要说明的是,虽然在流程示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该数据通讯方法应用于目标终端,目标终端位于数据通讯***,数据通讯***还包括与目标终端通信连接的服务器,服务器配置有第一公钥,目标终端配置有第二私钥,在进行数据通讯之前,目标终端获取第一公钥,该数据通讯方法包括:
S201、获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥。
在进行数据通讯之前,可以首先对数据通讯***进行初始化,本申请实施例中,可以根据非对称加密算法分别为服务器和目标终端随机生成一对公私密钥对,即服务器的第一公钥以及与该第一公钥对应的第一私钥,目标终端的第二公钥以及与该第二公钥对应的第二私钥,并且,服务器和目标终端还可以交换各自的公钥,例如,服务器保存第一私钥,并将第一公钥发送到目标终端,而目标终端则保存第二私钥,并将第二公钥发送到服务器,以便于后续数据通讯过程中,服务器和目标终端对数据进行加密或解密。本实施例以目标终端向服务器通讯为例,对本申请的数据通讯方法进行介绍,因此,本实施例中主要使用的是目标终端的第二私钥以及目标终端从服务器获取的第一公钥。
值得注意的是,本申请实施例中,为了确保密钥的安全性,服务器的第一公钥和第一私钥、目标终端的第二公钥和第二私钥均可以通过预设的编码方法加密后再进行存储和交换,此处,预设的编码方法可以是现有的任一种编码方法,比如基于64个打印字符来表示二进制数据法(Base64)、英特尔文件格式法(Intel HEX)等。
例如,第一公钥(如“XXXX”)通过Base64编码方法编码后得到的Base64字符串为“xxxx”,第一私钥(如“YYYY”)通过Base64编码方法编码后得到的Base64字符串为“yyyy”,第二公钥(如“MMMM”)通过Base64编码方法编码后得到的Base64字符串为“mmmm”,第二私钥(如“NNNN”)通过Base64编码方法编码后得到的Base64字符串为“nnnn”。
本申请实施例中,目标数据可以是目标终端将要上传到服务器的数据,目标终端获取目标数据的方式可以是主动获取,比如目标终端可以定时查询与服务器对接的接口,若接口处存在待通讯的数据,则目标终端主动从该接口处获取数据;目标终端也可以是被动获取目标数据,比如用户想要将目标数据上传到服务器,则用户首先将目标数据存储到目标终端,进而使目标终端可以与服务器通讯,将目标数据经过安全处理后,上传到服务器。
本申请实施例中,第一加密数据组还可以包括随机数,第一加密数据组的第一密钥和随机数分别可以通过现有的任一种随机密码生成器生成,随机密码生成器可以根据用户设置的密码长度以及选择构成密码的数据类型(如数字、字母、特殊符号等),随机生成第一密钥和随机数,比如,本申请实施例中,第一密钥可以是“1-MY-key”,随机数可以是“SJHsju”。
S202、根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值。
本申请实施例中,由于为了确保密钥的安全性,目标终端获取到的服务器的第一公钥是经过预设的编码方法编码后的密钥,因此,在使用该编码后的第一公钥之前,首先需要对其进行解码,得到明文的第一公钥,而使用的解码方法可以是与编码方法相对应的解码方法,比如通过Base64编码方法编码,相对应的可以通过Base64解码方法解码。
本申请实施例中,第二加密数据组还可以包括第二密钥,第一加密数据组中的随机数可以增加数据的破解难度,但是为了确保数据发送方即目标终端的不可否认性,还可以通过服务器的第一公钥对第一加密数据组进行非对称加密算法加密,到第二加密数据组,即可以根据第一公钥对第一密钥进行非对称加密算法加密,得到第二密钥,以及根据第一公钥对随机数进行非对称加密算法加密,得到盐值。
本实施例中,对第一加密数据组进行非对称加密算法加密,可以采用任一种公开密钥算法,例如RSA算法、椭圆加密算法(Elliptic Curves Cryptography,ECC)等,其中,RSA算法是一种使用不同的加密密钥与解密密钥的密钥体制,其无法通过已知的加密密钥推导出解密密钥。例如,本申请实施例中,根据第一公钥(如“XXXX”)对第一密钥(如“1-MY-key”)进行RSA算法加密,得到第二密钥(如“2-XX”),根据第一公钥(如“XXXX”)对随机数(如“SJHsju”)进行RSA算法加密,得到盐值(如“YYZZ”)。
S203、根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据。
本申请实施例中,对待通讯的目标数据进行加密的方式可以是利用第一加密数据组对目标数据进行对称加密算法加密,即将第一加密数据组中的第一密钥和随机数作为一个整体,来对目标数据进行加密,得到密文数据。而对称加密算法可以是任一种对称加密算法,比如AES算法、DES算法等。
假如,第一密钥(如“1-MY-key”)和随机数(如“SJHsju”),则对目标数据(如“Target Data”)进行对称加密算法加密的密钥可以是“1-MY-key-SJHsju”,相对应的加密后的密文数据为“Cipher Data”。
S204、根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据。
本申请实施例中,除了通过第一加密数据组对目标数据进行对称加密算法加密来确保目标数据的安全性之外,还可以通过签名数据来确保数据发送方即目标终端的不可否认性。
具体的,首先可以根据目标终端的第二私钥、第一密钥、盐值和S203中的密文数据生成待签名数据,生成待签名数据的方式可以是对上述的第二私钥、第一密钥、盐值和密文数据进行排序,然后按照排序对第二私钥、第一密钥、盐值和密文数据进行拼接,得到该待签名数据,然后再对该待签名数据进行加密,得到签名数据,对待签名数据进行加密的方式可以采用常见的签名算法如哈希运算消息认证码(Hash-based Message AuthenticationCode,HMAC)算法、MD5信息摘要算法(MD5 Message-Digest Algorithm)、安全散列算法(Secure Hash Algorithm,SHA)-256结合RSA算法(SHA-256with RSA)等。
例如,第二私钥(如“NNNN”)、第一密钥(如“1-MY-key”)、盐值(如“YYZZ”)和密文数据(“Cipher Data”),则待签名数据可以是“NNNN-1-MY-key-YYZZ-Cipher Data”,根据SHA-256with RSA算法对待签名数据进行加密后,得到的签名数据可以是“QMSJxxx”。
S205、将第一密钥、盐值、密文数据和签名数据上传到服务器。
本申请实施例中,除了将密文数据上传到服务器之外,还将签名数据、第一密钥以及盐值一起上传到服务器,可以便于服务器通过第一密钥、盐值以及签名数据对发送密文数据的目标终端进行身份验证,进而确保目标终端的合法性。
本申请实施例中,通过对称加密算法和非对称加密算法结合的方式,对待通讯的目标数据进行加密处理,具体的,通过随机生成的第一密钥和随机数对目标数据进行对称加密算法加密生成密文数据,保证了密钥的安全性,增加了破解难度,并且还根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据,通过签名数据确保了数据发送方的不可否认性,进而确保了通讯双方的合法性,同时防止数据被篡改,防止重放攻击,能够在不降低加密性能的基础上,更加安全、高效地进行数据通讯。
如图3所示,为本申请中得到密文数据的一个实施例流程示意图,在本申请一些实施例中,根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据,可以进一步包括:
S301、根据第一密钥和随机数对目标数据进行对称加密算法加密,生成原始密文数据。
本申请实施例中,为了提高加密和解密的速度,可以采用对称加密算法对目标数据进行加密,而加密的密钥可以是作为一个整体的第一密钥和随机数,比如,第一密钥为“1-MY-key”、随机数为“SJHsju”,则对目标数据(如“Target Data”)进行对称加密算法加密的密钥可以是“1-MY-key-SJHsju”,由于对称加密算法的加密密钥和解密密钥是相同的,则后期对密文数据进行解密的密钥也同样是“1-MY-key-SJHsju”,加密后生成的原始密文数据可以是“Original Cipher Data”。
S302、对原始密文数据进行编码处理,得到密文数据。
本申请实施例中,为了进一步确保密文数据的安全性,可以对经过对称加密算法加密后得到的原始密文数据进行编码处理,经过编码处理后得到的密文数据,安全性能更加可靠,进一步增大了破解难度。具体的,可以采用现有的任一种编码方法,比如基于64个打印字符来表示二进制数据法(Base64)、英特尔文件格式法(Intel HEX)等对原始密文数据进行编码处理,其中,Base64是常见的用于传输8Bit字节码的编码方式之一,采用Base64编码后的数据具有不可读性,需要对其进行解码后才能阅读。例如,对于原始密文数据(如“Original Cipher Data”),对其进行Base64编码后,相对应的密文数据为“Cipher Data”。
如图4所示,为本申请中得到签名数据的一个实施例流程示意图,在本申请一些实施例中,根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据,可以进一步包括:
S401、按照预设顺序对第二私钥、第一密钥、盐值和密文数据进行排序,生成待签名数据。
本申请实施例中,预设顺序可以是第二私钥、第一密钥、盐值和密文数据的任一种排列顺序,比如第二私钥-第一密钥-盐值-密文数据、第一密钥-盐值-密文数据-第二私钥、盐值-密文数据-第二私钥-第一密钥等,具体的排列顺序可以根据实际应用场景进行设置,具体此处不做限定。
假如,本实施例的预设顺序为第二私钥(如“NNNN”)-第一密钥(如“1-MY-key”)-盐值(如“YYZZ”)-密文数据(“Cipher Data”),则按照预设顺序对第二私钥(如“NNNN”)、第一密钥(如“1-MY-key”)、盐值(如“YYZZ”)和密文数据(“Cipher Data”)进行拼接,得到待签名数据(如“NNNN-1-MY-key-YYZZ-Cipher Data”)。
S402、根据预设的签名算法对待签名数据进行签名,得到原始签名数据。
本申请实施例中,预设的签名算法可以是常见的签名算法,如哈希运算消息认证码(Hash-based Message Authentication Code,HMAC)算法、MD5信息摘要算法(MD5Message-Digest Algorithm)、安全散列算法(Secure Hash Algorithm,SHA)-256结合RSA算法(SHA-256with RSA)等。
例如,待签名数据(如“NNNN-1-MY-key-YYZZ-Cipher Data”),根据SHA-256withRSA算法对其进行加密后,得到的原始签名数据可以是“Original QMSJxxx”。
S403、对原始签名数据进行编码处理,得到签名数据。
同样的,为了进一步确保密文数据的安全性,可以对经过签名后得到的原始签名数据进行与S302中类似的编码处理,经过编码处理后得到的签名数据,安全性能更加可靠,进一步增大了破解难度。例如,对原始签名数据(如“Original QMSJxxx”)进行Base64编码后,相对应的签名数据可以是“QMSJxxx”。
以上为本申请实施例中目标终端向服务器通讯为例,对本申请的数据通讯方法进行的介绍,接下来,本申请实施例还提供一种数据通讯方法,应用于服务器,该数据通讯方法的执行主体为数据通讯装置,该服务器位于数据通讯***,该数据通讯***还包括与服务器通信连接的目标终端,服务器配置有第一公钥和与第一公钥对应的第一私钥,目标终端配置有第二公钥和与第二公钥对应的第二私钥,目标终端还配置有第一加密数据组和第二加密数据组,其中,第一加密数据组包括随机生成的第一密钥,第二加密数据组包括盐值,目标终端携带有密文数据和签名数据,密文数据为根据第一加密数据组对待通讯的目标数据进行加密后得到的数据,签名数据为对第二私钥、第一密钥、盐值和密文数据进行加密后得到的数据,在进行数据通讯之前,服务器将第一公钥发送到目标终端,并获取第二公钥。
数据通讯方法包括:获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据;根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行解密,得到验签数据;对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组;根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
如图5所示,为本申请中提供的数据通讯方法的另一个实施例流程示意图,需要说明的是,虽然在流程示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该数据通讯方法应用于服务器,服务器位于数据通讯***,数据通讯***还包括与服务器通信连接的目标终端,服务器配置有第一公钥和与第一公钥对应的第一私钥,目标终端配置有第二公钥和与第二公钥对应的第二私钥,目标终端还配置有第一加密数据组和第二加密数据组,其中,第一加密数据组包括随机生成的第一密钥,第二加密数据组包括盐值,目标终端携带有密文数据和签名数据,密文数据为根据第一加密数据组对待通讯的目标数据进行加密后得到的数据,签名数据为对第二私钥、第一密钥、盐值和密文数据进行加密后得到的数据,在进行数据通讯之前,服务器将第一公钥发送到目标终端,并获取第二公钥,该数据通讯方法包括:
S501、获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据。
本申请实施例以服务器对目标终端上传的请求数据进行验证和解密为例,对数据通讯方法进行进一步的说明,服务器获取目标终端上传的请求数据,可以是被动从目标终端获取,比如,目标终端向服务器发起上传请求,服务器响应该请求,从而获取到请求数据,服务器也可以定时主动访问目标终端,若目标终端中存在新的请求数据,则服务器主动获取该请求数据。
与图2至图4对应任意实施例中的数据通讯方法的说明类似,本申请实施例中,服务器获取到的请求数据、第二公钥等均可以是经过编码处理的,因此,在服务器对请求数据进行解密之前,首先可以对获取到的请求数据、第二公钥等进行解码,例如,将Base64字符串的数据转换为正常的明文数据。
另外,本申请实施例中,第一加密数据组还可以包括随机数,并且请求数据中的盐值可以是根据第一公钥对随机数进行非对称加密算法加密后得到的数据,而密文数据可以是根据第一加密数据组,即第一密钥和随机数作为整体,对待通讯的目标数据进行对称加密算法加密后得到的数据,签名数据可以是对第二私钥、第一密钥、盐值和密文数据进行签名后得到的数据。
例如,本申请实施例中,第一密钥为“1-MY-key”、盐值为“YYZZ”、密文数据为“Cipher Data”、签名数据为“QMSJxxx”,则请求数据可以是“1-MY-key-YYZZ-Cipher Data-QMSJxxx”。
S502、根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行加密,得到验签数据。
本申请实施例中,由于签名数据可以是对第二私钥、第一密钥、盐值和密文数据进行签名后得到的数据,若需要对发起请求数据的目标终端进行身份验证,则需要对签名数据进行验签,具体的,可以根据与S401中类似的排列顺序对第二公钥、第一密钥、盐值和密文数据进行排序,按照排列顺序将第二公钥、第一密钥、盐值和密文数据进行拼接,然后根据与S402中的签名算法相同的签名算法对拼接后的数据进行加密,例如,可以按照第二公钥-第一密钥-盐值-密文数据的拼接顺序进行SHA-256with RSA算法加密,生成验签数据。
比如,第二公钥为“nnnn”、第一密钥为“1-MY-key”、盐值为“YYZZ”、密文数据为“Cipher Data”,则经过SHA-256with RSA算法加密生成原始验签数据可以是“OriginalYQSJxxx”,另外,由于签名数据是原始签名数据进行编码处理后得到的,因此,本申请实施例中,同样需要对原始验签数据进行编码处理,例如对原始验签数据“Original YQSJxxx”进行Base64编码,得到最终的验签数据(如“YQSJxxx”)。
S503、对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组。
由于第二公钥和第二私钥是目标终端的一对密钥对,两者是相对应的,因此,正常通讯的情况下,验签数据和签名数据应当是完全相同的,因此,如果验签数据和签名数据相同,即验签数据和签名数据的每一位数据都相同,则可以确定发送请求数据的目标终端为合法的正确的目标终端,如果验签数据和签名数据存在不同,则可以认为发送请求数据的目标终端不合法或者不是正确的目标终端。
若验签数据和签名数据相同,则目标终端的身份验证通过,便可以继续进行密文数据的解密,即需要求得对目标数据进行对称加密算法加密的第一加密数据组,本申请实施例中,第二加密数据组还可以包括第二密钥,并且第二密钥可以是根据第一公钥对第一密钥进行非对称加密算法加密后得到的数据,盐值可以是根据第一公钥对随机数进行非对称加密算法加密后得到的数据,由于第一公钥和第一私钥是服务器的一对密钥对,两者是相对应的,因此,对第二加密数据组进行非对称加密算法解密,可以是根据第一私钥对第二密钥进行非对称加密算法解密,可以得到第一密钥,根据第一私钥对盐值进行非对称加密算法解密,可以得到随机数,即得到第一加密数据组。
S504、根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
本申请实施例中,由于密文数据是根据第一加密数据组,即以第一密钥和随机数为整体对待通讯的目标数据进行对称加密算法加密后得到的数据,而根据对称加密算法的特性,其加密密钥和解密密钥是相同的,因此,本申请中通过S503中得到的第一密钥和随机数作为一个整体对密文数据进行对称加密算法解密,便可以得到目标数据。
例如,第一密钥为“1-MY-key”、随机数为“SJHsju”,密文数据为“Cipher Data”,则进行对称加密算法解密的密钥可以是“1-MY-key-SJHsju”,通过该密钥对密文数据“CipherData”进行对称加密算法解密,得到的目标数据可以是“Target Data”。
本申请实施例中,通过验证签名数据与验签数据的一致性,来确定目标终端的合法性,确保了数据发送方的不可否认性,进而确保了通讯双方的合法性,同时防止数据被篡改,防止重放攻击,能够在不降低加密性能的基础上,更加安全、高效地进行数据通讯。
本申请的数据通讯方法中的目标数据可以是金融数据、保险数据等需要经过加密后传输的数据,如图6所示,为本申请中提供的数据通讯***的网络架构的一个实施例结构示意图,其中,用户即目标终端可以通过外网通讯,进入到数据通讯的出口路由器,出口路由器根据预设的访问策略,可以将目标数据分发给不同的服务器群组,不同的服务群组有对应的防火墙,本申请的数据通讯***可以通过LVS集群+Nginx集群实现面向外网的高可用和弹性伸缩扩展。本本申请实施例的数据通讯***的数据交互保证了链路加密、节点加密、端到端的加密,整个通讯链路上的数据都是密文,从而保证了数据的高效加密、数据安全性及不可篡改性。
为了更好实施本申请中的数据通讯方法,本申请还提供一种数据通讯装置,如图7所示,为本申请中提供的数据通讯装置的一个实施例结构示意图,本申请的数据通讯装置应用于目标终端,目标终端位于数据通讯***,数据通讯***还包括与目标终端通信连接的服务器,服务器配置有第一公钥,目标终端配置有第二私钥,在进行数据通讯之前,目标终端获取第一公钥,数据通讯装置700包括:
第一获取模块701,用于获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;
第一处理模块702,用于根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;
根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;
根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;
第一输出模块703,用于将第一密钥、盐值、密文数据和签名数据上传到服务器。
本申请实施例中,通过第一处理模块随机生成的第一密钥和随机数对目标数据进行对称加密算法加密生成密文数据,保证了密钥的安全性,增加了破解难度,并且还根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据,通过签名数据确保了数据发送方的不可否认性,进而确保了通讯双方的合法性,同时防止数据被篡改,防止重放攻击,能够在不降低加密性能的基础上,更加安全、高效地进行数据通讯。
在本申请一些实施例中,第一加密数据组还包括随机数,第二加密数据组还包括第二密钥,第一处理模块702具体可以用于:
根据第一公钥对第一密钥进行非对称加密算法加密,得到第二密钥;
根据第一公钥对随机数进行非对称加密算法加密,得到盐值。
在本申请一些实施例中,第一处理模块702具体还可以用于:
根据第一密钥和随机数对目标数据进行对称加密算法加密,生成原始密文数据;
对原始密文数据进行编码处理,得到密文数据。
在本申请一些实施例中,第一处理模块702具体还可以用于:
按照预设顺序对第二私钥、第一密钥、盐值和密文数据进行排序,生成待签名数据;
根据预设的签名算法对待签名数据进行签名,得到原始签名数据;
对原始签名数据进行编码处理,得到签名数据。
需要说明的是,本申请中,第一获取模块701、第一处理模块702和第一输出模块703的相关内容与上述一一对应,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据通讯装置及其相应模块的具体工作过程,可以参考如图2至图4对应任意实施例中数据通讯方法的说明,具体在此不再赘述。
为了更好实施本申请中的数据通讯方法,本申请还提供一种数据通讯装置,如图8所示,为本申请中提供的数据通讯装置的另一个实施例结构示意图,本申请的数据通讯装置应用于服务器,服务器位于数据通讯***,数据通讯***还包括与服务器通信连接的目标终端,服务器配置有第一公钥和与第一公钥对应的第一私钥,目标终端配置有第二公钥和与第二公钥对应的第二私钥,目标终端还配置有第一加密数据组和第二加密数据组,其中,第一加密数据组包括随机生成的第一密钥,第二加密数据组包括盐值,目标终端携带有密文数据和签名数据,密文数据为根据第一加密数据组对待通讯的目标数据进行加密后得到的数据,签名数据为对第二私钥、第一密钥、盐值和密文数据进行加密后得到的数据,在进行数据通讯之前,服务器将第一公钥发送到目标终端,并获取第二公钥,数据通讯装置800包括:
第二获取模块801,用于获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据;
第二处理模块802,用于根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行加密,得到验签数据;
对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组;
第二输出模块803,用于根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
在本申请一些实施例中,第一加密数据组还可以包括随机数,第二加密数据组还可以包括第二密钥,第二处理模块802具体可以用于:
根据第一私钥对第二密钥进行非对称加密算法解密,得到第一密钥;
根据第一私钥对盐值非对称加密算法解密,得到随机数。
本申请实施例中,第二处理模块通过验证签名数据与验签数据的一致性,来确定目标终端的合法性,确保了数据发送方的不可否认性,进而确保了通讯双方的合法性,同时防止数据被篡改,防止重放攻击,能够在不降低加密性能的基础上,更加安全、高效地进行数据通讯。
需要说明的是,本申请中,第二获取模块801、第二处理模块802和第二输出模块803的相关内容与上述一一对应,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据通讯装置及其相应模块的具体工作过程,可以参考如图5对应实施例中数据通讯方法的说明,具体在此不再赘述。
为了更好实施本申请的数据通讯方法,在数据通讯方法基础之上,本申请还提供一种数据通讯设备,其集成了本申请所提供的任一种数据通讯装置,该设备包括:
一个或多个处理器901;
存储器902;以及
一个或多个应用程序,其中一个或多个应用程序被存储于存储器902中,并配置为由处理器901执行上述数据通讯方法中任一项实施例的数据通讯方法中的步骤。
如图9所示,其示出了本申请所涉及的数据通讯设备的一个实施例结构示意图,具体来讲:
该设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902、电源903和输入单元904等部件。本领域技术人员可以理解,图9中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器901是该设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行设备的各种功能和处理数据,从而对设备进行整体监控。可选的,处理器901可包括一个或多个处理核心;处理器901可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,优选的,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。
存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
该设备还包括给各个部件供电的电源903,优选的,电源903可以通过电源管理***与处理器901逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源903还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该设备还可以包括输入单元904和输出单元905,该输入单元904可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,该设备还可以包括显示单元等,在此不再赘述。具体在本申请中,设备中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现各种功能,如下:
获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;
根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;
根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;
根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;
将第一密钥、盐值、密文数据和签名数据上传到服务器。
以及还可以实现:
获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据;
根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行加密,得到验签数据;
对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组;
根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
本领域普通技术人员可以理解,上述的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本申请所提供的任一种数据通讯方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
获取待通讯的目标数据,并随机生成第一加密数据组,其中,第一加密数据组包括第一密钥;
根据第一公钥对第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,第二加密数据组包括盐值;
根据第一加密数据组对目标数据进行对称加密算法加密,得到密文数据;
根据第二私钥、第一密钥、盐值和密文数据,生成待签名数据,对待签名数据进行加密,得到签名数据;
将第一密钥、盐值、密文数据和签名数据上传到服务器。
以及还可以执行如下步骤:
获取目标终端上传的请求数据,其中,请求数据包括第一密钥、盐值、密文数据和签名数据;
根据预设的签名算法对第二公钥、第一密钥、盐值和密文数据进行加密,得到验签数据;
对比验签数据和签名数据,若验签数据和签名数据相同,则根据第一私钥对第二加密数据组进行非对称加密算法解密,得到第一加密数据组;
根据第一加密数据组对密文数据进行对称加密算法解密,得到目标数据。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图2至图5对应任意实施例中数据通讯方法中的步骤,因此,可以实现本申请如图2至图5对应任意实施例中数据通讯方法所能实现的有益效果,详见前面的说明,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请所提供的一种数据通讯方法、装置、设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据通讯方法,其特征在于,应用于目标终端,所述目标终端位于数据通讯***,所述数据通讯***还包括与所述目标终端通信连接的服务器,所述服务器配置有第一公钥,所述目标终端配置有第二私钥,在进行数据通讯之前,所述目标终端获取所述第一公钥,所述方法包括:
获取待通讯的目标数据,并随机生成第一加密数据组,其中,所述第一加密数据组包括第一密钥;
根据所述第一公钥对所述第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,所述第二加密数据组包括盐值;
根据所述第一加密数据组对所述目标数据进行对称加密算法加密,得到密文数据;
根据所述第二私钥、所述第一密钥、所述盐值和所述密文数据,生成待签名数据,对所述待签名数据进行加密,得到签名数据;
将所述第一密钥、所述盐值、所述密文数据和所述签名数据上传到所述服务器。
2.根据权利要求1所述的方法,其特征在于,所述第一加密数据组还包括随机数,所述第二加密数据组还包括第二密钥,所述根据所述第一公钥对所述第一加密数据组进行非对称加密算法加密,得到第二加密数据组,包括:
根据所述第一公钥对所述第一密钥进行非对称加密算法加密,得到所述第二密钥;
根据所述第一公钥对所述随机数进行非对称加密算法加密,得到所述盐值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一加密数据组对所述目标数据进行对称加密算法加密,得到密文数据,包括:
根据所述第一密钥和所述随机数对所述目标数据进行对称加密算法加密,生成原始密文数据;
对所述原始密文数据进行编码处理,得到所述密文数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二私钥、所述第一密钥、所述盐值和所述密文数据,生成待签名数据,对所述待签名数据进行加密,得到签名数据,包括:
按照预设顺序对所述第二私钥、所述第一密钥、所述盐值和所述密文数据进行排序,生成所述待签名数据;
根据预设的签名算法对所述待签名数据进行签名,得到原始签名数据;
对所述原始签名数据进行编码处理,得到所述签名数据。
5.一种数据通讯方法,其特征在于,应用于服务器,所述服务器位于数据通讯***,所述数据通讯***还包括与所述服务器通信连接的目标终端,所述服务器配置有第一公钥和与所述第一公钥对应的第一私钥,所述目标终端配置有第二公钥和与所述第二公钥对应的第二私钥,所述目标终端还配置有第一加密数据组和第二加密数据组其中,所述第一加密数据组包括第一密钥,所述第二加密数据组包括盐值,在进行数据通讯之前,所述服务器将所述第一公钥发送到所述目标终端,并获取所述第二公钥,所述方法包括:
获取所述目标终端上传的请求数据,其中,所述请求数据包括所述第一密钥、所述盐值、密文数据和签名数据;
根据预设的签名算法对所述第二公钥、所述第一密钥、所述盐值和所述密文数据进行加密,得到验签数据;
对比所述验签数据和所述签名数据,若所述验签数据和所述签名数据相同,则根据所述第一私钥对所述第二加密数据组进行非对称加密算法解密,得到所述第一加密数据组;
根据所述第一加密数据组对所述密文数据进行对称加密算法解密,得到目标数据。
6.根据权利要求5所述的方法,其特征在于,所述第一加密数据组还包括随机数,所述第二加密数据组还包括第二密钥,所述根据所述第一私钥对所述第二加密数据组进行非对称加密算法解密,得到所述第一加密数据组,包括:
根据所述第一私钥对所述第二密钥进行非对称加密算法解密,得到所述第一密钥;
根据所述第一私钥对所述盐值进行非对称加密算法解密,得到所述随机数。
7.一种数据通讯装置,其特征在于,应用于目标终端,所述目标终端位于数据通讯***,所述数据通讯***还包括与所述目标终端通信连接的服务器,所述服务器配置有第一公钥,所述目标终端配置有第二私钥,在进行数据通讯之前,所述目标终端获取所述第一公钥,所述装置包括:
第一获取模块,用于获取待通讯的目标数据,并随机生成第一加密数据组,其中,所述第一加密数据组包括第一密钥;
第一处理模块,用于根据所述第一公钥对所述第一加密数据组进行非对称加密算法加密,得到第二加密数据组,其中,所述第二加密数据组包括盐值;
根据所述第一加密数据组对所述目标数据进行对称加密算法加密,得到密文数据;
根据所述第二私钥、所述第一密钥、所述盐值和所述密文数据,生成待签名数据,对所述待签名数据进行加密,得到签名数据;
第一输出模块,用于将所述第一密钥、所述盐值、所述密文数据和所述签名数据上传到所述服务器。
8.一种数据通讯装置,其特征在于,应用于服务器,所述服务器位于数据通讯***,所述数据通讯***还包括与所述服务器通信连接的目标终端,所述服务器配置有第一公钥和与所述第一公钥对应的第一私钥,所述目标终端配置有第二公钥和与所述第二公钥对应的第二私钥,所述目标终端还配置有第一加密数据组和第二加密数据组,其中,所述第一加密数据组包括第一密钥,所述第二加密数据组包括盐值,在进行数据通讯之前,所述服务器将所述第一公钥发送到所述目标终端,并获取所述第二公钥,所述装置包括:
第二获取模块,用于获取所述目标终端上传的请求数据,其中,所述请求数据包括所述第一密钥、所述盐值、密文数据和签名数据;
第二处理模块,用于根据预设的签名算法对所述第二公钥、所述第一密钥、所述盐值和所述密文数据进行加密,得到验签数据;
对比所述验签数据和所述签名数据,若所述验签数据和所述签名数据相同,则根据所述第一私钥对所述第二加密数据组进行非对称加密算法解密,得到所述第一加密数据组;
第二输出模块,用于根据所述第一加密数据组对所述密文数据进行对称加密算法解密,得到目标数据。
9.一种数据通讯设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至6任一项所述的数据通讯方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至6任一项所述的数据通讯方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110054346.XA CN112866237B (zh) | 2021-01-15 | 2021-01-15 | 数据通讯方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110054346.XA CN112866237B (zh) | 2021-01-15 | 2021-01-15 | 数据通讯方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866237A CN112866237A (zh) | 2021-05-28 |
CN112866237B true CN112866237B (zh) | 2023-02-03 |
Family
ID=76006704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110054346.XA Active CN112866237B (zh) | 2021-01-15 | 2021-01-15 | 数据通讯方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866237B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378195A (zh) * | 2021-06-21 | 2021-09-10 | 上海盛付通电子支付服务有限公司 | 一种进行加密通信的方法、设备、介质及程序产品 |
CN113572743B (zh) * | 2021-07-02 | 2023-07-28 | 深圳追一科技有限公司 | 数据加密、解密方法、装置、计算机设备和存储介质 |
CN114124469B (zh) * | 2021-10-29 | 2023-08-29 | 北京三快在线科技有限公司 | 数据处理的方法、装置和设备 |
CN114221784B (zh) * | 2021-11-12 | 2024-04-09 | 招银云创信息技术有限公司 | 数据传输方法和计算机设备 |
CN115118448B (zh) * | 2022-04-21 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
CN115225365B (zh) * | 2022-07-14 | 2024-05-14 | 北京智芯微电子科技有限公司 | 基于国密算法的数据安全传输方法、平台、及*** |
CN115664646B (zh) * | 2022-09-28 | 2023-09-15 | 成都海泰方圆科技有限公司 | 一种数据备份方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017201809A1 (zh) * | 2016-05-27 | 2017-11-30 | 宇龙计算机通信科技(深圳)有限公司 | 终端通信方法及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475463B (zh) * | 2013-08-19 | 2017-04-05 | 华为技术有限公司 | 加密实现方法及装置 |
US9621525B2 (en) * | 2014-06-02 | 2017-04-11 | Qualcomm Incorporated | Semi-deterministic digital signature generation |
CN107038383B (zh) * | 2016-02-03 | 2020-08-25 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN107222453B (zh) * | 2016-03-22 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 一种文件传输方法及装置 |
CN106557677A (zh) * | 2016-11-29 | 2017-04-05 | 北京元心科技有限公司 | 容器***的解锁方法及装置 |
CN109802825A (zh) * | 2017-11-17 | 2019-05-24 | 深圳市金证科技股份有限公司 | 一种数据加密、解密的方法、***及终端设备 |
CN111835511A (zh) * | 2020-06-30 | 2020-10-27 | 平安国际智慧城市科技股份有限公司 | 数据安全传输方法、装置、计算机设备及存储介质 |
-
2021
- 2021-01-15 CN CN202110054346.XA patent/CN112866237B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017201809A1 (zh) * | 2016-05-27 | 2017-11-30 | 宇龙计算机通信科技(深圳)有限公司 | 终端通信方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112866237A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866237B (zh) | 数据通讯方法、装置、设备和存储介质 | |
CN109559122B (zh) | 区块链数据传输方法及区块链数据传输*** | |
US10652015B2 (en) | Confidential communication management | |
US11533297B2 (en) | Secure communication channel with token renewal mechanism | |
WO2021196915A1 (zh) | 基于加密、解密操作的数据传输方法、***和计算机设备 | |
CN103051628B (zh) | 基于服务器获取认证令牌的方法及*** | |
US20170244687A1 (en) | Techniques for confidential delivery of random data over a network | |
US10116450B1 (en) | Merkle signature scheme using subtrees | |
US20140195804A1 (en) | Techniques for secure data exchange | |
CN106941404B (zh) | 密钥保护方法及装置 | |
CN110781140B (zh) | 区块链中数据签名的方法、装置、计算机设备及存储介质 | |
Obert et al. | Recommendations for trust and encryption in DER interoperability standards | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN114584306B (zh) | 一种数据处理方法和相关装置 | |
US20230283479A1 (en) | Data Transmission Method and Apparatus, Device, System, and Storage Medium | |
CN110191467B (zh) | 一种物联网设备的鉴权方法、设备、装置及存储介质 | |
US20140237239A1 (en) | Techniques for validating cryptographic applications | |
CN111490874B (zh) | 一种配网安全防护方法、***、装置及存储介质 | |
Celi et al. | Distefano: Decentralized infrastructure for sharing trusted encrypted facts and nothing more | |
CN104917616B (zh) | 一种基于智能卡的软件定义网络中网络设备认证方法 | |
Somaiya et al. | Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed | |
CN115766119A (zh) | 通信方法、装置、通信***及存储介质 | |
Arora et al. | Handling Secret Key Compromise by Deriving Multiple Asymmetric Keys based on Diffie-Hellman Algorithm | |
Yevseiev et al. | Development of an improved SSL/TLS protocol using post-quantum algorithms | |
JP2014220668A (ja) | 送信側装置および受信側装置 |
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 |