本发明属于信息安全领域,尤其涉及一种基于信道状态信息的物理层密钥生成方法。
背景技术:
随着无线通信技术的快速发展,信息安全问题越来越突出,由于无线信道的广播特性使得合法用户容易受到非法用户的攻击,如窃听、干扰、重放等。因此保护无线传输已经引起了广泛的研究兴趣。传统的加密算法一般依赖计算上的复杂性,它们假定攻击者的计算能力有限,在有效时间内无法获取密钥。但是这对资源受限的设备并不适用。同时,传统的公钥基础设施依赖可靠的第三方机构来分发密钥,但是在动态的移动无线环境中,很难保证证书颁发机构或密钥分发中心的可用性。近年来物理层密钥生成作为保护无线传输的技术受到广泛关注。物理层密钥生成技术是一项以无线信道特征作为随机源生成密钥的安全技术,该技术利用信道的互易性保证通信双方生成的密钥一致,利用信道的时变性确保生成的密钥随机。无线物理层密钥生成中常用的无线信道特征是接收信号强度(receivedsignalstrength,rss):在密钥生成中rss是最容易获取的信道参数。rss表示一段时间内的平均信号能量,是一种粗粒度的信道信息度量。在相干时间内,相同链路的上下行信道的多径属性是相同的,因此可以利用上下行测量的rss来生成密钥。由于每个数据包只能获得一个rss值,密钥生成速率得到了限制,此外rss容易遭受可预测的信道攻击。
传统的加密方案具有计算复杂度高以及需要密钥分发中心的缺点,而且使用简单串联相位信息和幅度信息的方法在量化后生成的初始密钥一致性不高,从而在信息协调阶段所需要的开销就更大以及传统的加密方案单独使用相位信息或者幅度信息的方法生成的密钥随机性差。
技术实现要素:
本发明目的在于提供一种基于信道状态信息的物理层密钥生成方法,以解决现有密钥生成方法可能存在的密钥随机性差、信息协同开销大以及密钥长度不足的技术问题。
为解决上述技术问题,本发明的一种基于信道状态信息的物理层密钥生成方法的具体技术方案如下:
一种基于信道状态信息的物理层密钥生成方法,包括以下步骤:
步骤一:第一通信方和第二通信方分别对信道进行探测估计,根据信道的互易性得到一致的信道估计值
步骤二:由于信道的非同时测量以及信道噪声等因素的影响,通信双方量化后得到的初始密钥ka和kb通常不完全相同,因此对于步骤一生成的初始密钥进行信息协同操作。期待输出双方一致的密钥;
步骤三:对于步骤二得到的密钥做一致性校验。使用相同的哈希函数生成密钥的哈希值,对比双方的哈希值,若双方哈希值一致则密钥生成成功;否则密钥生成失败,重用以前的密钥,待下一帧重新开始密钥生成过程。
进一步地,作为本发明的一种优选技术方案,所述步骤一中相位信息与幅度信息联合分区的方法为:算法一:相位-幅度联合,具体包括:
算法一:相位-幅度联合,算法一首先利用相位信息选择信道估计值,再结合幅度信息生成密钥,具体包括以下步骤:
步骤1:将相位分为m块,设置幅度保护阈值ga和相位保护阈值
步骤2:第一通信方从
步骤3:第一通信方从ppb中随机选择一个子集p′pb将位置索引向量p′pb=[ppb(1),ppb(2),...,ppb(l′pb)]t发送给第二通信方,其中lpb是符合条件的总段数;
步骤4:根据接收到的p′pb,第二通信方检查
步骤5:计算lpa/l′pb,若比值小于0.5+error,则判定存在主动攻击。若比值大于0.5+error则判定p′pb来自第一通信方。第二通信方将ppa发送给第一通信方;
步骤6:根据位置索引向量ppa以及相位量化阶数m,将被选择的信道估计值的相位信息量化,得到相位初始密钥kpa(k)和kpb(k);
步骤7:根据位置索引向量ppa以及幅度量化方法将被选择的信道估计值的幅度信息量化,得到幅度初始密钥kma(k)和kmb(k);
步骤8:交叉合并基于相位生成的密钥和基于幅度生成的密钥,最终生成的密钥为:k(k)=[kp(k),km(k)],(k=1,2…lpa),其中lpa是符合条件的总段数。
进一步地,作为本发明的一种优选技术方案,所述步骤一中相位信息与幅度信息联合分区的方法为:算法二:幅度-相位联合,具体包括:
算法二:幅度-相位联合,算法二首先利用幅度信息选择信道估计值,再结合相位信息生成密钥,具体包括以下步骤:
步骤1:根据幅度量化方法将幅度信息分为n块;
步骤2:第一通信方从
步骤3:第一通信方从pmb中随机选择一个子集p′mb将位置索引向量p′mb=[pmb(1),pmb(2),...,pmb(l′mb)]t发送给第二通信方,其中l′mb是符合条件的总段数;
步骤4:第二通信方根据接收到的p′mb,检查
步骤5:计算lma/l′mb,若比值小于0.5+error,则判定存在主动攻击。若比值大于0.5+error则判定p′mb来自第一通信方。第二通信方将pma发送给第一通信方;
步骤6:根据位置索引向量pma以及幅度量化方法,将被选择的信道估计值的幅度信息量化,得到幅度初始密钥kma(k)和kmb(k);
步骤7:根据位置索引向量pma以及相位量化阶数m将被选择的信道估计值的相位信息量化,得到相位初始密钥kpa(k)和kpb(k);
步骤8:交叉合并基于相位生成的密钥和基于幅度生成的密钥,最终生成的密钥为:k(k)=[km(k),kp(k)],(k=1,2…lma),其中lma是符合条件的总段数。
进一步地,作为本发明的一种优选技术方案,算法一所述步骤7以及算法二所述步骤1中的幅度量化方法,可以采用双阈值量化、均值量化、中位数量化等。
进一步地,作为本发明的一种优选技术方案,所述步骤二中对初始密钥进行信息协同操作,可以采用纠错码纠正双方初始密钥的不一致位。
本发明采用上述技术方案,能产生如下技术效果:
本发明的方法利用无线信道的信道特征生成密钥,相比于传统的加密方案具有计算复杂度低以及不需要密钥分发中心的优点;相比于已有的串联相位与幅度信息的算法,本文提出的算法在量化后生成的初始密钥具有更高的一致性,在信息协同阶段所需要的开销更小;相比于单独使用csi的相位信息或幅度信息生成密钥的方法,本文所提出的方法能增强密钥的随机性和增加密钥的长度,并且可以抵抗伪造攻击。
附图说明
图1为本发明的原理示意图;
图2为本发明的信道探测时序图;
图3为本发明的相位分区图;
图4为本发明的基于均值的幅度分区图;
图5为本发明的基于中位数的幅度分区图;
图6为本发明的双阈值量化幅度图;
图7为本发明算法二的密钥长度图。
具体实施方式
下面结合附图,对本发明一种基于信道状态信息的物理层密钥生成方法做进一步详细的描述。
如图1所示,本发明提出一种基于信道状态信息的物理层密钥生成方法,本方法具体包括以下步骤:
步骤一:alice和bob分别向对方发送导频探测信号,如图2所示,alice在某一时刻向bob发送探测信号1,经过时间t1,bob成功接收探测信号1,接着bob经历收发转换δt的时间,与此同时alice经历发收转换δt的时间。然后bob向alice发送探测信号2,经过时间t2,alice接收到探测信号,至此完成一次信道双向探测。假设信道相干时间为tc,为了保证双方得到高度相关的探测值,一个探测周期必须在相干时间内完成,即:t1+t2+δt≤tc。
在信道探测过程中,假定alice和bob在相干时间内互发探测信号,并利用最小二乘法估计出信道频率响应cfr,alice和bob端的信道频率响应cfr估计值如下:
其中eb(n1,k)和ea(n2,k)是估计误差,可将其视为均值为0,方差为
步骤二:通信双方在信道探测之后得到信道估计值
算法一:相位-幅度联合方法按如下步骤进行:
(1)基于相位的密钥提取
alice和bob利用信道频率响应cfr估计值
步骤1:bob从
步骤2:bob从位置索引向量ppb中随机挑选一个子集p′pb将位置索引向量p′mb=[ppb(1),ppb(2),…,ppb(l′pb)]t发送给alice。
步骤3:根据接收到的p′pb,alice检查
步骤4:计算lpa/l′pb,若比值小于0.5+error,则判定存在主动攻击。若比值大于0.5+error则判定位置索引向量p′pb来自bob。alice将位置索引向量ppa发送给bob。
(2)相位量化
alice和bob根据位置索引向量ppa,对信道频率响应cfr估计值
(3)幅度量化
alice和bob根据位置索引向量pa,计算相应cfr估计值
①基于均值的量化:
如图4所示,其中ga是幅度阈值。mean是幅度响应ma(k)或mb(k)的均值。当m(k)>mean时被量化为1,ga<m(k)≤mean时被量化为0,m(k)落入其他区域时将被舍弃。
②基于中位数的量化:如图5所示,将幅度响应ma(k)和mb(k)从小到大排序,记前一半为mfa和mfb,后一半为mba和mbb。mf的中位数记为median0,m(k)的中位数记为median1,mb的中位数记为median2。
(4)密钥合并
交叉合并基于相位生成的密钥和基于幅度生成的密钥,最终生成的密钥为:k(k)=[kp(k),km(k)],(k=1,2…lpa)。(假设m=8,cfr估计值的相位落入z1决策域(量化为000),幅度落入图5所示区域③被量化为11,即此cfr估计值被量化为00011)。
算法二:幅度相位联合方法按如下步骤进行:
(1)基于幅度的密钥提取
cfr估计值
①双阈值量化:
如图6所示,其中q+=mean+a*σ,q-=mean-a*σ,mean是ma(k)或mb(k)的均值,a是阈值参数,σ是ma(k)或mb(k)的标准差。当m(k)>q+时,m(k)被量化为1,当m(k)<q-时,m(k)被量化为0,当q-≤m(k)≤q+时该值被舍弃。
②中位数量化:
将幅度响应ma(k)和mb(k)从小到大排序,记前一半为mfa和mfb,后一半为mba和mbb。mf的中位数记为median0,m(k)的中位数记为median1,mb的中位数记为median2。
量化之后使用level-crossing算法挑出待使用的信道估计值。level-crossing算法的具体步骤如下:
步骤1:bob从mb(k)中找到连续m2个落入相同量化区域的值。将该段中间值的位置信息记为pmb(k),即对于一串k=kstart,...,kend,若mb(k)落入相同的量化区域,则bob将位置索引
步骤2:bob从数组pmb中随机的选取一个子集p′mb,将位置索引向量p′mb=[pmb(1),pmb(2),…,pmb(l′mb)]t发送给alice。
步骤3:alice接收到p′mb之后,检查ma(k)的相应位置处是否也存在连续m2个位于相同量化区域的值,若存在则将该位置信息记录在pma中,若不存在则舍弃该位置信息。pma=[pma(1),pma(2),...,pma(lma)]t,lma是符合条件的总段数。
步骤4:计算lma/l′mb,若比值小于0.5+error,则判定存在主动攻击。若比值大于0.5+error则判定p′mb来自bob。并将pma发送给bob。
根据pma,通过两种量化方法对ma(k)和mb(k)(k=1,2,...,lma)进行量化,并生成基于幅度的初始密钥kma和kmb。经历以上步骤的挑选初始密钥kma(k)和kmb(k)可达到高度一致性,对存在少许的比特不一致位,在后续的信息协同阶段纠正。
(2)相位量化
根据pmb对cfr估计值的相位信息
(3)密钥合并
交叉合并基于幅度生成的密钥和基于相位生成的密钥。最终生成的密钥为:k(k)=[km(k),kp(k)],(k=1,2…lma)。
步骤三:使用bch纠错码对k(k)进行纠错。bch(n,k,t)码具有n位码字和k位信息,可以纠正t位错误。首先alice选择随机数组r,经过bch编码得到码字c,然后alice根据异或运算s=xor(ka,c)计算校验子,再将校验子s发送给bob,假设bob正确接收s,bob计算码字cb=xor(kb,s),如果ka和kb的不一致比特数在纠错范围内,则cb解码后得到的c′b与码字c相同,最后经过异或运算k′b=xor(c′b,s),最终alice得到密钥k′a,(k′a=ka),bob得到密钥k′b。以bch(7,4,1)码为例,举例说明了纠错过程,其中码字长度为7,信息位为3位,可以纠正1位错误。ka和kb有1比特的不一致位,导致码字c和cb之间也有一位的差异,这在bch码的纠错范围之内,所以经过bch解码得到与c相同的码字c′b。
步骤四:对于步骤三得到的密钥做一致性确认。使用相同的哈希函数生成密钥的哈希值,对比双方的哈希值,若哈希值一致则密钥生成成功,若不一致则重用以前的密钥,密钥生成过程从下一帧重新开始。
如图7所示,为本发明根据算法二得到的密钥长度图像。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。