CN117579340A - 一种数据传输的方法、装置、电子设备及介质 - Google Patents

一种数据传输的方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN117579340A
CN117579340A CN202311535920.9A CN202311535920A CN117579340A CN 117579340 A CN117579340 A CN 117579340A CN 202311535920 A CN202311535920 A CN 202311535920A CN 117579340 A CN117579340 A CN 117579340A
Authority
CN
China
Prior art keywords
keys
key
current
receiver
groups
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
CN202311535920.9A
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202311535920.9A priority Critical patent/CN117579340A/zh
Publication of CN117579340A publication Critical patent/CN117579340A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种数据传输的方法、装置、电子设备及介质,涉及数据传输技术领域。该方法中利用密钥对待传输的数据进行加密以及在检测到当前密钥满足预设求的情况下,根据密钥之间的切换策略如具体地根据多组密钥的顺序、密钥之间的切换方式确定新的当前密钥,从而利用新的密钥对当前待传输数据进行加密。发送方和接收方在数据传输时可以切换使用不同的密钥进行信息交互,从而提高密钥的安全性;其次,提前将多组密钥的信息以及密钥之间的切换策略发送至接收方,在当前使用的密钥的基础上根据密钥所满足的预设要求以及密钥之间的切换策略即可确定出下一次使用的密钥,节省了在每次数据传输前协商密钥所需的时间,提高了有效信息的传递效率。

Description

一种数据传输的方法、装置、电子设备及介质
技术领域
本发明涉及数据传输技术领域,特别是涉及一种数据传输的方法、装置、电子设备及介质。
背景技术
随着科技的不断进步与发展,信息交互变的越来越重要,信息传递也变的越来越频繁,在信息传递的过程中难免会出现信息泄露的情况。若一些重要信息被泄露,则会给信息交互的双方造成不可挽回的损失。
目前信息交互的双方通常使用分组加解密算法将需要传递的信息使用相同的密钥进行加密后再进行信息传递,以提高信息传递的安全性。但是在数据加解密过程中,由于密码算法是公开的,因此,第三方收集足够多组的加密信息后就能够分析出信息交互的双方使用的加密密钥,从而获知要传递的信息,即因密钥的安全性导致信息传递的安全性降低。为了解决因密钥的破解而导致信息传递的安全性降低,最安全的方式是使用一次一密的方式,即每组数据加密时,都是用不同的密钥。若传输数据的次数较多时,则需要双方协商大量的密钥,由于协商大量的密钥会消耗大量的时间,从而降低了有效信息的传递效率。
由此可见,如何在提高密钥安全性的同时,提高有效信息的传递效率是本领域人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种数据传输的方法、装置、电子设备及介质,以解决现有的在信息交互过程中采用相同的密钥,导致密钥安全性较差,以及在每次传递数据时协商一次密钥,导致有效信息的传递效率低的技术问题。
为解决上述技术问题,本发明提供一种数据传输的方法,应用于发送方,所述方法包括:
发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
从多组所述密钥中获取传输当前待传输数据时使用的当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密处理;
将加密后的所述当前待传输数据传输至所述接收方,以便于所述接收方利用所述当前密钥对加密后的所述当前待传输数据进行解密;
在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并返回所述利用所述当前密钥对所述当前待传输数据进行加密的步骤。
一方面,在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之前,还包括:
发送用于表征密钥协商的信息至所述接收方;
在检测到所述接收方接收到所述用于表征密钥协商的信息后,获取与所述接收方协商出的初始密钥;
对应地,所述密钥的信息包括所述密钥的组数、所述密钥的内容;所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方包括:
利用所述初始密钥对所述密钥的组数、多组所述密钥的内容以及所述密钥之间的切换策略进行加密,并获取加密后的所述密钥的组数、加密后的多组所述密钥的内容以及加密后的所述密钥之间的切换策略;
发送加密后的所述密钥的组数、加密后的多组所述密钥的内容以及加密后的所述密钥之间的切换策略至所述接收方;
其中,所述发送加密后的所述密钥的组数、加密后的多组所述密钥的内容以及加密后的所述密钥之间的切换策略至所述接收方包括:
发送加密后的所述密钥的组数、加密后的所述密钥之间的切换策略至所述接收方;
在检测到完成发送加密后的所述密钥的组数、加密后的所述密钥之间的切换策略后,发送加密后的多组所述密钥的内容至所述接收方。
另一方面,在所述从多组所述密钥中获取传输当前待传输数据时使用的当前密钥之前,还包括:
判断所述密钥之间的切换策略中是否设定传输所述当前待传输数据时的所述当前密钥;其中,所述当前密钥为多组所述密钥中的一组所述密钥;
若是,则进入所述从多组所述密钥中获取传输当前待传输数据时使用的当前密钥的步骤;
若否,则与所述接收方从多组所述密钥中协商出用于传输所述当前待传输数据时所使用的所述当前密钥,并存储在所述密钥之间的切换策略中。
另一方面,在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之前,还包括:
利用预设的密钥协商算法获取与所述接收方协商出的多组所述密钥的信息、所述密钥之间的切换策略;
根据所述密钥的信息中的所述密钥的组数、所述密钥之间的切换策略中的所述密钥之间的切换方式确定所述预设的密钥协商算法所传输的数据的比特位上的数据;其中,所述比特位上的数据包括所述密钥的组数、所述密钥之间的切换方式、自开始使用所述当前密钥加密至由所述当前密钥切换至目标密钥加密时,所述当前密钥的预设使用次数;所述目标密钥根据所述密钥之间的切换策略确定;
对应地,发送所述密钥的组数、所述密钥之间的切换方式、所述当前密钥的预设使用次数至所述接收方包括:
将所述比特位上放置的所述密钥的组数、所述密钥之间切换方式、所述当前密钥的预设使用次数发送至所述接收方。
另一方面,所述预设要求为当前使用次数大于或等于所述预设使用次数;
其中,确定所述当前使用次数包括:
自检测到开始使用所述当前密钥加密数据,利用计数器记录加密次数;
判断是否由所述当前密钥加密数据切换至所述目标密钥加密数据;
若否,则获取所述计时器记录的所述加密次数以作为所述当前使用次数;
若是,则获取所述计时器中记录的所述当前密钥的所述加密次数以作为所述当前使用次数。
另一方面,在所述利用所述当前密钥对所述当前待传输数据进行加密处理之后,还包括:
向所述接收方发出用于表征重新协商多组新的密钥的指令,和/或接收所述接收方发出的用于表征重新协商多组新的密钥的指令;
自发出和/或接收到所述指令开始,第一预设时长内根据所述指令与所述接收方协商多组新的密钥;
在检测到与所述接收方协商出多组新的密钥的情况下,返回所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方的步骤;
其中,在所述向所述接收方发出用于表征重新协商多组新的密钥的指令,和/或接收所述接收方发出的用于表征重新协商多组新的密钥的指令之前,还包括:
自检测到开始使用多组所述密钥加密数据起至当前时刻,获取多组所述密钥的使用时长;
在检测到所述使用时长大于第二预设时长的情况下,返回所述向所述接收方发出用于表征重新协商多组新的密钥的指令,和/或接收所述接收方发出的用于表征重新协商多组新的密钥的指令的步骤;其中,所述第二预设时长大于所述第一预设时长。
另一方面,在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之前,还包括:
将多组所述密钥的信息以及所述密钥之间的切换策略存储至第一安全密钥存储空间中;其中,所述第一安全密钥存储空间位于所述发送方中;
对应地,所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方包括:
从所述第一安全密钥存储空间中将所述密钥之间的切换策略以及依次将各组所述密钥的信息发送至所述接收方;
在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之后,还包括:
提示所述接收方将多组所述密钥的信息以及所述密钥之间的切换策略存储至第二安全密钥存储空间中;其中,所述第二安全密钥存储空间位于所述接收方中。
为了解决上述技术问题,本发明还提供一种数据传输的方法,所述方法包括:
接收发送方发送的多组密钥的信息以及接收所述密钥之间的切换策略;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
接收所述发送方发送的加密后的当前待传输数据;其中,加密后的所述当前待传输数据是所述发送方从多组所述密钥中获取传输所述当前待传输数据时使用的当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密处理得到;所述发送方在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密;
利用所述当前密钥对加密后的所述当前待传输数据进行解密。
为了解决上述技术问题,本发明还提供一种数据传输的装置,应用于发送方,所述装置包括:
发送模块,用于发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
获取模块,用于从多组所述密钥中获取传输当前待传输数据时使用的当前密钥;
加密模块,用于利用所述当前密钥对所述当前待传输数据进行加密处理;
传输模块,用于将加密后的所述当前待传输数据传输至所述接收方,以便于所述接收方利用所述当前密钥对加密后的所述当前待传输数据进行解密;
确定模块,用于在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并返回触发所述加密模块。
为了解决上述技术问题,本发明还提供一种数据传输的装置,应用于接收方,所述装置包括:
第一接收模块,用于接收发送方发送的多组密钥的信息以及接收所述密钥之间的切换策略;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
第二接收模块,用于接收所述发送方发送的加密后的当前待传输数据;其中,加密后的所述当前待传输数据是所述发送方从多组所述密钥中获取传输所述当前待传输数据时使用的当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密处理得到;所述发送方在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密;
解密模块,用于利用所述当前密钥对加密后的所述当前待传输数据进行解密。
为了解决上述技术问题,本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的数据传输的方法的步骤。
为了解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据传输的方法的步骤。
本发明所提供的应用于发送方的数据传输的方法,该方法包括:发送多组密钥的信息以及发送密钥之间的切换策略至接收方;从多组密钥中获取传输当前待传输数据时使用的当前密钥,并利用当前密钥对当前待传输数据进行加密处理;将加密后的当前待传输数据传输至接收方,以便于接收方利用当前密钥对加密后的当前待传输数据进行解密;在检测到当前密钥满足预设要求的情况下,根据密钥之间的切换策略确定新的当前密钥,并返回利用当前密钥对当前待传输数据进行加密的步骤。
本发明的有益效果在于,首先,相比于在每次进行数据传输时采用相同的密钥对数据进行加密的方式,本发明提供的方法中,利用密钥对待传输的数据进行加密以及在检测到当前密钥满足预设求的情况下,根据密钥之间的切换策略如具体地根据多组密钥的顺序、密钥之间的切换方式确定新的当前密钥,从而利用新的密钥对当前待传输数据进行加密。可见,发送方和接收方在数据传输时可以切换使用不同的密钥进行信息交互,使得即使第三方收集多组加密信息,也会因加密信息所使用的密钥不同而无法分析出信息交互的双方所使用的加密密钥,从而提高密钥的安全性;其次,在将加密后的当前待传输数据传输至接收方之前,已经提前将多组密钥的信息以及密钥之间的切换策略发送至接收方,在当前使用的密钥的基础上根据密钥所满足的预设要求以及密钥之间的切换策略即可确定出下一次使用的密钥,从而使得在每次传输数据时不需要协商密钥,节省了协商密钥的时间,提高了有效信息的传递效率;再次,由于本发明从多组密钥采用切换的方式来选择密钥,即循环使用有限组的密钥进行数据的加密,不需要管理大量的密钥,方便用户对密钥进行管理以及降低了密钥管理的成本。
另外,在发送多组密钥的信息以及密钥之间的切换策略至接收方之前,利用发送方和接收方协商出的初始密钥,然后利用初始密钥对要发送至接收方的多组密钥的信息以及密钥之间的切换策略进行加密发送,提高了向接收方发送密钥的信息以及密钥之间的切换策略的安全性;在发送加密后的密钥的组数、加密后的多组密钥的内容以及加密后的密钥之间的切换策略至接收方时,先发送加密后的密钥的组数、加密后的密钥之间的切换策略至接收方,然后再发送加密后的多组密钥的内容至接收方,将数据进行拆分发送使得数据传输尽可能小于或等于每次所能够传输的数据量,从而保证数据传输的成功率。
在从多组密钥中获取传输当前待传输数据时使用的当前密钥之前,先判断密钥之间的切换策略中是否设定传输当前待传输数据时的当前密钥,如果切换策略中没有设定传输当前待传输数据时的当前密钥,则先与接收方协商出当前密钥,然后再从多组密钥中获取传输当前待传输数据时使用的当前密钥。该方法尽可能地保证了接收方能够明确加密数据所使用的当前密钥,使得接收方能够利用当前密钥对数据进行解密,从而获得明文。
在当前密钥的当前使用次数大于或等于预设使用次数的情况下,根据密钥之间的切换策略将当前密钥切换至新的密钥,从而利用新的密钥对传输数据进行加密。即通过限定当前密钥所使用的次数以及对当前密钥进行切换,大大提高了密钥的安全性以及数据传输的安全性。
在利用当前密钥对当前待传输数据进行加密处理之后,当多组密钥使用时间过长,则通过发送方或者接收方发送重新协商多组新的密钥指令,重新协商多组新的密钥,即将之前使用的多组密钥切换为新的多组密钥,通过新的多组密钥对数据进行加密,大大提高了密钥的安全性以及提高了数据传输的安全性。
在发送多组密钥的信息以及发送密钥之间的切换策略至接收方之前,发送方将多组密钥的信息以及发送密钥之间的切换策略存储至第一安全密钥存储空间以及在发送多组密钥的信息以及发送密钥之间的切换策略至接收方后,通过接收方将多组密钥的信息以及发送密钥之间的切换策略存储至第二安全密钥存储空间,通过将密钥存放在安全的存储空间中,提高了密钥的安全性。
此外,本发明还提供一种应用于接收方的数据传输的方法、应用于发送方的数据传输的装置、应用于接收方的数据传输的装置、电子设备以及计算机可读存储介质,与上述提到的应用于发送方的数据传输的方法具有相同或相对应的技术特征,效果同上。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用于发送方的数据传输的方法的流程图;
图2为本发明实施例提供的一种分组加密算法的实现方法的流程图;
图3为本发明实施例提供的一种发送方和接收方之间的信息交互示意图;
图4为本发明实施例提供的一种密钥管理单元的示意图;
图5为本发明实施例提供的一种发送方和接收方之间详细的信息交互示意图;
图6为本发明的一实施例提供的应用于发送方的数据传输的装置的结构图;
图7为本发明另一实施例提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种数据传输的方法、装置、电子设备及介质,以解决现有的在信息交互过程中采用相同的密钥,导致密钥安全性较差,以及在每次传递数据时协商一次密钥,导致有效信息的传递效率低的技术问题。
随着科技的不断进步与发展,信息交互变的越来越重要,信息传递也变的越来越频繁,在信息传递的过程中难免会出现信息泄露的情况,对于一些重要信息泄露的事件,将会给需要进行信息交互的双方带来不可挽回的损失,甚至是致命性的打击。目前信息交互的双方通常使用加密算法将要传递的信息进行加密后再进行信息传递,由于信息传递的量较大,通常双方会使用对称的分组加密算法进行加解密。对称的分组加解密算法,要求发送方和接收方使用相同的密钥,这样就要求双方要协商在信息加解密时要使用的密钥。分组加解密算法加解密速度快,但是也有自身的一些缺点,比如,容易遭到攻击,第三方攻击者可以通过一些破解手段获得双方在加解密中使用的密钥。最理想的加解密密钥选择是使用一次一密,但这种方式显然是不符合实际的,因为这种方式首先需要大量的密钥,而密钥需要双方协商,而双方协商密钥会消耗大量的时间,会大大降低有效信息的传递效率。
为了提高密钥的安全性以及提高有效信息的传递效率,本发明实施例中发送方提前将多组密钥的信息以及密钥之间的切换策略发送至接收方,利用密钥对待传输的数据进行加密以及在检测到当前密钥满足预设求的情况下,根据密钥之间的切换策略如具体地根据多组密钥的顺序、密钥之间的切换方式确定新的当前密钥,从而利用新的密钥对当前待传输数据进行加密。使得发送方和接收方在数据传输时可以切换使用不同的密钥进行信息交互,提高了密钥的安全性;且实现了密钥的自动切换,不需要在每次数据传输前协商密钥,大大减少了协商密钥的时间、提高了有效信息传递的效率。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。图1为本发明实施例提供的一种应用于发送方的数据传输的方法的流程图,如图1所示,该方法包括:
S10:发送多组密钥的信息以及发送密钥之间的切换策略至接收方;密钥之间的切换策略中至少包括多组密钥的顺序、密钥之间的切换方式;
S11:从多组密钥中获取传输当前待传输数据时使用的当前密钥,并利用当前密钥对当前待传输数据进行加密处理;
S12:将加密后的当前待传输数据传输至接收方,以便于接收方利用当前密钥对加密后的当前待传输数据进行解密;
S13:在检测到当前密钥满足预设要求的情况下,根据密钥之间的切换策略确定新的当前密钥,并返回步骤S11。
发送方向接收方发送密钥的信息以及密钥之间的切换策略是发送方与接收方采用密钥协商算法(如SM2算法(其中,SM为商用密码的拼音缩写))协商出的。一般情况下,密钥的信息就是指的是各密钥的具体内容,本发明实施例中密钥的信息包括密钥的组数以及各密钥的具体内容。在确定出密钥的信息之后,为了实现在数据传输过程中可更换密钥,发送方和接收方还需要协商出密钥之间的切换策略。密钥之间的切换策略中至少包括多组密钥的顺序以及密钥之间的切换方式。对于密钥的组数、密钥的顺序以及密钥之间的切换方式不作限定,根据实际情况确定。如协商出的密钥的组数为A、B、C三组,密钥的顺序A组密钥、B组密钥、C组密钥,密钥之间的切换方式可以是先使用A组密钥加密数据并传输,再使用B组密钥加密数据并传输,最后使用C组密钥加密数据并传输。
在协商出多组密钥的信息以及密钥之间的切换策略后,发送方发送协商出的多组密钥的信息以及发送密钥之间的切换策略给接收方,然后从多组密钥中选取传出当前待传输数据时所采用的当前密钥,利用当前密钥对当前待传输数据进行加密,如从A、B、C三组密钥中选取A组密钥作为传输当前待传输数据时使用的密钥,则利用A组密钥对当前待传输数据进行加密处理,在加密时采用加密算法(如高级加密标准(Advanced EncryptionStandard,AES)加密算法)进行加密得到加密后的当前待传输数据,将加密后的当前待传输数据传输至接收方。接收方为了获取到发送方传输的数据的信息,则需要对接收到的加密后的当前待传输数据进行解密。在解密时采用加密时所使用的密钥。
在发送方将加密后的当前待传输数据传输至接收方后,若每次传输数据时均采用相同的密钥,则第三方根据足够多的加密信息即可分析出发送方和接收方在信息交互时所采用的密钥,从而导致密钥的安全性降低,因此,本发明实施例中设置密钥切换机制,当检测到当前密钥满足预设要求的情况下,根据密钥之间的切换策略确定新的当前密钥,然后再使用新的密钥对数据进行加密传输。对于预设要求不作限定,如可以是针对使用各密钥的次数设定的要求,也可以是使用的密钥是规定的密钥等。如利用A组密钥对当前待传输数据进行加密处理并传输至接收方后,当检测到A密钥的使用次数达到10次,结合上述列举出的密钥之间的切换方式是先使用A组密钥加密数据并传输,再使用B组密钥加密数据并传输,最后使用C组密钥加密数据并传输,则根据密钥之间的切换策略确定新的密钥为B密钥,则使用B密钥对新的待传输数据进行加密。
本发明实施例提供的方法中,利用密钥对待传输的数据进行加密以及在检测到当前密钥满足预设求的情况下,根据密钥之间的切换策略如具体地根据多组密钥的顺序、密钥之间的切换方式确定新的当前密钥,从而利用新的密钥对当前待传输数据进行加密。可见,发送方和接收方在数据传输时可以切换使用不同的密钥进行信息交互,使得即使第三方收集多组加密信息,也会因加密信息所使用的密钥不同而无法分析出信息交互的双方所使用的加密密钥,从而提高密钥的安全性;其次,在将加密后的当前待传输数据传输至接收方之前,已经提前将多组密钥的信息以及密钥之间的切换策略发送至接收方,在当前使用的密钥的基础上根据密钥所满足的预设要求以及密钥之间的切换策略即可确定出下一次使用的密钥,从而使得在每次传输数据时不需要协商密钥,节省了协商密钥的时间,提高了有效信息的传递效率;再次,由于本发明实施例从多组密钥采用切换的方式来选择密钥,即循环使用有限组的密钥进行数据的加密,不需要管理大量的密钥,方便用户对密钥进行管理以及降低了密钥管理的成本。
在上述实施例中的发送方发送多组密钥的信息以及发送密钥之间的切换策略至接收方的过程中,若未对发送的内容进行加密,则可能会存在第三方将密钥截取,从而获得双方(发送方和接收方)信息交互时所使用的密钥。一旦第三方获取到密钥,当双方再使用该密钥加密数据时,则数据很容易被第三方获取到,导致数据传输的安全性降低。故而,在一些实施例中,在发送多组密钥的信息以及发送密钥之间的切换策略至接收方之前,还包括:
发送用于表征密钥协商的信息至接收方;
在检测到接收方接收到用于表征密钥协商的信息后,获取与接收方协商出的初始密钥。
初始密钥也是发送方和接收方利用密钥协商算法协商出的。需要说明的是,初始密钥也可作为后续发送方在向接收方发送多组密钥中的一组密钥。如初始密钥为A组密钥,发送方在向接收方发送的多组密钥中也可包含A组密钥。
密钥的信息包括密钥的组数、密钥的内容。发送方需要将密钥的组数、密钥的内容、密钥之间的切换策略发送至接收方,若同时将这些信息传输至接收方,则可能会因一次需要传输的数据量较大,导致无法将这些数据一次传输完成,因此,为了尽可能地保证数据能够被接收方接收到,在一些实施例中,发送多组密钥的信息以及发送密钥之间的切换策略至接收方包括:
利用初始密钥对密钥的组数、多组密钥的内容以及密钥之间的切换策略进行加密,并获取加密后的密钥的组数、加密后的多组密钥的内容以及加密后的密钥之间的切换策略;
发送加密后的密钥的组数、加密后的多组密钥的内容以及加密后的密钥之间的切换策略至接收方;
其中,发送加密后的密钥的组数、加密后的多组密钥的内容以及加密后的密钥之间的切换策略至接收方包括:
发送加密后的密钥的组数、加密后的密钥之间的切换策略至接收方;
在检测到完成发送加密后的密钥的组数、加密后的密钥之间的切换策略后,发送加密后的多组密钥的内容至接收方。
本实施例提供的方法中,将需要传输至接收方的密钥的信息、密钥之间的切换策略分批次传输,尽可能地保证了信息能够被传输至接收方。
在使用当前密钥加密当前待传输数据,并将加密后的当前待传输数据传输至接收方后,若接收方不知道加密时所采用的当前密钥,则会导致接收方无法对接收到的加密后的当前待传输数据进行解密,无法获取到发送方传输的信息,所以,在一些实施例中,在从多组密钥中获取传输当前待传输数据时使用的当前密钥之前,还包括:
判断密钥之间的切换策略中是否设定传输当前待传输数据时的当前密钥;其中,当前密钥为多组密钥中的一组密钥;
若是,则进入从多组密钥中获取传输当前待传输数据时使用的当前密钥的步骤;
若否,则与接收方从多组密钥中协商出用于传输当前待传输数据时所使用的当前密钥,并存储在密钥之间的切换策略中。
如在密钥之间的切换策略中设定传输当前待传输数据时的当前密钥为A组密钥,当切换策略传输至接收方后,接收方根据切换策略中所设定的使用A组密钥进行加密的信息,即可知道在接收到加密后的当前待传输数据后,使用A组密钥进行解密,从而获得明文信息;若在密钥之间的切换策略中未设定传输当前待传输数据时的当前密钥为A组密钥,当切换策略传输至接收方后,不清楚加密的密钥,进而无法对接收到的加密后的当前待传输数据进行解密,无法获取到明文信息,因此,为了保证接收方能够清楚加密时所使用的密钥,在从多组密钥中获取传输当前待传输数据时使用的当前密钥之前,与接收方从多组密钥中协商出用于传输当前待传输数据时所使用的当前密钥,并存储在密钥之间的切换策略中。
本实施例提供的方法中,判断密钥之间的切换策略中是否设定传输当前待传输数据时的当前密钥,若未设定,则在密钥之间的切换策略中设定传输当前待传输数据时的当前密钥,尽可能地保证了接收方在接收到加密后的当前待传输数据时能够根据当前密钥进行解密,从而获得明文信息,提高了信息交互的成功率。
在发送多组密钥的信息以及发送密钥之间的切换策略至接收方之前,在一些实施例中,还包括:
利用预设的密钥协商算法获取与接收方协商出的多组密钥的信息、密钥之间的切换策略;
根据密钥的信息中的密钥的组数、密钥之间的切换策略中的密钥之间的切换方式确定预设的密钥协商算法所传输的数据的比特位上的数据;其中,比特位上的数据包括密钥的组数、密钥之间的切换方式、自开始使用当前密钥加密至由当前密钥切换至目标密钥加密时,当前密钥的预设使用次数;目标密钥根据密钥之间的切换策略确定;
对应地,发送密钥的组数、密钥之间的切换方式、当前密钥的预设使用次数至接收方包括:
将比特位上放置的密钥的组数、密钥之间切换方式、当前密钥的预设使用次数发送至接收方。
以SM2为例,表1为SM2算法的比特位的示意表,如表1所示,包含256个比特位。表2为密钥预存个数和密钥切换方式bit位说明表。
表1SM2算法的比特位表
Bit[255] Bit4[254] Bit[253] …… Bit[3] Bit[2] Bit[1] Bit[0]
表2密钥预存个数和密钥切换方式bit位说明表
表2中bit位[251:0]二进制为:
bit位[251:0]表示为十进制的2251799813685248。表示各密钥使用2251799813685248次后进行切换到下一个密钥对,切换方式由[253:252]位决定。[255:254]表示双方需要预先协商的用于AES加解密的密钥个数。[253:252]表示密钥切换方式。如表2中,预存的密钥对数(即上文中描述的多组密钥)为4组,放置在第254比特位和第255比特位上;密钥之间的切换方式包括下一组、上一组、向下隔一组、向下隔两组,密钥之间的切换方式放置在第252比特位和第253比特位上;每切换一次,密钥使用的加密次数为2251799813685248次,放置在第0比特位至第251比特位上。此处以A组、B组、C组、D组密钥为例,按照表2给出的密钥切换方式对密钥之间的切换过程进行说明。如密钥的顺序是:A组、B组、C组、D组,当前使用的是A密钥,则在A密钥使用2251799813685248次后,因切换方式为下一组,所以找到A组密钥的下一组密钥,即B组密钥,在B组密钥使用2251799813685248次后,因切换方式为上一组,所以找到B组密钥的上一组密钥即A组密钥,在A密钥使用2251799813685248次后,因切换方式为向下隔一组,所以向下隔一组,即找到C组密钥,在C组密钥使用2251799813685248次后,因切换方式为向下隔两组,所以向下隔两组,即找到B组密钥。
需要说明的是,当采用的密钥协商算法不同,则对应的比特位数也会相应地改变,即不仅仅局限于表1、表2中的256位,表2中的每部分表示的含义也会根据实际情况进行扩展位宽或者缩减位宽。如采用SM2算法,假设预存的密钥的对数为6对,则在第253比特位至第255比特位上放置需要预存的密钥对数,同时,密钥切换方式的比特位为第251比特位至第252比特位,每切换一次,密钥使用的加密次数所在的比特位为第0位至第250位。
为了实现密钥的切换,本发明实施例中设定的预设要求为当前使用次数大于或等于预设使用次数;
其中,确定当前使用次数包括:
自检测到开始使用当前密钥加密数据,利用计数器记录加密次数;
判断是否由当前密钥加密数据切换至目标密钥加密数据;
若否,则获取计时器记录的加密次数以作为当前使用次数;
若是,则获取计时器中记录的当前密钥的加密次数以作为当前使用次数。
需要说明的是,本发明实施例中的预设使用次数根据使用的密钥协商算法的比特位上的数据确定,如上述实施例的表2中,预设使用次数为2251799813685248。目标密钥即为根据密钥切换策略确定出的密钥,如当前密钥为A组密钥,利用计数器记录使用A组密钥加密的次数,若切换方式为下一组密钥,则判断是否由A组密钥切换为B组密钥加密数据,若没有切换为B组密钥,则计数器记录的加密次数记为使用当前密钥的加密次数;若切换为B组密钥,则从计时器中获取针对使用当前密钥的所记录的加密次数。
在上述实施例的基础上,若多组密钥使用的次数较多或者使用的时间较长时,则密钥的安全性就会降低,因此,为了提高数据传输时的安全性,在一些实施例中,在利用当前密钥对当前待传输数据进行加密处理之后,还包括:
向接收方发出用于表征重新协商多组新的密钥的指令,和/或接收接收方发出的用于表征重新协商多组新的密钥的指令;
自发出和/或接收到指令开始,第一预设时长内根据指令与接收方协商多组新的密钥;
在检测到与接收方协商出多组新的密钥的情况下,返回发送多组密钥的信息以及密钥之间的切换策略至接收方的步骤;
其中,在向接收方发出用于表征重新协商多组新的密钥的指令,和/或接收接收方发出的用于表征重新协商多组新的密钥的指令之前,还包括:
自检测到开始使用多组密钥加密数据起至当前时刻,获取多组密钥的使用时长;
在检测到使用时长大于第二预设时长的情况下,返回向接收方发出用于表征重新协商多组新的密钥的指令,和/或接收接收方发出的用于表征重新协商多组新的密钥的指令的步骤;其中,第二预设时长大于第一预设时长。
对于第一预设时长、第二预设时长的值不作限定。通常情况下,为了能够及时地获取到多组新的密钥,第一预设时长通常在较短的时间内,如第一预设时长可以是在几分钟之内;而第二预设时长相对较长点,如第二预设时长可以是在一星期内。
本实施例提供的方法中,通过对之前设置的多组密钥进行更换,采用新的多组密钥作为数据传输时的新的密钥,大大提高了数据传输时的安全性。
密钥存储时的安全性与密钥的安全性仅仅相关。在实施中,可能会存在密钥存储不安全而导致密钥被泄露,从而使用密钥对数据进行加密后传输,对数据的安全性也会造成极大的影响。因此,在一些实施例中,在发送多组密钥的信息以及发送密钥之间的切换策略至接收方之前,还包括:
将多组密钥的信息以及密钥之间的切换策略存储至第一安全密钥存储空间中;其中,第一安全密钥存储空间位于发送方中;
对应地,发送多组密钥的信息以及发送密钥之间的切换策略至接收方包括:
从第一安全密钥存储空间中将密钥之间的切换策略以及依次将各组密钥的信息发送至接收方;
在发送多组密钥的信息以及发送密钥之间的切换策略至接收方之后,还包括:
提示接收方将多组密钥的信息以及密钥之间的切换策略存储至第二安全密钥存储空间中;其中,第二安全密钥存储空间位于接收方中。
对于发送方中的第一安全密钥存储空间与接收方中的第二安全密钥存储空间的具体的位置不作限定,只要尽可能地保证密钥存储在第一安全密钥存储空间和第二安全密钥存储空间时,密钥足够安全即可。
本实施例提供的方法中,通过将密钥存放在安全密钥存储空间中,尽可能地保证了密钥存储的安全性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。本发明实施例给出一种分组密码算法的实现方法,并以AES算法为例,说明具体实施流程。图2为本发明实施例提供的一种分组加密算法的实现方法的流程图,如图2所示,该方法包括:
S14:发送方向接收方发起密钥协商,协商一组密钥;
S15:发送方利用协商好的一组密钥加密,并将需要预先存的密钥个数以及密钥切换方式加密后传给接收方;
S16:发送方向接收方发送密钥;
S17:双方开始信息交互,发送方向接收方传送加密数据,接收方利用预存的密钥和密钥切换方式进行解密;
S18:经过一段时间的信息交互之后,发送方认为之前预存的密钥已经不安全;重新返回步骤S14。
具体地,在步骤S14中,发送方向接收方发起密钥协商,协商一组密钥。协商的这一组密钥,用于发送方向接收方发送需要预存的密钥个数以及密钥切换方式,这一组密钥也可以当作是预存密钥的一组。
在步骤S15中,发送方利用协商好的一组密钥加密,并将需要预先存的密钥个数以及密钥切换方式加密后传递给接收方。此时使用的是第一步协商的密钥进行数据加密和传递。
在步骤S16中,发送方向接收方发送密钥,此时同样使用的是第一步协商的密钥进行数据加密和传递。双方将密钥存放在自己的安全空间内,有各种负责保护,防止密钥泄露。
在步骤S17中,双方开始信息交互,发送方向接收方传送加密数据,接收方利用预存的密钥和密钥切换方式进行解密,发送方向接收方开始传递信息。
在步骤S18中,经过一段时间的信息交互之后,发送方认为之前预存的密钥已经不安全。可能是发送方发现有遭到了第三方攻击或者是密钥使用时间太长担心存在风险,都可以由发送方发起重新协商密钥的指令,协商新的密钥。
图3为本发明实施例提供的一种发送方和接收方之间的信息交互示意图,先通过密钥协商算法协商出密钥,将协商出的密钥放置在各自的密钥管理单元中,然后发送方从密钥管理单元中取出一组密钥采用数据加密算法对数据进行加密并将加密后的数据传输至接收方,接收方从自己的密钥管理单元中取出加密时所采用的密钥,从而采用数据加密算法对应的逆运算对接收到的加密后的数据进行解密。
发送方向接收方发送密钥协商可以使用SM2的密钥协商功能,双方进行加密数据信息传递时,可以使用AES加密算法将数据进行加解密。密钥协商功能不限制使用SM2协商算法,也可以是用RSA(由Rivest、Shamir和Adleman发明的算法)等其他密钥协商算法,加解密算法也不局限于AES算法,也可以使用数据加密标准(Data Encryption Standard,DES)等加解密算法。在使用密钥协商完成之后,使用协商完成的密钥对需要预存的密钥个数和密钥切换方式使用协商完成的密钥对进行解密由发送方传递给接收方。其中,密钥个数、密钥切换方式、每个密钥使用的加密次数如上述的表2所示。
图4为本发明实施例提供的一种密钥管理单元的示意图,如图4所示,在密钥管理单元中包括密钥个数和切换控制寄存器、计数器与密钥选择控制单元、安全密钥存储空间。图5为本发明实施例提供的一种发送方和接收方之间详细的信息交互示意图。按照预存的密钥个数为4(表1、表2,bit[255:254]=2`b11),密钥切换方式为向下隔一组(表2,[253:252]=2`b10),每组密钥使用的加解密次数为2251799813685248(表2,[251:0])。图5描述整体的操作流程如下:
第一步:发送方利用密钥协商算法(例如SM2)向接收方发起密钥协商。协商成功后,发送方将协商的密钥保存在自己的安全密钥存储空间中,接收方也将密钥保存到自己的安全密钥存储空间中。
第二步:利用SM2协商完的密钥将密钥预存个数切换方式加密后传送给接收方,接收方解密后将密钥预存个数切换方式存放到自己的密钥预存个数切换方式寄存器。
第三步:发送方向接收方发送预存密钥。发送方将安全密钥空间中4组用于AES加解密的密钥,利用SM2和SM2协商的SM2密钥加密后传递给接收方。接收方将4组用于AES加密的密钥通过SM2解密后存放到接收方自己的安全密钥存储空间中。
第四步:数据传递。开始完成先选择第一组密钥使用。发送方利用AES加密和第一组用于AES加密的密钥将数据加密并传送到接收方的AES算法单元。接收方利用AES算法和第一组用于AES的密钥进行解密,将密文解密成明文,完成一组数据的传递。因为[251:0]为所以第一组用于AES的密钥使用2251799813685248次后切换为另外一组。因[253:252]=2`b10,切换方式为向下隔一组,因此在第2251799813685249笔信息进行加密传递是选择的用于AES的密钥为第3组,在经过2251799813685248笔后密钥切换成第一组。依次循环。
第五步:经过一段时间的数据传递,发送方发现密钥已经不安全,需要重新协商密钥时,重新从第一步开始。
本发明实施例中提供的分组密码算法的实现方法,首先发送方和接收方商定初始的密钥,协商完成后发送方将需要预先协商的密钥个数和密钥切换方式加密后传递给接收方,然后协商需要预存的密钥,双方将协商好的密钥存储在双方各自的安全环境中。发送方认为之前协商的密钥或者密钥切换方式不安全时,可进行重新协商密钥或者密钥切换方式。在兼顾密钥管理和安全性的基础上给出一种密钥预存与切换的方式实现数据加密传递。
上文中描述了一种应用于发送方的数据传输的方法,本实施例还提供一种应用于接收方的数据传输的方法,该方法包括:
接收发送方发送的多组密钥的信息以及接收密钥之间的切换策略;密钥之间的切换策略中至少包括多组密钥的顺序、密钥之间的切换方式;
接收发送方发送的加密后的当前待传输数据;其中,加密后的当前待传输数据是发送方从多组密钥中获取传输当前待传输数据时使用的当前密钥,并利用当前密钥对当前待传输数据进行加密处理得到;发送方在检测到当前密钥满足预设要求的情况下,根据密钥之间的切换策略确定新的当前密钥,并利用当前密钥对当前待传输数据进行加密;
利用当前密钥对加密后的当前待传输数据进行解密。
本实施例提供的应用于接收方的数据传输的方法与上文中描述的应用于发送方的数据传输的方法具有相同或相对应的技术特征,上文中已对应用于发送方的数据传输的方法进行了详细地描述,此处对于应用于接收方的数据传输的方法的实施例不再赘述,并且具有与上述提到的应用于发送方的数据传输的方法相同的有益效果。
在上述实施例中,对于应用于发送方的数据传输的方法进行了详细描述,本发明还提供应用于发送方的数据传输的装置、应用于接收方的数据传输的装置、电子设备对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图6为本发明的一实施例提供的应用于发送方的数据传输的装置的结构图。本实施例基于功能模块的角度,包括:
发送模块10,用于发送多组密钥的信息以及发送密钥之间的切换策略至接收方;密钥之间的切换策略中至少包括多组密钥的顺序、密钥之间的切换方式;
获取模块11,用于从多组密钥中获取传输当前待传输数据时使用的当前密钥;
加密模块12,用于利用当前密钥对当前待传输数据进行加密处理;
传输模块13,用于将加密后的当前待传输数据传输至接收方,以便于接收方利用当前密钥对加密后的当前待传输数据进行解密;
确定模块14,用于在检测到当前密钥满足预设要求的情况下,根据密钥之间的切换策略确定新的当前密钥,并返回触发加密模块12。
应用于发送方的数据传输的装置还包括:
第一发送模块,用于发送用于表征密钥协商的信息至接收方;
第一获取模块,用于在检测到接收方接收到用于表征密钥协商的信息后,获取与接收方协商出的初始密钥;
对应地,密钥的信息包括密钥的组数、密钥的内容;发送模块10具体包括:
加密及获取模块,用于利用初始密钥对密钥的组数、多组密钥的内容以及密钥之间的切换策略进行加密,并获取加密后的密钥的组数、加密后的多组密钥的内容以及加密后的密钥之间的切换策略;
第二发送模块,用于发送加密后的密钥的组数、加密后的多组密钥的内容以及加密后的密钥之间的切换策略至接收方;
其中,第二发送模块具体包括:
第三发送模块,用于发送加密后的密钥的组数、加密后的密钥之间的切换策略至接收方;
第四发送模块,用于在检测到完成发送加密后的密钥的组数、加密后的密钥之间的切换策略后,发送加密后的多组密钥的内容至接收方。
应用于发送方的数据传输的装置还包括:
判断模块,用于判断密钥之间的切换策略中是否设定传输当前待传输数据时的当前密钥;其中,当前密钥为多组密钥中的一组密钥;若是,则触发获取模块11;若否,则触发协商及存储模块;
协商及存储模块,用于与接收方从多组密钥中协商出用于传输当前待传输数据时所使用的当前密钥,并存储在密钥之间的切换策略中。
应用于发送方的数据传输的装置还包括:
第二获取模块,用于利用预设的密钥协商算法获取与接收方协商出的多组密钥的信息、密钥之间的切换策略;
第一确定模块,用于根据密钥的信息中的密钥的组数、密钥之间的切换策略中的密钥之间的切换方式确定预设的密钥协商算法所传输的数据的比特位上的数据;其中,比特位上的数据包括密钥的组数、密钥之间的切换方式、自开始使用当前密钥加密至由当前密钥切换至目标密钥加密时,当前密钥的预设使用次数;目标密钥根据密钥之间的切换策略确定;
对应地,应用于发送方的数据传输的装置还包括:第五发送模块,用于发送密钥的组数、密钥之间的切换方式、当前密钥的预设使用次数至接收方;
第五发送模块具体用于将比特位上放置的密钥的组数、密钥之间切换方式、当前密钥的预设使用次数发送至接收方。
预设要求为当前使用次数大于或等于预设使用次数;
其中,应用于发送方的数据传输的装置还包括第二确定模块,用于确定当前使用次数;
第二确定模块具体用于自检测到开始使用当前密钥加密数据,利用计数器记录加密次数;判断是否由当前密钥加密数据切换至目标密钥加密数据;若否,则获取计时器记录的加密次数以作为当前使用次数;若是,则获取计时器中记录的当前密钥的加密次数以作为当前使用次数。
应用于发送方的数据传输的装置还包括:
发出模块,用于向接收方发出用于表征重新协商多组新的密钥的指令,和/或接收接收方发出的用于表征重新协商多组新的密钥的指令;
协商模块,用于自发出和/或接收到指令开始,第一预设时长内根据指令与接收方协商多组新的密钥;
第一检测模块,用于在检测到与接收方协商出多组新的密钥的情况下,返回触发发送模块10;
应用于发送方的数据传输的装置还包括:
第三获取模块,用于自检测到开始使用多组密钥加密数据起至当前时刻,获取多组密钥的使用时长;
第二检测模块,用于在检测到使用时长大于第二预设时长的情况下,返回触发发出模块,其中,第二预设时长大于第一预设时长。
应用于发送方的数据传输的装置还包括:
存储模块,用于将多组密钥的信息以及密钥之间的切换策略存储至第一安全密钥存储空间中;其中,第一安全密钥存储空间位于发送方中;
对应地,发送模块10具体包括:
第六发送模块,用于从第一安全密钥存储空间中将密钥之间的切换策略以及依次将各组密钥的信息发送至接收方;
应用于发送方的数据传输的装置还包括:
提示模块,用于提示接收方将多组密钥的信息以及密钥之间的切换策略存储至第二安全密钥存储空间中;其中,第二安全密钥存储空间位于接收方中。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。并且具有与上述提到的应用于发送方的数据传输的方法相同的有益效果。
本实施例还提供一种应用于接收方的数据传输的装置,该装置包括:
第一接收模块,用于接收发送方发送的多组密钥的信息以及接收密钥之间的切换策略;密钥之间的切换策略中至少包括多组密钥的顺序、密钥之间的切换方式;
第二接收模块,用于接收发送方发送的加密后的当前待传输数据;其中,加密后的当前待传输数据是发送方从多组密钥中获取传输当前待传输数据时使用的当前密钥,并利用当前密钥对当前待传输数据进行加密处理得到;发送方在检测到当前密钥满足预设要求的情况下,根据密钥之间的切换策略确定新的当前密钥,并利用当前密钥对当前待传输数据进行加密;
解密模块,用于利用当前密钥对加密后的当前待传输数据进行解密。
本实施例提供的应用于接收方的数据传输的装置与上文中描述的应用于发送方的数据传输的方法具有相同或相对应的技术特征,上文中已对应用于发送方的数据传输的方法的实施例进行了详细地描述,此处对于应用于接收方的数据传输的装置的实施例不再赘述,并且具有与上述提到的应用于发送方的数据传输的方法相同的有益效果。
图7为本发明另一实施例提供的电子设备的结构图。本实施例基于硬件角度,如图7所示,电子设备包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的数据传输的方法的步骤。
本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据传输的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于上述所提到的数据传输的方法所涉及到的数据等。
在一些实施例中,电子设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图7中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的电子设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:数据传输的方法,效果同上。
最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是发送方对应的方法、也可以是接收方对应的方法,还可以是发送方和接收方对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明提供的计算机可读存储介质包括上述提到的数据传输的方法,效果同上。
以上对本发明所提供的一种数据传输的方法、装置、电子设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (12)

1.一种数据传输的方法,其特征在于,应用于发送方,所述方法包括:
发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
从多组所述密钥中获取传输当前待传输数据时使用的当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密处理;
将加密后的所述当前待传输数据传输至所述接收方,以便于所述接收方利用所述当前密钥对加密后的所述当前待传输数据进行解密;
在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并返回所述利用所述当前密钥对所述当前待传输数据进行加密的步骤。
2.根据权利要求1所述的数据传输的方法,其特征在于,在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之前,还包括:
发送用于表征密钥协商的信息至所述接收方;
在检测到所述接收方接收到所述用于表征密钥协商的信息后,获取与所述接收方协商出的初始密钥;
对应地,所述密钥的信息包括所述密钥的组数、所述密钥的内容;所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方包括:
利用所述初始密钥对所述密钥的组数、多组所述密钥的内容以及所述密钥之间的切换策略进行加密,并获取加密后的所述密钥的组数、加密后的多组所述密钥的内容以及加密后的所述密钥之间的切换策略;
发送加密后的所述密钥的组数、加密后的多组所述密钥的内容以及加密后的所述密钥之间的切换策略至所述接收方;
其中,所述发送加密后的所述密钥的组数、加密后的多组所述密钥的内容以及加密后的所述密钥之间的切换策略至所述接收方包括:
发送加密后的所述密钥的组数、加密后的所述密钥之间的切换策略至所述接收方;
在检测到完成发送加密后的所述密钥的组数、加密后的所述密钥之间的切换策略后,发送加密后的多组所述密钥的内容至所述接收方。
3.根据权利要求1或2所述的数据传输的方法,其特征在于,在所述从多组所述密钥中获取传输当前待传输数据时使用的当前密钥之前,还包括:
判断所述密钥之间的切换策略中是否设定传输所述当前待传输数据时的所述当前密钥;其中,所述当前密钥为多组所述密钥中的一组所述密钥;
若是,则进入所述从多组所述密钥中获取传输当前待传输数据时使用的当前密钥的步骤;
若否,则与所述接收方从多组所述密钥中协商出用于传输所述当前待传输数据时所使用的所述当前密钥,并存储在所述密钥之间的切换策略中。
4.根据权利要求3所述的数据传输的方法,其特征在于,在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之前,还包括:
利用预设的密钥协商算法获取与所述接收方协商出的多组所述密钥的信息、所述密钥之间的切换策略;
根据所述密钥的信息中的所述密钥的组数、所述密钥之间的切换策略中的所述密钥之间的切换方式确定所述预设的密钥协商算法所传输的数据的比特位上的数据;其中,所述比特位上的数据包括所述密钥的组数、所述密钥之间的切换方式、自开始使用所述当前密钥加密至由所述当前密钥切换至目标密钥加密时,所述当前密钥的预设使用次数;所述目标密钥根据所述密钥之间的切换策略确定;
对应地,发送所述密钥的组数、所述密钥之间的切换方式、所述当前密钥的预设使用次数至所述接收方包括:
将所述比特位上放置的所述密钥的组数、所述密钥之间切换方式、所述当前密钥的预设使用次数发送至所述接收方。
5.根据权利要求4所述的数据传输的方法,其特征在于,所述预设要求为当前使用次数大于或等于所述预设使用次数;
其中,确定所述当前使用次数包括:
自检测到开始使用所述当前密钥加密数据,利用计数器记录加密次数;
判断是否由所述当前密钥加密数据切换至所述目标密钥加密数据;
若否,则获取所述计时器记录的所述加密次数以作为所述当前使用次数;
若是,则获取所述计时器中记录的所述当前密钥的所述加密次数以作为所述当前使用次数。
6.根据权利要求1所述的数据传输的方法,其特征在于,在所述利用所述当前密钥对所述当前待传输数据进行加密处理之后,还包括:
向所述接收方发出用于表征重新协商多组新的密钥的指令,和/或接收所述接收方发出的用于表征重新协商多组新的密钥的指令;
自发出和/或接收到所述指令开始,第一预设时长内根据所述指令与所述接收方协商多组新的密钥;
在检测到与所述接收方协商出多组新的密钥的情况下,返回所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方的步骤;
其中,在所述向所述接收方发出用于表征重新协商多组新的密钥的指令,和/或接收所述接收方发出的用于表征重新协商多组新的密钥的指令之前,还包括:
自检测到开始使用多组所述密钥加密数据起至当前时刻,获取多组所述密钥的使用时长;
在检测到所述使用时长大于第二预设时长的情况下,返回所述向所述接收方发出用于表征重新协商多组新的密钥的指令,和/或接收所述接收方发出的用于表征重新协商多组新的密钥的指令的步骤;其中,所述第二预设时长大于所述第一预设时长。
7.根据权利要求1所述的数据传输的方法,其特征在于,在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之前,还包括:
将多组所述密钥的信息以及所述密钥之间的切换策略存储至第一安全密钥存储空间中;其中,所述第一安全密钥存储空间位于所述发送方中;
对应地,所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方包括:
从所述第一安全密钥存储空间中将所述密钥之间的切换策略以及依次将各组所述密钥的信息发送至所述接收方;
在所述发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方之后,还包括:
提示所述接收方将多组所述密钥的信息以及所述密钥之间的切换策略存储至第二安全密钥存储空间中;其中,所述第二安全密钥存储空间位于所述接收方中。
8.一种数据传输的方法,其特征在于,应用于接收方,所述方法包括:
接收发送方发送的多组密钥的信息以及接收所述密钥之间的切换策略;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
接收所述发送方发送的加密后的当前待传输数据;其中,加密后的所述当前待传输数据是所述发送方从多组所述密钥中获取传输所述当前待传输数据时使用的当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密处理得到;所述发送方在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密;
利用所述当前密钥对加密后的所述当前待传输数据进行解密。
9.一种数据传输的装置,其特征在于,应用于发送方,所述装置包括:
发送模块,用于发送多组密钥的信息以及发送所述密钥之间的切换策略至接收方;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
获取模块,用于从多组所述密钥中获取传输当前待传输数据时使用的当前密钥;
加密模块,用于利用所述当前密钥对所述当前待传输数据进行加密处理;
传输模块,用于将加密后的所述当前待传输数据传输至所述接收方,以便于所述接收方利用所述当前密钥对加密后的所述当前待传输数据进行解密;
确定模块,用于在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并返回触发所述加密模块。
10.一种数据传输的装置,其特征在于,应用于接收方,所述装置包括:
第一接收模块,用于接收发送方发送的多组密钥的信息以及接收所述密钥之间的切换策略;所述密钥之间的切换策略中至少包括多组所述密钥的顺序、所述密钥之间的切换方式;
第二接收模块,用于接收所述发送方发送的加密后的当前待传输数据;其中,加密后的所述当前待传输数据是所述发送方从多组所述密钥中获取传输所述当前待传输数据时使用的当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密处理得到;所述发送方在检测到所述当前密钥满足预设要求的情况下,根据所述密钥之间的切换策略确定新的所述当前密钥,并利用所述当前密钥对所述当前待传输数据进行加密;
解密模块,用于利用所述当前密钥对加密后的所述当前待传输数据进行解密。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的数据传输的方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据传输的方法的步骤。
CN202311535920.9A 2023-11-17 2023-11-17 一种数据传输的方法、装置、电子设备及介质 Pending CN117579340A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311535920.9A CN117579340A (zh) 2023-11-17 2023-11-17 一种数据传输的方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311535920.9A CN117579340A (zh) 2023-11-17 2023-11-17 一种数据传输的方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN117579340A true CN117579340A (zh) 2024-02-20

Family

ID=89859985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311535920.9A Pending CN117579340A (zh) 2023-11-17 2023-11-17 一种数据传输的方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN117579340A (zh)

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
CN107294714B (zh) 密钥协商方法、装置及其设备
CN107682141A (zh) 用于数据传输的数据加密方法和系统
CN106790223B (zh) 一种数据传输的方法和设备及其系统
CN108173644A (zh) 数据传输加密方法、装置、存储介质、设备及服务器
US20130142328A1 (en) Encryption device, encryption system, encryption method, and encryption program
US20180219688A1 (en) Information Transmission Method and Mobile Device
CN104205117A (zh) 设备文件的加解密方法及装置
CN108134671A (zh) 一种基于量子真随机数的透明加密系统及其加解密方法
CN111064572B (zh) 数据通讯方法及装置
CN108810022A (zh) 一种加密方法、解密方法及装置
CN110868291A (zh) 一种数据加密传输方法、装置、系统及存储介质
CN112291268B (zh) 信息的传输方法、装置、设备以及存储介质
CN115208697A (zh) 基于攻击行为的自适应数据加密方法及装置
CN115314313A (zh) 信息加密方法、装置、存储介质及计算机设备
WO2024139347A1 (zh) 敏感信息安全获取方法、系统、装置及电子设备
EP3010173B1 (en) Key storage device, key storage method, and program therefor
CN109361506B (zh) 信息处理方法
CN106487761B (zh) 一种消息传输方法和网络设备
CN105354500B (zh) 文件加密方法及装置
CN110912683B (zh) 密码存储方法及装置、密码验证方法及装置
CN106357388A (zh) 自适应切换密钥的方法及装置
CN117579340A (zh) 一种数据传输的方法、装置、电子设备及介质
CN111404670A (zh) 一种密钥生成方法、ue及网络设备
CN106357390A (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