时间:2024-05-04
张 杰,杜金华,刘 立,韩光洁,钱玉洁
(河海大学 常州市智慧河湖物联网技术重点实验室,江苏 常州 213022)
实现海洋信息化是推动海洋科技,建设海洋强国不可缺少的关键.继而,面向海洋数据的采集、传输、汇聚、挖掘的水下通信网络技术正迅速崛起.水下通信网络于海洋信息化提供重要的技术支持,已然在海底科学勘察、海洋经济开发、海防军事安全、海洋生态保护等方面展现着巨大的应用前景[1].例如:结合水下传感器与水下通信网络监测、分析近海洋流运动、海底地震波等数据,实时预防沿海地区的台风、海啸等自然灾害;在领海渔业区域布置声纳探测仪与水下通信网络,有效打击邻国非法渔船,保护国家海洋资源;利用超声波传感器定位白海豚,通过水下通信网络共享各海域的白海豚栖息分布,分析、监控、保护相应海域的生态环境等.然而,严峻的水下通信环境使水下通信网络的设计与应用面临着诸多的挑战.其中,水下网络空间的信息安全直接影响着水下通信网络的应用可行性,而复杂信道特性、动态拓扑结构等水下通信条件使传统安全通信协议及标准难适用于水下环境,为亟待解决的关键问题.
水下通信环境可采用电、光、声3种媒介承载物理信号.其中,电磁波信号在水下环境具有强衰减特性(如:导电率为4秒/m的海水中,500KHz电磁波的衰减率约28dB/m),仅能实现超短距离(<10米)水下通信;可见光信号(如:蓝绿波段光速)具备较高的数据承载能力及高速率数据传输能力,但受限于视距传播(Line of Sight:LOS)约束,较难适用于三维复杂水下环境的大规模数据传输;相对低衰减的声波信号正被普遍认知为大规模、中长传播距离水下信号的最优传播媒介[2,3],但其数据承载能力较低.
截至目前,水下通信网络鲜有标准的安全体系或安全协议.究其原因,首先,接入认证、密钥管理、证书发放等现代安全协议均基于节点间的多次握手[4],而在具有高延迟、低吞吐量、高误码率、多径效应、多普勒效应等严峻通信环境的水下声信道中,传统握手机制将消耗高额的信道成本,从而大幅度降低数据通信的信道利用率,降低水下数据通信的实践可行性;其次,复杂洋流结构、不规则海底地形、动态障碍物等水下环境因素使水下节点间形成复杂、多变的拓扑链路结构,继而难以保障水下节点地理位置信息的实时性及可靠性,使水下节点较难通过高速率水下可见光通信交互安全协议数据,并使其易受网络层攻击.
水下通信网络的安全体系需兼备对于数据的机密性、完整性的保护以及对网络系统可用性的支持.据此,本文首先从节点特征、通信技术、环境约束等方面介绍水下通信网络系统的典型网络模型及安全假设条件;随后,根据水下网络特征、常用通信技术及安全需求,提出一种基于公钥加密体制的多跳水下通信网络安全数据传输方法.
本文的主要贡献包括以下两个方面:
1)提出了一种基于移动CA(Certification Authority)的水下公钥证书发放策略.传统基于多次握手的集中/分布式公钥证书发放策略难适用于通信资源受限的水下通信网络.提出策略利用移动节点作为水面基站的代理,通过短距离可见光通信在遍历过程中认证水下节点,从而提示了一种实践可行的水下节点公钥管理模式.
2)提出了一种基于空间验证的公钥管理策略.受洋流影响,多跳水下通信网络的拓扑结构存在时变性,且因水声通信的长延时特性,传统的复杂公钥管理策略难满足实时性需求.提出策略对水下通信环境进行分层,并利用链式结构安全参数生成各层空间的组密钥对,由此优化公钥管理所需的握手成本,提高公钥加密体制在水下通信环境的可用性.
水下网络空间的信息安全技术是保障水下通信网络可用性的基础及核心,正逐渐被认知为下一代网路的核心技术之一[5,6],已然成为近年国内外学者的研究焦点.
国际方面,Xu Ming等[7]提出了一种面向水下移动通信网络的安全框架,该框架包含了基于立方体集群结构的密钥交换、基于高阶多项式的节点唤醒及密钥更新、基于确定性量化(deterministic quantization)的物理层密钥生成等三层安全结构,可在水下移动通信网络中有效进行密钥交换及节点认证;Roee Diamant等[8]提出了一种水下通信网络的协作式认证方法,该方法利用可信节点集和基于信道特征的信任管理模型,评估发送者的真实性及数据的完整性,继而判断汇聚节点接收到的数据是否合法;Abbas Yazdinejad等[9]利用区块链技术原理,提出了一种稳定、透明、节能的水下物联网分散认证机制,目的在于使身份认证技术适用于能量、计算、通信能力有限的水下设备;Xiao Liang等[10]提出了基于强化学习的水下通信网络物理层认证框架,用于检查水下通信网络的欺骗攻击行为;Muhammad Khalid等[11]利用水下信道的时变、多径特性,提出了一种基于特定位置中信道脉冲响应时变性分析的节点认证及物理信号认证方法;Waqas Aman等[12]分析了水下声信道中恶意节点的假冒攻击行为对水下信道容量的影响,及其对水声通信服务质量的影响;Muhammad Khalid等[13]采用有限高斯混合模型建立了水下通信网络恶意节点的马氏距离模型,并通过测量水声信号的到达角,进行了水声信号的物理层认证;Zhang Shuailiang等[14]提出了一种基于混沌映射的水下用户认证和密钥协商方法,该方采用单向散列函数的混沌映射实现了水下声通信网络的轻量级密钥交换及身份认证;Chhagan Lal等[15]从节点层面及网络层面分别考虑水下通信网络的安全策略,面向物理层安全、软件定义网络、上下文感知等下一代水下通信网络技术,提出了一种基于多级智能决策的混合网络安全体系结构.
国内方面,曾玲等[16]根据水下通信信道的特征,针对性分析了水下传感器网络的安全风险,概述了水下传感器网络应具备的安全体系架构;丛键等[17]针对水下网络面临的主要安全问题,提出了水下网络信誉系统、基于逐跳身份认证的安全路由、分布式密钥管理机制等水下通信网络的安全防护设计方案;刘景美等[18]针对水下无人艇的物理层通信安全,提出了一种结合信道探测协议和自适应通信保护间隔量化方法的水下声信道物理层密钥生成方案,其信道探测协议通过基于时分双工水下声通信系统的导频辅助保障了水声信道的互易性,一定程度上提高了水声信道物理层密钥生成技术的可行性;徐明等[19]提出了一种基于水下噪声信道不确定性的保密通信方案,该方案在密钥协商握手过程中利用哥德尔编码优化了密钥序列的比较次数,并利用一种r-循环托普利兹矩阵增强了水下噪声环境下的密钥安全性.
以上研究在一定程度上提示了水下通信网络的安全设计需求,大部分工作涉及了“轻量级”安全技术,从而支撑水下通信网络的可用性需求.然而,基于密钥交换的加密及认证技术,基于机器学习、信任管理的安全机制等均需多次的信息交互,在信道资源受限的水下通信环境消耗额外的通信成本,降低其网络性能.据此,本文提出一种针对优化水下通信网络通信成本的水下公钥证书发放及管理策略,为水下网络空间的安全设计提供一定的理论支持.
本文针对研究大规模、长距离通信距离需求的水下通信网络模型,该模型用于海洋数据的周期性采集与汇聚,形成从水中由下至上的数据转发,例如:石油管道监测、领海军事布防等,图1为模型示例.
图1 水下通信网络模型示例
该网络模型由传感器节点、移动节点以及浮标节点组成,通信方式及功能如表1所示.其中,传感器节点密集部署在水中,周期性采集数据并通过多跳转发将数据发送至水面,可用水下声/光通信;移动节点相对少量部署在水中,包括水下自主航行器(Autonomous Underwater Vehicles:AUV)[20]、水下滑翔机(Autonomous Underwater Gliders:AUG)[21]等,主要负责进行传感器节点的感知、认证、密钥管理等网络维护行为,可用水下声/光通信,并在浮出水面时使用陆地电磁波通信;浮标节点部署在水面,可用水下声/光通信汇聚水下节点的数据,并通过电磁波通信将数据发送至水面岸站.水下传感器、AUV等水下节点的制备成本一般较高、体积较大,相比陆地上常用的传感器节点,一般可以配备性能较高的计算组件,缺点是通信能力受限.因此,安全水下通信模型较利于应用计算成本高、通信成本较低的公钥密码体系.
表1 水下通信网络节点类型
根据节点类型及数据传输结构,本文的水下通信网络模型需满足以下安全需求.
1)水下传感器节点利用强公钥加密算法进行机密数据传输及消息认证.
2)水下传感器节点间需通过CA发布的公钥证书验证公钥的完整性及节点的真实性.
3)水下传感器节点周期性向一跳邻居节点广播公钥及公钥证书;水下传感器节点无人值守,因此需周期性更新密钥对及公钥证书,防止物理攻击导致的私钥泄露.
4)水下通信网络利用多跳路由自底向上发送数据,因此需预防网络层路由信息欺骗攻击.
4.1.1 公钥加密体制
公钥加密体制一般包含3个算法PKE=(G,E,D).其中,G为密钥生成算法,输入安全参数S,输出密钥对G(S)→ {PU,PR};E为加密算法,输入明文M及密钥PU或PR,生成密文C=E(PU,M)或C=E(PR,M);D为解密算法,输入密文C及密钥PR或PU,还原明文M=D(PR,C=E(PU,M))或M=D(PU,C=E(PR,M)).
4.1.2 公钥证书
公钥证书用于保护节点的真实性,由公钥加密算法生成.节点n的公钥证书CERTn=E(PRCA,Hash(PUn‖INFOCA‖IDn)),由第三方CA利用公钥加密算法E及强抗碰撞散列算法Hash生成,用于保护节点的真实性及其公钥的完整性.节点n向邻居节点广播公钥及公钥证书PUn‖CERTn;邻居节点利用CA的公钥PUCA解密节点n的公钥证书获得H=D(PUCA,CERTn)=Hash(PUn‖INFOCA‖IDn),从而验证IDn及PUn.
4.1.3 安全通信模型
安全水下通信提供数据机密性及数据完整性的保护,分别如下.
数据机密性保护:发送方s利用接收方公钥PUr加密数据M,生成密文C=E(PUr,M),发送C;接收方r利用自身私钥PRr解密密文C,还原M=D(PRr,C).
数据完整性保护:发送方s利用自身私钥PRs生成数据M的验证码MAC=E(PRs,Hash(M)),发送M‖MAC;接收方r利用接收方公钥PUs还原Hash(M)=D(PUs,MAC),后通过收到的数据M生成Hash(M)′,比较Hash(M)与Hash(M)′,验证数据的完整性.
根据水下通信网络特征,定义以下安全假设:
1)所有节点利用声/光信道进行水下通信.其中,水声信号全向扩散,延迟较高(约1500米/秒),存在窃听、重放攻击、路由信息欺骗等安全威胁;可见光信号定向扩散,延迟极小,无该类安全威胁.
2)水下数据通信基于强公钥加密算法及强抗碰撞散列算法.
3)水下传感器节点与水面基站间具备固有的对称初始密钥;水下传感器节点间需通过公钥证书进行身份认证;水下传感器节点存在破坏、捕获等物理攻击威胁,潜在密钥泄露隐患.
4)水下移动节点由水面基站实时控制,无密钥泄露隐患;水下移动节点可直接认证传感器节点.
面向多跳水下通信网络的安全数据通信,本文提出一种基于公钥加密体制的水下通信网络安全数据传输方法.多跳水下通信网络的密钥管理中普遍存在的问题为:
P1.高延时、高误码率等水声信道特性使水面基站较难作用于CA,集中式分配各水下传感器节点的公钥证书;
P2.水下传感器节点可通过邻居发现获取单跳邻居的公钥及公钥证书,但较难直接获取多跳外节点的公钥及公钥证书;
P3.常用于水下通信网络的机会路由[22]较难采用基于公钥加密算法保护数据机密性.
据此,提出的安全数据传输方法由基于移动CA的公钥证书发放及基于空间验证的公钥管理等两个策略试解决水下通信网络的公钥管理问题.
基于移动CA的公钥证书发放主要针对解决P1.首先,移动节点(如:AUV等水下航行器)在水面得到基站的授权,获取所有水下传感器节点的初始对称密钥.由此移动节点作为水面基站的代理,随后,作用于移动CA,在水下遍历的过程中通过初始密钥认证水下传感器节点,采用水下可见光通信于水下传感器节点发放公钥证书,如图2所示.
图2 基于移动CA的公钥证书发放示例
图2中,PU、PR分别为公、私钥;CERT为公钥证书;K为CA保留的水下传感器节点初始密钥;INFOCA为CA的基本信息;Nonce为随机数.单个或多个移动节点在遍历过程中,携带从水面基站获取的PRCA及所有水下传感器节点的对称密钥K,于各水下传感器节点生成、发放公钥证书及浮标节点的公钥,如水下传感器节点获得多个冗余的证书,优先保留有效期(LifeTime)最长的证书.已获取证书的水下传感器节点周期性向邻居节点广播公钥及公钥证书;未获得证书的节点仅进行邻居发现等网络维护行为,继续等待移动CA的证书发放.移动CA周期性浮上水面,从水面基站通过电磁波通信获取密钥对的更新;潜入海底时,更新水下传感器节点的公钥证书.
基于移动CA的公钥证书发放策略可以在一定程度上解决水下通信网络的公钥证书发放问题,但多跳水下通信网络的高延时水声信道使水下节点需消耗大量通信成本获取多跳外节点的公钥及公钥证书(P2).此外,由于动态拓扑结构、节点的移动性、多普勒效应等通信环境约束,水下通信网络通常采用机会路由模式进行多跳数据转发[23],机会路由的工作模式简要如下:
1)源节点周围满足一定条件(例如:深度浅于源节点)的邻居节点成为转发候选节点,源节点向转发候选节点组播数据;
2)转发候选节点通过自身的地理位置、剩余能量、信道质量等信息计算转发效益,转发效益用于计算待转发数据的保持时间;
3)所有转发候选节点根据转发效益计算保持时间,转发效益最高的候选节点得出最短的保持时间,保持时间经过以后向其邻居节点转发数据(重复过程(1)),其他保持时间内的候选节点则丢弃数据;
4)由此,源节点的数据将经过一次次的组播传递,最终汇聚至浮标节点.
机会路由模式中,发送方的所有邻居节点均具备一定条件成为转发节点,因此如采用常规基于握手的点对点身份认证,发送方则需要认证所有的转发候选节点,消耗大量的通信成本(P3).此外,机会路由中各候选节点的转发优先度取决于由转发效益计算的保持时间,较好的转发效益使节点在成功转发数据前等待较短的保持时间.因此,恶意节点可通过路由信息欺骗等网络层攻击伪造转发效益,从而吸引数据流的走向.
根据上述问题,本文提出一种基于空间验证的公钥管理策略,简要如下:水下传感器节点根据离水面浮标节点的通信跳数,设置自身空间等级,如图3所示;浮标节点由上至下向各空间等级的节点发放链式结构安全参数;各水下传感器节点利用移动CA发放的公钥证书认证邻居节点,与其交换安全参数;各水下传感器节点利用收到的链式结构安全参数生成密钥对,使得空间等级相同的水下传感器节点保留相同的空间组密钥;最终,发送方节点将上个等级的空间组密钥作为公钥,利用公钥加密算法进行机会路由的数据组播.
图3 安全参数传递及空间密钥生成示例
以下算法1描述基于空间验证的公钥管理过程.
算法1.基于空间验证的公钥管理
//传递安全参数
If 网络初始化‖更新空间密钥对
Fori∈浮标节点
C=0;
获取邻居水下传感器节点的公钥及公钥证书;
单播安全参数Si_C至邻居水下传感器节点;
End For
End If
//生成空间密钥对
Forj∈水下传感器节点
j.Class=∞;
Whilej监听邻居数据包
Ifj收到Si_C&&{PUi_C,PRi_ C}==NULL &&j.Classi>C
{PUi_C,PRi_C} ←G(Si_C);
temp=Si_ C;
j.Classi=C+1;
Si_ C=GS(temp+1);
获取邻居水下传感器节点的公钥及公钥证书;
单播安全参数Si_C至邻居水下传感器节点;
End If
End While
End For
根据基于空间验证的公钥管理策略,水下通信网络合理地形成由上至下的密钥分发结构及自底向上的数据传输结构,密钥分发过程具体如下:
1)各浮标节点生成链式结构安全参数的初始值Si_0,其中,i为浮标节点的固有编号,通过安全链路单播至所有邻居传感器节点,各浮标节点一跳范围内邻居节点根据Si_0生成空间密钥对{PUi_0,PRi_0}←G(Si_0),并将自身对应浮标节点i的空间等级设置为Class 1.
2)Class 1的节点计算符合公钥生成规格的下一个安全参数Si_1=GS(Si_0+1),其中,GS为链式安全参数生成算法(例如,RSA算法所需的安全参数可以选取接近Hash(Si_0+1)的最大素数).Class 1的节点将Si_1通过安全链路发送至所有邻居节点,收到的邻居节点生成空间密钥对{PUi_1,PRi_1},设置自身的空间等级为Class 2.
3)所有浮标节点持续进行上述过程.最终,所有水下传感器节点计算自身对应各浮标节点的空间密钥,设置自身对应各浮标节点的空间等级.
水下通信网络周期性执行基于空间验证的公钥更新.同时,各源节点利用自身的唯一私钥及上个等级空间组密钥进行安全数据通信.源节点j选择浮标节点k,生成数据C=PUj‖CERTj‖E(PRj,Hash(M))‖E(PUk_l,M),其中,l为节点k的空间等级.源节点j将数据组播至所有l+1空间等级的邻居节点.各邻居节点还原数据M,验证PUj的真实性、完整性及数据M的完整性,计算自身向浮标节点k转发数据时的转发效益.转发效益的计算一般以节点与浮标节点的欧式距离、节点剩余能耗、邻居节点数、信道质量等影响节点传输能力的网络参数为输入,得出保持时间.以节点深度与节点剩余能量为例,转发效益的计算利用以下式(1):
(1)
其中,i为当前节点编号;Fi为节点i的转发效益;R为各节点的最大通信半径;di→D为节点i到目的地(浮标)D的欧氏距离;dS→D为源节点S到目的地(浮标)D的欧氏距离;hci为节点i到源节点的跳数(hop count);N为常数,由网络的节点密度而定;ni为节点i可转发的邻居节点数,仅包括深度比节点i浅的邻居节点;w为0-1的权重系数,由网络流量而定.
随后,计算节点的转发保持时间,如式(2)所示:
(2)
其中,HTi为节点i的转发保持时间;C为常数,默认值为1,根据网络流量调整;b为CSMA/CA(Carrier Sense Multiple Access)机制的回退时间(back-off time);Ki为大于等于1的安全权重系数,由待转发数据的安全需求而定,如节点i的公钥已认证且在有效期内,则Ki=1,其他情况按需增加K值,据此,已通过公钥认证的节点具备较高的转发优先级.
各节点收到数据后,等待保持时间,更换E(PUk_l,M)为E(PUk_l+1,M)继续进行机会路由,经过多跳的数据转发,最终使数据到达浮标节点k.以下算法2描述基于机会路由的安全数据转发过程.
算法2.基于机会路由的安全数据转发
If 源节点n待发数据
n选择浮标节点f;
Fork∈n的邻居节点
Ifk满足转发条件
k加入n的转发候选集;
k查看公钥有效期及认证状态;
k计算转发效益;
End If
End For
End If
n获取PUf_n.Class-1;
n生成安全数据PUn‖CERTn‖E(PRn,Hash(M))‖E(PUf_n.Class-1,M)并组播至转发候选集;
Fork′∈n的转发候选集
k′利用CERTn验证PUn的真实性;
k′利用PUf_n.Class-1还原数据M;
k′利用PUn解密E(PRn,Hash(M)),从而验证M的完整性;
k′生成安全数据n‖PUk′‖CERTk′‖E(PRk′,Hash(M))‖E(PUf_k′.Class-1,M);
k′根据转发效益计算保持时间,等待保持时间;
k′监听邻居,如感知任意的合法n‖PU*‖CERT*‖*,则丢弃数据;
k′的保持时间结束,进行机会数据转发;
End For
本文提出的方法涉及以下3个方面的安全保护.
1)基于移动CA的公钥证书发放:该过程基于水下可见光通信,水下光速=折射率/光速,一般在20~30×105m/秒,可以忽略传播延时,且因水下可见光通信的定向特性及证书发放过程的单跳式握手模式,无窃听、假冒等被动攻击威胁和篡改、干扰等主动攻击威胁.
2)浮标节点的空间密钥安全参数传递:该过程基于公钥加密算法及点对点公钥认证,安全性能取决于现有公钥加密算法的安全强度及密钥大小.
3)基于空间组密钥的机会式数据传输:机会路由模式中,攻击者可以通过伪造转发效益,优先转发数据并抑制其他候选转发节点的数据转发,从而形成网络层攻击.假设攻击者未获得移动CA的公钥证书,则不能通过链式结构安全参数并生成空间密钥对,无法利用空间私钥解密待转发数据并生成上一个空间等级的加密数据;因此,如转发候选节点的最大保持时间大于攻击者破译待转发数据所需时间,攻击者则无法抑制其余候选转发节点的数据转发,从而预防网络层攻击.
上述过程均利用强公钥加密算法,需要较高的计算成本,但消耗较少的通信成本,较适用于通信环境恶劣的水下通信环境.首先,移动CA的公钥证书仅用于安全参数的传递,因此可以保留较长的更新周期;其次,节点间的数据传输仅需邻居节点间的空间密钥,发送方可以通过任意邻居节点的空间公钥加密数据并进行机会式数据转发,因此可以投入较少的邻居身份认证及公钥广播成本.
本文利用水下通信的仿真实验,分析了提出方法的可用性.仿真环境为1000m×1000m×500m的三维水下空间,源节点、转发节点、浮标节点分别按照3:6:1的比例布置在水底、水中及水面.源节点使用RSA公钥加密算法加密数据,并采用GEDAR[24]机会路由模式,通过转发节点将密文数据传输至水面浮标节点.仿真环境中,水下声速为1500m/秒,水声通信的半径为200m;所有节点利用CSMA机制回避信号冲突,并周期性广播256、512、1024、2048、3072位RSA公钥.图4-图7为网络性能的比较分析结果,分析要素为数据包投递率与逐跳(hop-by-hop)传输延迟.此外,根据章节4.2假设条件的1)、2),本文未计及可见光通信及公钥加密算法的安全性分析.
图4 不同公钥强度下的数据包投递率与平均传播延迟比较(公钥广播周期:10秒)
图5 不同公钥强度下的数据包投递率与平均传播延迟比较(公钥广播周期:15秒)
图4-图7中,节点密度的增加加强了网络的连通性,随之提高了投递率与逐跳延迟.而随着公钥强度的增加,数据包投递率呈现下降趋势.原因在于,根据常规的RSA算法,生成的密文长度等于密钥长度,较大数据包的传输增加了传输过程中数据包的丢失概率,继而降低了整体网络的数据包投递率.此外,公钥长度的加大降低了逐跳传播延迟,原因在于,较大的密钥长度间接增加了单个密文中可容纳的数据量,因此减少了整体网络的数据传输次数,继而减少了基于CSMA的信道竞争现象,提高了邻居节点见的信道利用率,间接降低了逐跳延迟.图7为无公钥广播模式下的网络性能,可以看出,公钥广播周期到达20秒/次(图6)时,其网络性能较接近于无公钥更新模式(图7),一定程度上提示了该网络模型下较为理想的最小公钥更新周期.
图6 不同公钥强度下的数据包投递率与平均传播延迟比较(公钥广播周期:20秒)
图7 不同公钥强度下的数据包投递率与平均传播延迟比较(无公钥更新)
苛刻的水下通信条件及复杂的水下信道特性使传统网络空间安全技术较难适用于水下通信网络.据此,本文针对提高安全数据通信在水下通信网络的实践可行性,提出了一种基于公钥加密体制,结合CA认证与机会式数据转发的水下安全数据传输方法.提出方法面向水下通信环境中安全数据通信的复杂性,分别针对水下可见光通信及水下声通信的信道特征,引入了一种基于移动CA的公钥证书发放策略及一种基于空间验证的公钥管理策略,试解决具备动态拓扑结构、复杂信道特性的水下通信网络公钥管理及安全通信问题.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!