基于量子密钥的点对点通信方法及系统与流程

文档序号:33556978发布日期:2023-03-22 12:20阅读:17来源:国知局
基于量子密钥的点对点通信方法及系统与流程

1.本发明涉及网络安全技术领域,具体涉及一种基于量子密钥的点对点通信方法及系统。


背景技术:

2.在网络通信中,目前流行的各类即时通讯软件(qq、微信等)一般都需要依靠服务器来转发各类数据,这就需要部署大量的高性能服务器,导致成本高且效率低下。
3.针对上述问题,公开号为cn 113098949 a的专利申请公开了一种点对点通信方法及系统、用于点对点通信的服务端,该专利申请虽然实现了点对点通信,但专利申请未对终端设备的公网ip地址及端口号进行加密保护,一旦终端设备的公网ip地址及端口号被破解,不法分子即可根据公网ip地址及端口号连接到该终端设备,存在一定的安全风险。


技术实现要素:

4.本发明实施例提供了一种基于量子密钥的点对点通信方法及系统,用以解决现有技术存在的安全性低的缺陷。
5.第一方面,本发明实施例提供的基于量子密钥的点对点通信方法包括以下步骤:响应于第一用户设备发送的辅助连接请求,获取第二用户设备的公网ip地址及公网端口号,其中,所述辅助连接请求携带第一用户id、第一用户设备id、第二用户id及随机数。
6.使用预制量子密钥及所述随机数,对所述第二用户设备的公网ip地址及公网端口号进行加密。
7.将所述第二用户设备预先生成的公钥及加密后的第二用户设备的公网ip地址、公网端口号发送给所述第一用户设备。
8.作为第一方面一个优选的实施方式,基于预制量子密钥及所述随机数,对所述第二用户设备的公网ip地址及公网端口号进行加密包括:根据公式offset = offset1%n,计算所述预制量子密钥的字节偏移位置,其中,offset1为所述随机数的前n个字节,n为所述预制量子密钥的总字节大小,%为求余符号。
9.基于所述字节偏移位置,从所述预制量子密钥中获取与所述随机数字节大小一致的量子密钥。
10.将所述与所述随机数字节大小一致的量子密钥与所述随机数做异或运算,得到第一加密密钥。
11.利用所述第一加密密钥,对所述第二用户设备的公网ip地址及公网端口号进行加密。
12.作为第一方面一个优选的实施方式,所述第二用户设备的公网ip地址为动态公网ip地址。
13.第二方面,本发明实施例提供了另一种基于量子密钥的点对点通信方法,该点对
点通信方法包括以下步骤:基于预先保存的量子密钥,对待发送的数据进行加密。
14.基于所述第二用户设备的公网ip地址及公网端口号,将加密后的数据发送给所述第二用户设备。
15.响应于第二用户设备发送的量子解密密钥获取请求,生成第二加密密钥。
16.利用所述第二加密密钥,对加密本次待发送的数据使用的量子加密密钥进行加密。
17.利用第二用户设备生成的公钥,对所述第二加密密钥进行加密;将加密后的量子加密密钥及加密后的第二加密密钥发送给所述第二用户设备。
18.作为第二方面一个优选的实施方式,,利用所述第二加密密钥,对加密本次待发送的数据使用的量子加密密钥进行加密包括:采用sm4算法,以所述第二加密密钥作为密钥,对加密本次待发送的数据使用的量子加密密钥进行加密。
19.作为第二方面一个优选的实施方式,,利用第二用户设备生成的公钥,对所述第二加密密钥进行加密包括:采用sm2算法,以第二用户设备生成的公钥作为密钥,对所述第二加密密钥进行加密。
20.第三方面,本发明实施例提供的基于量子密钥的点对点通信系统包括:获取模块,被配置为响应于第一用户设备发送的辅助连接请求,获取第二用户设备的公网ip地址及公网端口号,其中,所述辅助连接请求携带第一用户id、第一用户设备id、第二用户id及随机数。
21.第一加密模块,被配置为基于预制量子密钥及所述随机数,对所述第二用户设备的公网ip地址及公网端口号进行加密。
22.第一发送模块,被配置为将所述第二用户设备预先生成的公钥及加密后的第二用户设备的公网ip地址、公网端口号发送给所述第一用户设备。
23.第四方面,本发明实施例提供了另一种基于量子密钥的点对点通信系统,该点对点通信系统包括:第二加密模块,被配置为基于预先保存的量子密钥,对待发送的数据进行加密。
24.第二发送模块,被配置为基于所述第二用户设备的公网ip地址及公网端口号,将加密后的数据发送给所述第二用户设备。
25.生成模块,被配置为响应于第二用户设备发送的量子解密密钥获取请求,生成第二加密密钥。
26.第三加密模块,被配置为利用所述第二加密密钥,对加密本次待发送的数据使用的量子加密密钥进行加密。
27.第四加密模块,被配置为利用第二用户设备生成的公钥,对所述第二加密密钥进行加密。
28.所述第二发送模块,还被配置为将加密后的量子加密密钥及加密后的第二加密密钥发送给所述第二用户设备。
29.第五方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有
计算机程序,所述计算机程序用于执行上述第一或第二方面所述的方法。
30.第六方面,本发明实施例提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述第一或第二方面所述的方法。
31.本发明实施例提供的基于量子密钥的点对点通信方法及系统具有以下有益效果:(1)基于量子密钥对用户设备的公网ip地址及公网端口号进行加密,加强了用户设备的公网ip地址及公网端口号的隐私性,保证了用户设备的安全性;(2)基于公钥对用户设备加密待发送的数据所使用的量子加密密钥进行加密,提高了量子密钥的安全性;(3)基于量子密钥对待发送的数据进行加密,提高了数据的安全性。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明实施例提供的基于量子密钥的点对点通信方法的应用场景示意图;图2为本发明实施例提供的基于量子密钥的点对点通信方法流程示意图;图3为本发明实施例提供的另一基于量子密钥的点对点通信方法流程示意图;图4为本发明实施例提供的基于量子密钥的点对点通信系统结构示意图;图5为本发明实施例提供的另一基于量子密钥的点对点通信系统结构示意图;图6为本发明实施例提供的本发明实施例提供的电子设备的结构示意图。
具体实施方式
34.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.如图1所示,在本发明实施例提供的基于量子密钥的点对点通信方法的应用场景中,存在量子随机数生成器、云服务器、认证系统、用户设备a及用户设备b。其中,用户设备a向认证系统发送第一注册认证请求及第一登录认证请求,用户设备b向认证系统发送第二注册认证请求及第二登录认证请求,认证系统与云服务器共同对第一注册认证、第一登录认证请求、第二注册认证请求、第二登录认证请求进行验证,当第一注册认证、第一登录认证请求、第二注册认证请求、第二登录认证请求均验证通过后,用户设备a与用户设备b之间才能实现点对点通信。
36.下面对本发明实施例提供的基于量子密钥的点对点通信方法及系统所涉及的方案进行详细说明。
37.实施例1如图2所示,本发明实施例提供的基于量子密钥的点对点通信方法,应用于云服务器,包括以下步骤:s101,响应于第一用户设备发送的辅助连接请求,获取第二用户设备的公网ip地址及公网端口号,其中,该辅助连接请求携带第一用户id、第一用户设备id、第二用户id及随机数。
38.具体地,该随机数为第一用户设备向云服务器发送辅助连接请求前,第一用户设备基于算法生成的随机数。第一用户id与第一用户设备id、第二用户id与第二用户设备id之间相互关联,即第一用户id仅能在第一用户设备上登录,第二用户id仅能在第二用户设备上登录。
39.作为一个可实现的实施方式,第二用户设备的公网ip地址为动态公网ip地址。同样,第一用户设备的公网ip地址也为动态公网ip地址。
40.s102,基于预制量子密钥及随机数,对第二用户设备的公网ip地址及公网端口号进行加密。
41.具体地,该预制量子密钥为第一用户设备注册成功后,云服务器发送给第一用户设备的量子密钥,该量子密钥为云服务器向量子随机数生成器获取的。
42.在一种可实现的实施方式中,该步骤具体包括:s1021,根据公式offset = offset1%n,计算所述预制量子密钥的字节偏移位置,其中,offset1为所述随机数的前n个字节,n为所述预制量子密钥的总字节大小,%为求余符号。
43.具体地,该随机数的字节总大小为16个字节,offset1为该随机数的前2个字节,该预制量子密钥的字节总大小为32k个字节。
44.s1022,基于该字节偏移位置,从该预制量子密钥中获取与该随机数字节大小一致的量子密钥。
45.具体地,从预制量子密钥中获取该预制量子密钥在该字节偏移位置处后字节大小为16的量子密钥。当该预制量子密钥在该字节偏移位置处后的随机数不足16个字节时,从该预制量子密钥的前第一个字节处开始取,直至补满16个字节。
46.s1023,将与该随机数字节大小一致的量子密钥与该随机数做异或运算,得到第一加密密钥。
47.s1024,利用该第一加密密钥,对第二用户设备的公网ip地址及公网端口号进行加密。
48.具体地,第一加密密钥为对称密钥,采用sm4算法,以该第一加密密钥作为密钥,对第二用户设备的公网ip地址及公网端口号进行加密及解密。
49.s103,将第二用户设备预先生成的公钥及加密后的第二用户设备的公网ip地址、公网端口号发送给第一用户设备。
50.具体地,第二用户设备预先生成的公钥为第二用户设备登录认证成功后,第二用户设备生成的公私钥对中的公钥,其中,将该公私钥对中的私钥保存于本地,将该公私钥对中的公钥传输给云服务器。
51.实施例2
如图3所示,本发明实施例提供的另一基于量子密钥的点对点通信方法,应用于第一用户设备,包括以下步骤:s201,基于预先保存的量子密钥,对待发送的数据进行加密。
52.具体地,该量子密钥包括量子加密密钥及量子解密密钥,该量子密钥为第一用户设备向第二用户设备发送数据前,向云服务器请求获取的。其中,云服务器根据第一用户设备发送的量子密钥获取请求,向量子随机数生成器请求获取量子随机数,根据量子随机数生成器发送的量子随机数,云服务器确定量子加密密钥及量子解密密钥并将该量子加密密钥及量子解密密钥发送给第一用户设备。第一用户设备加密本次数据所使用的量子加密密钥为第二用户设备解密第一用户设备本次发送的数据的量子解密密钥,同理,第二用户设备加密本次数据所使用的量子加密密钥为第一用户设备解密第二用户设备本次发送的数据的量子解密密钥。
53.s202,基于第二用户设备的公网ip地址及公网端口号,将加密后的数据发送给第二用户设备。
54.s203,响应于第二用户设备发送的量子解密密钥获取请求,生成第二加密密钥。
55.具体地,该第二加密密钥位对称加密密钥。
56.s204,利用该第二加密密钥,对加密本次待发送的数据使用的量子加密密钥进行加密。
57.具体地,第二加密密钥为对称密钥,采用sm4算法,以该第二加密密钥作为密钥,对本次发送给第二用户设备的数据加密所使用的量子加密密钥进行加密及解密。
58.作为一个可实现的实施方式,采用sm4算法,以第二加密密钥作为密钥,对加密本次待发送的数据使用的量子加密密钥进行加密。
59.s205,利用第二用户设备生成的公钥,对第二加密密钥进行加密。
60.同理,在第二用户设备发送第三加密密钥给第一用户设备前,使用第一用户设备生成的公钥,对第三加密密钥进行加密。其中,第三加密密钥为第二用户设备本次对发送给第一用户设备的数据加密所使用的量子加密密钥进行加密所使用的密钥。
61.作为一个可实现的实施方式,采用sm2算法,以第二用户设备生成的公钥作为密钥,对第二加密密钥进行加密。
62.s206,将加密后的量子加密密钥及加密后的第二加密密钥发送给第二用户设备。
63.具体地,第二用户设备利用与该公钥对应的私钥,解密加密后的第二加密密钥;利用解密后的第二加密密钥,解密加密后的量子加密密钥;利用解密后的量子加密密钥,解密第一用户设备发送的数据,完成了第一用户设备与第二用户设备之间的通信。第一用户设备解密第二用户设备发送的数据的过程与第二用户设备解密第一用户设备发送的数据的过程相同。
64.实施例3如图4所示,本发明实施例提供的基于量子密钥的点对点通信系统,应用于云服务器,包括:获取模块,被配置为响应于第一用户设备发送的辅助连接请求,获取第二用户设备的公网ip地址及公网端口号,其中,所述辅助连接请求携带第一用户id、第一用户设备id、第二用户id及随机数。
65.第一加密模块,被配置为基于预制量子密钥及所述随机数,对所述第二用户设备的公网ip地址及公网端口号进行加密。
66.第一发送模块,被配置为将所述第二用户设备预先生成的公钥及加密后的第二用户设备的公网ip地址、公网端口号发送给所述第一用户设备。
67.实施例4如图4所示,本发明实施例提供的另一基于量子密钥的点对点通信系统,应用于第一用户设备,包括:第二加密模块,被配置为基于预先保存的量子密钥,对待发送的数据进行加密。
68.第二发送模块,被配置为基于所述第二用户设备的公网ip地址及公网端口号,将加密后的数据发送给所述第二用户设备。
69.生成模块,被配置为响应于第二用户设备发送的量子解密密钥获取请求,生成第二加密密钥。
70.第三加密模块,被配置为利用所述第二加密密钥,对加密本次待发送的数据使用的量子加密密钥进行加密。
71.第四加密模块,被配置为利用第二用户设备生成的公钥,对所述第二加密密钥进行加密。
72.所述第二发送模块,还被配置为将加密后的量子加密密钥及加密后的第二加密密钥发送给所述第二用户设备。
73.实施例5图6是本发明一示例性实施例提供的电子设备的结构。如图6所示,该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图6图示了根据本发明公开实施例的电子设备的框图。如图6所示,电子设备包括一个或多个处理器401和存储器402。
74.处理器401可以是中央处理单元(cpu)或者具有渗透数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
75.存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的被公开的各个实施例的软件程序的对历史变更记录进行信息挖掘的方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
76.此外,该输入装置403还可以包括例如键盘、鼠标等等。
77.该输出装置404可以向外部输出各种信息。该输出设备404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
78.当然,为了简化,图6中仅示出了该电子设备中与本发明公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备
还可以包括任何其他适当的组件。
79.实施例6除了上述方法和设备以外,本发明公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明公开各种实施例的渗透数据标注、封装及获取方法中的步骤。
80.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
81.此外,本发明公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明公开各种实施例的渗透数据标注、封装及获取方法中的步骤。
82.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
83.以上结合具体实施例描述了本发明公开的基本原理,但是,需要指出的是,在本发明公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明公开为必须采用上述具体的细节来实现。
84.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
85.本发明公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
86.可能以许多方式来实现本发明公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明公开的方法和装置。用于所述方法的步骤的
上述顺序仅是为了进行说明,本发明公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明公开的方法的机器可读指令。因而,本发明公开还覆盖存储用于执行根据本发明公开的方法的程序的记录介质。
87.还需要指出的是,在本发明公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明公开的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明公开的范围。因此,本发明公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
88.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、调整、添加和子组合。
89.可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
90.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
91.需要说明的是,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
92.可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
93.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
94.需要说明的是,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1