徐 明 范以萌 蒋昌俊
1(上海海事大学信息工程学院 上海 201306)2(同济大学电子与信息工程学院 上海 201804)3(嵌入式系统与服务计算教育部重点实验室(同济大学)上海 201804)(mingxu@shmtu.edu.cn)
密钥协商协议是密码学基本原语之一,允许通信双方在不安全网络环境下协商出公共密钥,为双方的通信安全提供认证性、机密性和完整性保护[1].为了抵抗临时秘密泄露,陈明[2]提出一种基于隐式认证技术的、具有强安全性和匿名性的两方漫游认证密钥协商方案.进一步,为了克服节点通信能力及计算能力所受的限制,张启坤等人[3]提出一种簇间轻量级非对称群组密钥协商协议,为簇间节点建立安全高效的群组通信信道.然而,由于无线网络信息传播的特性及其固有的脆弱性,使得传统的密钥协商协议越来越容易遭受信息泄露、信息篡改、重放攻击、拒绝服务等多种威胁,因此基于物理层的密钥协商成为新的研究方向.与传统的密钥协商方案相比,物理层方案具有能耗低、计算复杂度低和安全性高等特点,被认为是替代传统密钥协商方案最有前途的“接力棒”[4].在终端直接通信(device-to-device,D2D)方面,Waqas等人[5]利用信任机制和博弈论理论设计了一种基于社会关系选择最佳中继对的算法,提高了D2D通信时密钥生成的机密性.Li等人[6]提出了一种基于主成分分析(principal component analysis,PCA)预处理算法的密钥协商协议,可以在宽带噪声信道中存在信道窃听者的情况下建立高度安全的密钥.
近年来,随着各沿海国对开发海洋资源、维护国家海洋权益的日益重视,水声传感器网络技术的理论研究及应用得到越来越多的关注.水声传感网络主要由自主式水下潜器、遥控无人潜水器、潜艇以及各类潜浮标等构成.与陆地与空中无线通信网络相比,由于水声传感器网络以声波为信息载体、以海水为传播介质,因此其信号传播环境要复杂得多[7].水声信道是一个极为复杂的时变信道,通常会出现多径效应和多普勒效应[8],增加了通信双方数据传输的不确定性,降低了密钥协商的成功率.此外,由于水声信道的开放性和数据传输的高延迟、低速率等特性使得密钥协商过程中信息泄露率增加.因此,如何在不安全的信道上直接进行密钥协商就是一个值得研究的问题,而保密增强技术正好可以很好地解决这一问题.
保密增强是指通信双方从部分保密的密钥串中提取出高度保密的密钥串,最早由Bennett等人[9-10]提出.近几年,Khiabani等人[11]提出一种信息泄露率呈指数级衰减的保密增强方案来加快收敛速度;Tsurumaru 等人[12]提出利用改进的Toeplitz矩阵作为提取器来提高密钥生成效率;此外,Hayashi等人[13]构建了一种只需更短随机种子的提取器来降低在实际密码系统中物理随机数发生器的实现成本.但这些方案的成功率和密钥泄露率在很大程度上依赖随机种子的长度及其随机性,并且对物理随机数发生器的要求也很高.
通过上述分析可见,基于时变水声信道的物理层密钥生成方案需要进一步研究,因此本文设计了一种针对时变水声信道中多径多普勒效应的物理层密钥生成方案.方案包含2个部分:密钥协商和保密增强.与以往思路不同,本文方案通过刻画传输信息在多径多普勒效应下的不确定性,提出一种具有强安全性的密钥协商协议,并利用双线性映射设计出一种新的抗主动攻击的保密增强协议,该协议不依赖随机种子的长度与随机性,因此更适用于高延迟、低速率的水声信道环境.本文的主要贡献包括4个方面:
1)传统的α阶Rényi熵无法准确刻画时变水声信道的不确定性,本文针对时变水声信道的特性,给出了多径多普勒效应下α阶Rényi熵定义,并推导出系统模型中合法节点和敌手关于声源序列的信息熵.
2)提出一种具有强安全性的密钥协商协议,该协议利用Hash函数构造一元高阶多项式完成通信双方的身份认证,实现索引序列和预选密钥在公开信道下的安全传输.
3)利用双线性映射设计出一种不依赖随机种子长度与随机性并能抗主动攻击的保密增强协议.
4)通过信息理论分析,得到本方案密钥泄露率的上界和敌手主动攻击成功率的上界,并通过仿真实验,验证了本方案的健壮性、保密性和正确性.
定义1.设α为随机数,1<α≤2,则X的α阶Rényi熵定义为
(1)
X的2阶Rényi熵定义为
(2)
定义2.在随机变量Y下,X的条件熵定义为
(3)
定义3.随机变量X和Y的互信息定义为
(4)
定义4[17].设一个离散无记忆信道的输入为X,输出为Y,此离散无记忆信道的信道容量为
(5)
定义6[18].一个包含2个合法节点和1个敌手的密钥协商系统模型包含2个阶段:1)合法节点获取公共信息;2)合法节点通过公共信道进行信息调和(reconciliation)生成公共密钥串.
本节我们主要介绍系统模型,包括通信模型、敌手模型和水声信道模型.
假设有一个广播声源信号的水面基站(surface station)S,水下有2个合法节点UA,UB和一个敌手Eve.节点UA和UB接收水面基站S信息的误码率比Eve高,并且在双方通信会被Eve窃听的情况下,节点UA和UB要从水面基站S接收到的信息中提取出高度保密的密钥.通信模型如图1所示:
Fig.1 Communication model diagram图1 通信模型示意图
对于认证消息的主动攻击,通常存在2种敌手模型:
1)模仿攻击模型.敌手试图构造一个正确的认证消息.
2)替换攻击模型.敌手观察到一个正确的认证消息后试图将其替换为另一个不同的但也是正确的认证消息.
由于信号收发端的相对运动以及海洋环境的不稳定性(如海面波浪运动和海中湍流等),因此水声信道是一个复杂的时变信道[19],存在多径效应和多普勒效应,而传统的α阶Rényi熵无法直接描绘出多径多普勒效应下时变水声信道的不确定性.
以水面基站S和节点UA为例,假设S和UA分别为通信的收发方,并且位于海底的平均深度为z(单位为m).在本文中,约定所有速度变量的单位为m/s,所有角度变量的单位为°.
由文献[20]可知,温度、盐度、压力都可以表示为与深度有关的函数.假设海底深度为z处的温度函数为T(z),盐度函数为S(z),压力函数为P(z),则声速函数可表示为
c(z)=c(T(z),S(z),P(z)).
(6)
假设S和UA的主动行进速度分别为vSv和vAv.运动方向与彼此连线的水平方向的夹角分别为θSv和θAv.第条本征声线(eigenray)的入射角为θ,那么对于该本征声线,S和UA的相对速度ΔvS可表示为
ΔvS=vSvcos (θ-θSv)-vAvcos (θ-θAv).
(7)
S和UA受海水运动,例如海洋暗流、内波等,会产生不自主的漂移运动(drifting).假设S和UA的漂移速度分别为vSd和vAd,漂移方向与彼此连线的水平方向的夹角分别为θSd和θAd,则对于第条本征声线的相对漂移速度Δvd可表示为
Δvd=vSdcos (θ-θSd)-vAdcos (θ-θAd).
(8)
由于风浪的作用,考虑海面任一点随波浪上下起伏,假设该点起伏的位移在时间上呈现正弦变化的规律,正弦振幅和频率分别记为Aω和fω,其中Aω的单位为m,fω的单位为Hz,ω是该正弦量的角速度,单位为rad/s.把声波沿第条本征声线传播的路径上第λ-次经海面某点反射的随机相位记为ψ~u[-π,π],则反射波在垂直方向的速度可表示为vωsin (ψ+2πfωt),其中vω=2πfωAω.将该速度投影到第条本征声线路径对所有海面反射过程求和,并假设该声线经海面反射的次数为nr,可得到由水面垂直起伏造成的相对速度Δvr为
(9)
(10)
其中,A为第条路径上综合衰减因子,为第条路径的多普勒尺度因子,t为当前时刻,单位为ms,τ为第条路径上信号的相位延时,单位为ms.
假设相对速度Δvd和Δvr可以合成相对速度Δvrd,并且相对速度ΔvS和Δvrd的夹角为θ,根据式(7)~(9)可得式(10)所用到的水面基站S和UA的相对速度Δv为
(11)
相对速度示意图如图2所示:
Fig.2 Relative velocity diagram图2 相对速度示意图
(12)
其中,
如果信号为正则取1,如果信号为负则取0.而若想知道接收信号r(t)与发送信号s(t)的误差概率,则需要比较时间[0,T]内,每个时刻的r(t)与s(t)的正负号是否一致的概率,现给出3种可能出现的不同形状的r(t),分别设为r1(t),r2(t),r3(t),取t=t0时刻,当s(t0)>0时,r1(t0)>s(t0),0>r2(t0)>s(t0),r3(t0)<0,函数sr(t)的说明如图3所示:
Fig.3 The explanation of the function sr(t)图3 函数sr(t)说明图
由图3可知,当r(t)和s(t)同号时,sr(t)=|s(t)|;当r(t)和s(t)异号时,sr(t)=0,则函数sr(t)表示正确的信号波形.
定义8.假设水面基站S和UA分别为信号的发送节点和接收节点,Rd为基站发送的声源信号s(t)相对应的数字信号,且Rd∈GF(2l)(GF(2l)表示阶为2l的有限域,其中l为正整数),数字信号生成1位需要的时间为Δt,1<α≤2,Rd在水面基站S和UA之间多径多普勒效应下的α阶Rényi熵定义为
(13)
其中,
首先,水面基站S通过广播信道发送声源信号.由于时变水声信道特性,合法节点和敌手都会对发送的数据信息产生不同程度的不确定性.合法节点利用Hash函数构造一元高阶多项式进行身份认证和索引序列的协商,并根据索引序列从声源信号中提取出预选密钥.然后,将预选密钥中值为1的位号隐藏在一元高阶多项式中进行传输比对,最终生成具有强安全性的公共密钥串.
假设水面基站S发送的信息为Z,Z∈GF(2N)(GF(2N)表示阶为2N的有限域,其中N为正整数),UA的ID号为IDA,UB的ID号为IDB,且UA和UB知道彼此的ID号,但是Eve不知道.再假设UA和UB接收水面基站S信息的误码率分别为ε1,ε2.Eve接收水面基站S信息的误码率为ε3,且ε1>ε3,ε2>ε3.由定义8可知:
UA和UB随机生成不同字符串A和B发送给对方,其中:
A=[A1,A2,…,A(1+ε1+ε2)l],
B=[B1,B2,…,B(1+ε1+ε2)l],
并且满足1≤A1 h1(x)=(x-h(IDA‖A1))(x-h(IDA‖A2))… 其中,h1(x)和h2(x)均为一元高阶多项式,x为变量.UA将h1(x)的展开式传送给UB,UB接收到h1(x)后,先进行身份认证,计算h1(IDA)=0是否成立.如果不成立则说明此信息不是UA发送的,因此舍弃;如果成立,则再用自己生成的序列[B1,B2,…,B(1+ε1+ε2)l]和IDA代入h1(x),若h1(h(IDA‖Bj))=0,则保留Bj,否则删除,最终剩下的Bj按照从小到大的顺序排序得到序列WB;同理,UB将h2(x)的展开式传送给UA,UA收到h2(x)后,先计算h2(IDB)=0是否成立,如果不成立则说明此信息不是UB发送的,因此舍弃;如果成立,则再用自己生成的序列[A1,A2,…,A(1+ε1+ε2)l]和IDB代入h2(x),若h2(h(IDB‖Ai))=0,则保留Ai,否则删除,最终剩下的Ai按照从小到大的顺序排序得到序列WA,则WA=WB为协商的索引序列.如果WA的长度小于(1+ε1+ε2)l,则重复上述步骤,并将新生成的相同Ai和Bj分别插入WA和WB中,直到WA的长度≥(1+ε1+ε2)l. UA和UB根据WA和WB从水面基站S接收的二进制串中分别取得预选密钥MA和MB.假设MA和MB的长度为L位,且L≥(1+ε1+ε2)l. 1)如果UA和UB知道自己丢失的是声源信号的哪些位,则说明他们也知道取到了声源信号的哪些位,那么只要根据生成索引的方法将各自取到位的位置值生成函数传送给对方,让对方代入计算,便可得到相同的密钥串. 2)如果UA和UB不知道自己丢失的是声源信号的哪些位,则说明他们只能够按照自己接收的数据的位来取得MA和MB,那么在这种情况下我们用下面的方法来得到相同的密钥串: 同理,UA可以得到相同的R作为生成的密钥串.由于索引序列和预选密钥在公开信道下传输过程中,通过Hash函数构造一元高阶多项式使得敌手即使可以得到其值,也无法解出Hash前的身份信息、索引序列和预选密钥,因此该协议具有强安全性. 由于本方案假设敌手Eve接收基站信息的误码率低于合法节点,导致密钥协商协议生成的密钥串会有部分信息泄露,因此需要保密增强协议从部分保密的密钥串中提取出高度保密的密钥. 协议流程:首先将3.2节的密钥协商协议生成的密钥串分为2个部分,1)用作保密增强;2)作为随机种子.然后,利用随机种子生成一个循环加法群和对应的循环乘法群,并利用双线性映射和全域Hash函数对用于保密增强的串进行点乘、倍乘以及配对操作,最终完成节点的身份认证和密钥串的保密增强.图4描绘了本方案中保密增强协议的流程图. Fig.4 The flow chart of the privacy amplification protocol图4 保密增强协议流程图 3)UA进行UB的身份认证,检查等式 (14) 是否成立.如果不成立,说明此消息不是由UB发送的;否则就计算: (15) 4)UB进行UA的身份认证,检查等式 (16) 是否成立.如果不成立,说明此消息不是由UA发送的;否则就计算: (17) 5)UA和UB最终得到保密增强后的密钥是: (18) 式(14)~(17)正确性证明: 证明. 证毕. 式(18)的正确性证明: 证明. 证毕. (19) (20) (21) 证毕. 定理2.假设Eve可以正确得到R为事件E1,则: (22) (23) 最后,根据式(21)可得: (24) 证毕. 证明.由于R和Z同分布,根据定义8可知: (25) 因此,由式(3)和式(24)可得: (26) 证毕. (27) 定理4.假设Eve知道关于R的信息为V,v1和v2表示Eve对R1和R2分别所知道的信息量,假设事件E2表示Eve验证成功,则: 其中, 证明. 由于R1和R2相互独立,可得: 根据式(27),可得: (28) 根据定义8,可得: 证毕. 定理5.假设Eve知道关于R的信息为V,v1和v2表示Eve对R1和R2分别所知道的信息量,则在模仿攻击时, 在替换攻击时, 证明.Eve作为一个主动攻击敌手,试图冒充UA与UB生成密钥. 由式(2)和式(27)可得: 以及 (30) 根据式(30)可得: (31) 根据定义8可得: (32) 再根据式(27)可得: (33) 因此, (34) (35) 根据定义8和引理2可得: (36) 证毕. (37) 根据式(33)可得: (38) 证毕. 实验所采用的工具为MATLAB R2014b,参数的默认值如表1所示: Table 1 Default Values of Parameters表1 参数的默认值 Fig.5 Eve’s varying information entropy about R图5 Eve关于R信息熵的变化 Fig.6 The relationship between l and α图6 l与α的关系图 Table 2 The Relationship Between m and l表2 m和l的关系 Fig.7 The relationship of σ,l and v图7 σ与l和v的关系 图8给出了当l/N=0.8时,密钥泄露率ϑ随α和v的取值变化情况.从图8中可以看出当α∈(1,2]时,ϑ与α成反比关系,即α值越大,ϑ值越小.此外,ϑ与v成正比关系,即v的长度越长,ϑ值越大.在图8中v∈(1,1.2)区间,可以看到一个明显的折痕.形成折痕的主要原因是本文假设合法节点从基站接收信息的误码率比窃听节点的误码率更高,在折痕的右边是满足本文假设的情况,而折痕左边是不满足本文假设的情况.根据最终得到的数据,可以看出在满足本文假设的情况下,密钥泄露率ϑ的上界为3.74×10-6. Fig.8 The relationship of ϑ,α and ν图8 ϑ与α和ν的关系 多径效应和多普勒效应是影响信息在时变水声信道传输健壮性和安全性的重要因素.本文针对信息在传输过程中因多径多普勒效应而产生的不确定性和时变水声信道下防主动攻击的密钥生成问题,提出了一种新的物理层密钥生成方案.该方案首先刻画针对时变水声信道特性的α阶Rényi熵,提取出该信道下数据传输的不确定性;再通过一种基于Hash函数构造一元高阶多项式的密钥协商协议,以强安全性在公开信道下传输索引序列和预选密钥;然后通过一种基于双线性映射的抗主动攻击保密增强协议,降低密钥的泄露率;最后对方案的健壮性、保密性和正确性进行了详细分析,并通过仿真实验对最终的密钥泄露率和主动攻击成功率进行了量化.实验表明:当N=50 000时,最终的密钥泄露率上界为3.74×10-6,敌手主动攻击成功率的上界为5.468×10-20.未来的工作包括考虑多节点情况下公共密钥的生成问题.
(x-h(IDA‖A(1+ε1+ε2)l))(x-h(IDA)),
h2(x)=(x-h(IDB‖B1))(x-h(IDB‖B2))…
(x-h(IDB‖B(1+ε1+ε2)l))(x-h(IDB)),3.3 保密增强协议
4 分析与实验
4.1 正确性证明
4.2 安全性证明
4.3 实 验
5 总 结