一种基于神经网络的高一致性物理密钥生成方法与流程

文档序号:15099031发布日期:2018-08-04 15:16阅读:219来源:国知局

本发明属于通信领域,具体来说,涉及一种基于神经网络的高一致性物理密钥生成方法。



背景技术:

寻求一种新的安全技术以弥补现有无线加密机制的不足,实现更高的安全性保证是一个极具研究价值的课题。物理层安全为这一问题的解决开辟了新的路径,其原理是从信息论出发,利用无线信道的物理特性而不是增加计算复杂度来解决通信保密性问题。具体而言,根据对无线信道特性利用方式的不同,物理层安全解决方案可分为以下两大类。第一类,即利用信道差异性构建Wire-tap信道直接进行保密信息的安全传输。基于Wyner提出的Wire-tap窃听信道模型,只要主信道(源节点和目的节点间信道)优于窃听信道(源节点和窃听节点间信道),源节点和目的节点就可以实现Shannon信息论意义上的绝对安全(亦称为“无条件安全”)。这类方案通常要求源节点同时具备主信道和窃听信道的信道状态信息以便进行安全传输所需的Wyner安全编码,因此在实际场景中其应用受到较大限制。第二类,就是基于无线信道随机动态特性的物理密钥生成方案。

从物理特征上看,无线衰落信道呈现出随机动态且唯一的特性。无线信道的唯一性保证了主信道和窃听信道之间必然存在差异,而其随机动态变化特性又使得这一差异能够实时更新。这为利用无线信道物理特性实时生成动态密钥提供了可能。特别是在TDD(Time Division Duplexing,时分双工)系统中,源节点到目的节点的信道与目的节点到源节点的信道之间具有短时互易特性。这意味着合法通信双方能够共享不为窃听节点所知的信道信息(例如信道冲激响应的幅度和相位信息等)。在通信过程中,合法通信双方通过各自独立对主信道进行估计,就能提取出主信道的特征信息,并生成窃听节点无法获知的一致密钥。此密钥为源节点和目的节点所共享且随主信道动态变化,可实现“一次一密”的安全通信。相较于传统密钥体制,基于无线信道物理特性生成的物理密钥具有以下优点:1)在线生成分发。合法通信双方各自独立从信道提取物理密钥,无需另外的密钥分发中心或用户认证中心,避免了传统密钥无线分发过程中的安全性问题。2)实时动态更新。无线信道的随机动态时变特性保证了物理密钥的实时动态更新。这有利于实现“一次一密”,大大提高了无线安全性。例如,在破解KASUMI过程中,先要发送数百万条明文经运营商网络加密,然后截取密文与明文进行比对分析加以破解。如果采用“一次一密”的物理密钥,这种比对分析将是无效的。

大致上,物理密钥的生成过程可分为三个阶段:1)通信双方信道探测;2)信道特征提取量化;3)密钥一致性校验。无线信道最基本的特征之一就是信道冲激响应,其幅度、相位的随机变化为在线产生密钥提供了来源。然而,由于源节点、目的节点均工作于TDD模式,不能同时进行无线收发,二者的信道探测存在时延。时延导致了目的节点的探测结果和源节点的探测结果之间存在误差。



技术实现要素:

技术问题:本发明所要解决的技术问题是:提出一种基于神经网络的高一致性物理密钥生成方法,利用源节点、目的节点探测结果的时间相关性,通过对样本进行训练得到能够进行有效预测的神经网络参数,再利用训练好的神经网络进行物理密钥生成,提高一致性。

技术方案:为解决上述技术问题,本发明采用的技术方案是:

一种基于神经网络的高一致性物理密钥生成方法,该生成方法包括以下步骤:

步骤10):在一无线物理密钥生成模型中,设有一个源节点S、一个目的节点D和一个窃听节点E,所有节点采用TDD方式工作;设在时刻t,源节点S和目的节点D之间的信道系数记为hSD(t),源节点S和窃听节点E之间的信道系数记为hSE(t),目的节点D和窃听节点E之间的信道系数记为hDE(t);

步骤20):获取训练样本;

步骤30):建立神经网络模型;

步骤40):训练参数;

步骤50):生成密钥;

步骤60):进行一致性检验。

作为优选例,所述步骤20)包括:受TDD方式限制,源节点S和目的节点D不能同时进行信号收发,故二者交替进行信道探测;设从t1到tn时刻,源节点S通过信道探测得到的幅度值为aS=[a(t1),a(t2),...,a(tn)],目的节点D每次信道探测比源节点S延后Δ时刻,得到的幅度值为aD=[a(t1+Δ),a(t2+Δ),...,a(tn+Δ)];随后,目的节点D将aD发送给源节点S,供源节点S进行神经网络参数训练;源节点S在进行神经网络训练之前,对(aS,aD)进行归一化处理,得到其中,将作为训练样本。

作为优选例,所述步骤30)包括:神经网络模型包括输入层、隐层和输出层,其中,

输入层:以即归一化的源节点信道探测结果为输入向量,设输入层神经元个数为q1个;

隐层:设隐层神经元个数为q2个,隐层输入向量为α,隐层输出向量为b,隐层阈值向量为γ,输入层和隐层的连接矩阵为V;

输出层:输出层神经元个数为1;隐层和输出层的连接向量为w,输出层的输入值为β,输出层阈值为θ,输出层输出为源节点基于得到的关于的预测值;

通过神经网络模型,源节点利用自身ti至ti+4时刻的信道探测结果,预测目的节点ti+4+Δ时刻的信道探测结果。

作为优选例,所述步骤40)包括:以步骤20)中归一化的信道系数幅度值为训练集,对步骤30)的神经网络模型进行训练;

源节点对进行分组,分为n-4组:为第1组,为第2组,……,为第n-4组;

源节点将上述分组输入步骤30)建立的神经网络模型中,经隐层计算,对神经网络模型的输出结果去归一化,得到对目的节点t5时刻之后探测结果的预测向量

预测值与真实值a(t5+Δ)的差值,即预测误差ξi如式(1)所示:

源节点利用梯度下降算法更新神经网络参数V、γ、w和θ,并继续将剩余分组依次输入神经网络,得到对目的节点后续时刻探测结果的预测值及预测误差;所有分组输入完毕,得累积误差E如式(2)所示

循环进行上述训练过程,直到累计预测误差的减小值小于0.0001,完成神经网络训练。

作为优选例,所述步骤50)包括:源节点、目的节点重新交替对hSD(t)进行探测,获取hSD(t)的幅度值a(t);目的节点根据自己所得的探测结果aD进行量化得到目的节点物理密钥KD,源节点通过步骤40)训练得到的神经网络基于aS对aD进行预测,再对预测结果进行量化,得到源节点物理密钥KS。

作为优选例,所述步骤60)包括:目的节点以KD为输入得到Hash函数值HD,源节点以KS为输入得到Hash函数值HS,目的节点将HD发送给源节点,源节点检验HS是否与HD相等;若相等,则表明源节点、目的节点生成了一致密钥;若不相等,则表明密钥有不一致比特,返回步骤50),若重新比较HS和HD仍不相等,则返回步骤20)。

作为优选例,所述步骤20)中,q1=5。

作为优选例,所述步骤20)中,q2=10。

有益效果:与现有技术相比,本发明具有以下有益效果:

1.在线生成。通信双方基于对无线信道物理特性的共同观察在线生成物理密钥,无需额外节点进行分发管理。在本发明中,合法通信双方各自分别对相互之间的无线信道进行探测,并对信道的观测值进行量化得到物理密钥。在密钥生成过程中,并不需要其它节点的介入和帮助,而是利用无线信道的互易性使双方得到一致密钥。也就是要得到物理密钥,只要双方进行信道探测就可得到,不是其它机构或节点分发的,而是通信双方在线生成的。

2.密钥自动更新。物理密钥随无线信道动态变化自动更新,安全性好。物理密钥的随机性来源是无线信道本身具有的时变动态随机特性,因此,合法通信双方每次信道探测的结果都是随机变化的。基于随机变化的信道探测结果量化得到的物理密钥也就是动态变化的。换言之,无线信道本身的特性使得物理密钥能够自动更新。

3.一致性好。基于自身的信道探测结果,源节点通过神经网络对目的节点的探测结果进行预测,提高了双方物理密钥的一致性。源节点和目的节点的探测结果虽然存在时延,但仍具有相关性。在本发明中,源节点通过训练样本对神经网络进行训练,使其能够根据之前时刻自身的探测值对存在时延的目的节点探测值进行预测。源节点对预测结果进行量化得到的物理密钥要比直接对自己探测结果量化得到的物理密钥更接近目的节点的物理密钥,也就是一致性更好。

附图说明

图1是本发明实施例的一个无线物理密钥生成模型,存在一个源节点S,一个目的节点D和一个窃听节点E,所有节点工作于TDD(时分半双工)方式。在时刻t,源节点S和目的节点D之间的信道系数记为hSD(t),hSD(t)的幅度记为a(t)。源节点S和窃听节点E之间的信道系数记为hSE(t),目的节点D和窃听节点E之间的信道系数记为hDE(t)。源节点、目的节点通过信道探测分别获得aS和aD。

图2是本发明实施例中训练样本获取过程示意图,目的节点探测时间比源节点滞后Δ。

图3是本发明实施例中神经网络模型图,其中,输入层输入向量为隐层输入向量为α,隐层输出向量为b,隐层阈值向量为γ,输入层和隐层的连接矩阵为V,隐层和输出层的连接向量为w,输出层的输入值为β,输出层阈值为θ,输出层输出为源节点基于得到的关于的预测值。

图4是本发明实施例中源节点对归一化探测结果分组及预测示意图。

图5是本发明实施例中的流程图。

图6是本发明实施例对信道探测值的预测情况图。

图7是本发明实施例中源节点、目的节点生成物理密钥的一致性概率图。

具体实施方式

下面结合附图,对本发明的技术方案进行详细的说明。

如图5所示,本发明实施例的一种基于神经网络的高一致性物理密钥生成方法,包括以下步骤:

步骤10):如图1所示,在一无线物理密钥生成模型中,设有一个源节点S、一个目的节点D和一个窃听节点E,所有节点采用TDD(时分双工)方式工作;设在时刻t,源节点S和目的节点D之间的信道系数记为hSD(t),源节点S和窃听节点E之间的信道系数记为hSE(t),目的节点D和窃听节点E之间的信道系数记为hDE(t)。

源节点和目的节点都能通过信道探测得到hSD(t)的幅度信息a(t),并分别对a(t)进行比特量化,生成源节点物理密钥KS和目的节点物理密钥KD。而另一方面,由于无线信道的空间独立性,窃听节点无法获取hSD(t),只能得到hSE(t)或者hDE(t)。这保证了物理密钥的安全性。

步骤20):获取训练样本。如图2所示,受TDD方式限制,源节点S和目的节点D不能同时进行信号收发,故二者交替进行信道探测;设从t1到tn时刻,源节点S通过信道探测得到的幅度值为aS=[a(t1),a(t2),...,a(tn)],目的节点D每次信道探测比源节点S延后Δ时刻,得到的幅度值为aD=[a(t1+Δ),a(t2+Δ),...,a(tn+Δ)]。时延Δ小于信道相干时间,在相干时间内的探测结果才具有强相关性,才可用于生成一致密钥。随后,目的节点D将aD发送给源节点S,供源节点S进行神经网络参数训练;源节点S在进行神经网络训练之前,对(aS,aD)进行归一化处理,得到其中,将作为训练样本;

步骤30):建立神经网络模型。如图3所示,神经网络模型包括输入层、隐层和输出层,其中,

输入层:以即归一化的源节点信道探测结果为输入向量,设输入层神经元个数为q1个。优选的,q1=5。每次输入5个源节点的探测值,作为1个分组。

隐层:设隐层神经元个数为q2个,隐层输入向量为α,隐层输出向量为b,隐层阈值向量为γ,输入层和隐层的连接矩阵为V。矩阵V中元素vij为第i个输入神经元到第j个隐层神经元的连接权值。优选的,q2=10。

输出层:输出层神经元个数为1;隐层和输出层的连接向量为w,w=[w1,w2,...,w10]T。其中,wk为第k个隐层神经元到输出神经元的连接权值。输出层的输入值为β,输出层阈值为θ,输出层输出为源节点基于得到的关于的预测值。

通过神经网络模型,源节点利用自身ti至ti+4时刻的信道探测结果,预测目的节点ti+4+Δ时刻的信道探测结果;

步骤40):训练参数:源节点以步骤20)中归一化的信道系数幅度值为训练集,对步骤30)的神经网络模型进行训练;

首先,源节点对信道探测结果进行分组,分为n-4组:为第1组,为第2组,……,为第n-4组。如图4所示,在本发明所提方法中,源节点通过第i组归一化的信道探测结果预测目的节点ti+4+Δ时刻归一化的信道探测结果。随后,对神经网络参数V、γ、w和θ进行随机初始化。

开始训练,源节点将第1分组输入神经网络输入层,经连接权值矩阵运算,得隐层输入向量为:

其中,为第j个隐层神经元的输入。假设隐层阈值向量为γ,则输入第1分组时,隐层输出向量b(1)可由隐层输入向量与阈值向量的差值经激活函数计算得到,如下式:

b(1)=f(α(1)-γ)

其中,激活函数f采用sigmoid函数,即:

随后,隐层输入向量经连接权值向量w计算,得输入第1分组时,输出层的输入值β(1)为:

β(1)=b(1)w

输出层阈值为θ,则输入第1分组时,输出层输出y(1)为β(1)和θ差值的激活函数值,即:

y(1)=f(β(1)-θ)

y(1)是源节点输入第1分组时,经神经网络得到的关于归一化的a(t5+Δ)的预测值。

最后,对y(1)去归一化可得此处就是源节点基于自身探测结果得到的关于目的节点t5+Δ时刻探测结果a(t5+Δ)的预测值。

由此可得预测值与真实值a(ti+Δ)的差值,即预测误差ξi如式(1)所示:

随后,源节点利用梯度下降算法更新神经网络参数V、γ、w和θ,并继续将剩余分组依次输入神经网络,得到对目的节点后续时刻探测结果的预测值及预测误差。所有分组输入完毕,可得累积误差如下:

循环进行上述训练过程,直到累计预测误差的减小值(即两次累计预测误差之间的差值)小于0.0001,即预测性能改善度极为微小,完成神经网络训练。

步骤50):生成密钥:利用上述训练完成的神经网络进行物理密钥生成。源节点、目的节点重新交替对hSD(t)进行探测,获取hSD(t)的幅度值a(t);目的节点根据自己所得的探测结果aD进行量化得到目的节点物理密钥KD,源节点通过步骤40)训练得到的神经网络基于aS对aD进行预测,再对预测结果进行量化,得到源节点物理密钥KS;

步骤60):进行一致性检验:目的节点以KD为输入得到Hash函数值HD,源节点以KS为输入得到Hash函数值HS,目的节点将HD发送给源节点,源节点检验HS是否与HD相等;若相等,则表明源节点、目的节点生成了一致密钥;若不相等,则表明密钥有不一致比特,返回步骤50),若重新比较HS和HD仍不相等,则返回步骤20)。若返回步骤20)后,重新计算得到的HS与HD仍然不一致,则循环进行,直至HS与HD一致或者人为终止。

本发明采用神经网络对源节点的探测结果进行训练,使其逼近存在时延的目的节点探测结果,提高二者生成物理密钥的一致性。本发明利用探测结果样本对神经网络进行训练,使得源节点能够根据自身探测结果对存在时延的目的节点探测结果进行预测。源节点通过对预测结果的比特量化,能够更加有效地逼近目的节点的比特量化,从而有效提高物理密钥的一致性。本发明通过训练好的神经网络对源节点的信道探测结果进行预测,使其逼近目的节点的信道探测结果,提高二者生成物理密钥的一致性。

下面例举一实施例。

源节点探测得到的信道幅值aS为:

对上述信道幅值aS归一化值为:

目的节点探测得到的信道幅值aD为:

对上述信道幅值aD归一化值为:

目的节点将自己的归一化探测值发送给源节点进行神经网络训练。神经网络的参数V、γ、w和θ随机初始化如下:

γ=[0.49790 0.69481 0.83437 0.60963 0.57474 0.32604 0.45642 0.71380 0.88441 0.72086],

w=[0.01861 0.67478 0.43851 0.43782 0.11704 0.81468 0.32486 0.24623 0.34271 0.37569]',

θ=0.54655。

神经网络的输入向量为源节点归一化探测值的第1分组,即

连接权值矩阵运算,得隐层输入向量为:

由此,计算隐层输出向量b(1),如下式:

b(1)=f(α(1)-γ)

=[0.79863 0.79569 0.58982 0.81880 0.80849 0.80108 0.75180 0.71922 0.62201 0.73378]

随后,隐层输入向量经连接权值向量w计算,得输出层的输入值为:

β(1)=b(1)w=2.82633

由此,可得输出层输出为:

y(1)=f(β(1)-θ)=0.90719

这是经神经网络得到的归一化的预测值。对y(1)去归一化可得即源节点基于自身探测结果得到了关于目的节点t5+Δ时刻探测结果a(t5+Δ)=0.44759的预测值。由此,可得预测误差ξi为:

用梯度下降法更新神经网络参数,继续输入源节点归一化探测值的后续分组对神经网络进行迭代训练。

训练终止时,得到的神经网络参数为:

γ=[-1.71148 2.24710 -0.90296 1.33421 1.30246 -1.38067 0.63635 -0.85066 1.93470 2.14252],

w=[-3.12595 -3.12881 -2.89899 -1.13569 0.31809 4.91568 -0.22669 3.26872 3.61801 4.21793]',

θ=4.1809。

在物理密钥生成时,如图6所示,源节点对信道幅度的探测值为:

基于训练得到的神经网络参数去掉“参数”,源节点可计算得到预测值如下:

目的节点对信道幅度的探测值为:

需要注意的是,源节点利用自己的前五个探测值预测目的节点第五个探测值。因此,预测值是从第五个探测值开始的,而没有得到前四个时刻的预测值。例如,源节点第5个探测值为0.81821,源节点基于神经网络得到的预测值为0.59406,目的节点第5个探测值为0.42096。因此,源节点基于神经网络得到的预测值比自身的探测值更接近目的节点的探测值。

本实施例的预测情况图如图6所示。图6是从第5个探测值及对应预测值开始绘的图。从图6可以看出:源节点基于自身探测结果进行预测,能够更加逼近目的的探测值,均方误差由0.105减小为0.014。

训练过程用到了10000个探测值样本,通过10000个探测值样本训练好神经网络后,又利用100000个新的探测值进行密钥生成。在生成过程中,源节点基于自身的探测值利用神经网络来预测目的节点探测值,再对预测结果进行量化;而目的节点是直接对自己的探测值进行量化。比较源节点和目的节点的量化结果,得到了二者物理密钥比特不一致的概率,也就是图7中虚线。为加以对比,给出了源节点不经神经网络预测而是直接对自己探测值量化时的物理密钥比特不一致概率,也就是图7中实线。如图7所示,通过神经网络预测能有效降低物理密钥不一致概率,能有效提高源节点生成物理密钥与目的节点物理密钥的一致性。

以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进一步说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权利要求书及其等效物界定。

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