一种密钥生成方法及装置与流程

文档序号:15817387发布日期:2018-11-02 22:46阅读:174来源:国知局
一种密钥生成方法及装置与流程

本申请涉及网络安全技术领域,尤其涉及一种密钥生成方法及装置。

背景技术

随着互联网技术的不断发展,利用网络进行通信越来越被用户广泛应用。在通信的过程中,通信的安全问题也越来越受到人们的重视。其中,保证通信安全的常用安全手段是通信双方进行密钥认证,因此,如何生成安全的密钥已成为一个研究热点。

目前,在通信双方建立连接,传输数据之前,通信双方需要约定一个密钥,用于对待传输的数据进行加密。常用的密钥生成方法为:通信双方互相发送多个探测信号,通信双方根据接收到的对方发送的探测信号的信号强度,得到各自的样本数据后,根据各自的样本数据的方差和平均值确定各自的筛选阈值(各自的第一筛选阈值和第二筛选阈值,其中第一筛选阈值大于第二筛选阈值);通信双方分别在各自的样本数据中筛选出大于各自的第一筛选阈值以及小于各自的第二筛选阈值的满足预设条件的部分样本数据,并通过比对筛选出通信双方的部分样本数据中编号相同的目标样本数据;通信双方将各自的目标样本数据中大于第一筛选阈值的样本数据量化为1,将小于第二筛选阈值的样本数据量化为0,得到1和0的排列串,从而得到最终的密钥。

在上述方法中,由于样本数据中在所述第一筛选阈值和所述第二筛选阈值之间的样本数据的变化幅度比较小,若仍然采用上述方法对其进行量化处理则会造成通信双方生成的密钥很不一致,导致通信双方在通过各自确定的密钥传输数据时,无法准确地解密得到数据,降低了通信双方的数据传输效率。因此,为了保证通信双方生成的密钥的一致性,通信双方丢弃两个筛选阈值之间的样本数据,只对大于第一筛选阈值以及小于第二筛选阈值的样本数据进行量化处理。

但是,上述方法丢弃了部分样本数据后,使样本数据的利用率较低,会造成最终生成的密钥长度比较短,导致密钥的安全性低,容易被第三方破译,造成通信双方传输的数据被第三方截获。



技术实现要素:

本申请提供一种密钥生成方法及装置,用以解决现有技术中生成的密钥长度比较短,导致密钥的安全性低,容易被第三方破译,造成通信双方传输的数据被第三方截获的问题。

本申请提供的具体技术方案如下:

第一方面,本申请实施例提供了一种密钥生成方法,该方法包括:

第一设备首先确定第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥;其中所述第一阈值大于所述第二阈值。

通过上述方法,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

在一个可能的设计中,所述信号特征参数可以但不限于为信号强度、信号相位、信号幅度、信号频率等,这样所述第一设备可以通过多种方式得到所述信号特征参数,进而得到所述多个样本数据。

在一个可能的设计中,所述第一设备根据所述多个样本数据的平均值与方差,确定所述第一阈值和所述第二阈值时,具体包括以下步骤:

所述第一设备计算所述方差与设定权值的乘积,并将所述平均值与所述乘积之和作为所述第一阈值;以及将所述平均值与所述乘积之差作为所述第二阈值。

通过上述方法,所述第一设备可以准确得到所述第一阈值和所述第二阈值,以使所述第一设备根据所述第一阈值和所述第二阈值得到生成所述第一密钥的多个第一样本数据,以及生成所述第二密钥的多个第二样本数据。

在一个可能的设计中,所述设定权值可以为所述第一设备之前生成密钥后保存的,也可以为用户将通过多次实验确定的合适的权值配置给所述第一设备的。这样可以使所述第一设备根据所述设定权值得到准确的第一阈值和第二阈值。

在一个可能的设计中,所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥时,具体包括以下步骤:

所述第一设备在所述多个第一样本数据中筛选出多个第一待选样本数据后,将第一数据位置信息发送给所述第二设备,并接收所述第二设备返回的第二数据位置信息;然后所述第一设备在所述多个第一待选样本数据中筛选出位于所述第二数据位置信息指示的位置处的多个第一目标样本数据,并对所述多个第一目标样本数据进行量化处理,得到所述第一密钥;其中,所述多个第一待选样本数据中的每个第一待选样本数据均满足第一条件:位于连续m个均大于第一阈值的第一样本数据中的第一设定位置,或位于连续m个均小于第二阈值的第一样本数据中的第二设定位置,m为大于或者等于2的整数;所述第一数据位置信息指示所述多个第一待选样本数据在所述多个样本数据中的位置;所述第二数据位置信息指示所述第一数据位置信息中的部分或全部位置。

通过上述方法,所述第一设备可以利用所述多个第一样本数据准确地生成所述第一密钥,以使后续得到准确的目标密钥。

在一个可能的设计中,所述第一设备在所述多个第一样本数据中筛选所述多个第一待选样本数据的具体过程可以为:所述第一设备以步长m从所述第一样本数据的起始位置开始遍历,筛选出位于每m个连续的小于所述第二阈值的样本数据中的第二设定位置的第一待选样本数据,以及位于每m个连续的大于所述第一阈值的样本数据中的第一设定位置的第一待选样本数据。

通过上述方法,所述第一设备可以成功得到准确的所述多个第一待选数据,可以使筛选出的待选样本数据与所述第二设备以同样的方法筛选出的待选样本数据的一致性较高,从而使后续所述第一设备根据所述多个第一待选样本数据生成的密钥与所述第二设备生成的密钥的一致性较高。

在一个可能的设计中,所述第一设定位置和所述第二设定位置可以相同,也可以不同。

在一个可能的设计中,所述第一设定位置和所述第二设定位置可以均为中间位置,当m为奇数时,筛选出连续m个第一样本数据中的正中间位置的第一样本数据,例如,m为3时,连续3个大于所述第一阈值的第一样本数据分别为48、50、55时,筛选出连续m个第一样本数据的正中间位置的第一样本数据50;当m为偶数时,筛选出连续m个第一样本数据中位于中间位置的两个第一样本数据中指定的第一样本数据,例如,m为4时,连续4个小于所述第二阈值的第一样本数据分别为20、25、30、33时,可以筛选出位于中间位置的两个第一样本数据中位置靠前的第一样本数据25,也可以筛选出位置靠后的第一样本数据30。

通过上述方法,可以使所述第一设备准确地筛选出多个第一待选样本数据。

在一个可能的设计中,所述第一设定位置和所述第二设定位置还可以均为连续m个第一样本数据中的起始位置或者其它位置。

例如,连续3个大于所述第一阈值的第一样本数据分别为48、50、55时,筛选出连续3个第一样本数据的起始位置的第一样本数据48,连续3个小于所述第二阈值的第一样本数据分别为20、25、28时,筛选出连续3个第一样本数据的起始位置的第一样本数据20。

通过上述方法,可以使所述第一设备准确地筛选出多个第一待选样本数据。

在一个可能的设计中,所述第一设备可以将所述多个第一样本数据中的所有第一样本数据作为所述多个第一待选样本数据。

通过上述方法,所述第一设备可以节省筛选所述多个第一待选样本数据的流程,提高生成所述第一密钥的速率。

在一个可能的设计中,所述第一设备可以按顺序将所述多个样本数据中的每个样本数据进行编号,将每个样本数据的编号作为所述样本数据的位置信息,指示该样本数据在所述多个样本数据中的位置,这样,所述第一位置信息可以包括所述多个第一待选样本数据的编号,所述第一设备可以将所述多个第一待选样本数据的编号发送给所述第二设备,进而成功将所述第一位置信息的发送给所述第二设备。

在一个可能的设计中,所述第二设备在接收到所述第一数据位置信息后,将所述第一数据位置信息指示的位置与所述第二设备的多个待选样本数据在所述第二设备的多个样本数据中的位置进行对比,筛选出所述第一数据位置信息指示的位置与所述第二设备的多个待选样本数据的位置相同的位置,得到所述第二数据位置信息,然后将所述第二数据位置信息发送给所述第一设备。

例如,当所述第一数据位置信息包括(3,6,9,13,16,18)时,所述第二设备的多个待选样本数据的编号分别为(3,5,9,13,15,18),所述第二设备筛选出(3,9,13,18),将(3,9,13,18)发送给所述第一设备,即所述第二数据位置信息包括(3,9,13,18)。

通过上述方法,可以使所述第一设备得到准确的第二数据位置信息,进而使所述第一设备准确地得到生成所述第一密钥的第一目标样本数据,以保障与所述第二设备生成密钥的一致性。

在一个可能的设计中,所述第一设备对所述多个第一目标样本数据进行量化处理的方法可以为:所述第一设备将所述多个第一目标样本数据中大于所述第一阈值的第一目标样本数据量化为1,已经将小于所述第二阈值的第一目标样本数据量化为0。

例如,所述第一目标样本数据为46、45、25、39、20、19,所述第一阈值为37,所述第二阈值为30时,通过上述方法将46、45、39量化为1,将25、20、19量化为0后,可以得到所述第一密钥为110100。

通过上述方法,所述第一设备可以成功得到所述第一密钥,以使后续所述第一设备根据所述第一密钥得到所述目标密钥。

在一个可能的设计中,所述第一设备根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥时,具体可以包括以下步骤:

所述第一设备确定所述多个第二样本数据中的最大值和最小值后,根据所述最大值和所述最小值,确定多个分组范围,并根据所述多个分组范围对所述多个第二样本数据进行分组得到多个样本数据组;然后所述第一设备在所述多个第二样本数据中筛选出多个第二待选样本数据,将第三数据位置信息发送给所述第二设备,并接收所述第二设备返回的第四数据位置信息;最后所述第一设备在所述多个第二待选样本数据中,筛选出位于所述第四数据位置信息指示的位置处的多个第二目标样本数据,并根据所述多个第二目标样本数据,得到所述第二密钥;其中,所述多个第二待选样本数据中的每个第二待选样本数据均满足第二条件:包含所述第二待选样本数据在内的连续n个第二样本数据均位于同一样本数据组,其中,n为大于或者等于2的整数;所述第三数据位置信息指示所述多个第二待选样本数据在所述多个样本数据中的位置;所述第四数据位置信息指示所述第三数据位置信息中的部分或全部位置。

通过上述方法,所述第一设备可以利用所述多个第二样本数据准确地生成所述第二密钥,以使后续得到准确的目标密钥。

在一个可能的设计中,所述第一设备根据所述最大值和所述最小值,确定所述多个分组范围的具体方法可以为:所述第一设备确定所述最大值和所述最小值的差后,计算以2为底所述差的对数,并确定小于或等于所述对数的最大整数;然后所述第一设备计算以2为底、以所述最大整数为指数的幂,得到分组数;最后所述第一设备根据所述最大值和最小值,以及所述分组数,确定所述多个分组范围。

例如,当所述最大值为34,所述最小值为25时,所述差为9,log29大于3,即所述最大整数等于3,23为8,即得到所述分组数为8,此时得到的所述多个分组范围分别为[25,26.125)[26.125,27.25)[27.25,28.375)[28.375,29.5)[29.5,30.625)[30.625,31.75)[31.75,32.875)[32.875,34]。

通过上述方法,得到所述多个分组范围后,所述第一设备可以针对每个分组范围确定所述多个第二样本数据中均属于该分组范围的第二样本数据,将确定的第二样本数据作为一个样本数据组,得到所述多个样本数据组。

在一个可能的设计中,所述第一设备可以将所述多个第二样本数据中的所有第二样本数据作为所述多个第二待选样本数据。

通过上述方法,所述第一设备可以节省筛选所述多个第二待选样本数据的流程,提高生成所述第二密钥的速率。

在一个可能的设计中,所述多个样本数据组中每个样本数据组均对应一个序列,每个样本数据组中包括的每个样本数据对应的序列即为该样本数据组对应的序列。每个样本数据组对应的序列可以是预先设置的,也可以是将所述多个样本数据组按顺序编号后,对每个编号进行二进制转化处理或者格雷码转化处理等处理得到对应的序列。

通过上述方法,可以使所述第一设备准确地确定每个样本数据组中的每个样本数据对应的序列,进而使所述第一设备在后续生成所述第二密钥的过程中准确地得到每个第二目标样本数据对应的序列,进而生成准确的所述第二密钥。

在一个可能的设计中,所述第一设备根据所述多个第二目标样本数据,得到所述第二密钥的具体方法可以为:所述第一设备根据所述多个第二目标样本数据中的每个第二目标样本数据所属的样本数据组,确定每个第二目标样本数据对应的序列;并按照所述多个第二目标样本数据的顺序,对所述多个第二目标样本数据对应的序列进行拼接,得到所述第二密钥。

例如,4个第二目标样本数据中每个第二目标样本数据所属的样本数据组的编号分别为3、3、5、7,所述第一设备分别将3、3、5、7转化为格雷码,分别得到所述4个第二目标样本数据中每个第二目标样本数据对应的序列分别为0010、0010、0111、0100。所述第一设备将0010、0010、0111、0100进行拼接,得到0010001001110100,即得到所述第二密钥。

通过上述方法,所述第一设备可以成功得到准确的所述第二密钥,以使后续所述第一设根据所述第二密钥得到所述目标密钥。

在一个可能的设计中,所述第一设备可以对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥。

通过上述方法,可以增加所述目标密钥的长度,从而可以提高所述目标密钥的安全性,以防被第三方破译。

在一个可能的设计中,所述第一设备对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥时,具体可以包括以下步骤:

所述第一设备将所述第二密钥作为初始的待截取序列,将所述第一密钥作为初始的待拼接序列后,从所述待拼接序列的起始位置开始遍历,并通过以下步骤对所述待拼接序列进行拼接处理:

首先,当所述第一设备确定所述待拼接序列中存在连续p个相同的比特时,所述第一设备截取所述待截取序列中前q个比特,并将所述q个比特添加到所述连续p个比特之间的指定位置,其中p、q为大于或者等于2的整数;或者

当所述第一设备确定所述待拼接序列中存在连续i个不完全相同的比特时,所述第一设备截取所述待截取序列中前j个比特,并将所述j个比特添加到所述连续i个比特之后的位置,其中,i大于或者等于p,j为大于或者等于2的整数;

然后,所述第一设备将所述待截取序列中剩余的序列作为更新的待截取序列,并对拼接处理后的所述待拼接序列中除添加的比特以外的未遍历的序列继续进行遍历,并通过上述方法执行对所述待拼接序列进行拼接处理;直至最后更新得到的所述待截取序列为空,将最后拼接处理后得到的所述待拼接序列作为所述目标密钥,或者直至所述待拼接序列中除添加的比特以外的未遍历的序列中不存在p个相同的比特或i个不完全相同的比特,但所述待截取序列不为空,将最后更新得到的所述待截取序列添加到最后拼接处理后得到的所述待拼接序列之后,得到所述目标密钥。

例如,当p=3,q=5,i=5,j=4,所述第一密钥为10010101111011,所述第二密钥为010110100101011001101001011时,所述第一设备从所述第一密钥的起始位置开始遍历后发现存在连续的5个比特10010不完全相同。此时,所述第一设备将所述第二密钥的前4个比特0101添加到上述5个比特之后的位置,得到拼接处理后的密钥为10010101111011(其中在该序列及本例后续的序列中,加粗斜体的比特为新添加的比特),即此时待拼接序列为10010101111011,待截取序列为10100101011001101001011;

然后,所述第一设备继续遍历上述最新的待拼接序列中下划线的序列,发现存在连续的3个相同的比特111。此时,所述第一设备将最新的待截取序列的前5个比特10100添加到上述3个比特中第二个比特之后的位置,得到更新的待拼接序列为10010101111011,更新的待截取序列为101011001101001011;

之后,所述第一设备继续遍历上述最新的待拼接序列中下划线的序列,不存在连续3个相同的比特,也不存在连续5个不完全相同的比特,但是最新的待截取序列不为空,此时,将最新的待截取序列添加到更新的待拼接序列之后,得到10010101111011即得到的所述目标密钥为10010010110111010011011101011001101001011。

通过上述方法,可以增加所述目标密钥的长度,从而可以提高所述目标密钥的安全性,以防被第三方破译。

第二方面,本申请实施例还提供了一种第一设备,该第一设备具有实现上述方法实例中第一设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,所述第一设备的结构中包括接收单元和处理单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

在一种可能的设计中,所述第一设备的结构中包括收发器、处理器和存储器,所述收发器用于接收第二设备发送的多个探测信号,所述处理器被配置为支持所述第一设备执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述第一设备必要的程序指令和数据。

第三方面,本申请实施例还提供了一种移动通信系统,该移动通信系统中包括第一设备、第二设备和接入点。

第四方面,本申请实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。

在本申请实施例中,需要进行数据传输的第一设备和第二设备建立连接后,所述第一设备首先确定所述第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。在该方法中,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

附图说明

图1为本申请实施例提供的一种移动通信系统的架构图;

图2为本申请实施例提供的一种密钥生成方法的流程图;

图3为本申请实施例提供的一种密钥拼接过程的示例图;

图4为本申请实施例提供的一种第一设备的结构示意图;

图5为本申请实施例提供的一种第一设备的结构图。

具体实施方式

下面将结合附图对本申请作进一步地详细描述。

本申请实施例提供一种密钥生成方法及装置,用以解决现有技术中生成的密钥长度比较短,导致密钥的安全性低,容易被第三方破译,造成通信双方传输的数据被第三方截获的问题。其中,本申请所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

本申请实施例的技术方案中,需要进行数据传输的第一设备和第二设备建立连接后,所述第一设备首先确定所述第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。在该方法中,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。

1)、本申请实施例涉及的第一设备和第二设备,为需要进行传输数据的通信设备,例如,可以为具有无线连接功能的手持式设备、车载设备、可穿戴设备、计算设备、移动台(mobilestation,ms)或连接到无线调制解调器的其他处理设备等,以及经接入网与一个或多个核心网进行通信的移动终端。

2)、本申请实施例涉及的预设的信号特征参数,用于指示探测信号的信号特征,可以但不限于为信号强度、信号相位、信号幅度、信号频率等。

3)、本申请实施例中的“多个”,是指两个或两个以上。

4)、在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

为了更加清晰地描述本申请实施例的技术方案,下面结合附图,对本申请实施例提供的密钥生成方法及装置进行详细说明。

图1示出了本申请实施例提供的密钥生成方法适用的一种可能的移动通信系统,所述移动通信系统的架构包括:第一设备、第二设备和接入点(如图中所示的接入点1和接入点2)。其中,

所述第一设备和所述第二设备需要进行传输数据,所述第一设备和所述第二设备建立连接后,在进行数据传输之前需要约定一个密钥,在传输数据的过程中通过约定的密钥传输数据,在得到对方传输的数据时,通过约定的密钥解密得到传输的数据。其中约定密钥的具体过程为:

首先,所述第一设备和所述第二设备互相发送多个探测信号;

然后,所述第一设备和所述第二设备分别确定接收到的多个探测信号的预设的信号特征参数的取值,得到各自的多个样本数据;

最后,所述第一设备和所述第二设备分别根据各自的多个样本数据分别生成解密数据的密钥。

所述接入点,用于为所述第一设备和所述第二设备提供接入服务,以使所述第一设备和所述第二设备可以建立连接,进而进行数据传输。

例如,图1中的所述接入点1为所述第一设备提供接入服务,所述接入点2为所述第二设备提供接入服务。其中所述接入点1和所述接入点2通过传统的方法进行通信,例如所述接入点1和所述接入点2可以通过核心网设备转发消息等方法进行通信。

需要说明的是,图1为一种移动通信系统的示例,可选的,所述第一设备和所述第二设备可以均接入同一接入点。

本申请实施例提供的一种密钥生成方法,适用于如图1所示的移动通信系统,应用于需要进行数据传输的第一设备和第二设备,所述第一设备和所述第二设备建立连接,其中,所述第一设备可以为通信双方的任一方。参阅图2所示,该方法的具体流程包括:

步骤201:第一设备确定多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据;其中,所述多个探测信号为第二设备向所述第一设备发送的。

其中,需要进行数据传输的所述第一设备和所述第二设备在建立连接后,所述第一设备和所述第二设备互相发送多个探测信号,所述第一设备接收所述第二设备发送的多个探测信号后执行步骤201。所述第二设备接收到所述第一设备发送的多个探测信号后,执行与步骤201中所述第一设备执行的操作相同的操作,得到所述第二设备的多个样本数据。

由于所述第一设备和所述第二设备互相发送的多个探测信号相同,并且传输链路环境相同,因此,所述第一设备的多个样本数据和所述第二设备的多个样本数据理想情况下是相同的,但是实际中可能由各种因素导致两者的不完全相同,但是第一设备的多个样本数据的取值与第二设备的多个样本数据的取值之间的差距较小,例如,所述第一设备的多个样本数据为(……52525156514948515041……),所述第二设备的多个样本数据为(……51535353495050525143……)。这样所述第一设备和所述第二设备可以采用相同的方法根据自身的多个样本数据生成各自的目标密钥,作为双方约定的密钥,以使后续双方传输数据时,可以根据各自生成的目标密钥解密得到传输的数据。

由于所述第一设备和所述第二设备在生成各自的目标密钥的方法相同,本申请中仅以具体介绍所述第一设备生成目标密钥的过程,所述第二设备生成其目标密钥的过程参见所述第一设备的过程,具体之处本申请不再赘述。

可选的,所述信号特征参数可以但不限于是信号强度、信号相位、信号幅度或者信号频率等。例如,当所述预设信号特征参数是信号强度时,在步骤201中,所述第一设备确定每个探测信号的信号强度的取值,将确定的多个信号强度的取值作为所述多个样本数据。

步骤202:所述第一设备根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值。

可选的,所述第一设备在通过步骤201得到所述多个样本数据后,先确定所述多个样本数据的平均值与方差,然后可以通过以下步骤执行步骤202:

所述第一设备计算所述方差与设定权值的乘积;

所述第一设备将所述平均值与所述乘积之和作为所述第一阈值,将所述平均值与所述乘积之差作为所述第二阈值。

在上述方法中,所述设定权值的大小变化直接影响了所述第一阈值和所述第二阈值的大小变化。当所述设定权值变大时,所述第一阈值变大,所述第二权值变小,当所述设定权值变小时,所述第一阈值变小,所述第二阈值变大。由此可知,所述设定权值的大小直接影响了后续所述第一设备筛选出的所述多个第一样本数据和所述多个第二样本数据的数量,进而影响了后续生成的所述第一密钥和所述第二密钥的长度,从而影响最终目标密钥的安全性。因此,所述设定权值具体可以为所述第一设备之前生成密钥后保存的,也可以为用户将通过多次实验确定的合适的权值配置给所述第一设备的。这样,可以在一定程度上提高所述第一设备后续生成的密钥的安全性。

步骤203:所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥。

可选的,所述第一设备在执行步骤203时,具体可以分为以下五个步骤:

a1、所述第一设备在所述多个第一样本数据中筛选出多个第一待选样本数据,其中,所述多个第一待选样本数据中的每个第一待选样本数据均满足第一条件:位于连续m个均大于第一阈值的第一样本数据中的第一设定位置,或位于连续m个均小于第二阈值的第一样本数据中的第二设定位置,m为大于或者等于2的整数。

a2、所述第一设备将第一数据位置信息发送给所述第二设备,其中,所述第一数据位置信息指示所述多个第一待选样本数据在所述多个样本数据中的位置。

a3、所述第一设备接收所述第二设备返回的第二数据位置信息,其中,所述第二数据位置信息指示所述第一数据位置信息中的部分或全部位置。

a4、所述第一设备在所述多个第一待选样本数据中,筛选出位于所述第二数据位置信息指示的位置处的多个第一目标样本数据。

a5、所述第一设备对所述多个第一目标样本数据进行量化处理,得到所述第一密钥。

其中,可选的,在上述步骤a1中,所述第一设备在所述多个第一样本数据中筛选所述多个第一待选样本数据的具体过程可以为:

所述第一设备以步长m从所述第一样本数据的起始位置开始遍历,筛选出位于每m个连续的小于所述第二阈值的样本数据中的第二设定位置的第一待选样本数据,以及位于每m个连续的大于所述第一阈值的样本数据中的第一设定位置的第一待选样本数据。

可选的,所述第一设定位置和所述第二设定位置可以相同,也可以不同。

可选的,所述第一设定位置和所述第二设定位置可以均为中间位置,例如,当m为奇数时,筛选出连续m个第一样本数据中的正中间位置的第一样本数据,例如,m为3时,连续3个大于所述第一阈值的第一样本数据分别为48、50、55时,筛选出连续m个第一样本数据的正中间位置的第一样本数据50;

当m为偶数时,筛选出连续m个第一样本数据中位于中间位置的两个第一样本数据中指定的第一样本数据,例如,m为4时,连续4个小于所述第二阈值的第一样本数据分别为20、25、30、33时,可以筛选出位于中间位置的两个第一样本数据中位置靠前的第一样本数据25,也可以筛选出位置靠后的第一样本数据30。

可选的,所述第一设定位置和所述第二设定位置还可以均为连续m个第一样本数据中的起始位置或者其它位置,本申请对此不作限定。例如,连续3个大于所述第一阈值的第一样本数据分别为48、50、55时,筛选出连续3个第一样本数据的起始位置的第一样本数据48,连续3个小于所述第二阈值的第一样本数据分别为20、25、28时,筛选出连续3个第一样本数据的起始位置的第一样本数据20。

为了保证所述第一设备和所述第二设备生成的密钥的一致性,在各自的筛选过程中,当m为偶数时,所述第一设备和所述第二设备设置的设定位置(所述第一设定位置和所述第二设定位置)保持一致,例如,均指定中间两个位置中靠前位置,或者均指定中间两个位置中靠后位置。

这样,所述第一设备通过上述过程可以得到所述多个第一待选样本数据,可以使筛选出的待选样本数据与所述第二设备以同样的方法筛选出的待选样本数据的一致性较高,从而使后续所述第一设备根据所述多个第一待选样本数据生成的密钥与所述第二设备生成的密钥的一致性较高。

可选的,所述第一设备可以通过以下方法替换上述步骤a1得到所述多个第一待选样本数据:

所述第一设备将所述多个第一样本数据中的所有第一样本数据作为所述多个第一待选样本数据。

由于所述第一设备和所述第二设备在生成各自最终的密钥时,必须保证双方生成的密钥的一致性,才能保证所述第一设备和所述第二设备通过各自生成的密钥准确地解密得到传输的数据,因此,所述第一设备和所述第二设备之间需要通过上述步骤a2、a3实现双方协商确定双方约定的第二数据位置信息,以使所述第一设备和所述第二设备后续准确地确定各自的生成密钥的样本数据。

可选的,所述第一设备可以按顺序将所述多个样本数据中的每个样本数据进行编号,将每个样本数据的编号作为所述样本数据的位置信息,指示该样本数据在所述多个样本数据中的位置。因此,可选的,在上述步骤a2中,所述第一位置信息可以包括所述多个第一待选样本数据的编号,即所述第一设备可以将所述多个第一待选样本数据的编号发送给所述第二设备。

由于所述第二设备在生成最终的密钥时,在接收到所述第一设备发送的多个探测信号后,所述第二设备需要执行与所述第一设备执行的操作相同的操作,即所述第二设备采用与所述第一设备相同的方法确定自身的多个样本数据、两个筛选阈值以及多个第三待选样本数据,其中,所述第二设备的第三待选样本数据与所述第一设备的所述第一样本数据的筛选方法相同,此处不再赘述。因此,所述第二设备在接收到所述第一数据位置信息后,将所述第一数据位置信息指示的位置与所述多个第三待选样本数据在所述第二设备的多个样本数据中的位置进行对比(即将所述多个第一待选样本数据的编号与所述多个第三待选样本的数据的编号进行对比),筛选出所述第一数据位置信息指示的位置与所述多个第三待选样本数据的位置相同的位置(编号),得到所述第二数据位置信息,然后将所述第二数据位置信息发送给所述第一设备,其中所述第二数据位置信息同样指示所述多个第三待选样本数据的部分或全部位置。

例如,当所述第一数据位置信息包括(3,6,9,13,16,18)时,所述多个第三待选样本数据的编号分别为(3,5,9,13,15,18),所述第二设备筛选出(3,9,13,18),将(3,9,13,18)发送给所述第一设备,即所述第二数据位置信息包括(3,9,13,18)。

通过上述方法可以使所述第一设备后续得到准确的多个第一目标样本数据,以保障与所述第二设备生成密钥的一致性。

可选的,所述第一设备在通过步骤a4得到所述多个第一目标样本数据后,在上述步骤a5中对所述多个第一目标样本数据进行量化处理的方法可以有多种,其中一个具体方法可以为:

所述第一设备将所述多个第一目标样本数据中大于所述第一阈值的第一目标样本数据量化为1,已经将小于所述第二阈值的第一目标样本数据量化为0。

例如,所述第一目标样本数据为46、45、25、39、20、19,所述第一阈值为37,所述第二阈值为30时,通过上述方法将46、45、39量化为1,将25、20、19量化为0后,可以得到所述第一密钥为110100。

步骤204:所述第一设备根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥。

可选的,所述第一设备在执行步骤204时,具体可以分为以下七个步骤:

b1、所述第一设备确定所述多个第二样本数据中的最大值和最小值;

b2、所述第一设备根据所述最大值和所述最小值,确定多个分组范围,并根据所述多个分组范围对所述多个第二样本数据进行分组,得到多个样本数据组;

b3、所述第一设备在所述多个第二样本数据中筛选出多个第二待选样本数据,其中,所述多个第二待选样本数据中的每个第二待选样本数据均满足第二条件:包含所述第二待选样本数据在内的连续n个第二样本数据均位于同一样本数据组,其中,n为大于或者等于2的整数;

b4、所述第一设备将第三数据位置信息发送给所述第二设备,其中,所述第三数据位置信息指示所述多个第二待选样本数据在所述多个样本数据中的位置;

b5、所述第一设备接收所述第二设备返回的第四数据位置信息,其中,所述第四数据位置信息指示所述第三数据位置信息中的部分或全部位置;

b6、所述第一设备在所述多个第二待选样本数据中,筛选出位于所述第四数据位置信息指示的位置处的多个第二目标样本数据;

b7、所述第一设备根据所述多个第二目标样本数据,得到所述第二密钥。

可选的,在上述步骤b2中,所述第一设备根据所述最大值和所述最小值,确定所述多个分组范围,具体方法可以为:

所述第一设备确定所述最大值和所述最小值的差;

所述第一设备计算以2为底所述差的对数,并确定小于或等于所述对数的最大整数;

所述第一设备计算以2为底、以所述最大整数为指数的幂,得到分组数;

所述第一设备根据所述最大值和最小值,以及所述分组数,确定所述多个分组范围。

例如,当所述最大值为34,所述最小值为25时,所述差为9,log29大于3,即所述最大整数等于3,23为8,即得到所述分组数为8,此时得到的所述多个分组范围分别为[25,26.125)[26.125,27.25)[27.25,28.375)[28.375,29.5)[29.5,30.625)[30.625,31.75)[31.75,32.875)[32.875,34]。

通过上述方法得到所述多个分组范围后,所述第一设备针对每个分组范围确定所述多个第二样本数据中均属于该分组范围的第二样本数据,将确定的第二样本数据作为一个样本数据组,这样就得到所述多个样本数据组。

例如,所述多个第二样本数据中均属于分组范围[27.25,28.375)的第二样本数据为27、27、28、28,此时27、27、28、28为一个样本数据组。

可选的,所述第一设备可以通过以下方法替换上述步骤b3得到所述多个第二待选样本数据:

所述第一设备将所述多个第二样本数据中的所有第二样本数据作为所述多个第二待选样本数据。

同样的,所述第一设备在执行步骤b1-b3的同时,所述第二设备也采用相同的方法得到多个第四待选样本数据。可选的,同样为了保证所述第一设备和所述第二设备之间密钥的一致性,所述第一设备和所述第二设备之间需要通过上述步骤b4、b5实现双方协商确定双方约定的第三数据位置信息,以使所述第一设备和所述第二设备后续准确地确定各自的生成密钥的样本数据。

可选的,与上述步骤a2同理,所述第三数据位置信息可以包括所述多个第二待选样本数据的编号。

具体的,所述第二设备在收到所述第三数据位置信息后,将所述第三数据位置信息指示的位置与所述多个第四待选样本数据在所述第二设备的多个样本数据中的位置进行对比(即将所述多个第二待选样本数据的编号与所述多个第四待选样本的数据的编号进行对比),筛选出所述第三数据位置信息指示的位置与所述多个第四待选样本数据的位置相同的位置(编号),得到所述第四数据位置信息,然后将所述第二数据位置信息发送给所述第一设备,其中所述第四数据位置同样指示所述多个第四待选样本数据的部分或全部位置。

由于得到所述第四数据位置信息的方法与得到所述第二数据位置信息的方法相同,此处不再详细举例,示例参见步骤202中得到所述第二数据位置信息的具体示例。

可选的,所述多个样本数据组中每个样本数据组均对应一个序列,每个样本数据组中包括的每个样本数据对应的序列即为该样本数据组对应的序列。每个样本数据组对应的序列可以是预先设置的,也可以是将所述多个样本数据组按顺序编号后,对每个编号进行二进制转化处理或者格雷码转化处理等处理得到对应的序列,还可以是通过其他方法得到序列,本申请对此不做限定。

可选的,在上述步骤b7中,所述第一设备根据所述多个第二目标样本数据,得到所述第二密钥,具体方法可以为:

所述第一设备根据所述多个第二目标样本数据中的每个第二目标样本数据所属的样本数据组,确定每个第二目标样本数据对应的序列;

所述第一设备按照所述多个第二目标样本数据的顺序,对所述多个第二目标样本数据对应的序列进行拼接,得到所述第二密钥。

例如,4个第二目标样本数据中每个第二目标样本数据所属的样本数据组的编号分别为3、3、5、7,所述第一设备分别将3、3、5、7转化为格雷码,分别得到所述4个第二目标样本数据中每个第二目标样本数据对应的序列分别为0010、0010、0111、0100。所述第一设备将0010、0010、0111、0100进行拼接,得到0010001001110100,即得到所述第二密钥。

步骤205:所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。

可选的,所述第一设备在执行步骤205时,可以对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥。其中,所述第一设备具体可以执行以下操作:

所述第一设备将所述第二密钥作为初始的待截取序列,将所述第一密钥作为初始的待拼接序列;

所述第一设备从所述待拼接序列的起始位置开始遍历,并通过以下步骤对所述待拼接序列进行拼接处理:

当所述第一设备确定所述待拼接序列中存在连续p个相同的比特时,所述第一设备截取所述待截取序列中前q个比特,并将所述q个比特添加到所述连续p个比特之间的指定位置,其中p、q为大于或者等于2的整数;或者

当所述第一设备确定所述待拼接序列中存在连续i个不完全相同的比特时,所述第一设备截取所述待截取序列中前j个比特,并将所述j个比特添加到所述连续i个比特之后的位置,其中,i大于或者等于p,j为大于或者等于2的整数;

所述第一设备将所述待截取序列中剩余的序列作为更新的待截取序列,并对拼接处理后的所述待拼接序列中除添加的比特以外的未遍历的序列继续进行遍历,并通过上述方法执行对所述待拼接序列进行拼接处理;直至最后更新得到的所述待截取序列为空,将最后拼接处理后得到的所述待拼接序列作为所述目标密钥,或者直至所述待拼接序列中除添加的比特以外的未遍历的序列中不存在p个相同的比特或i个不完全相同的比特,但所述待截取序列不为空,将最后更新得到的所述待截取序列添加到最后拼接处理后得到的所述待拼接序列之后,得到所述目标密钥。

例如,图3中所示的拼接过程,当p=3,q=5,i=5,j=4,所述第一密钥为10010101111011,所述第二密钥为010110100101011001101001011时,所述第一设备从所述第一密钥的起始位置开始遍历后发现存在连续的5个比特10010不完全相同。此时,所述第一设备将所述第二密钥的前4个比特0101添加到上述5个比特之后的位置,得到拼接处理后的密钥为10010101111011(其中在该序列及本例后续的序列中,加粗斜体的比特为新添加的比特),即此时待拼接序列为10010101111011,待截取序列为10100101011001101001011;

然后,所述第一设备继续遍历上述最新的待拼接序列中下划线的序列,发现存在连续的3个相同的比特111。此时,所述第一设备将最新的待截取序列的前5个比特10100添加到上述3个比特中第二个比特之后的位置,得到更新的待拼接序列为10010101111011,更新的待截取序列为101011001101001011;

之后,所述第一设备继续遍历上述最新的待拼接序列中下划线的序列,不存在连续3个相同的比特,也不存在连续5个不完全相同的比特,但是最新的待截取序列不为空,此时,将最新的待截取序列添加到更新的待拼接序列之后,得到10010101111011即得到的所述目标密钥为10010010110111010011011101011001101001011。

通过上述拼接方法,可以增加所述目标密钥的长度,从而可以提高所述目标密钥的安全性,以防被第三方破译。

采用本申请实施例提供的密钥生成方法,需要进行数据传输的第一设备和第二设备建立连接后,所述第一设备首先确定所述第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。在该方法中,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

基于以上实施例,对所述第一设备和所述第二设备互相发送多个探测信号后,分别得到各自的多个样本数据,根据各自的多个样本数据生成约定密钥的场景中一个具体示例进行详细说明:

例如,在上述场景中,所述第一设备得到的多个样本数据为(5252515651494851504143484646494745454342444750464743444341424444464246434546465250494745454646484445444443434547474443424146454450464844454648484246414040424344434649504444464551484946464745464446474748444640464447474747474848495049484849454746455355535052525150464948504851494548535054484645475148485246454445454756454343444753515152504844464646465152494848474548474748514847464647474852524947484649504847454648475148485047515246445047464447474944444242434243434545434344454443444445454647444443444142444444434444434545434142414339424243455049494947505049494644444243454445484846444647454345474645434241404045504845464551555148464748444647474445494643444446444243444243424244444446474445404141403940414142414244424646454441404041444646454644444343434851525450514445454845434953485249474847464648515149495252494843454650514650454451524545484647434446525250494852444449464344494544484746454442434444494542424139394240383838474744494447444444454646454444454443444244434345454346484949494947494646444245454243434444454545454542424141403941414344454645444548484846484645444342454542464848484847454445464850524947474747464646474848495151524646464749474340393839403940404040404040403941414143444443424140403940403939404143424142),所述第二设备得到的多个样本数据为(5153535349505052514346474648504547464442454851484945464443394646484346434547445350504645474646484646474445434750474644444344464549484946464650504146434240434348444451514545464753505046474846484650464850464643464250504848484647515149505051474948465253525254485352475049514952514649545048484846515246495448464546464946454444434951525154494746484746485154474950474849494750504645464748484951495146454948494948464649484847505248545044435144484448495145414444454444444946434546444447464647474748464643454542454245454347454746454240444440434445475149505046524851514645444645464544495048474746454246484446454438424246494946484753535350484550454747504646504444454648464345474444444445464548494648414241414142404143434445434747434543394247464847464843454245445050545252504546474946485154505150494646484850525151515454514944444650494848464749534742484748464746545051484353424650484444484648505146434344424243474743424142414141374038494945504446434645474644464343464641444446434443474248505050505149514648454447434341414243464746464745424040424141434344454444454447494945464847464341464342444846464648464347444550534648464646444748464546474950504847444648464542394041414139394140424242424042424441454545444242404041414142404343434243)。

所述第一设备和所述第二设备先分别计算各自的多个样本数据的平均值分别为45.613748、46.322422,方差分别为3.350463,3.322167;然后各自根据设定权值,例如0.5,得到所述第一设备的第一阈值和第二阈值分别为47.288980和43.938516,所述第二设备的第一阈值和第二阈值分别为47.983506和44.661339。

当所述第一设备和所述第二设备采用传统的方法生成各自的密钥时,具体过程为:

所述第一设备和所述第二设备先分别在各自的多个样本数据中筛选出大于自身第一阈值以及小于自身第二阈值的多个样本数据;

然后,所述第一设备和所述第二设备分别在各自筛选后的多个样本数据中,以步长m为3筛选出各自的待选样本数据;

之后,所述第一设备和所述第二设备分别在各自的待选样本数据中筛选出各自的目标样本数据;

最后,所述第一设备对其筛选出的目标样本数据进行量化得到密钥111101001111111110001110000011111110001000100000000;所述第二设备对其筛选出的目标样本数据进行量化得到密钥111101001111111111001110000011111100001000100000000。

此时,所述第一设备生成的密钥和所述第二设备生成的密钥即为所述第一设备和所述第二设备约定的密钥,在所述第一设备和所述第二设备进行数据传输时,所述第一设备通过生成的密钥解密得到数据,所述第二设备通过生成的密钥解密得到数据。

显然,通过上述传统的方法,由于丢弃了大量样本数据,使样本数据的利用率较低,造成所述第一设备和所述第二设备生成的密钥长度较短,导致密钥的安全性低,容易被第三方破译,造成通信双方传输的数据被第三方截获。

但同样在上述场景中,所述第一设备和所述第二设备均采用本申请图2所示的实施例提供的密钥生成方法,可以解决采用上述传统方法造成的密钥长度较短,导致密钥的安全性低的问题。具体过程如下:

所述第一设备和所述第二设备在通过上述传统的方法得到各自密钥的同时,所述第一设备和所述第二设备还执行以下操作:

所述第一设备筛选出其多个样本数据中大于其第二阈值且小于其第一阈值的多个样本数据,所述第二设备筛选出其多个样本数据中大于其第二阈值且小于其第一阈值的多个样本数据;

所述第一设备和所述第二设备分别确定各自筛选出的多个样本数据中的最大值,最小值,进而确定各自的分组数;

所述第一设备和所述第二设备分别根据各自的最大值、最小值和分组数,分别确定各自的多个分组范围,并根据各自的多个分组范围得到各自的多个样本数据组;

当n为3时,所述第一设备在筛选出的多个样本数据中继续筛选出多个待选样本数据,其中包含每个待选样本数据在内的连续3个样本数据均位于同一个样本数据组;所述第二设备同样在筛选出的多个样本数据中继续筛选出多个待选样本数据;

所述第一设备将其筛选出的多个待选样本数据的编号发送给所述第二设备;

所述第二设备将接收的多个待选样本数据的编号与自身的多个待选样本数据的编号进行比对,筛选出两者编号相同的编号,将筛选出的编号返回给所述第一设备;

所述第一设备根据所述第二设备返回的编号,在其筛选出的多个待选样本数据中继续筛选出对应的多个目标样本数据;所述第二设备根据筛选出的编号,在其筛选出的多个待选样本数据中继续筛选出对应的多个目标样本数据;

所述第一设备确定每个目标样本数据所属的样本数据组,同样的,所述第二设备确定每个目标样本数据所属的样本数据组;

所述第一设备和所述第二设备分别将各自的每个样本数据组对应的编号转化成格雷码,将每个样本数据组对应的格雷码作为该样本数据组中包含的样本数据对应的序列,进而所述第一设备可以得到其筛选出的每个目标样本数据对应的序列,所述第二设备可以得到其筛选出的每个目标样本数据对应的序列;

所述第一设备按照其筛选出的多个目标样本数据的顺序,对多个目标样本数据对应的序列进行拼接,得到新密钥111110111110111111110110111110;所述第二设备按照其筛选的多个目标样本数据的顺序,对多个目标样本数据对应的序列进行拼接,得到新密钥111110110110111110110110110110;

所述第一设备和所述第二设备均分别设置p=3、q=2、i=5、j=3;所述第一设备采用上述步骤205中的方法对传统的方法得到的密钥(111101001111111110001110000011111110001000100000000)和得到的新密钥(111110111110111111110110111110)进行拼接处理,得到目标密钥11111110100110111111111110111111100111111000110001111101111111000111000010000000;以及所述第二设备同样采用相同的方法对传统方法得到的密钥(111101001111111111001110000011111100001000100000000)和得到的新密钥(111110110110111110110110110110)进行拼接处理,得到目标密钥11111110100110111111111110111111100111111000110001111101111111000111000010000000。

此时,所述第一设备和所述第二设备各自生成的目标密钥即为所述第一设备和所述第二设备约定的密钥,在所述第一设备和所述第二设备进行数据传输时,所述第一设备通过其生成的目标密钥解密得到数据,所述第二设备通过其生成的目标密钥解密得到数据。

显然,通过本申请实施例提供的密钥生成方法,利用了传统的方法所用的样本数据的同时,也利用了传统的方法丢弃的样本数据,使样本数据利用率较高。并且生成的最终密钥是在传统的方法生成的密钥的基础上拼接了另一个密钥,使最终的密钥长度显然大于传统的方法生成的密钥的长度,提高了密钥的安全性。

综上所述,采用本申请实施例提供的密钥生成方法,所述第一设备和所述第二设备生成的各自的目标密钥是对各自所有样本数据进行处理得到的,使样本数据的利用率较高,进而使各自的目标密钥的长度较长,从而提高了各自的目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

基于以上实施例,本申请实施例还提供了一种第一设备,该第一设备应用于如图1所示的移动通信系统,用于实现如图2所示的密钥生成法。参阅图4所示,该第一设备400包括:接收单元401和处理单元402,其中,

所述接收单元401,用于接收第二设备向所述第一设备发送的多个探测信号;

所述处理单元402,用于确定所述多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据;

根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;

根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥;

根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;

根据所述第一密钥和所述第二密钥生成目标密钥。

可选的,所述信号特征参数为信号强度、信号相位、信号幅度、信号频率中的任一种。

可选的,所述处理单元402,在根据所述多个样本数据的平均值与方差,确定所述第一阈值和所述第二阈值时,具体用于:

计算所述方差与设定权值的乘积;

将所述平均值与所述乘积之和作为所述第一阈值;以及将所述平均值与所述乘积之差作为所述第二阈值。

可选的,所述处理单元402,在根据所述多个第一样本数据,生成所述第一密钥时,具体用于:

在所述多个第一样本数据中筛选出多个第一待选样本数据,其中,所述多个第一待选样本数据中的每个第一待选样本数据均满足第一条件:位于连续m个均大于第一阈值的第一样本数据中的第一设定位置,或位于连续m个均小于第二阈值的第一样本数据中的第二设定位置,m为大于或者等于2的整数;

将第一数据位置信息发送给所述第二设备,其中,所述第一数据位置信息指示所述多个第一待选样本数据在所述多个样本数据中的位置;

接收所述第二设备返回的第二数据位置信息,其中,所述第二数据位置信息指示所述第一数据位置信息中的部分或全部位置;

在所述多个第一待选样本数据中,筛选出位于所述第二数据位置信息指示的位置处的多个第一目标样本数据;

对所述多个第一目标样本数据进行量化处理,得到所述第一密钥。

可选的,所述处理单元402,在根据所述多个第二样本数据,生成所述第二密钥时,具体用于:

确定所述多个第二样本数据中的最大值和最小值;

根据所述最大值和所述最小值,确定多个分组范围,并根据所述多个分组范围对所述多个第二样本数据进行分组,得到多个样本数据组;

在所述多个第二样本数据中筛选出多个第二待选样本数据,其中,所述多个第二待选样本数据中的每个第二待选样本数据均满足第二条件:包含所述第二待选样本数据在内的连续n个第二样本数据均位于同一样本数据组,其中,n为大于或者等于2的整数;

将第三数据位置信息发送给所述第二设备,其中,所述第三数据位置信息指示所述多个第二待选样本数据在所述多个样本数据中的位置;

接收所述第二设备返回的第四数据位置信息,其中,所述第四数据位置信息指示所述第三数据位置信息中的部分或全部位置;

在所述多个第二待选样本数据中,筛选出位于所述第四数据位置信息指示的位置处的多个第二目标样本数据;

根据所述多个第二目标样本数据,得到所述第二密钥。

可选的,所述处理单元402,在根据所述最大值和所述最小值,确定所述多个分组范围时,具体用于:

确定所述最大值和所述最小值的差;

计算以2为底所述差的对数,并确定小于或等于所述对数的最大整数;

计算以2为底、以所述最大整数为指数的幂,得到分组数;

根据所述最大值和最小值,以及所述分组数,确定所述多个分组范围。

可选的,所述处理单元402,在根据所述多个第二目标样本数据,得到所述第二密钥时,具体用于:

根据所述多个第二目标样本数据中的每个第二目标样本数据所属的样本数据组,确定每个第二目标样本数据对应的序列;

按照所述多个第二目标样本数据的顺序,对所述多个第二目标样本数据对应的序列进行拼接,得到所述第二密钥。

可选的,所述处理单元402,在根据所述第一密钥和所述第二密钥生成所述目标密钥时,具体用于:

对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥。

可选的,所述处理单元402,在对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥时,具体用于:

将所述第二密钥作为初始的待截取序列,将所述第一密钥作为初始的待拼接序列;

从所述待拼接序列的起始位置开始遍历,并通过以下步骤对所述待拼接序列进行拼接处理:

当确定所述待拼接序列中存在连续p个相同的比特时,截取所述待截取序列中前q个比特,并将所述q个比特添加到所述连续p个比特之间的指定位置,其中p、q为大于或者等于2的整数;或者

当确定所述待拼接序列中存在连续i个不完全相同的比特时,截取所述待截取序列中前j个比特,并将所述j个比特添加到所述连续i个比特之后的位置,其中,i大于或者等于p,j为大于或者等于2的整数;

将所述待截取序列中剩余的序列作为更新的待截取序列,并对拼接处理后的所述待拼接序列中除添加的比特以外的未遍历的序列继续进行遍历,并通过上述方法执行对所述待拼接序列进行拼接处理;直至最后更新得到的所述待截取序列为空,将最后拼接处理后得到的所述待拼接序列作为所述目标密钥,或者直至所述待拼接序列中除添加的比特以外的未遍历的序列中不存在p个相同的比特或i个不完全相同的比特,但所述待截取序列不为空,将最后更新得到的所述待截取序列添加到最后拼接处理后得到的所述待拼接序列之后,得到所述目标密钥。

采用本申请实施例提供的第一设备,首先确定所述第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。在该方法中,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

基于以上实施例,本申请实施例还提供了一种第一设备,所述第一设备应用于如图1所示的移动通信系统,用于实现如图2所示的密钥生成方法。参阅图5所示,所述第一设备500包括:收发器501、处理器502以及存储器503,其中,

所述收发器501、所述处理器502以及所述存储器503之间相互连接。可选的,所述收发器501、所述处理器502以及所述存储器503通过所述总线504相互连接;所述总线504可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

所述第一设备500在实现如图2所示的密钥生成方法时:

所述收发器501,用于接收第二设备向所述第一设备500发送的多个探测信号;

所述处理器502,用于确定所述多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据;

根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;

根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥;

根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;

根据所述第一密钥和所述第二密钥生成目标密钥。

可选的,所述信号特征参数为信号强度、信号相位、信号幅度、信号频率中的任一种。

可选的,所述处理器502,在根据所述多个样本数据的平均值与方差,确定所述第一阈值和所述第二阈值时,具体用于:

计算所述方差与设定权值的乘积;

将所述平均值与所述乘积之和作为所述第一阈值;以及将所述平均值与所述乘积之差作为所述第二阈值。

可选的,所述处理器502,在根据所述多个第一样本数据,生成所述第一密钥时,具体用于:

在所述多个第一样本数据中筛选出多个第一待选样本数据,其中,所述多个第一待选样本数据中的每个第一待选样本数据均满足第一条件:位于连续m个均大于第一阈值的第一样本数据中的第一设定位置,或位于连续m个均小于第二阈值的第一样本数据中的第二设定位置,m为大于或者等于2的整数;

将第一数据位置信息发送给所述第二设备,其中,所述第一数据位置信息指示所述多个第一待选样本数据在所述多个样本数据中的位置;

接收所述第二设备返回的第二数据位置信息,其中,所述第二数据位置信息指示所述第一数据位置信息中的部分或全部位置;

在所述多个第一待选样本数据中,筛选出位于所述第二数据位置信息指示的位置处的多个第一目标样本数据;

对所述多个第一目标样本数据进行量化处理,得到所述第一密钥。

可选的,所述处理器502,在根据所述多个第二样本数据,生成所述第二密钥时,具体用于:

确定所述多个第二样本数据中的最大值和最小值;

根据所述最大值和所述最小值,确定多个分组范围,并根据所述多个分组范围对所述多个第二样本数据进行分组,得到多个样本数据组;

在所述多个第二样本数据中筛选出多个第二待选样本数据,其中,所述多个第二待选样本数据中的每个第二待选样本数据均满足第二条件:包含所述第二待选样本数据在内的连续n个第二样本数据均位于同一样本数据组,其中,n为大于或者等于2的整数;

将第三数据位置信息发送给所述第二设备,其中,所述第三数据位置信息指示所述多个第二待选样本数据在所述多个样本数据中的位置;

接收所述第二设备返回的第四数据位置信息,其中,所述第四数据位置信息指示所述第三数据位置信息中的部分或全部位置;

在所述多个第二待选样本数据中,筛选出位于所述第四数据位置信息指示的位置处的多个第二目标样本数据;

根据所述多个第二目标样本数据,得到所述第二密钥。

可选的,所述处理器502,在根据所述最大值和所述最小值,确定所述多个分组范围时,具体用于:

确定所述最大值和所述最小值的差;

计算以2为底所述差的对数,并确定小于或等于所述对数的最大整数;

计算以2为底、以所述最大整数为指数的幂,得到分组数;

根据所述最大值和最小值,以及所述分组数,确定所述多个分组范围。

可选的,所述处理器502,在根据所述多个第二目标样本数据,得到所述第二密钥时,具体用于:

根据所述多个第二目标样本数据中的每个第二目标样本数据所属的样本数据组,确定每个第二目标样本数据对应的序列;

按照所述多个第二目标样本数据的顺序,对所述多个第二目标样本数据对应的序列进行拼接,得到所述第二密钥。

可选的,所述处理器502,在根据所述第一密钥和所述第二密钥生成所述目标密钥时,具体用于:

对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥。

可选的,所述处理器502,在对所述第一密钥和所述第二密钥进行拼接处理,得到所述目标密钥时,具体用于:

将所述第二密钥作为初始的待截取序列,将所述第一密钥作为初始的待拼接序列;

从所述待拼接序列的起始位置开始遍历,并通过以下步骤对所述待拼接序列进行拼接处理:

当确定所述待拼接序列中存在连续p个相同的比特时,截取所述待截取序列中前q个比特,并将所述q个比特添加到所述连续p个比特之间的指定位置,其中p、q为大于或者等于2的整数;或者

当确定所述待拼接序列中存在连续i个不完全相同的比特时,截取所述待截取序列中前j个比特,并将所述j个比特添加到所述连续i个比特之后的位置,其中,i大于或者等于p,j为大于或者等于2的整数;

将所述待截取序列中剩余的序列作为更新的待截取序列,并对拼接处理后的所述待拼接序列中除添加的比特以外的未遍历的序列继续进行遍历,并通过上述方法执行对所述待拼接序列进行拼接处理;直至最后更新得到的所述待截取序列为空,将最后拼接处理后得到的所述待拼接序列作为所述目标密钥,或者直至所述待拼接序列中除添加的比特以外的未遍历的序列中不存在p个相同的比特或i个不完全相同的比特,但所述待截取序列不为空,将最后更新得到的所述待截取序列添加到最后拼接处理后得到的所述待拼接序列之后,得到所述目标密钥。

所述存储器503,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。所述存储器503可能包含ram,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。所述处理器502执行所述存储器503所存放的应用程序,实现上述功能,从而实现如图2所示的密钥生成方法。

采用本申请实施例提供的第一设备,首先确定所述第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。在该方法中,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

综上所述,通过本申请实施例提供一种密钥生成方法及装置,第一设备首先确定所述第二设备向所述第一设备发送的多个探测信号中每个探测信号的预设的信号特征参数的取值,得到多个样本数据,并根据所述多个样本数据的平均值与方差,确定第一阈值和第二阈值,所述第一阈值大于所述第二阈值;然后所述第一设备根据所述多个样本数据中大于第一阈值,以及小于第二阈值的多个第一样本数据,生成第一密钥,以及根据所述多个样本数据中除所述多个第一样本数据以外的多个第二样本数据,生成第二密钥;最后所述第一设备根据所述第一密钥和所述第二密钥生成目标密钥。在该方法中,所述第一设备生成的目标密钥是对所有样本数据进行处理得到的,使样本数据的利用率较高,进而使所述目标密钥的长度较长,从而提高了所述目标密钥的安全性,保证了所述第一设备和所述第二设备传输的数据的安全。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1