基于水下噪声信道不确定性的保密通信方案
2019-05-05徐明陈芳
徐明,陈芳
(1. 上海海事大学信息工程学院,上海 201306;2. 同济大学电子与信息工程学院,上海 201804)
1 引言
随着信息技术的发展和海洋环境的开发利用,海洋信息通信变得越来越重要。目前,海洋信息在水下主要利用声波进行通信[1]。由于水声信道的开放性和海洋环境的多变性,导致海洋信息通信面临各种安全和攻击问题[1-2],并且,在复杂多变的海洋环境下,各种噪声的干扰会对信息传输产生很大的影响[3]。按照发声机理可以将海洋环境噪声的声源分为以下4类:海洋动力噪声、海洋生物噪声、人为噪声和海洋热噪声[4]。噪声的不确定性给海洋信息的传输带来了严重干扰。如何在水下噪声不确定的情况下对传输的信息进行保密通信,保证信息的完整性、保密性与顽健性已经成为海洋信息安全技术面临的重大挑战。
针对海洋信息的保密通信问题,本文在保证安全性的前提下,基于二元对称通信信道中水下噪声的不可预测性,引入哥德尔编码[5],提出了基于哥德尔编码的交互式密钥提取协议来进行密钥协商和认证提取。同时,为了提高保密增强[6-7]的存储效率,将r-循环Toeplitz矩阵[8-9]应用于保密增强中,提出了一个基于r-循环Toeplitz矩阵的保密增强协议,使矩阵存储空间比传统的Toeplitz矩阵存储空间大大减小,由此形成了一个基于水下噪声信道不确定性的保密通信方案,使敌手无法获得足够的信息来计算密钥,保证了方案的安全性和可靠性。
2 相关知识
2.1 哥德尔编码
哥德尔编码是哥德尔在证明哥德尔不完备定理[5]中引入的,基于质数分解原理,将序列与自然数之间建立起一一对应的关系。给定一个有穷序列则把这种编码方式称为哥德尔编码,y称为序列所对应的哥德尔数,其中,pi表示从小到大排列的第i个不同的质数。
2.2 保密增强
保密增强最初由Bennett[6]提出,并在文献[10]中得到进一步推广。保密增强是指合法的通信双方A和B共享一个部分保密串S,并且敌手Eve知道关于S部分信息的情况下,通过全域散列函数[11-13],使A和B得到一个几乎完全保密的密钥串S',而敌手Eve所知道的关于S'的信息量呈指数级减少。
定义1[14]假设A和B共享一个Nbit密钥串S,随机变量V表示包含Eve所知道的关于S的所有信息。对于任意的α=2或α=∞,都有子集集合。设l是任意一个正整数,ε、δ>0,则在非认证信道上存在一个保密增强协议满足以下性质。
1) 正确性和保密性。令敌手Eve在被动攻击只能进行窃听的情况下,接受特定值V=v满足A和B在协议的最后得到一个lbit密钥串S'使并且有l-ε成立,其中,C表示信道上的交换信息。在这种情况下,认为保密增强是成功的。
2.3 全域散列函数
全域散列函数是实现保密增强的一个重要工具,定义如下[13]。设函数其中,g是从服从均匀分布的G中随机选取的函数,分别表示集合X和集合Y所含元素的数量,对的概率不超过即
用于实现保密增强的全域散列函数有3种,分别是模算术[15]、有限域乘法[10]和Toeplitz矩阵[15-16]。Toeplitz矩阵由于具有良好的存储性能,使用最为广泛。
2.4 Toeplitz矩阵
一般的s×n阶的 Toeplitz矩阵,满足其中,即矩阵上每条自左上至右下的斜线上的元素相同。Toeplitz矩阵的具体表示形式为
r-循环Toeplitz矩阵可表示为
当r= 1时,为循环Toeplitz矩阵;当r= -1时,为斜循环Toeplitz矩阵;当r= 0时,为上三角Toeplitz矩阵[8]。
3 基于哥德尔编码的交互式密钥提取协议
3.1 协议设计
基于哥德尔编码的交互式密钥提取协议包含密钥协商和认证提取两部分。在有限域 GF(q)中选取q个元素,其中q为素数。节点A和节点B分别提前选取Q1、Q2作为标志。其中,Q1、Q2∈GF(q),,并且Q作为节点A和节点B的秘密数。基于哥德尔编码的交互式密钥协商如图1所示。
下面,详细描述图1中基于哥德尔编码的交互式密钥协商协议。
首先,节点A和节点B在二元对称信道上分别同时获得nbit密钥串并将各自获得密钥串中的相邻两位进行异或操作,而且后面的相邻两位不能与前面相邻的任一位重叠。将异或后的所有结果分别组成密钥序列然后分别计算哥德尔数 GeA和GeB,节点B将计算好的GeB发送给节点A。为了验证传过来的GeB是否正确,通过只有节点A和节点B所知道的秘密数Q来计算GA=Q×GeB,GB=Q×GeB,将GA发送给节点B,若GA=GB,则向节点A发送一个反馈信息“Yes”,如果GeA≠GeB,则发送密钥序列ZA,否则停止。节点B比较zi与若zi≠zi',则记录对应的下标组成一个集合I,并将I发送给节点A,这样节点A就知道异或结果不同的位,并且节点A和节点B都将异或结果不同的位置为1,使双方的比特串尽可能相同。
图1 基于哥德尔编码的交互式密钥协商
重复上述密钥协商协议t次,分别获得ntbit的密钥串SA和SB。此时,SA和SB仍然会小概率不同,因此需要对密钥协商后的公共串进行认证并提取出完全一致的安全密钥。
3.2 协议分析与证明
3.2.1 敌手模型与攻击方式
本文讨论中的敌手模型满足以下条件:
1) 敌手拥有无限的计算能力;
2) 敌手的窃听信道不限制为衰落信道;
3) 信道为二进制对称信道,合法通信双方的误比特率为λ,敌手窃听信道的误比特率为θ,敌手预估信息的错误比特率为θ′。
本文主要讨论以下2种攻击方式。
图2 基于哥德尔编码的交互式密钥认证提取
1) 替换攻击。敌手从自己拥有的校验块集合中随机选取一个校验块,不经过任何纠错直接发送给节点B。
2) 模仿攻击。敌手从校验块集合中随机选取一个校验块,然后根据自己预估信息的错误比特率θ′对所选取的校验块随机纠错。由于敌手不知道错误比特的具体位置,所以纠错具有随机性和概率性。执行基于哥德尔编码的交互式密钥协商协议t次,共有t个校验块。在基于哥德尔编码的交互式密钥提取协议中,敌手每次窃听到节点A发送给节点B的校验块Z,与自己所掌握的校验块Z′相比。设每次找到的错误比特个数为ei,经过多次窃听,总共窃听了 num个校验块,则
3.2.2 安全性分析与证明
所以,有
证毕。
当敌手有自己的密钥串zi′时,与节点 A 传输的密钥串相比相对应的两位的不确定性可由定理2估计。
证明 设随机变量有以下3种情况:1) 当A和B发送的校验位不等时,即zi≠zi′,此时敌手知道当A和B发送的校验位相等时,即zi=zi′ ,若敌手所窃听到的校验位当节点A和节点B发送的校验位相等时,即zi=zi′,若敌手所窃听到的校验位
敌手接收到x2i-1x2i= 1 0的概率为
敌手接收到x2i-1x2i= 0 1的概率为
对于情况3),敌手接受的只有00或11,此时敌手接收到的x2i-1x2i只有一位是正确的,所以
敌手接收到x2i-1x2i= 0 0的概率为
敌手接收到x2i-1x2i= 1 1的概率为
用 Rényi熵[17]表示信息的不确定性,如式(9)~式(11)所示。
综上所述,可得
由此可得,敌手对ntbit密钥串的不确定度为
证毕。
3.3 协议特点
3.3.1 认证性
基于哥德尔编码的交互式密钥认证提取协议通过标识符是否相等来认证信道是否安全,通过散列函数来认证节点A和节点B进行t次密钥协商后所获得的公共串是否一致,并提取出完全一致的高度保密密钥串K。
3.3.2 高效性
基于哥德尔编码的交互式密钥协商协议通过哥德尔数是否一致来判断是否需要发送密钥序列ZA。由哥德尔编码的性质可知,如果通信双方的计算结果GeA=GeB,则说明不需要发送密钥序列的情况下才需要发送密钥序列ZA进行比较,因此可以减少密钥序列的比较次数,降低通信开销,提高通信效率。此外,由模运算的运算规则[18-19]可知
在计算GeA、GeB时,通过提前使用模运算,可以降低指数运算带来的数据存储空间问题。在密钥认证提取过程中,通过引入Q的模运算,可以提高指数的运算效率。另外,本文所有的计算都基于二元对称信道。因此,所有非二进制结果都要进行取模运算。
本文在密钥协商协议中没有检查密钥串SA和SB是否相同,而是在密钥认证提取协议中,通过收集t个这样的密钥串后再进行认证,并利用散列函数完成密钥串是否相同的检查,减少了认证次数,进一步提高了通信效率。
设N是执行图2中的完整协议直到建立密钥串K为止的次数。定理3给出了N'的期望值,进一步证明了该协议的高效性。
定理3 设N'是执行次数的随机变量,直到节点A和节点B建立长度为ntbit的公共密钥串,则N'的期望值是
证明 设合法通信双方的误比特率为λ,敌手窃听信道的误比特率为θ。1Ω表示节点B能正确接收到节点 A发送密钥序列的事件,2Ω表示节点A和节点B得到的ntbit密钥串相同的事件。
在图1中的密钥协商协议中有
第t次密钥协商协议中节点A和节点B的校验位相同的个数为其节点A和节点B的nbit密钥串相同的概率为
所以,t次基于哥德尔编码的交互式密钥协商协议执行完成后,节点A和节点B得到的ntbit密钥串相同的概率为
令
则
证毕。
由 3.2.1节可知,合法通信双方的误比特率为λ,敌手窃听信道的误比特率为θ,正确窃听到密钥序列的概率为当执行完协议N′次后,被敌手可能窃听到的概率为当执行完协议N′次建立密钥串K时,节点A和节点B的通信信道相当于无噪声信道,因为执行完协议N'次后合法通信双方已建立了相同一致的密钥串,而敌手的窃听信道可等价于一个新的二元对称信道,其新的误比特率满足整理可得其中,N′即为定理3中的期望值。
由以上分析可得,原来的(λ> 0 ,θ> 0 )信道可等价于信道,即无噪声的合法通信信道和一个较低误比特率的窃听信道,即使窃听信道的误比特率比合法通信双方的误比特率更低,敌手也始终无法避免由噪声产生的极小误比特率。
3.3.3 抗主动攻击
结合3.2.1节中的分析,可以得到定理4。
定理4 节点A和节点B共享ntbit的公共串,敌手预估信息的错误比特率为'θ,每个校验块中敌手与节点A和节点B不一致的位数为ʊ,则敌手采取第一种方式主动攻击成功的最大概率为敌手采取第二种方式主动攻击成功的最大概率为
证明 若敌手采取替换攻击方式进行主动攻击,由于在二元对称信道中敌手预估信息的错误比特率为'θ,且每个校验块的长度为则敌手所选取的校验块与节点 A和节点 B相同的概率为即敌手采取第一种方式主动攻击成功的最大概率为
若敌手采取模仿攻击方式进行主动攻击,其不知道每个校验块中有多少个不一致位,只能随机猜测,而正确猜出不一致位个数的概率为故正确猜出并修正ʊ个不一致位的概率为
整理得
4 基于r-循环Toeplitz矩阵的保密增强协议
保密增强的核心是构造全域散列函数。目前,广泛用于保密增强的是基于一般的Toeplitz矩阵的全域散列函数。一般的s×n阶Toeplitz矩阵需要(s+n-1) bit的存储空间,为了提高存储效率,本文将n阶r-循环Toeplitz矩阵用于保密增强中仅需nbit的存储空间和参数r的信息。同时在保密增强协议中考虑到了噪声的不确定性,使其协议具有更高的实用价值,并得出了提取密钥的最大长度和敌手关于密钥信息量的上界。
4.1 r-循环Toeplitz矩阵
任何一个Toeplitz矩阵都可以嵌入在一个循环矩阵中[20],同样也可以嵌入在一个r-循环Toeplitz矩阵中。为了提高保密增强的存储效率,故将一个一般的s×nt阶 Toeplitz矩阵扩展成(nt+s)×(nt+s)阶r-循环Toeplitz矩阵(s<nt)。具体表示形式为
其中R1、R2、R3、R4分别为
将nt×1阶的公共串扩展为则提取出的密钥计算式如下
其中,⊕表示异或操作,cirij表示矩阵 cir中第i行第j列元素,表示向量中第j行第一列元素,由快速傅里叶变换[20]可得
其中,D是一个(nt+s)维向量,由式(20)和式(21)可得
本文采用r-循环Toeplitz矩阵用于保密增强的全域散列函数中,是因为r-循环Toeplitz矩阵取决于矩阵元素的第一行和参数r。对于传统的(nt+s)×(nt+s)阶 Toeplitz 矩阵需要 2(nt+s)-1 bit才能完整描述整个矩阵,而本文的(nt+s)×(nt+s)阶r-循环Toeplitz矩阵只需要(nt+s) bit和参数r就可以完整描述整个矩阵,从而减少了矩阵的存储空间。
4.2 基于传播距离的噪声不确定性
水下环境通信比陆地环境通信要复杂得多。为了对水下噪声的不确定性进行定量分析,本文采用马尔可夫链蒙特卡罗(MCMC, Markov chain Monte Carlo)方法[21]来捕捉噪声的不确定性。MCMC方法适用于非标准的多变量形式,可实现动态模拟,通常用于水声参数概率分布的获取。通过产生若干条独立并行的马尔可夫链来探索模型参数空间,并不断更新样本信息使马尔可夫链收敛于高概率密度区,也就是贝叶斯方法中的最大后验估计[4]。设水下通信的应用域u∈U,距离域d∈D',环境域m∈M,三者之间的关系如图3所示。
图3 距离域、环境域和应用域三者之间的关系
噪声本身就是一种随机过程,本文把噪声看成属于应用域U的随机变量u。由贝叶斯理论可得
其中,p(d)为归一化因子,的似然函数。若距离域中的数据矢量表示为其中,为服从正态分布的误差项,为协方差。则似然函数为
其中,表示数据点的数量,上标⊙为共轭转置,由水声传播模型[4]可获得转换函数d(m),是水下噪声源,对于数据的不确定性可用服从独立同分布的误差来描述。当时,
将式(25)代入式(24)中,似然函数变为
其中,目标函数为
故通过式(26)求积,将协方差看作多余参量求积消掉v,可得
由上述推导和贝叶斯模型平均法可得式(30)。
如果d中包含所有的不确定性,而且d中所有信息都映射到m,则有
传统描述噪声的统计量有概率密度函数、数学期望、方差或功率谱等统计量,其中功率谱是均匀噪声,即白噪声,不适用于复杂动态的水下环境噪声。目前水下数值模拟不确定性研究中,一般都将变量的方差定义为不确定性大小的度量[21],但方差不是一种通用的不确定性度量函数,具有局限性。故本文将引入信息论中的信息熵来定量分析噪声的不确定性。对于连续变量x,信息熵H定义为[22]
由式(30)和式(31)可得应用域噪声变量u的信息熵为
4.3 保密增强后的密钥长度下界
推论1[10]设PVS是一个任意的概率分布,设v是敌手观测到V的一个特定值,若敌手关于S的Rényi熵R(S|V=v))至少为c,且节点A和节点B选择K=g(S)作为其密钥,其中g是从S到{0,1}l的全域散列函数类中随机选取的,g∈G,则
由文献[10]可知,R(S|G)>R(S)。由定理2可得,根据推论1可得
而敌手所知道的信息与最终密钥的互信息量为
即敌手所知道的关于密钥K的信息量至多为并以为指数递减。
定理5 对于任意的整数nt,存在正数τ'<1和使为正整数的Γ,其中,是4.2节中计算的噪声的不确定性,℘为安全系数,在一个不安全的信道上可以执行一个保密增强协议,具体参数如下
证明 设V是敌手所窃听到的关于原串S信息的随机变量,某个特定的v∈V,由定义 1可知,由式(32)可知Hb(p)的值,令
由推论1知:
即定义1中的ε由定理4可知,敌手主动攻击成功的最大概率为
综上,可得定义1中的对应参数值,从而得到定理5中的保密增强协议。证毕。
5 实验结果与分析
该实验使用的硬件环境是 Intel® CoreTMi5-3337U CPU@1.80 GHz,4 GB RAM,编程环境是 Matlab R2014a。令每一次密钥协商过程中传输的位数n=300,密钥协商次数t分别取t1=20,t2=30,t3=40,敌手获取信息的不确定度的实验结果如图4所示。
图4 敌手关于nt bit密钥串信息的不确定度
图4中3条曲线均为n=300条件下,分别对应不同密钥协商次数时敌手关于ntbit密钥串信息的不确定度。其中,横轴表示敌手在水下噪声信道中产生的误比特率,纵轴表示敌手关于ntbit密钥串信息的Rényi熵,即信息的不确定度。从图4可以看出3条曲线的拟合程度均近似为一次函数,并且敌手关于信息的 Rényi熵均随着误比特率和密钥协商次数的增加而增加,说明进行多次密钥协商可以增加敌手对密钥串的不确定性,使密钥的安全性更高。
当节点A和节点B的误比特率λ及密钥协商次数t取不同值时,建立密钥执行协议次数N'的期望值如表1所示。
表1 密钥执行协议次数N'的期望值
从表1可以得出,N'的期望值与误码率λ、次数t及密钥串的长度n均有关系。当λ=0.001时,协议的执行效率最高。在水声通信中,数据传输速率最大可达10 kbit/s[23]。当n=300,t=20,N'=19.99时,密钥协商传输的总位数为119 940 bit,保密增强后生成的密钥串总长度的下界为117 331 bit,敌手关于密钥串信息量的上界为2 609 bit,所需时间为11.99 s。表明在现有技术条件下,该协议是切实可行的。
6 结束语
本文设计了海洋噪声不确定性环境下基于哥德尔编码的交互式密钥提取协议和基于r-循环Toeplitz矩阵的保密增强协议,从而构成了基于水下噪声信道不确定性的保密通信方案。理论分析和实验结果表明,该方案不仅安全可靠,而且通信效率较高,通信开销较小,同时降低了矩阵的存储空间,提高了保密增强的存储效率,并且得出了保密增强后密钥串长度的下界和敌手关于密钥串信息量的上界。