密钥协商方法、装置、系统及电子设备与流程
未命名
09-07
阅读:115
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种密钥协商方法、装置、系统及电子设备。
背景技术:
2.相关技术中,通常将光纤链路部署在野外,因此光信号容易被窃取,而协商规则是公开的,可以通过模拟合法通信端进行分析处理,利用光纤链路中噪声特性,在光纤链路两端窃取光信号,利用信号处理技术也能得到类似的噪声特性,因此相关技术中的密钥协商方式存在着安全性较低的问题。
技术实现要素:
3.有鉴于此,本技术的目的在于提出一种密钥协商方法、装置、系统及电子设备。
4.基于上述目的,在第一方面,本技术提供了一种密钥协商方法,应用于第一通信端,所述方法包括:
5.生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;
6.利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;
7.接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;
8.根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;
9.根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;
10.根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;
11.计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;
12.根据所述第一数组确定第一种子密钥。
13.在第二方面,本技术提供了一种密钥协商方法,应用于第二通信端,所述方法包括:
14.接收来自于第一通信端的第一加密信息帧,分别在所述第一加密信息帧中与第一
随机数组和第二随机数组对应的位置添加第二噪声,进行数据判决以恢复出第五加密信息帧,并利用由所述第一通信端指向第二通信端的第一会话密钥对所述第五加密信息帧进行解密以确定第三随机数组和第四随机数组;其中,所述第一加密信息帧是根据所述第一随机数组和所述第二随机数组确定的;
15.生成第五随机数组和第六随机数组,并根据所述第三随机数组和所述第六随机数组确定第一比特异或数组;
16.根据所述第五随机数组、第六随机数组以及所述第一比特异或数组进行组帧以确定第二待发送信息帧,并利用由第二通信端指向第一通信端的第二会话密钥对所述第二待发送信息帧进行加密以确定第二加密信息帧,并将所述第二加密信息帧发送至第一通信端;
17.接收来自于第一通信端的第三加密信息帧,利用所述第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组;
18.根据所述第四随机数组和所述第五随机数组确定第五比特异或数组,并根据所述第五比特异或数组和所述第四比特异或数组确定第六比特异或数组;
19.计算所述第六比特异或数组中数值1对应的第二数量,并将所述第二数量保存于第二数组;
20.根据所述第二数组确定第二种子密钥。
21.在第三方面,本技术提供了一种密钥协商装置,应用于第一通信端,所述装置包括:
22.生成模块,被配置为生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;
23.第一发送模块,被配置为利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;
24.第一确定模块,被配置为接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;
25.第二确定模块,被配置为根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;
26.第二发送模块,被配置为根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;
27.第三确定模块,被配置为根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;
28.计算模块,被配置为计算所述第八比特异或数组中数值1对应的第一数量,并将所
述第一数量保存于第一数组;
29.第四确定模块,被配置为根据所述第一数组确定第一种子密钥。
30.在第四方面,本技术提供了一种密钥协商装置,应用于第二通信端,所述装置包括:
31.第一确定模块,被配置为接收来自于第一通信端的第一加密信息帧,分别在所述第一加密信息帧中与第一随机数组和第二随机数组对应的位置添加第二噪声,进行数据判决以恢复出第五加密信息帧,并利用由所述第一通信端指向第二通信端的第一会话密钥对所述第五加密信息帧进行解密以确定第三随机数组和第四随机数组;其中,所述第一加密信息帧是根据所述第一随机数组和所述第二随机数组确定的;
32.生成模块,被配置为生成第五随机数组和第六随机数组,并根据所述第三随机数组和所述第六随机数组确定第一比特异或数组;
33.发送模块,被配置为根据所述第五随机数组、第六随机数组以及所述第一比特异或数组进行组帧以确定第二待发送信息帧,并利用由第二通信端指向第一通信端的第二会话密钥对所述第二待发送信息帧进行加密以确定第二加密信息帧,并将所述第二加密信息帧发送至第一通信端;
34.第二确定模块,被配置为接收来自于第一通信端的第三加密信息帧,利用所述第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组;
35.第三确定模块,被配置为根据所述第四随机数组和所述第五随机数组确定第五比特异或数组,并根据所述第五比特异或数组和所述第四比特异或数组确定第六比特异或数组;
36.计算模块,被配置为计算所述第六比特异或数组中数值1对应的第二数量,并将所述第二数量保存于第二数组;
37.第四确定模块,被配置为根据所述第二数组确定第二种子密钥。
38.在第五方面,本技术提供了一种密钥协商系统,所述系统包括:
39.第一通信端,被配置为执行如第一方面所述的密钥协商方法;
40.第二通信端,被配置为执行如第二方面所述的密钥协商方法。
41.在第六方面,本技术提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所述的密钥协商方法。
42.从上面所述可以看出,本技术提供的一种密钥协商方法、装置、系统及电子设备,第一通信端生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随
机数组确定第三比特异或数组;根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;根据所述第一数组确定第一种子密钥。本技术通过相应的接收信号判决结果与发送随机数组比较并将结果反馈给对方,解决了难以找到相同时间窗的难题,并且协商的第一通信端和第二通信端各自加入了对误码起较大作用的第一噪声或第二噪声,这样即使非法方窃取到了光纤链路噪声,也无法计算出第一通信端和第二通信端得到的误码率,从而很好地保证了密钥协商方法的安全性。
附图说明
43.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1示出了本技术实施例所提供的一种应用于第一通信端的密钥协商方法的示例性流程示意图。
45.图2示出了本技术实施例所提供的一种应用于第二通信端的密钥协商方法的示例性流程示意图。
46.图3示出了根据本技术的实施例中的第一通信端和第二通信端密钥协商交互过程的示例性流程示意图。
47.图4示出了本技术实施例所提供的一种应用于第一通信端的密钥协商装置的示例性结构示意图。
48.图5示出了本技术实施例所提供的一种应用于第二通信端的密钥协商装置的示例性结构示意图。
49.图6示出了本技术实施例所提供的一种密钥协商系统的示例性结构示意图。
50.图7示出了本技术实施例所提供的一种电子设备的示例性结构示意图。
具体实施方式
51.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
52.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位
置改变后,则该相对位置关系也可能相应地改变。
53.如背景技术部分所述,相关技术中,通常将光纤链路部署在野外,因此光信号容易被窃取,而协商规则是公开的,可以通过模拟合法通信端进行分析处理,利用光纤链路中噪声特性,在光纤链路两端窃取光信号,利用信号处理技术也能得到类似的噪声特性。
54.通过发明人的研究发现,该相关技术中,密钥协商方式存在着安全性较低的问题。
55.而另一种相关技术中,合法双方利用光纤传输系统物理特性在相同时刻存在强相关性,但事实上所谓的相同时刻并不存在,因为光在光纤中传输时延约5微妙/千米,而高速光纤传输系统都是几十千米、甚至几千千米,光信号从发送到达对端需要数十微妙到数毫秒时间,这个时延对密钥协商而言就太大了。例如,利用双方本地的光源测量接收到的光信号相位噪声特性,如没有传输系统时延,则双方各自独立测量(同一时刻)得到的相位噪声特性强相关。
56.但通过发明人的研究发现,该相关技术中,时延的存在就无法满足同一时刻测量,因而影响其可行性。
57.正因如此,本技术提供了一种密钥协商方法、装置、系统及电子设备,第一通信端生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;根据所述第一数组确定第一种子密钥。本技术通过相应的接收信号判决结果与发送随机数组比较并将结果反馈给对方,解决了难以找到相同时间窗的难题,并且协商的第一通信端和第二通信端各自加入了对误码起较大作用的第一噪声或第二噪声,这样即使非法方窃取到了光纤链路噪声,也无法计算出第一通信端和第二通信端得到的误码率,从而很好地保证了密钥协商方法的安全性。
58.在一些具体的应用场景中,本技术的密钥协商方法可以应用于各种涉及密钥协商的系统中,该系统可以通过pc端来运行,也可以通过手机或者平板电脑等移动端来运行。
59.在一些具体的应用场景中,本技术的密钥协商方法可以直接应用在本地运行,也可以在云端服务器中运行。当在云端服务器运行时,将获取的待处理数据通过网络发送到云端服务器,由服务器对待处理数据通过本技术的密钥协商方法进行处理,并将处理结果通过网络发送到本地。
60.下面结合具体的应用场景,来描述根据本技术示例性实施方式的密钥协商方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
61.下面通过具体的实施例来对本技术实施例所提供的密钥协商方法进行具体说明。
62.图1示出了本技术实施例所提供的一种应用于第一通信端的密钥协商方法的示例性流程示意图。
63.参考图1,本技术实施例所提供的一种密钥协商方法,应用于第一通信端,所述方法具体包括以下步骤:
64.s102:生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧。
65.s104:利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端。
66.s106:接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的。
67.s108:根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组。
68.s110:根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端。
69.s112:根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组。
70.s114:计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组。
71.s116:根据所述第一数组确定第一种子密钥。
72.图2示出了本技术实施例所提供的一种应用于第二通信端的密钥协商方法的示例性流程示意图。
73.参考图2,本技术实施例所提供的一种密钥协商方法,应用于第二通信端,所述方法具体包括以下步骤:
74.s202:接收来自于第一通信端的第一加密信息帧,分别在所述第一加密信息帧中与第一随机数组和第二随机数组对应的位置添加第二噪声,进行数据判决以恢复出第五加密信息帧,并利用由所述第一通信端指向第二通信端的第一会话密钥对所述第五加密信息帧进行解密以确定第三随机数组和第四随机数组;其中,所述第一加密信息帧是根据所述第一随机数组和所述第二随机数组确定的。
75.s204:生成第五随机数组和第六随机数组,并根据所述第三随机数组和所述第六随机数组确定第一比特异或数组。
76.s206:根据所述第五随机数组、第六随机数组以及所述第一比特异或数组进行组帧以确定第二待发送信息帧,并利用由第二通信端指向第一通信端的第二会话密钥对所述第二待发送信息帧进行加密以确定第二加密信息帧,并将所述第二加密信息帧发送至第一通信端。
77.s208:接收来自于第一通信端的第三加密信息帧,利用所述第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组。
78.s210:根据所述第四随机数组和所述第五随机数组确定第五比特异或数组,并根据所述第五比特异或数组和所述第四比特异或数组确定第六比特异或数组。
79.s212:计算所述第六比特异或数组中数值1对应的第二数量,并将所述第二数量保存于第二数组。
80.s214:根据所述第二数组确定第二种子密钥。
81.图3示出了根据本技术的实施例中的第一通信端和第二通信端密钥协商交互过程的示例性流程示意图。
82.参考图3,可以假设第一通信端为alice,第二通信端为bob,alice和bob通过认证已相互确认为合法通信的双方,并且协商出了两对初始种子密钥,可分别用作alice到bob方向和bob到alice方向加解密密钥,也即由第一通信端指向第二通信端的第一会话密钥,以及由第二通信端指向第一通信端的第二会话密钥。这两对初始种子密钥通过约定的规则由alice和bob各自生成会话密钥用于信息的流加密/解密。假定alice到bob方向密钥协商由alice主导生成,同样bob到alice方向密钥协商由bob主导生成。
83.在一些实施例中,以alice到bob方向密钥协商,也即以第一通信端到第二通信端方向的密钥协商为例。
84.具体地,alice(也即第一通信端)生成两组预设长度(例如m比特)的随机二进制数组,也即第一随机数组x
a1
和第二随机数组x
a2
,可以将第一随机数组、第二随机数组与alice侧其他需要发送的信息复用组帧后,得到第一待发送信息帧,利用由alice指向bob的第一会话密钥k1进行加密得到第一加密信息帧,对第一加密信息帧进行光调制后发送给bob(也即第二通信端)。
85.对于第二通信端bob,将接收到的alice发送来的加密光信号转换为电信号,对信号帧队列中与x
a1
和x
a2
对应位置的信号添加bob本地产生的高斯噪声(也即第二噪声),之后进行信号判决等处理,用会话密钥k1进行解密,相应恢复出分别与x
a1
和x
a2
对应的第三随机数组x
a3
和第四随机数组x
a4
。其中,信号判决与通常的光解调判决完全相同。
86.进一步地,bob也生成两组长度各为m比特的随机二进制数组,也即第五随机数组x
b1
和第六随机数组x
b2
,bob对第三随机数组x
a3
和第六随机数组x
b2
相应比特进行比较,也即计算如相同为0,不同为1(即数组按比特异或),得到长度为m比特的第一比特异或数组c2,bob将x
b1
、xb2、c2及bob侧其他需要发送的信息复用组帧以确定第二待发送信息帧,用由bob指向alice方向的第二会话密钥k2进行加密以确定第二加密信息帧,光调制后发送给alice。
87.再进一步地,在第一通信端alice处将接收到的bob发送来的加密光信号转换为电信号,对信号帧队列中与x
b1
和x
b2
对应位置的信号添加上alice本地产生的高斯噪声(也即第一噪声),之后进行信号判决等处理,从而回复得到第四加密信息帧,并可以用第二会话
密钥k2对其进行解密,相应恢复出分别与x
b1
和x
b2
对应的第七随机数组x
b3
和第八随机数组x
b4
,由c2恢复出第二比特异或数组c4。
88.alice对第七随机数组x
b3
和第二随机数组x
a2
进行比特异或,也即计算得到长度为m比特的第三比特异或数组c1,alice将c1及alice侧其他需要发送的信息复用组帧以确定第三待发送信息帧,用由alice指向bob方向的第一会话密钥k1进行加密以确定第三加密信息帧,光调制后发送给bob。
89.再进一步地,bob接收alice发来第三加密信息帧,利用第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组c3,bob对数组第四随机数组x
a4
和第五随机数组x
b1
进行比特异或,也即计算得到第五比特异或数组d2;对第五比特异或数组d2和第四比特异或数组c3进行比特异或,也即计算得到长度为m比特的第六比特异或数组e2,计算二进制数组e2中数值1的数量(也即第二数量)作为一个元素按顺序保存此值于第二数组f2中。
90.而对于第一通信端而言,alice对第八随机数组x
b4
和第一随机数组x
a1
进行比特异或,也即计算得到第七比特异或数组d1;对第七比特异或数组d1和第二比特异或数组c4进行比特异或,也即计算得到长度为m比特的第八比特异或数组e1,计算二进制数组e1中数值1的数量(也即第一数量)作为一个元素按顺序保存此值于第一数组f1中。
91.需要说明的是,可以重复上述步骤,直至数组f1和f2的元素个数达到预设的n个。
92.并且,其中比特异或的操作例如可以以第三比特异或数组的确定过程为例:比较第七随机数组和第二随机数组中相对应位置的比特;如果第七随机数组和第二随机数组中相对应位置的比特相同,则相对应位置的输出结果为0;如果第七随机数组和第二随机数组中相对应位置的比特不同,则相对应位置的输出结果为1。进一步地,根据第七随机数组和第二随机数组中每个相对应位置的输出结果确定第三比特异或数组。
93.再进一步地,alice的数组f1和bob的数组f2作为原始密钥材料各自开启后处理。对于第一通信端而言,可以为响应于所述第一数组中的第一数量的个数达到预设数量,则计算所述第一数组的第一均值和第一标准方差,并根据所述第一均值和所述第一标准方差确定第一目标范围;将所述第一数组中位于所述第一目标范围内的元素剔除以确定第一候选数组;获取与所述第二通信端对应的保留元素信息,并根据所述第一候选数组和所述第二候选数组中的元素确定第一密钥材料;根据所述第一密钥材料计算纠错监督码,并将所述纠错监督码发送至所述第二通信端;响应于确定所述第二通信端中的所述第二密钥材料完成纠错操作,则对第一密钥材料进行隐私放大以及其他对应处理以得到所述第一种子密钥。如果确定第二通信端中的第二密钥材料无法完成纠错操作,则重新开始整个密钥协商流程,也即重新执行步骤s102-s116。其中,与所述第二通信端对应的保留元素信息用于表征与第二通信端对应的第二候选数组中所保留的元素信息。
94.对于第二通信端而言,可以为响应于所述第二数组中的第二数量的个数达到预设数量,则计算所述第二数组的第二均值和第二标准方差,并根据所述第二均值和所述第二标准方差确定第二目标范围;将所述第二数组中位于所述第二目标范围内的元素剔除以确定第二候选数组;获取与所述第一通信端对应的保留元素信息,并根据所述第一候选数组和所述第二候选数组中的元素确定第二密钥材料;接收来自于所述第一通信端中根据所述
第一密钥材料计算得到的纠错监督码,根据所述纠错监督码对第二密钥材料进行纠错操作,,完成纠错操作的数组确定为第三密钥材料进行隐私放大以及其他对应处理以得到所述第二种子密钥。其中,第一通信端对应的保留元素信息用于表征与第一通信端对应的第一候选数组中所保留的元素信息。
95.并且,可以由第二通信端将用于表征其是否能够完成纠错操作的指示信息发送至第一通信端,如果第二通信端能够完成纠错操作,则可以将第二密钥材料纠错后得到的数组确定为第三密钥材料,再对第三密钥材料进行隐私放大以及其他对应处理以得到所述第二种子密钥。
96.具体地,对于任意一个通信端而言,可以计算数组均值和标准方差,把均值附近(例如0.5倍标准方差内)的元素丢弃,alice和bob都不丢弃位置的元素、各自组成一个新数组,将其量化为0或1(如大于均值判为1,小于均值判为0),即为alice和bob协商成的第一密钥材料和第二密钥材料。进一步地,按双方商定的纠错规则,alice对第一密钥材料计算纠错监督码,并将监督码传送给bob用于纠正第二密钥材料与第一密钥材料双方不一致的比特。进一步进行隐私放大等处理,产生预定长度双方相同的种子密钥,即第一种子密钥和第二种子密钥。
97.需要说明的是,alice和bob协商成的第一密钥材料和第二密钥材料包括:将第一候选数组和第二候选数组中相同的元素组成第一中间数组和第二中间数组,并且对于所述中间数组中的每个元素而言,如果元素大于第二均值,则将元素的判定结果置为1;如果元素小于第二均值,则将元素的判定结果置为0。进而根据中间数组中每个元素的判定结果确定第一密钥材料和第二密钥材料。
98.重复上述过程,可以不断生成新的种子密钥,种子密钥按规则(如祖冲之序列密钥算法)扩展为新的会话密钥,光纤传输系统就能持续加密/解密、更新密钥。由bob到alice方向的密钥协商原理相同,也即将第一通信端和第二通信端对调,执行本技术所提出的方法,即可得到由bob到alice方向的密钥协商方法。
99.在一些实施例中,本地高斯噪声的产生可以由硬件电路或逻辑电路实现。通常光纤传输系统误码率都比较低,如2e-2以下,而且比较平稳且变化缓慢,而本发明的密钥协商希望各个误码统计时段内误码比特数量变化明显,需要依靠本地添加的噪声来实现,也就是说本地产生的这个噪声需要有较好的随机性,同时不同的统计时段内噪声方差随机变化要比较大。随机数组长度m值设定原则:相同的噪声方差下,系统的误码比特数量比较稳定,建议m值大于200,但太长会加长密钥协商时间,降低密钥更新速度。第一数组和第二数组元素个数n值默认为种子密钥长度的2倍以上。随机数组长度m值和第一数组和第二数组元素个数n值,可以采用人工智能(ai)技术自动优化。
100.下面,以一个具体的实施方式为例,例如以最常见的10g强度调制直接检测光传输系统为例。
101.业务按otn标准映射到otu2帧中,增加otu层开销,在4*4080字节标准otu2帧结构外增加2*255字节,其中一个255字节用于传输密钥协商数据比特;另一个255字节中239字节用于传输密钥协商中的交互信息,16字节作为rs(255,239)前向纠错编码生成的监督比特,整个帧结构如表1所示。
102.表1加密光传输信号帧结构
[0103][0104]
通信双方假定为alice和bob,alice和bob在上电后要启动身份认证,通过认证相互确认为合法通信的双方,可采用sm2国密标准协商出两对初始种子密钥,这两对初始种子密钥通过约定的规则(如祖冲之序列密钥算法)由alice和bob各自生成会话密钥分别用作alice到bob方向和bob到alice方向加解密密钥,用于otu2帧中除帧头和otu2oh外所有数据的流加密/解密。本发明方法是用于继续协商出新的种子密钥,满足密钥持续定期或不定期更新之要求。
[0105]
以alice到bob方向密钥协商为例,密钥协商基本步骤为:
[0106]
(1)alice生成两组预设长度(496比特)的随机二进制数组x
a1
和x
a2
,两数组按字节复用(124字节)后插入到帧中的协商数据1位置,协商数据区结构如表2所示。除了帧头和otu2 oh外,都用alice到bob的会话密钥k1进行流加密,光强度调制后发送给bob;
[0107]
表2协商数据区结构
[0108]
状态指示发送序号协商数据1响应序号协商数据2保留1byte2byte 124byte2byte 124byte2byte
[0109]
表2中的状态指示表示有无协商数据;发送序号从1开始增加到65535循环,后面跟的协商数据1即为数组x
a1
和x
a2
,序号0表示无协商数据发送;响应序号是对端发送序号,后面跟的协商数据2即为相对应的反馈(协商数据),同样序号0表示无协商数据。更进一步说,alice发送出的协商数据区的协商数据1是用于alice到bob方向的密钥协商,而协商数据区2是响应bob到alice方向的密钥协商。
[0110]
(2)bob将接收到的alice发送来的加密光信号转换为电信号,对信号帧队列x
a1
和x
a2
位置信号添加bob本地产生的高斯噪声,之后进行信号判决等处理,用会话密钥k1进行流解密,相应恢复出x
a3
和x
a4
;
[0111]
(3)bob也生成两组长度各为496比特的随机二进制数组x
b1
和x
b2
,两数组按字节复用(124字节)后插入到帧中的协商数据2位置;计算62字节的c2增加包头插入到帧的交互信息区,除了帧头和部分otu2开销外,都用bob到alice方向的会话密钥k2进行流加密,光强度调制后发送给alice;
[0112]
(4)alice将接收到的bob发送来的加密光信号转换为电信号,对信号帧队列x
b1
和x
b2
位置信号添加上alice本地产生的高斯噪声,之后进行信号判决等处理,用会话密钥k2进行流解密,相应恢复出x
b3
、x
b4
,由c2恢复出c4;
[0113]
(5)alice计算62字节的c1增加包头插入到帧的交互信息区,除了帧头和部分otu2开销外,用alice到bob方向的会话密钥k1进行流加密,光强度调制后发送给bob;
[0114]
(6)bob接收alice发来信号c1,处理、用k1解密后为数组c3,计算计算统计e2中1的数量作为一个元素按顺序保存此值于第二数组f2;
[0115]
(7)alice计算统计e1中1的数量作为一个元素按顺序保存此值于第一数组f1;
[0116]
(8)重复步骤(1)到(7),直至数组f1和f2的元素个数达到预设值,如1000个;
[0117]
(9)alice的第一数组f1和bob的第二数组f2各自开启后处理,包括
①
计算数组均值和标准方差,把均值附近0.5倍标准方差内的元素丢弃,alice和bob都不丢弃位置的元素、各自组成一个中间数组,将其量化为0或1(如大于均值判为1,小于均值判为0),即为alice和bob协商成的第一密钥材料和第二密钥材料;
②
按双方商定的纠错规则,alice对第一密钥材料计算纠错监督码,并将监督码传送给bob用于纠正双方不一致的比特。如能完成纠错,则进一步进行隐私放大等处理,产生预定长度256比特双方相同的种子密钥;否则重新开始密钥协商。
[0118]
重复上述过程,可以不断生成新的种子密钥,种子密钥采用祖冲之序列密钥算法扩展为新的会话密钥,光纤传输系统就能持续加密/解密、更新密钥。
[0119]
本技术中协商双方各自生成两组二进制随机数组并加密发送给对方,这样没有密钥的非法窃听者无法判断出发送的协商比特,也就无法由窃取信号统计误码率,这是密钥协商安全性的基本保证。
[0120]
并且,本技术的密钥协商方法依赖于整个系统噪声高斯统计特性:在同一个时间窗口具有相同的噪声标准方差,即误码率比较接近;不同时间窗口之间不同的噪声标准方差,即误码率不同。合法协商的双方各自在接收端加入了对误码起较大作用的高斯噪声,这样即使非法方窃取到了光纤链路噪声,也无法计算出合法方得到的误码率,从而很好地保证了本专利密钥协商方法的安全性。通过相应的接收信号判决结果与发送随机数组比较并将信息反馈给对方,保证误码率的统计是在相同的时间窗口。双向要用不同的种子密钥,即不同的会话密钥进行信息加解密,提升密钥协商的安全性。
[0121]
本技术的优点包括但不限于以下几点:
[0122]
(1)同一时间窗口是基于系统特性的密钥协商方法的基本要求,光纤链路普遍较长,信号传输时间远大于信号周期,如何找到合适的同一时间窗是一个难题。本专利通过相应的接收信号判决结果与发送随机数组比较并将结果反馈给对方,完美解决了相同时间窗的难题。
[0123]
(2)合法协商的双方各自在接收端加入了对误码起较大作用的高斯噪声,这样即使非法方窃取到了光纤链路噪声,也无法计算出合法方得到的误码率,从而很好地保证了本专利密钥协商方法的安全性。
[0124]
(3)双向要用不同的种子密钥,即不同的会话密钥进行信息加解密,提升密钥协商的安全性。
[0125]
从上面所述可以看出,本技术提供的一种密钥协商方法、装置、系统及电子设备,第一通信端生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;接收来自于所述第二通信端的第二加密信息帧,分别在所述第
二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;根据所述第一数组确定第一种子密钥。本技术通过相应的接收信号判决结果与发送随机数组比较并将结果反馈给对方,解决了难以找到相同时间窗的难题,并且协商的第一通信端和第二通信端各自加入了对误码起较大作用的第一噪声或第二噪声,这样即使非法方窃取到了光纤链路噪声,也无法计算出第一通信端和第二通信端得到的误码率,从而很好地保证了密钥协商方法的安全性。
[0126]
需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0127]
需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0128]
图4示出了本技术实施例所提供的一种应用于第一通信端密钥协商装置的示例性结构示意图。
[0129]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种密钥协商装置。
[0130]
参考图4,所述密钥协商装置包括:生成模块、第一发送模块、第一确定模块、第二确定模块、第二发送模块、第三确定模块、计算模块以及第四确定模块;其中,
[0131]
生成模块,被配置为生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;
[0132]
第一发送模块,被配置为利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;
[0133]
第一确定模块,被配置为接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述
第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;
[0134]
第二确定模块,被配置为根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;
[0135]
第二发送模块,被配置为根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;
[0136]
第三确定模块,被配置为根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;
[0137]
计算模块,被配置为计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;
[0138]
第四确定模块,被配置为根据所述第一数组确定第一种子密钥。
[0139]
在一种可能的实现方式中,所述第一发送模块进一步被配置为:
[0140]
将所述第一加密信息帧加载到载波光波以将所述第一加密信息帧调制为光信号形式,并将光信号形式的第一加密信息帧发送至所述第二通信端。
[0141]
在一种可能的实现方式中,所述第二确定模块进一步被配置为:
[0142]
比较所述第七随机数组和所述第二随机数组中相对应位置的比特;
[0143]
响应于所述第七随机数组和所述第二随机数组中相对应位置的比特相同,则所述相对应位置的输出结果为0;
[0144]
和/或,
[0145]
响应于所述第七随机数组和所述第二随机数组中相对应位置的比特不同,则所述相对应位置的输出结果为1;
[0146]
根据所述第七随机数组和所述第二随机数组中每个相对应位置的输出结果确定所述第三比特异或数组。
[0147]
在一种可能的实现方式中,所述第四确定模块进一步被配置为:
[0148]
响应于所述第一数组中的第一数量的个数达到预设数量,则计算所述第一数组的第一均值和第一标准方差,并根据所述第一均值和所述第一标准方差确定第一目标范围;
[0149]
将所述第一数组中位于所述第一目标范围内的元素剔除以确定第一候选数组;
[0150]
获取与所述第二通信端对应的保留元素信息,并将所述第一候选数组和所述第二候选数组中都保留的元素组成第一中间数组;其中,所述第二通信端对应的保留元素信息用于表征与所述第二通信端对应的第二候选数组中所保留的元素信息;
[0151]
对于所述第一中间数组中的每个元素,
[0152]
响应于所述元素大于所述第一均值,则将所述元素的判定结果置为1,
[0153]
和/或,
[0154]
响应于所述元素小于所述第一均值,则将所述元素的判定结果置为0;
[0155]
根据所述第一中间数组中每个元素的判定结果确定第一密钥材料;
[0156]
根据所述第一密钥材料计算纠错监督码,并将所述纠错监督码发送至所述第二通信端;
[0157]
响应于确定所述第二通信端中的第二密钥材料完成纠错操作,则对第一密钥材料进行隐私放大以及对应处理以得到所述第一种子密钥;
[0158]
和/或,
[0159]
响应于确定所述第二通信端中的第二密钥材料无法完成纠错操作,则重新执行确定第一种子密钥的全部步骤。
[0160]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0161]
上述实施例的装置用于实现前述任一实施例中相应的应用于第一通信端的密钥协商方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0162]
图5示出了本技术实施例所提供的一种应用于第二通信端密钥协商装置的示例性结构示意图。
[0163]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种密钥协商装置。
[0164]
参考图5,所述密钥协商装置包括:第一确定模块、生成模块、发送模块、第二确定模块、第三确定模块、计算模块以及第四确定模块;其中,
[0165]
第一确定模块,被配置为接收来自于第一通信端的第一加密信息帧,分别在所述第一加密信息帧中与第一随机数组和第二随机数组对应的位置添加第二噪声,进行数据判决以恢复出第五加密信息帧,并利用由所述第一通信端指向第二通信端的第一会话密钥对所述第五加密信息帧进行解密以确定第三随机数组和第四随机数组;其中,所述第一加密信息帧是根据所述第一随机数组和所述第二随机数组确定的;
[0166]
生成模块,被配置为生成第五随机数组和第六随机数组,并根据所述第三随机数组和所述第六随机数组确定第一比特异或数组;
[0167]
发送模块,被配置为根据所述第五随机数组、第六随机数组以及所述第一比特异或数组进行组帧以确定第二待发送信息帧,并利用由第二通信端指向第一通信端的第二会话密钥对所述第二待发送信息帧进行加密以确定第二加密信息帧,并将所述第二加密信息帧发送至第一通信端;
[0168]
第二确定模块,被配置为接收来自于第一通信端的第三加密信息帧,利用所述第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组;
[0169]
第三确定模块,被配置为根据所述第四随机数组和所述第五随机数组确定第五比特异或数组,并根据所述第五比特异或数组和所述第四比特异或数组确定第六比特异或数组;
[0170]
计算模块,被配置为计算所述第六比特异或数组中数值1对应的第二数量,并将所述第二数量保存于第二数组;
[0171]
第四确定模块,被配置为根据所述第二数组确定第二种子密钥。
[0172]
在一种可能的实现方式中,所述第四确定模块进一步被配置为:
[0173]
响应于所述第二数组中的第二数量的个数达到预设数量,则计算所述第二数组的第二均值和第二标准方差,并根据所述第二均值和所述第二标准方差确定第二目标范围;
[0174]
将所述第二数组中位于所述第二目标范围内的元素剔除以确定第二候选数组;
[0175]
获取与所述第一通信端对应的保留元素信息,并根据所述第一候选数组和所述第
二候选数组中都保留的元素组成第二中间数组;其中,所述第一通信端对应的保留元素信息用于表征与所述第一通信端对应的第一候选数组中所保留的元素信息;
[0176]
对于所述第二中间数组中的每个元素,
[0177]
响应于所述元素大于所述第二均值,则将所述元素的判定结果置为1,
[0178]
和/或,
[0179]
响应于所述元素小于所述第二均值,则将所述元素的判定结果置为0;
[0180]
根据所述第二中间数组中每个元素的判定结果确定第二密钥材料;
[0181]
接收来自于所述第一通信端中根据第一密钥材料计算得到的纠错监督码,根据所述纠错监督码对第二密钥材料进行纠错;
[0182]
将用于表征所述第二通信端能否完成纠错操作的指示信息发送至第一通信端;
[0183]
响应于所述第二通信端能够完成纠错操作,则将所述第二密钥材料纠错后的数组确定为第三密钥材料,对第三密钥材料进行隐私放大及对应处理以得到所述第二种子密钥。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0184]
上述实施例的装置用于实现前述任一实施例中相应的应用于第二通信端的密钥协商方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0185]
图6示出了本技术实施例所提供的一种密钥协商系统的示例性结构示意图。
[0186]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种密钥协商系统。
[0187]
参考图6,所述密钥协商装置包括:第一通信端以及第二通信端;其中,
[0188]
第一通信端,被配置为执行如第一方面所述的应用于第一通信端的密钥协商方法;
[0189]
第二通信端,被配置为执行如第二方面所述的应用于第二通信端的密钥协商方法。
[0190]
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0191]
上述实施例的系统用于实现前述任一实施例中相应的应用于第一通信端和或第二通信端的密钥协商方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0192]
图7示出了本技术实施例所提供的一种电子设备的示例性结构示意图。
[0193]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的应用于第一通信端或第二通信端的密钥协商方法。图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器710、存储器720、输入/输出接口730、通信接口740和总线750。其中处理器710、存储器720、输入/输出接口730和通信接口740通过总线750实现彼此之间在设备内部的通信连接。
[0194]
处理器710可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0195]
存储器720可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器720可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器720中,并由处理器710来调用执行。
[0196]
输入/输出接口730用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0197]
通信接口740用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0198]
总线750包括一通路,在设备的各个组件(例如处理器710、存储器720、输入/输出接口730和通信接口740)之间传输信息。
[0199]
需要说明的是,尽管上述设备仅示出了处理器710、存储器720、输入/输出接口730、通信接口740以及总线750,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0200]
上述实施例的电子设备用于实现前述任一实施例中相应的应用于第一通信端或第二通信端的密钥协商方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0201]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的应用于第一通信端或第二通信端的密钥协商方法。
[0202]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0203]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的应用于第一通信端或第二通信端的密钥协商方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0204]
基于同一发明构思,与上述任意实施例所述的应用于第一通信端或第二通信端的密钥协商方法相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的应用于第一通信端或第二通信端的密钥协商方法。对应于所述的应用于第一通信端或第二通信端的密钥协商方法各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
[0205]
上述实施例的计算机程序产品用于使所述计算机和/或所述处理器执行如上任一实施例所述的应用于第一通信端或第二通信端的密钥协商方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0206]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0207]
另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0208]
尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0209]
本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种密钥协商方法,其特征在于,应用于第一通信端,所述方法包括:生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;根据所述第一数组确定第一种子密钥。2.根据权利要求1所述的方法,其特征在于,所述将所述第一加密信息帧发送至所述第二通信端,包括:将所述第一加密信息帧加载到载波光波以将所述第一加密信息帧调制为光信号形式,并将光信号形式的第一加密信息帧发送至所述第二通信端。3.根据权利要求1所述的方法,其特征在于,所述根据所述第七随机数组和所述第二随机数组确定第三比特异或数组,包括:比较所述第七随机数组和所述第二随机数组中相对应位置的比特;响应于所述第七随机数组和所述第二随机数组中相对应位置的比特相同,则所述相对应位置的输出结果为0;和/或,响应于所述第七随机数组和所述第二随机数组中相对应位置的比特不同,则所述相对应位置的输出结果为1;根据所述第七随机数组和所述第二随机数组中每个相对应位置的输出结果确定所述第三比特异或数组。4.根据权利要求1所述的方法,其特征在于,所述根据所述第一数组确定第一种子密钥,包括:响应于所述第一数组中的第一数量的个数达到预设数量,则计算所述第一数组的第一均值和第一标准方差,并根据所述第一均值和所述第一标准方差确定第一目标范围;将所述第一数组中位于所述第一目标范围内的元素剔除以确定第一候选数组;
获取与所述第二通信端对应的保留元素信息,并将所述第一候选数组和所述第二候选数组中都保留的元素组成第一中间数组;其中,所述第二通信端对应的保留元素信息用于表征与所述第二通信端对应的第二候选数组中所保留的元素信息;对于所述第一中间数组中的每个元素,响应于所述元素大于所述第一均值,则将所述元素的判定结果置为1,和/或,响应于所述元素小于所述第一均值,则将所述元素的判定结果置为0;根据所述第一中间数组中每个元素的判定结果确定第一密钥材料;根据所述第一密钥材料计算纠错监督码,并将所述纠错监督码发送至所述第二通信端;响应于确定所述第二通信端中的第二密钥材料完成纠错操作,则对第一密钥材料进行隐私放大以及对应处理以得到所述第一种子密钥;和/或,响应于确定所述第二通信端中的第二密钥材料无法完成纠错操作,则重新执行确定第一种子密钥的全部步骤。5.一种密钥协商方法,其特征在于,应用于第二通信端,所述方法包括:接收来自于第一通信端的第一加密信息帧,分别在所述第一加密信息帧中与第一随机数组和第二随机数组对应的位置添加第二噪声,进行数据判决以恢复出第五加密信息帧,并利用由所述第一通信端指向第二通信端的第一会话密钥对所述第五加密信息帧进行解密以确定第三随机数组和第四随机数组;其中,所述第一加密信息帧是根据所述第一随机数组和所述第二随机数组确定的;生成第五随机数组和第六随机数组,并根据所述第三随机数组和所述第六随机数组确定第一比特异或数组;根据所述第五随机数组、第六随机数组以及所述第一比特异或数组进行组帧以确定第二待发送信息帧,并利用由第二通信端指向第一通信端的第二会话密钥对所述第二待发送信息帧进行加密以确定第二加密信息帧,并将所述第二加密信息帧发送至第一通信端;接收来自于第一通信端的第三加密信息帧,利用所述第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组;根据所述第四随机数组和所述第五随机数组确定第五比特异或数组,并根据所述第五比特异或数组和所述第四比特异或数组确定第六比特异或数组;计算所述第六比特异或数组中数值1对应的第二数量,并将所述第二数量保存于第二数组;根据所述第二数组确定第二种子密钥。6.根据权利要求5所述的方法,所述根据所述第二数组确定第二种子密钥,包括:响应于所述第二数组中的第二数量的个数达到预设数量,则计算所述第二数组的第二均值和第二标准方差,并根据所述第二均值和所述第二标准方差确定第二目标范围;将所述第二数组中位于所述第二目标范围内的元素剔除以确定第二候选数组;获取与所述第一通信端对应的保留元素信息,并根据所述第一候选数组和所述第二候选数组中都保留的元素组成第二中间数组;其中,所述第一通信端对应的保留元素信息用于表征与所述第一通信端对应的第一候选数组中所保留的元素信息;
对于所述第二中间数组中的每个元素,响应于所述元素大于所述第二均值,则将所述元素的判定结果置为1,和/或,响应于所述元素小于所述第二均值,则将所述元素的判定结果置为0;根据所述第二中间数组中每个元素的判定结果确定第二密钥材料;接收来自于所述第一通信端中根据第一密钥材料计算得到的纠错监督码,根据所述纠错监督码对第二密钥材料进行纠错;将用于表征所述第二通信端能否完成纠错操作的指示信息发送至第一通信端;响应于所述第二通信端能够完成纠错操作,则将所述第二密钥材料纠错后的数组确定为第三密钥材料,对第三密钥材料进行隐私放大及对应处理以得到所述第二种子密钥。7.一种密钥协商装置,其特征在于,应用于第一通信端,所述装置包括:生成模块,被配置为生成第一随机数组和第二随机数组,并根据所述第一随机数组和所述第二随机数组进行组帧以确定第一待发送信息帧;第一发送模块,被配置为利用由所述第一通信端指向第二通信端的第一会话密钥对所述第一待发送信息帧进行加密以确定第一加密信息帧,并将所述第一加密信息帧发送至所述第二通信端;第一确定模块,被配置为接收来自于所述第二通信端的第二加密信息帧,分别在所述第二加密信息帧中与第五随机数组和第六随机数组对应的位置添加第一噪声,进行数据判决以恢复出第四加密信息帧,并利用由所述第二通信端指向所述第一通信端的第二会话密钥对所述第四加密信息帧进行解密以确定第七随机数组和第八随机数组;其中,所述第二加密信息帧是根据所述第五随机数组、所述第六随机数组以及第一比特异或数组确定的;第二确定模块,被配置为根据所述第一比特异或数组确定第二比特异或数组,并根据所述第七随机数组和所述第二随机数组确定第三比特异或数组;第二发送模块,被配置为根据所述第三比特异或数组进行组帧以确定第三待发送信息帧,并利用所述第一会话密钥对所述第三待发送信息帧进行加密以确定第三加密信息帧,并将所述第三加密信息帧发送至第二通信端;第三确定模块,被配置为根据所述第八随机数组和所述第一随机数组确定第七比特异或数组,并根据所述第七比特异或数组和所述第二比特异或数组确定第八比特异或数组;计算模块,被配置为计算所述第八比特异或数组中数值1对应的第一数量,并将所述第一数量保存于第一数组;第四确定模块,被配置为根据所述第一数组确定第一种子密钥。8.一种密钥协商装置,其特征在于,应用于第二通信端,所述装置包括:第一确定模块,被配置为接收来自于第一通信端的第一加密信息帧,分别在所述第一加密信息帧中与第一随机数组和第二随机数组对应的位置添加第二噪声,进行数据判决以恢复出第五加密信息帧,并利用由所述第一通信端指向第二通信端的第一会话密钥对所述第五加密信息帧进行解密以确定第三随机数组和第四随机数组;其中,所述第一加密信息帧是根据所述第一随机数组和所述第二随机数组确定的;生成模块,被配置为生成第五随机数组和第六随机数组,并根据所述第三随机数组和所述第六随机数组确定第一比特异或数组;
发送模块,被配置为根据所述第五随机数组、第六随机数组以及所述第一比特异或数组进行组帧以确定第二待发送信息帧,并利用由第二通信端指向第一通信端的第二会话密钥对所述第二待发送信息帧进行加密以确定第二加密信息帧,并将所述第二加密信息帧发送至第一通信端;第二确定模块,被配置为接收来自于第一通信端的第三加密信息帧,利用所述第一会话密钥对所述第三加密信息帧进行解密以确定第四比特异或数组;第三确定模块,被配置为根据所述第四随机数组和所述第五随机数组确定第五比特异或数组,并根据所述第五比特异或数组和所述第四比特异或数组确定第六比特异或数组;计算模块,被配置为计算所述第六比特异或数组中数值1对应的第二数量,并将所述第二数量保存于第二数组;第四确定模块,被配置为根据所述第二数组确定第二种子密钥。9.一种密钥协商系统,其特征在于,所述系统包括:第一通信端,被配置为执行如权利要求1至4中任意一项所述的方法;第二通信端,被配置为执行如权利要求5至6中任意一项所述的方法。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任意一项所述的方法或如权利要求5至6任意一项所述的方法。
技术总结
本申请提供一种密钥协商方法、装置、系统及电子设备。本申请协商双方,也即第一通信端和第二通信端,各自生成随机数组并加密发送给对方,这样没有密钥的非法窃听者无法判断出发送的协商比特,也就无法由窃取信号统计误码率,这是密钥协商安全性的基本保证。且通过相应的接收信号判决结果与发送随机数组比较并将结果反馈给对方,解决了难以找到相同时间窗的难题,并且协商的第一通信端和第二通信端各自加入了对误码起较大作用的第一噪声或第二噪声,这样即使非法方窃取到了光纤链路噪声,也无法计算出第一通信端和第二通信端得到的误码率,从而很好地保证了密钥协商方法的安全性。性。性。
技术研发人员:刘永元 郭凯杰 马含笑 韦祎 施社平
受保护的技术使用者:北清晋如通信技术有限公司
技术研发日:2023.07.13
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
