1.本技术涉及无线通信技术领域,特别是涉及一种无线信道密钥生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:2.随着5g技术的部署应用的步伐日益加快,越来越多无线通信设备接入网络中,服务产生的各类隐私数据等流通量也将急剧增长,而无线媒介的广播性和网络的开放性,使得信号暴露在外界环境中,极易受到攻击者窃听和恶意攻击。
3.为保障无线网络通信数据时的隐私性,提高无线通信安全,传统方法是基于复杂性的加密技术生成共享密钥。
4.然而,传统技术中通常围绕点对点通信,难以应用于多用户接入场景。并且,量子计算的兴起能轻易突破计算能力限制,传统的加密技术易出现被窃听的风险。
技术实现要素:5.基于此,有必要针对上述技术问题,提供一种无线信道密钥生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种无线信道密钥生成方法。所述方法包括:
7.获取终端发送的探测请求,根据探测请求确定信道状态信息;
8.在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥;
9.获取原始密钥对应的协商信息,将协商信息发送至终端;
10.获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值;
11.获取终端的第二初始密钥,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,则将第一初始密钥作为共享密钥。
12.在其中一个实施例中,信道状态信息包括信道测量值,对信道状态信息进行预处理,得到多组原始密钥,包括:
13.基于预设采样间隔,对多个终端对应的信道测量值进行采样,得到多组采样数据;
14.对每组采样数据进行小波变换,得到对应的第一信道测量值;
15.对第一信道测量值进行归一化处理,得到第二信道测量值;
16.对第二信道测量值进行量化处理,得到原始密钥。
17.在其中一个实施例中,对第二信道测量值进行量化处理,得到原始密钥,包括:
18.对多个第二信道测量值排序,将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号;
19.基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个第二信道测量值的量化序列;
20.基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,得到原始密钥。
21.在其中一个实施例中,协商信息包括纠错限制位;基于协商响应信息,确定第一初始密钥,包括:
22.当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
23.在其中一个实施例中,根据探测请求确定信道状态信息之后,还包括:
24.基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,并基于响应优先级依次向多个终端发送请求响应。
25.在其中一个实施例中,基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,包括:
26.当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个终端的响应优先级。
27.在其中一个实施例中,基于响应优先级依次向多个终端发送请求响应,包括:
28.获取提取工具处理容量值;
29.将多个终端按照终端的响应优先级进行排序,基于提取工具处理容量值,分批向排序后的多个终端发送请求响应。
30.第二方面,本技术还提供了一种无线信道密钥生成装置。所述装置包括:
31.信道状态信息获取模块,用于获取终端发送的探测请求,根据探测请求确定信道状态信息;
32.原始密钥获取模块,用于在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥;
33.协商模块,用于获取原始密钥对应的协商信息,将协商信息发送至终端;
34.第一初始密钥确定模块,用于获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值;
35.密钥验证模块,用于获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。
36.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的方法的步骤。
37.第四方面,本技术还提供了一种计算机设备可读存储介质。所述计算机设备可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。
38.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。
39.上述无线信道密钥生成方法、装置、计算机设备、存储介质和计算机程序产品,先获取终端发送的探测请求,根据探测请求确定信道状态信息;在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥。然后,获取原始密钥对应的协商信息,将协
商信息发送至终端;再获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值。最后,获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。本技术基于终端的探测请求进行对应的信道探测,可以生成具有时空唯一性的密钥,可以提高密钥的安全性。
附图说明
40.图1为一个实施例中无线信道密钥生成方法的应用环境图;
41.图2为一个实施例中无线信道密钥生成方法中服务器端密钥生成的流程示意图;
42.图3为一个实施例中无线信道密钥生成方法的步骤解析图;
43.图4为一个实施例中无线信道密钥生成装置的结构框图;
44.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.本技术实施例提供的无线信道密钥生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104可以给终端102提供无线信道密钥生成的环境。服务器104获取终端102发送的探测请求,根据探测请求确定信道状态信息。在服务器104向终端102发送请求响应后,服务器104对信道状态信息进行预处理,得到多组原始密钥。然后,服务器104获取原始密钥对应的协商信息,将协商信息发送至终端102。进一步,服务器104获取终端102发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值。最后,服务器104获取终端102的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。其中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
47.本技术实施例提供的无线信道密钥生成方法,可以应用于包括客户端和服务器的系统,通过客户端和服务器的交互实现。
48.在一个实施例中,如图2所示,提供了一种无线信道密钥生成方法,以该方法应用于包括客户端和服务器的系统实现为例进行说明,包括以下步骤202至步骤210。
49.步骤202,获取终端发送的探测请求,根据探测请求确定信道状态信息。
50.在本实施例中,服务器可以通过接入点同时获取多个终端发送的探测请求。
51.在本实施例中,服务器获取终端发送的探测请求后,得到信道状态信息,并对终端发送请求响应,终端收到上述请求响应,完成一轮信道探测。其中,每个终端对应的信道状态信息至少包括:信道测量值、终端身份标识。
52.步骤204,在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始
密钥。
53.在本实施例中,服务器和收到请求响应的各终端,对信道状态信息进行相同的预处理,得到多组原始密钥。其中,所述预处理至少包括:取样、量化。
54.步骤206,获取原始密钥对应的协商信息,将协商信息发送至终端。
55.在本实施例中,服务器可以基于协商算法对原始密钥进行运算,生成协商信息。进一步,服务器将协商响应信息发送至对应的终端。
56.步骤208,获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值。
57.在本实施例中,终端发送的协商响应信息至少包括:协商成功、协商失败。
58.在本实施例中,当终端发送的协商响应信息表示为协商成功时,服务器按照约定规则对多组原始密钥中的短密钥进行拼接,获得第一初始密钥。
59.在本实施例中,终端可以在收到服务器发送的协商信息后,按照约定规则对多组原始密钥中的短密钥进行拼接,获得第二初始密钥。
60.在另一个实施例中,终端也可以在向服务器发送协商响应信息后,按照约定规则对多组原始密钥中的短密钥进行拼接,获得第二初始密钥。
61.步骤210,获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。
62.在本实施例中,如图3所示,服务器在对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证之前,还可以在服务器的接入点与终端之间使用模糊提取器,分别对第一初始密钥的哈希值、第二初始密钥的哈希值进行置换混淆,可以增强密钥随机性。
63.在本实施例中,服务器在对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证之前,还可以使用加密哈希算法实现隐私放大。
64.在本实施例中,服务器对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,是指将第一初始密钥的哈希值与第二初始密钥的哈希值进行哈希值交换,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,表示第一初始密钥的哈希值与第二初始密钥的哈希值通过一致性验证。
65.上述无线信道密钥生成方法中,先获取终端发送的探测请求,根据探测请求确定信道状态信息;在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥。然后,获取原始密钥对应的协商信息,将协商信息发送至终端;再获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值。最后,获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。本技术基于终端的探测请求进行对应的信道探测,可以生成具有时空唯一性的密钥,可以提高密钥的安全性。
66.在一些实施例中,如图3所示,信道状态信息包括信道测量值,对信道状态信息进行预处理,得到多组原始密钥,包括:基于预设采样间隔,对多个终端对应的信道测量值进行采样,得到多组采样数据;对每组采样数据进行小波变换,得到对应的第一信道测量值;对第一信道测量值进行归一化处理,得到第二信道测量值;对第二信道测量值进行量化处
理,得到原始密钥。
67.在本实施例中,如图3所示,服务器和收到请求响应的各终端,可以基于相同的预设采样间隔(例如:100个数据包),对多个终端对应的信道测量值进行采样,得到多组采样数据。
68.在本实施例中,信道测量值携带有终端身份标识,基于信道测量值的终端身份标识,服务器可以确认该信道测量值对应的终端。
69.在一些实施例中,对第二信道测量值进行量化处理,得到原始密钥,包括:对多个第二信道测量值排序,将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号;基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个第二信道测量值的量化序列;基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,得到原始密钥。
70.在本实施例中,服务器可以对多个第二信道测量值进行升序或降序等排序。
71.在本实施例中,服务器将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号。例如:服务器将排序后的多个第二信道测量值按顺序分成4个数据区,4个数据区的区号可以分别是1、2、3、4或a、b、c、d或1、s、2、g等字符标识。
72.在本实施例中,服务器对第二信道测量值按照格雷编码量化,是通过量化算法量将数据化为0,1序列。
73.在本实施例中,服务器可以基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个数据区内多个第二信道测量值的量化序列。其中,同一个数据区内的多个第二信道测量值的量化序列保持一致。例如,区号为1的数据区内的多个第二信道测量值的量化序列可以都是00,区号为c的数据区内的多个第二信道测量值的量化序列可以都是10。
74.在本实施例中,服务器基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,可以得到按照多个第二信道测量值排序前的排列顺序进行排列的多个0,1序列。例如,服务器将排序后的多个第二信道测量值按顺序分成4个数据区,4个数据区的区号从小到大分别是1、2、3、4,区号为1的数据区内的多个第二信道测量值的量化序列是00,区号为2的数据区内的多个第二信道测量值的量化序列是01,区号为3的数据区内的多个第二信道测量值的量化序列是11,区号为4的数据区内的多个第二信道测量值的量化序列是10。当多个第二信道测量值排序前的排列顺序为6/7/5/3/8/4/2/9/12/13/1/0,多个第二信道测量值排序后的排列顺序为0/1/2/3/4/5/6/7/8/9/12/13,分区、量化后,基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序可以得到:11/11/01/01/11/01/00/10/10/10/00/00。
75.在本实施例中,每个数据区中第二信道测量值的数量应尽量相同(均分)。例如,当存在52个第二信道测量值,且将该52个第二信道测量值划分为4个数据区时,4个数据区内第二信道测量值都为13个。当存在54个第二信道测量值,且将该54个第二信道测量值划分为5个数据区时,54不能被5整除,因此,5个数据区内第二信道测量值可以分别为11、11、11、11、10,其中,上述5个数据区中,第二信道测量值数量为10的数据区为上述5个数据区中随机一个,本技术对第二信道测量值数量为10的数据区的位置(区号)不作限制。
76.在一些实施例中,协商信息包括纠错限制位;基于协商响应信息,确定第一初始密
钥,包括:当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
77.在本实施例中,服务器可以配置两个比特流的汉明距离最多为t,再使用[n,k,2t+1]bch纠错码来纠正原始密钥中的错误位。
[0078]
在本实施例中,服务器可以基于协商算法对原始密钥进行运算,生成协商信息。进一步,服务器将协商信息发送至对应的终端。各终端收到协商信息后先判断是否原始密钥中的错误位超过纠错限制,并向服务器发送对应的协商响应信息。
[0079]
在本实施例中,当所述协商响应信息表示所述原始密钥的纠错位大于所述纠错限制位,服务器重新获取终端发送的探测请求,进行新的一轮信道探测。
[0080]
在本实施例中,当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
[0081]
在本实施例中,不同终端与服务器之间的协商信息可以不同,基于无线信道的互易性、时变性及空间去相关性以及信道状态信息,可以生成不同终端与服务器之间的具有唯一性的共享密钥,可以保障共享密钥的可用性与安全性。
[0082]
在一个可选的实施例中,服务器与终端在协商后,对纠错后的多组原始密钥可以按协商信息中的约定规则进行多组短密钥拼接,获得长度较长的密钥,即第一初始密钥。例如:第1组密钥默认全部选择;第2组起密钥仅选择第31位至104位;若会话密钥要求256位则选前3组拼接,要求512位时则选择前7组,拼接满后舍弃最后一组多余位。同理,终端在与服务器协商后,对纠错后的多组原始密钥可以按协商信息中的约定规则进行多组短密钥拼接,获得第二初始密钥。
[0083]
在一些实施例中,根据探测请求确定信道状态信息之后,还包括:基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,并基于响应优先级依次向多个终端发送请求响应。
[0084]
在本实施例中,终端发送的探测请求信息中可以包括终端的设备信息。服务器可以基于探测请求信息中的设备信息,确定对应的终端优先级。其中,设备信息可以包括但不限于:身份认证标识、数据传输任务重要性标识、密钥生成标识。
[0085]
在本实施例中,服务器可以基于完成信道探测(即具备信道状态信息)后,按照终端优先级顺序,确定多个具备信道状态信息的终端的响应优先级,并基于响应优先级依次向多个具备信道状态信息的终端发送请求响应。
[0086]
在本实施例中,多个终端的响应优先级可以先基于身份认证标识进行终端优先级排序,得到第一优先级排序,确定多个优先级对应的终端;然后,可以再按照数据传输任务重要性标识、密钥生成标识,对第一优先级排序中多个优先级中每个相同优先级中的多个终端进行优先级排序。其中,基于数据传输任务重要性标识、密钥生成标识的排序处理可以不分前后顺序,本技术对此不做限制。
[0087]
在一些实施例中,基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,包括:当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个终端的响应优先级。
[0088]
在本实施例中,服务器可以基于收到探测请求信息的时间,给探测请求标记时间
戳。
[0089]
在另一个实施例中,终端发送的探测请求信息中可以包括时间戳。
[0090]
在本实施例中,当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,时间戳小者优先级高。
[0091]
在一些实施例中,基于响应优先级依次向多个终端发送请求响应,包括:获取提取工具处理容量值;将多个终端按照终端的响应优先级进行排序,基于提取工具处理容量值,分批向排序后的多个终端发送请求响应。其中,提取工具处理容量值为提取工具一次能够处理的请求响应的最大数量,即同一批次(同时)能够发送请求响应的终端的最大数量。
[0092]
在本实施例中,服务器每次发送的请求响应数量最多不能超过提取工具处理容量值。
[0093]
在一个示例性的实施例中,如图3所示,服务器同时获取多个终端发送的探测请求,根据探测请求进行信道探测,确定信道测量值。
[0094]
在本实施例中,服务器获取终端发送的探测请求后,得到信道测量值,并对终端发送请求响应,终端收到上述请求响应,完成一轮信道探测。其中,服务器对终端发送的请求响应中至少包括该终端对应的信道测量值。
[0095]
在本实施例中,服务器在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥。终端在收到请求响应信息后,对请求响应信息中的信道测量值进行相同的预处理,得到多组终端的原始密钥。
[0096]
在本实施例中,服务器对信道状态信息的预处理包括:基于预设采样间隔(例如:150个数据包),对信道测量值进行采样,得到多组采样数据;对每组采样数据进行小波变换,得到对应的第一信道测量值;对第一信道测量值进行归一化处理,得到第二信道测量值;对第二信道测量值进行量化处理,得到多组原始密钥。同理,终端对信道状态信息进行相同的预处理操作,得到多组终端的原始密钥。
[0097]
在本实施例中,服务器对第二信道测量值的量化处理,包括:对多个第二信道测量值(如52个第二信道测量值)进行升序排序,将排序后的多个第二信道测量值按顺序均分为4个数据区(即,每个数据区中包括13个第二信道测量值),按照升序依次分别分配区号为1、2、3、4,并基于第二信道测量值所属区号,为每个第二信道测量值进行元素标号。其中,每个数据区内的多个第二信道测量值元素标号与其所属数据区区号一致。
[0098]
在本实施例中,服务器基于第二信道测量值的元素标号,对每个第二信道测量值按照格雷编码量化,得到每个第二信道测量值量化后2位的0,1序列。进一步,服务器基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,可以得到按照多个第二信道测量值排序前的排列顺序进行排列的多个0,1序列,最终获得104位的原始密钥。本方案对信道特征的轻量化提取,具有轻量化的特点。
[0099]
在本实施例中,服务器基于协商算法对原始密钥进行运算,生成协商信息。进一步,服务器将协商响应信息发送至对应的终端。各终端收到协商信息后先判断是否原始密钥中的错误位超过纠错限制,并向服务器发送对应的协商响应信息。当终端发送的协商响应信息表示为协商成功时,服务器按照约定规则对多组原始密钥中的短密钥进行拼接,获得第一初始密钥。同理,终端可以在收到服务器发送的协商信息后,按照约定规则对多组原始密钥中的短密钥进行拼接,获得第二初始密钥。
[0100]
在本实施例中,服务器获取终端的第二初始密钥的哈希值,在服务器的接入点与终端之间使用模糊提取器,分别对第一初始密钥的哈希值、第二初始密钥的哈希值进行置换混淆。然后,使用加密哈希算法实现隐私放大,再对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥,可以增强密钥随机性,生成具有时空唯一性的密钥,可以提高密钥的安全性。本方案可以同时生成与多个终端的共享密钥,且可移植到一般终端,具有可移植、可拓展的特点。
[0101]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0102]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的无线信道密钥生成方法的无线信道密钥生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个无线信道密钥生成装置实施例中的具体限定可以参见上文中对于无线信道密钥生成方法的限定,在此不再赘述。
[0103]
在一个实施例中,如图4所示,提供了一种无线信道密钥生成装置,包括:信道状态信息获取模块402、原始密钥获取模块404、协商模块406、第一初始密钥确定模块408和密钥验证模块410,其中:
[0104]
信道状态信息获取模块402,用于获取终端发送的探测请求,根据探测请求确定信道状态信息。
[0105]
原始密钥获取模块404,用于在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥。
[0106]
协商模块406,用于获取原始密钥对应的协商信息,将协商信息发送至终端。
[0107]
第一初始密钥确定模块408,用于获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值。
[0108]
密钥验证模块410,用于获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。
[0109]
在其中一个实施例中,信道状态信息包括信道测量值,原始密钥获取模块404可以包括:
[0110]
采样子模块,用于基于预设采样间隔,对多个终端对应的信道测量值进行采样,得到多组采样数据。
[0111]
第一信道测量值获取子模块,用于对每组采样数据进行小波变换,得到对应的第一信道测量值。
[0112]
第二信道测量值获取子模块,用于对第一信道测量值进行归一化处理,得到第二信道测量值。
[0113]
量化子模块,用于对第二信道测量值进行量化处理,得到原始密钥。
[0114]
在其中一个实施例中,量化子模块可以包括:
[0115]
分区单元,用于对多个第二信道测量值排序,将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号。
[0116]
编码单元,用于基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个第二信道测量值的量化序列。
[0117]
序列排序单元,用于基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,得到原始密钥。
[0118]
在其中一个实施例中,协商信息包括纠错限制位;第一初始密钥确定模块408可以包括:
[0119]
拼接子模块,用于当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
[0120]
在其中一个实施例中,本装置还可以包括:
[0121]
响应模块,用于基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,并基于响应优先级依次向多个终端发送请求响应。
[0122]
在其中一个实施例中,响应模块可以包括:
[0123]
同级排序子模块,用于当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个终端的响应优先级。
[0124]
在其中一个实施例中,响应模块可以包括:
[0125]
容量值获取子模块,用于获取提取工具处理容量值。
[0126]
分批响应子模块,用于将多个终端按照终端的响应优先级进行排序,基于提取工具处理容量值,分批向排序后的多个终端发送请求响应。
[0127]
上述无线信道密钥生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0128]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始密钥、第一初始密钥等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种无线信道密钥生成方法。
[0129]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0130]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有
计算机程序,该处理器执行计算机程序时实现以下步骤:获取终端发送的探测请求,根据探测请求确定信道状态信息;在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥;获取原始密钥对应的协商信息,将协商信息发送至终端;获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值;获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。
[0131]
在一个实施例中,信道状态信息包括信道测量值,处理器执行计算机程序时还实现对信道状态信息进行预处理,得到多组原始密钥,可以包括:基于预设采样间隔,对多个终端对应的信道测量值进行采样,得到多组采样数据;对每组采样数据进行小波变换,得到对应的第一信道测量值;对第一信道测量值进行归一化处理,得到第二信道测量值;对第二信道测量值进行量化处理,得到原始密钥。
[0132]
在一个实施例中,处理器执行计算机程序时还实现对第二信道测量值进行量化处理,得到原始密钥,可以包括:对多个第二信道测量值排序,将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号;基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个第二信道测量值的量化序列;基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,得到原始密钥。
[0133]
在一个实施例中,协商信息包括纠错限制位,处理器执行计算机程序时还实现基于协商响应信息,确定第一初始密钥,可以包括:当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
[0134]
在一个实施例中,处理器执行计算机程序时还实现根据探测请求确定信道状态信息之后,还可以包括:基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,并基于响应优先级依次向多个终端发送请求响应。
[0135]
在一个实施例中,处理器执行计算机程序时还实现基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,可以包括:当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个终端的响应优先级。
[0136]
在一个实施例中,处理器执行计算机程序时还实现基于响应优先级依次向多个终端发送请求响应,可以包括:获取提取工具处理容量值;将多个终端按照终端的响应优先级进行排序,基于提取工具处理容量值,分批向排序后的多个终端发送请求响应。
[0137]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取终端发送的探测请求,根据探测请求确定信道状态信息;在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥;获取原始密钥对应的协商信息,将协商信息发送至终端;获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值;获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。
[0138]
在一个实施例中,信道状态信息包括信道测量值,计算机程序被处理器执行时还实现对信道状态信息进行预处理,得到多组原始密钥,可以包括:基于预设采样间隔,对多
个终端对应的信道测量值进行采样,得到多组采样数据;对每组采样数据进行小波变换,得到对应的第一信道测量值;对第一信道测量值进行归一化处理,得到第二信道测量值;对第二信道测量值进行量化处理,得到原始密钥。
[0139]
在一个实施例中,计算机程序被处理器执行时还实现对第二信道测量值进行量化处理,得到原始密钥,可以包括:对多个第二信道测量值排序,将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号;基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个第二信道测量值的量化序列;基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,得到原始密钥。
[0140]
在一个实施例中,协商信息包括纠错限制位,计算机程序被处理器执行时还实现基于协商响应信息,确定第一初始密钥,可以包括:当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
[0141]
在一个实施例中,计算机程序被处理器执行时还实现根据探测请求确定信道状态信息之后,还可以包括:基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,并基于响应优先级依次向多个终端发送请求响应。
[0142]
在一个实施例中,计算机程序被处理器执行时还实现基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,可以包括:当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个终端的响应优先级。
[0143]
在一个实施例中,计算机程序被处理器执行时还实现基于响应优先级依次向多个终端发送请求响应,可以包括:获取提取工具处理容量值;将多个终端按照终端的响应优先级进行排序,基于提取工具处理容量值,分批向排序后的多个终端发送请求响应。
[0144]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取终端发送的探测请求,根据探测请求确定信道状态信息;在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥;获取原始密钥对应的协商信息,将协商信息发送至终端;获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥,获取第一初始密钥的哈希值;获取终端的第二初始密钥的哈希值,对第一初始密钥的哈希值与第二初始密钥的哈希值进行一致性验证,当第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将第一初始密钥作为共享密钥。
[0145]
在一个实施例中,信道状态信息包括信道测量值,计算机程序被处理器执行时还实现对信道状态信息进行预处理,得到多组原始密钥,可以包括:基于预设采样间隔,对多个终端对应的信道测量值进行采样,得到多组采样数据;对每组采样数据进行小波变换,得到对应的第一信道测量值;对第一信道测量值进行归一化处理,得到第二信道测量值;对第二信道测量值进行量化处理,得到原始密钥。
[0146]
在一个实施例中,计算机程序被处理器执行时还实现对第二信道测量值进行量化处理,得到原始密钥,可以包括:对多个第二信道测量值排序,将排序后的多个第二信道测量值按顺序分成多个数据区,并为每个数据区分配唯一区号;基于区号,对每个数据区内的多个第二信道测量值按照格雷编码量化,得到每个第二信道测量值的量化序列;基于多个第二信道测量值排序前的排列顺序,对多个量化序列进行排序,得到原始密钥。
[0147]
在一个实施例中,协商信息包括纠错限制位,计算机程序被处理器执行时还实现基于协商响应信息,确定第一初始密钥,可以包括:当协商响应信息表示原始密钥的纠错位小于或等于纠错限制位,按照协商信息对原始密钥进行纠错,对纠错后的多组原始密钥按照协商信息进行拼接,得到第一初始密钥。
[0148]
在一个实施例中,计算机程序被处理器执行时还实现根据探测请求确定信道状态信息之后,还可以包括:基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,并基于响应优先级依次向多个终端发送请求响应。
[0149]
在一个实施例中,计算机程序被处理器执行时还实现基于信道状态信息以及终端优先级,确定对多个终端的响应优先级,可以包括:当不同终端的优先级相同时,基于接收到探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个终端的响应优先级。
[0150]
在一个实施例中,计算机程序被处理器执行时还实现基于响应优先级依次向多个终端发送请求响应,可以包括:获取提取工具处理容量值;将多个终端按照终端的响应优先级进行排序,基于提取工具处理容量值,分批向排序后的多个终端发送请求响应。
[0151]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0152]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0153]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0154]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:1.一种无线信道密钥生成方法,其特征在于,所述方法包括:获取终端发送的探测请求,根据所述探测请求确定信道状态信息;在向所述终端发送请求响应后,对所述信道状态信息进行预处理,得到多组原始密钥;获取所述原始密钥对应的协商信息,将所述协商信息发送至所述终端;获取所述终端发送的协商响应信息,基于所述协商响应信息,确定第一初始密钥,获取所述第一初始密钥的哈希值;获取所述终端的第二初始密钥的哈希值,对所述第一初始密钥的哈希值与所述第二初始密钥的哈希值进行一致性验证,当所述第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将所述第一初始密钥作为共享密钥。2.根据权利要求1所述的方法,其特征在于,所述信道状态信息包括信道测量值,所述对所述信道状态信息进行预处理,得到多组原始密钥,包括:基于预设采样间隔,对多个所述终端对应的所述信道测量值进行采样,得到多组采样数据;对每组所述采样数据进行小波变换,得到对应的第一信道测量值;对所述第一信道测量值进行归一化处理,得到第二信道测量值;对所述第二信道测量值进行量化处理,得到原始密钥。3.根据权利要求2所述的方法,其特征在于,所述对所述第二信道测量值进行量化处理,得到原始密钥,包括:对多个所述第二信道测量值排序,将排序后的多个所述第二信道测量值按顺序分成多个数据区,并为每个所述数据区分配唯一区号;基于所述区号,对每个数据区内的多个所述第二信道测量值按照格雷编码量化,得到每个所述第二信道测量值的量化序列;基于多个所述第二信道测量值排序前的排列顺序,对多个所述量化序列进行排序,得到原始密钥。4.根据权利要求1所述的方法,其特征在于,所述协商信息包括纠错限制位;所述基于所述协商响应信息,确定第一初始密钥,包括:当所述协商响应信息表示所述原始密钥的纠错位小于或等于所述纠错限制位,按照所述协商信息对所述原始密钥进行纠错,对纠错后的多组所述原始密钥按照所述协商信息进行拼接,得到所述第一初始密钥。5.根据权利要求1所述的方法,其特征在于,所述根据所述探测请求确定信道状态信息之后,还包括:基于所述信道状态信息以及终端优先级,确定对多个所述终端的响应优先级,并基于所述响应优先级依次向多个所述终端发送请求响应。6.根据权利要求5所述的方法,其特征在于,所述基于所述信道状态信息以及终端优先级,确定对多个所述终端的响应优先级,包括:当不同终端的优先级相同时,基于接收到所述探测请求的时间戳先后顺序在同一优先级内进行排序,以确定对多个所述终端的响应优先级。7.根据权利要求5所述的方法,其特征在于,所述基于所述响应优先级依次向多个所述终端发送请求响应,包括:
获取提取工具处理容量值;将多个所述终端按照所述终端的响应优先级进行排序,基于所述提取工具处理容量值,分批向排序后的多个所述终端发送请求响应。8.一种无线信道密钥生成装置,其特征在于,所述装置包括:信道状态信息获取模块,用于获取终端发送的探测请求,根据所述探测请求确定信道状态信息;原始密钥获取模块,用于在向所述终端发送请求响应后,对所述信道状态信息进行预处理,得到多组原始密钥;协商模块,用于获取所述原始密钥对应的协商信息,将所述协商信息发送至所述终端;第一初始密钥确定模块,用于获取所述终端发送的协商响应信息,基于所述协商响应信息,确定第一初始密钥,获取所述第一初始密钥的哈希值;密钥验证模块,用于获取所述终端的第二初始密钥的哈希值,对所述第一初始密钥的哈希值与所述第二初始密钥的哈希值进行一致性验证,当所述第一初始密钥的哈希值与第二初始密钥的哈希值一致时,将所述第一初始密钥作为共享密钥。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结本申请涉及一种无线信道密钥生成方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取终端发送的探测请求,根据探测请求确定信道状态信息;在向终端发送请求响应后,对信道状态信息进行预处理,得到多组原始密钥;获取原始密钥对应的协商信息,将协商信息发送至终端;获取终端发送的协商响应信息,基于协商响应信息,确定第一初始密钥;获取终端的第二初始密钥,对第一初始密钥与第二初始密钥进行一致性验证,当第一初始密钥与第二初始密钥一致,则将第一初始密钥作为共享密钥。采用本方法能够生成具有时空唯一性的密钥,可以提高密钥的安全性。可以提高密钥的安全性。可以提高密钥的安全性。
技术研发人员:袁晓溦 姜禹 胡爱群 李晨露
受保护的技术使用者:网络通信与安全紫金山实验室
技术研发日:2022.07.12
技术公布日:2022/11/1