一种移动自组网络安全路由发现协议
2020-05-20杨海斌
杨海斌
(湖南理工职业技术学院,湘潭 411004)
0 引言
移动自组网络(MANET)是没有固定的路由器且所有节点都能移动并以任意方式动态连接的网络。在利用MMANET 网络进行通信之前,需设计部署路由协议以找到一个合适的路径将数据包从源节点发送到目的节点。按需平面距离向量路由协议(AODV),是为MANET 网络节点设计的一种按需路由协议,它提供动态链路状况的快速自适应,而且实现简单,是一个比较成熟且被广泛接受的路由协议。AOMDV 路由协议是AODV 的多路径扩展,它更适合高移动和动态网络。但由于缺乏基础设施,节点往往无人照管,所以容易受到恶意节点的攻击,丢弃数据包或打乱网络的路由过程。为了加强AOMDV 协议的安全性,学者们提出了不同的解决方案。Dhyani 等人[1]提出了一种利用信任因子通过检测节点的错误行为来防止黑洞攻击的方案。文献[2]讨论了使用具有较小密钥大小的椭圆曲线加密技术来保护移动自组织网络数据包,但其需要复杂的双线性对数学运算。Borkar 等人[3]根据信任度量选择多个路径,然后选择一个最佳可行的路径提出了信任多路径路由方案,但其不适用于高移动性和动态拓扑结构。Bendale 等人[4]通过比较发送和接收数据包之间的计算时间戳提出了一种防止黑洞攻击的安全解决办法,但没有考虑车辆网络的高机动性对时间戳计算的影响。文献[5,6]通过引入入侵检测系统来观察节点路由行为,提出了一种可信AOMDV 协议,其观察到的路由发现和数据转发阶段的统计数据可有效探测攻击行为,但引入监控过程时增加了路由代价。文献使用相邻节点信任验证模型提出了一种安全的AOMDV路由协议,但其在节点通信时采用节点真实id,可能向攻击者透露节点的身份和位置信息。综上所述,现有方法的缺点主要有:①未考虑MANET 网络的高机动性及节点的储存和计算能力;②节点的身份和位置信息未能得到保护。针对现有方法的不足,本文提出了一个有效的数据聚合方案。该方案基于椭圆曲线加密而不使用双线性映射等复杂的数学运算,且水下无线传感器网络节点与数据中心间使用动态变化的伪身份和私钥进行通信,以实现身份和位置的私秘性。性能分析和比较表明,新方案与相关的聚合签名算法相比,计算开销更低。
在AODV 中,在源节点没有到达目的节点路由的时候,源节点会广播一个路由请求消息包RREQ,RREQ 包括路由请求编号rid、源节点地址sip,源节点序列号sse、目标节点地址dip、目标节点序列号dse、当前节点到达源节点的跳数hopi。当中间节点收到转发的RREQ 包时,首先复制一个RREQ 数据包,并使用RREQ 的上一跳作为下一跳添加到反向路径,并将自己的IP 地址加入节点路径表rlist。此外,如果中间节点有一条有效的路由到目的节点,它将沿反向路径给源节点发送路由回复包;否则,它重新广播RREQ 数据包。当目的节点收到RREQ 包时,通过rid判断该包是否接收过,是则不动作,否便将沿反向路径给源节点发送路由应答消息包RREP。当源节点收到RREP 后,则在源节点和目的节点之间建立了一条有效路由。然而在路由发现阶段恶意节点向接收到的路由请求包RREQ 中加入虚假可用信道信息,骗取其他节点同其建立路由连接,然后丢掉需要转发的数据包。针对此问题,本文采用基于椭圆曲线加密而不使用双线性映射的加密方案来防止恶意节点的攻击。
1 SEAODV路由协议
1.1 系统初始化
为保证认证和隐私,我们采用第三方服务器(受信任的权威TA)和私钥生成中心KGC 为节点生成假名标识符 {pseudo1,i,pseudo2,i,…,pseudon,i} 和临时密钥σi∙P=(λi+hi∙Ωi)∙P=λi∙P+hi∙Ωi∙P= Δi+hi∙θi∙s∙P= Δi+hi∙θi∙PKKGC。其具体步骤为:①TA 首先随机选取两个安全的大质数p,q和一个由等式y2=x3+ax+b(modp)定义的非奇异椭圆曲线Ep(a,b),其中a,b∈Fq。定义G是 阶 为q的 加 法 群 ,P是λi∙P+hi∙Ωi∙P=Δi+θi∙s∙P= Δi+hi∙θi∙PKKGC的一个生成元,并选择 3 个抗碰撞哈希函数:。②随机选择并计算Ppub=s∙P,其中s是 TA 的主密匙,而Ppub是系统公开密钥。公布系统参数param=(p,q,a,b,P,Ppub,h,h1,h2)。
1.2 节点注册
节点i向TA 提交其真实身份标识,TA 随机选取秘密数并分别计算和。其中||表示串拼接操作,表示异或操作,IDKGC、IDTA分别为KGC 和TA 的身份标识字符串。然后TA 将元组发送给KGC,将发送给节点i。
1.3 临时密钥生成
节点i向 KGC 提交和其真实身份标识,KGC 收到和后,通过下式验证节点合法性[7]:
如果验证通过,KGC 根据下述步骤为节点i生成假名pseudoNi和私钥:
(1) KGC 选 取 秘 密 数并 计 算,将元组保存到其数据库并将元组发送给TA。
1.4 路由请求消息签名
源节点i选取随机秘密数,并定义ts为用以阻止重放攻击的当前时间戳,RREQ为需签密的路由请求消息。令ξ1=αi+βi,ξ2=αi βi,,然 后 计 算Ppub),Δi=λi∙P,源节点对路由请求消息RREQ的 签 名 为。 源 节 点σi∙P=(λi+hi∙Ωi)∙P=λi∙P+hi∙Ωi∙P= Δi+hi∙θi∙s∙P= Δi+hi∙θi∙PKKGC将发 送 给 其 他节点。
1.5 路由请求消息认证
如果等式(1)不成立,节点则丢弃该路由请求消息包。如果等式(1)成立,节点则比较其IP 地址与RREQ中目的地址是否相等,若相等,节点则向源节点发送路由回复消息包RREP,否则,节点向下一节点继续广播路由请求消息包。
2 仿真
使用NS2.35 对本文算法和AOMDV 路由的性能进行比较,仿真参数见表1。
表1 仿真参数
分组递交率(pdr)图(图1)显示了黑洞攻击和灰洞攻击导致了AODV 协议性能的下降。仿真开始时,黑洞攻击和灰洞攻击网络的分组递交率与正常网络性能相当,随仿真过程的进行,遭到攻击的网络性能逐渐下降,当仿真时间达到200s 时,遭到灰洞攻击和黑洞攻击的pdr 仅为33.72%和15.65%,而正常网络的pdr 为86.82%。从图1 还可看出,采用SEAODV 协议后,遭到灰洞攻击和黑洞攻击的分组传递率与正常网络性能接近,当仿真时间达到200s 时,pdr 分别为80.04%和82.30%,相对于正常网络拓扑,仅降低5.78%和4.52%。
图1 分组递交率比较
网络吞吐量:网络吞吐量图(图2)显示灰洞攻击和黑洞攻击会导致AODV 协议的网络吞吐量大大降低。当仿真时间达到200s 时,在遭受灰洞攻击和黑洞攻击下,AODV 协议的网络吞吐量仅得到 11495bit/s 和24191bit/s。当采用SEAODV 协议后,网络吞吐量明显提高,遭受灰洞攻击和黑洞攻击时,网络吞吐量可达到59295bit/s 和57553bit/s,与正常网络采用AODV 协议时的网络吞吐量相当。
3 结语
本文针对海上移动自组网络的安全问题,重点研究了自组织网络的安全路由协议,将基于椭圆曲线的签名方案应用到按需路由协议的路由请求消息中,得到了一种安全的AODV 协议(SEAODV),该协议不使用双线性映射等复杂的数学运算,且在路由发现过程中节点使用动态变化的伪身份和私钥,实现了身份和位置的私密性。利用网络仿真软件NS2,我们比较了SEAODV 与AODV 路由协议在黑洞和灰洞攻击下的性能。仿真结果表明,在在黑洞和灰洞攻击网络中拓扑学,SEAODV 协议的分组递交率和网络吞吐量有了显著的改进,接近于没有攻击时的AODV 协议性能。