留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

抵抗AODV黑洞攻击的路由认证链机制

刘坤禹 周亮

刘坤禹, 周亮. 抵抗AODV黑洞攻击的路由认证链机制[J]. 电子科技大学学报, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
引用本文: 刘坤禹, 周亮. 抵抗AODV黑洞攻击的路由认证链机制[J]. 电子科技大学学报, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
LIU Kun-yu, ZHOU Liang. Route Authentication Chain Mechanism Against AODV Black Hole Attack[J]. Journal of University of Electronic Science and Technology of China, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
Citation: LIU Kun-yu, ZHOU Liang. Route Authentication Chain Mechanism Against AODV Black Hole Attack[J]. Journal of University of Electronic Science and Technology of China, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235

抵抗AODV黑洞攻击的路由认证链机制

doi: 10.12178/1001-0548.2019235
详细信息
    作者简介:

    刘坤禹(1990-),男,博士,主要从事无线自组织网路由协议安全方面的研究

    通讯作者: 周亮,Email:lzhou@uestc.edu.cn
  • 中图分类号: TP393.08

Route Authentication Chain Mechanism Against AODV Black Hole Attack

  • 摘要: 在移动自组网中,黑洞攻击是一种主要的针对AODV协议的攻击方式,黑洞攻击是指黑洞节点通过更改序列号或跳数等手段欺骗合法节点将路由导向它,从而将从源节点接收到的数据包丢弃的攻击,多个黑洞联合攻击的威胁更大。为此,该文提出一种基于安全递归函数的认证链机制,即一条路由的接续节点依赖递归函数的确定性状态转移关系实现安全的唯一关联,从而使得整条路由形成为一个认证链。该机制中,即使是采用简单递归函数类中的伪随机线性序列,只要其线性复杂度大于认证链上的节点数,则可以使得黑洞攻击者无法获取两倍于序列线性复杂度以上的连续状态值,从而可以保障路由的安全可认证性。最终证明,该文提出的路由认证链机制是一种新颖且有效的防御黑洞攻击的方法。
  • 图  1  LFSR结构

    图  2  安全路由请求消息分组格式

  • [1] SANZGIRI K, LAFLAMME D, DAHILL B, et al. Authenticated routing for Ad hoc networks[J]. IEEE Journal on Selected Areas in Communications, 2005, 23(3): 598-610. doi:  10.1109/JSAC.2004.842547
    [2] DAS S R, BELDINGROYER E M, PERKINS C E. Ad hoc on-demand distance vector (AODV) routing[EB/OL]. [2003-06-20]. https://tools.ietf.org/html/rfc3561.
    [3] OTHMEN S, ARAI F, BELGHITH A, et al. Secure routing protocol based on Weil paring for multi-hop cellular network (SRPMCN)[J]. International Journal of Computer Science and Network Security, 2016, 16(6): 117-124.
    [4] HU Y, PERRIG A, JOHNSON D B, et al. Ariadne: A secure on-demand routing protocol for Ad hoc networks[J]. Wireless Networks, 2005, 11(1): 21-38.
    [5] OTHMEN S, ZARAI F, OBAIDAT M S, et al. Secure and optimal routing protocol for multi-hop cellular networks[C]//IEEE Global Communications Conference. [S.l.]: IEEE, 2014: 1-8.
    [6] 范静雯, 周亮. 基于SEND协议的安全路由认证机理与方法[J]. 北京信息科技大学学报(自然科学版), 2015(2): 14-19.

    FAN Jing-wen, ZHOU Liang. Mechanism and method of secure routing authentication based on SEND[J]. Journal of Beijing Information Science & Technology University, 2015(2): 14-19.
    [7] HU Y, JOHNSON D B, PERRIG A, et al. SEAD: Secure efficient distance vector routing for mobile wireless Ad hoc networks[J]. Ad Hoc Networks, 2003, 1(1): 175-192. doi:  10.1016/S1570-8705(03)00019-2
    [8] ZAPATA M G, ASOKAN N. Securing Ad hoc routing protocols[C]//Workshop on Wireless Security.  [S.l.]: ACM, 2002: 1-10.
    [9] PERKINS C E, BHAGWAT P. Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers[C]//ACM Special Interest Group on Data Communication. [S.l.]: ACM, 1994, 24(4): 234-244
    [10] YU M, ZHOU M, SU W. A secure routing protocol against byzantine attacks for MANETs in adversarial environments[J]. IEEE Transactions on Vehicular Technology, 2009, 58(1): 449-460. doi:  10.1109/TVT.2008.923683
    [11] SACHAN P, KHILAR P M. Securing AODV routing protocol in MANET based on cryptographic authentication mechanism[J]. International Journal of Network Security & Its Applications, 2011, 3(5): 229-241.
    [12] JALIL K A, AHMAD Z, MANAN J A, et al. Securing routing table update in AODV routing protocol[C]//IEEE Conference on Open Systems.  [S.l.]: IEEE, 2011: 116-121.
    [13] 闫丽丽, 彭代渊, 高悦翔. Ad hoc网络中认证路由协议的改进及其安全性分析[J]. 电子科技大学学报, 2011, 40(4): 577-581. doi:  10.3969/j.issn.1001-0548.2011.04.021

    YAN Li-li, PENG Dai-yuan, GAO Yue-xiang. Security analysis of extensible authenticated routing for Ad hoc networks[J]. Journal of University of Electronic Science and Technology of China, 2011, 40(4): 577-581. doi:  10.3969/j.issn.1001-0548.2011.04.021
    [14] SANZGIRI K, DAHILL B, LEVINE B N, et al. A secure routing protocol for Ad hoc networks[C]//International Conference on Network Protocols.  [S.l.]: IEEE, 2002: 78-89.
    [15] NISSAR N, NAJA N, JAMALI A, et al. Lightweight authentication-based scheme for AODV in Ad-hoc networks[C]//International Conference Wireless Technologies Embedded and Intelligent Systems. [S.l.]: IEEE, 2017: 1-6.
    [16] KUMAR R, TRIPATHI S, AGRAWAL R, et al. A secure handshaking AODV routing protocol (SHS-AODV)[C]//International Conference on Recent Advances in Information Technology.  [S.l.]: ACM, 2018: 1-5.
    [17] TYAGI P, DEMBLA D. Advanced secured routing algorithm of vehicular Ad-hoc network[J]. Wireless Personal Communications, 2018, 102(1): 41-60. doi:  10.1007/s11277-018-5824-0
    [18] ELSEMARY A M, DIAB H. BP-AODV: Blackhole protected AODV routing protocol for MANETs based on chaotic map[J]. IEEE Access, 2019: 95197-95211.
    [19] 万哲先. 代数和编码[M]. 北京: 高等教育出版社, 2007.

    WANG Zhe-xian. Algebra and coding[M]. Beijing: Higher Education Press, 2007.
  • [1] 徐雅斌, 张梅舒, 李艳平.  基于回溯的QKD网络随机路由选择算法研究 . 电子科技大学学报, 2021, 50(4): 565-571. doi: 10.12178/1001-0548.2019175
    [2] 许悦雷, 吕超, 马时平, 李帅, 邹洪中, 张文达, 辛鹏.  仿视皮层机制的随机点视频序列运动特征提取 . 电子科技大学学报, 2017, 46(4): 630-635. doi: 10.3969/j.issn.1001-0548.2017.04.025
    [3] 虞红芳, 吴曼, 刘曼, 杜宇峰.  一种快速准确适用性广的伪随机扰码识别方法 . 电子科技大学学报, 2015, 44(4): 500-504. doi: 10.3969/j.issn.1001-0548.2015.04.004
    [4] 闫丽丽, 彭代渊, 高悦翔.  Ad hoc网络中认证路由协议的改进及其安全性分析 . 电子科技大学学报, 2011, 40(4): 577-581.
    [5] 杨文峰, 胡予濮, 高军涛.  布尔函数的代数攻击 . 电子科技大学学报, 2010, 39(6): 831-834. doi: 10.3969/j.issn.1001-0548.2010.06.006
    [6] 陈滨, 刘光祜, 唐军, 张勇, 蔡鹏, 黄坚, 吴云松.  相空间法对混沌序列的自相关特性研究 . 电子科技大学学报, 2010, 39(6): 859-863. doi: 10.3969/j.issn.1001-0548.2010.06.012
    [7] 张青, 张龙, 温巧燕, 陈更力.  基于签密的认证邮件协议 . 电子科技大学学报, 2008, 37(2): 282-284.
    [8] 谭示崇, 张宁, 王育民.  新的口令认证密钥协商协议 . 电子科技大学学报, 2008, 37(1): 17-19.
    [9] 张传武.  细胞自动机组合伪随机序列发生器 . 电子科技大学学报, 2008, 37(5): 716-719.
    [10] 罗军辉, 姬红兵, 江莉.  直接序列扩频信号PN序列盲估计方法 . 电子科技大学学报, 2008, 37(4): 489-492.
    [11] 王毅, 钟守铭, 王定成.  B值独立同分布随机变元序列矩完全收敛性 . 电子科技大学学报, 2005, 34(3): 410-412.
    [12] 师奕兵, 吴月玲.  基于高速DG的伪随机序列及其产生研究 . 电子科技大学学报, 2005, 34(6): 790-793.
    [13] 黄大欣, 欧中华, 刘永智.  使用互补码提高OTDR测量动态范围的方法 . 电子科技大学学报, 2005, 34(3): 332-335.
    [14] 郑相全, 郭伟, 李帆.  自组网AODV路由协议中断链修复的改进 . 电子科技大学学报, 2003, 32(5): 569-573.
    [15] 李仲令, 郭燕, 周亮.  自编码扩频和直接序列扩频的性能比较 . 电子科技大学学报, 2003, 32(5): 473-476,529.
    [16] 刘勇.  VLSI测试中移相伪随机序列的设计 . 电子科技大学学报, 2002, 31(6): 608-611.
    [17] 王定成, 曾勇.  B值同分布鞅随机变元序列矩收敛的注记 . 电子科技大学学报, 2001, 30(4): 424-428.
    [18] 周亮, 严春林, 郭伟.  相控序列的阵列交织快速生成 . 电子科技大学学报, 2001, 30(2): 111-114.
    [19] 王定成.  B值同分布鞅随机变元序列矩完全收敛性 . 电子科技大学学报, 2000, 29(6): 658-661.
    [20] 李仲令, 王晓蕾.  序列相关特性与CDMA系统的多址干扰 . 电子科技大学学报, 1997, 26(2): 132-136.
  • 加载中
图(2)
计量
  • 文章访问数:  5080
  • HTML全文浏览量:  1518
  • PDF下载量:  25
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-10-24
  • 修回日期:  2019-12-30
  • 网络出版日期:  2020-07-29
  • 刊出日期:  2020-07-10

抵抗AODV黑洞攻击的路由认证链机制

doi: 10.12178/1001-0548.2019235
    作者简介:

    刘坤禹(1990-),男,博士,主要从事无线自组织网路由协议安全方面的研究

    通讯作者: 周亮,Email:lzhou@uestc.edu.cn
  • 中图分类号: TP393.08

摘要: 在移动自组网中,黑洞攻击是一种主要的针对AODV协议的攻击方式,黑洞攻击是指黑洞节点通过更改序列号或跳数等手段欺骗合法节点将路由导向它,从而将从源节点接收到的数据包丢弃的攻击,多个黑洞联合攻击的威胁更大。为此,该文提出一种基于安全递归函数的认证链机制,即一条路由的接续节点依赖递归函数的确定性状态转移关系实现安全的唯一关联,从而使得整条路由形成为一个认证链。该机制中,即使是采用简单递归函数类中的伪随机线性序列,只要其线性复杂度大于认证链上的节点数,则可以使得黑洞攻击者无法获取两倍于序列线性复杂度以上的连续状态值,从而可以保障路由的安全可认证性。最终证明,该文提出的路由认证链机制是一种新颖且有效的防御黑洞攻击的方法。

English Abstract

刘坤禹, 周亮. 抵抗AODV黑洞攻击的路由认证链机制[J]. 电子科技大学学报, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
引用本文: 刘坤禹, 周亮. 抵抗AODV黑洞攻击的路由认证链机制[J]. 电子科技大学学报, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
LIU Kun-yu, ZHOU Liang. Route Authentication Chain Mechanism Against AODV Black Hole Attack[J]. Journal of University of Electronic Science and Technology of China, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
Citation: LIU Kun-yu, ZHOU Liang. Route Authentication Chain Mechanism Against AODV Black Hole Attack[J]. Journal of University of Electronic Science and Technology of China, 2020, 49(4): 542-547. doi: 10.12178/1001-0548.2019235
  • 现代移动自组网(mobile Ad-hoc networks, MANET)的主要安全威胁之一是黑洞攻击。特别地,针对MANET[1]中的自组织按需距离矢量(Ad hoc on-demand distance vector, AODV)协议[2]的黑洞攻击是对MANET的常见攻击。导致这类黑洞攻击成功的主要原因是AODV本身缺乏完善的路由认证机制。

    路由传输中的安全认证通常分为两个层面:一是对路由中传输数据的安全认证;二是对传输数据的路由节点的身份认证。前者属于消息认证,后者称为路由认证。一般地,广义的路由认证包含3种情形:1) 源节点与目的节点之间的端到端节点认证[3-4];2) 两连接节点之间的节点对认证或者链路认证[5];3) 路由上全部节点序列的节点链认证,也可以称为狭义的路由认证[6]

    在不考虑节点间的链路信道风险时,通常默认非恶意节点传输的消息就是安全的,路由认证和消息认证的根本不同之处在于路由认证只对传输消息的节点及其节点链的可信身份进行确认,而不是对消息本身的完整性等进行确认。

    1999年,由公钥基础设施PKI支撑的认证技术开始用于网络以及路由安全保护。2002年,文献[7]提出了散列链的概念来保护DSDV[8],SAODV[9]也使用散列链和RSA密码体制来保护AODV消息中的跳数字段。2009年,文献[10]使用RSA来保护MANET免受拜占庭攻击,其使用共享密钥的身份验证机制对消息进行端到端认证。

    2011年,文献[11]开发了A-AODV,使用HMAC用于端到端身份验证,并通过哈希链验证控制包中的跳数值来验证控制消息的完整性,但是它存在着密钥建立的问题。同年,文献[12]则使用一种路由表更新的方式防止黑洞节点参与路由过程,来完成对黑洞攻击的抵抗,但是文献方案未考虑黑洞节点通过篡改IP地址进行伪装攻击带来的影响,这是该方案的缺陷所在。文献[13]在ARAN[14]协议上做出改进,将每个节点的身份标识加入认证包中,使得认证包通过的路径必须符合包中所有加入过节点身份的节点构成的路径,从而保证了路由路径的完整性和正确性,但是,认证传输数据会随着网络规模增大而增大。

    2017年,文献[15]使用RSA计算分组的数字签名用于节点的身份认证,并且将中间节点也加入认证,使得它完成了跳到跳认证以及端到端认证。2018年,文献[16]使用RSA、ECC对AODV分组进行保护,完成了以节点身份为对象的节点认证。同年,文献[17]使用ECC加密AODV分组在车联网的环境下完成对AODV协议的保护。2019年,文献[18]使用混沌映射来完成对AODV协议中单个黑洞攻击以及联合黑洞攻击的抵抗。

    通过以上分析可以看出,所有基于PKI机理的网络安全措施都有计算复杂度高、密钥管理复杂等问题,因而在现实的网络安全工程中没有得到有效的实施。此外,这些方案有的是只进行节点认证,即对数据分组进行加密签名,对路径本身是否安全不作考虑;有的只使用链路认证,即端到端认证。目前,尚未有一种可以对所有参与路由的节点进行整体性认证的方案。

    由于路由认证的对象是路由或节点序列,而一个路由所形成的序列由相互接续的节点构成,所以路由认证一定是一类链型结构的数据整体认证,或者是对一类数据向量或数据序列的认证。诸如伪随机序列类型的递归函数的状态值之间具有安全的关联关系,基于这个思路,本文在结合节点认证和链路认证的基础上提出一种基于认证链的路由认证方案,在减小计算开销的同时,使得认证传输数据不会随着网络规模增大而增大,并同时具备路由认证的能力。进一步地,本文修订了AODV的路由发现机制,提出了一种用于AODV的路由认证链方法,实现了MANET中的路由保护,并证明可抵御黑洞攻击。

    • AODV协议是 MANET中的一种响应路由协议,主要由UDP或者IP协议传输的路由请求(RREQ)、路由回复(RREP)和路由错误(RERR)这3种分组中各个数据段的定义和变化来实现路由发现和路由维护等功能。

      RREQ分组的结构为${P_{\rm {REQ}}} = ( T,h\left( v \right),{\rm {ID}},{{\rm IP}_D},$${{\rm Seq}_D},{{\rm IP}_S},{{\rm Seq}_S})$$T = 1$用于指示分组类型RREQ;$h = h\left( v \right)$表示从源节点$S$开始跳转至本节点$v$的跳数(hops);$\rm ID$是本次路由请求的标识,与源节点地址${{\rm IP}_S}$共同唯一确定一个路由请求;${{\rm IP}_D}$表示目的节点地址;${{\rm Seq}_D}$${{\rm Seq}_S}$分别表示目的节点序列号以及源节点序列号。

      RREP分组的结构为${P_{\rm REP}} = ( T,h\left( v \right),{{\rm IP}_D},{{\rm Seq}_D},$${{\rm IP}_S},{\rm TTL})$$T = 2$表示分组类型;$\rm TTL$表示本次路由回复分组的生存时间。

      RERR分组的结构为${P_{\rm {RER}}} = ( {T,{{\rm IP}_{{\rm {UR}_1}}},{\rm {Seq}_{{\rm {UR}_1}}}} )$$T = 3$表示分组类型;${{\rm IP}_{{\rm UR}_1}},{\rm {Seq}_{{\rm {UR}_1}}}$分别表示不可达节点的地址和序列号。

    • AODV协议机制分为两个工作阶段。首先是路由发现阶段,源节点通过发送用于请求连接的RREQ分组和接收用于响应连接请求的RREP分组来确定路由连接链路;第二个阶段是路由维护阶段,这个阶段中通过发送RERR分组来广播失效或者堵塞的节点以避免之后的路由寻找、查询或者使用这些“坏”节点。

      AODV协议的路由发现过程是:源节点广播RREQ分组,中间节点接收此分组之后查询到达目的节点的下一跳路由链路;若中间节点也没有到下一跳节点的路由链路则将RREQ分组中的跳数加一并继续广播该分组;若中间节点存在到达目的节点的路由,则将RREQ分组转发至能够到达目的节点的下一跳路由节点;所有网络节点如此接续,寻求从源节点到目的节点的路由;参与路由的全体中间节点同时更新自己的路由表条目,该条目将用于建立反向路径并通过这条反向路径重播RREQ分组;目标节点在接收到RREQ分组之后,使用反向路径将自身序列号加一,然后建立RREP分组,返回至源节点。

      当源节点同时收到多个RREP分组时,它会选择目的序列号最高的分组来更新自己的路由表。

    • 常规AODV协议既不存在对发送分组的保护机制,也不存在对传输与接收分组的节点身份的安全保护机制。如果网络中间节点被劫持或者网络被渗入攻击性的中间节点,则所有这些恶意节点可以以窃听、欺骗、修改数据分组等方式来实现对AODV协议以致对网络的攻击。

      黑洞攻击是指恶意节点通过使用具有更高序列号的路由回复分组对源节点进行欺骗,可将整条路由导向自己,并将路由连接之后的数据分组实施丢弃处理,它是一种欺骗攻击,造成的后果是丢弃所有接收到的传输数据。

      采取丢弃策略的黑洞攻击过程细节可描述如下。

      1)源节点$S$广播RREQ,即:$S \to *:{P_{\rm REQ}}\! =\! $$( T,h\left(\! V \right),{\rm ID},{{\rm IP}_D},{{\rm Seq}_D},{{\rm IP}_S},{{\rm Seq}_S})$

      2)恶意节点$M$收到RREQ并通过更改RREP分组中的序列号字段,回复一个更高目的序列号的RREP至源节点,即:

      $$\begin{aligned} &\qquad\qquad\qquad M \to S:{P_{\rm REP}} = \\ & \left( {T,h\left( V \right),{\rm ID},{{\rm IP}_D},{{\rm {HigherSeq}}_D},{{\rm IP}_M},{{\rm Seq}_M}} \right) \\ \end{aligned} $$

      3)源节点$S$忽略接收到的其它RREP,建立起与恶意节点的连接并进行载荷消息$P$的传输,即:$S \to M:P = {\rm {Message}}$

      4)恶意节点$M$丢弃所有接收到的载荷消息$P$,即$M:{\rm drop}{\rm{ }}P$

      由此过程可知,针对AODV协议的黑洞攻击能够成功的前提是AODV协议没有有效的节点认证机制。即源(或发送)节点在广播机制下无法指证目的(或某个接收)节点的合法性,或者在获得一个RREP分组时没有机制去认证此RREP分组的来源合法性。

    • 递归函数$F$是一个二元组$F = \left( {f,\sigma } \right)$,记$\sigma \left( n \right)$为递归函数$f$在第$n$时刻(或者时序或者计数序)的状态或者递归输出,则:

      $$ \begin{split} &\sigma \left( n \right) = {f^d}\left[ {\sigma \left( {n - d} \right)} \right] = f\left[ {{f^{d - 1}}\left[ {\sigma \left( {n - d + 1} \right)} \right]} \right] \\ & \qquad\qquad\qquad\quad{\rm{ }}n,d \in \mathbb{N} \end{split} $$ (1)

      递归函数$f$可逆,是指$\sigma \left( n \right) = {f^{ - d}}\left[ {\sigma \left( {n + d} \right)} \right]$$n,d \in \mathbb{N} $

    • 线性反馈移位寄存器(linear feedback shift register, LFSR)是一类简单的递归函数,由一个$n$级移位寄存器和一组线性组合逻辑电路构成,电路结构如图1所示。

      图  1  LFSR结构

      图1结构产生的LFSR序列为$\left( {{a_k}} \right) = \left( {{Q^{\left( n \right)}}} \right) = $$ \left( {{x_0}\left( k \right)} \right),k \geqslant 0$;LFSR由当前状态(或者第$k$状态) $\left( {{x_0},{x_1}, \cdots ,{x_{n - 1}}} \right) = \left( {{x_0}\left( k \right),{x_1}\left( k \right), \cdots ,{x_{n - 1}}\left( k \right)} \right)$转移至下一个状态(或者第$k + 1$状态)$\left( {{{x'}_0},{{x'}_1}, \cdots ,{{x'}_{n - 1}}} \right) =$$ \left( {{x_0}\left( {k + 1} \right),{x_1}\left( {k + 1} \right), \cdots ,{x_{n - 1}}\left( {k + 1} \right)} \right)$的状态转移关系为:

      $$ \begin{split} & \left( {{{x'}_0},{{x'}_1}, \cdots ,{{x'}_{n - 1}}} \right) = ( {x_0}\left( {k + 1} \right),{x_1}\left( {k + 1} \right), \cdots , \\ & {x_{n - 1}}\left( {k + 1} \right))= \left( {{x_1}\left( k \right),{x_2}\left( k \right), \cdots ,{x_{n - 1}}\left( k \right),{x_n}\left( k \right)} \right) \\ &\qquad\qquad\quad\quad {x_n}\left( k \right) = \sum\limits_{j = 0}^{n - 1} {{c_j} {x_j}\left( k \right)} \end{split} $$ (2)

      式中,${x_n} = f\left( {{x_0},{x_1}, \cdots ,{x_{n - 1}}} \right) = \displaystyle\sum\limits_{j = 0}^{n - 1} {{c_j} {x_j}} $称为LFSR的连接反馈函数;$g\left( x \right) = \displaystyle\sum\limits_{j = 0}^{n - 1} {{c_j} {x^j}} $称为LFSR的连接反馈多项式。

      $n$级LFSR序列具有最大周期${2^n} - 1$时,称该序列为m序列。

      线性复杂度是任意序列安全性的最基本度量指标,表示采用线性移位寄存器结构的序列发生器去重构或者复现一个给定序列所需要的最小级数或连接反馈多项式的最小阶数[19]。例如,一个$n$级m 序列的线性复杂度恰为$n$

      如果一个序列的线性复杂度为$L$,则只需知道该序列的任意$2L$个连续元素,即可通过解线性方程组或借助 B-M 算法找到该序列所满足的连接反馈多项式,进而可确定整个序列[19]

      通常无线网络节点(即路由中的节点总数)跳数不超过16,所以即使采用m序列,只要其反映状态转移关系安全性的线性复杂度大于认证链上的节点数的两倍,就可以保障有相应序列确立的路由节点之间的关联关系,从而提供可信赖的安全可认证性。

    • 在节点集合$V$和链(边)集合$E$确定的网络$\left( {V,E} \right)$中,一条$N$长的路由$R$是一个可连接$N$个网络节点$v$(或者$v\left( n \right)$),或者$N - 1$个接续的节点串$\left( {v\left( n \right),v\left( {n + 1} \right)} \right)$所构成的序列,即:

      $$R = \left( {v\left( 0 \right),v\left( 1 \right), \cdots ,v\left( n \right),v\left( {n + 1} \right), \cdots ,v\left( {N - 1} \right)} \right)$$

      节点标识${\rm ID} ={\rm ID}\left( v \right)$是赋予节点$v$的某种特定属性或者赋予节点$v$的某种唯一性标识。例如,由互联网IP地址确定的节点标识为${\rm ID} ={\rm ID}\left( v \right) ={ \rm IP}\left( v \right)$

      若节点标识由某种递归函数$F$生成,则称此节点为链标识节点,描述为$v = \left( {F,{\rm ID}\left( v \right)} \right) = \left( {\left( {f,\sigma } \right),{\rm ID}\left( v \right)} \right)$,递归函数状态$\sigma = \sigma \left( v \right)$称为节点状态。

      安全链标识节点是指链标识节点的递归函数结构$f$保密且在节点标识和节点状态即$\left( {{\rm ID},\sigma } \right) = \left( {{\rm ID}\left( v \right),\sigma \left( v \right)} \right)$均公开的条件下难以解析其结构$f$

    • 路由认证的主体可以是网络服务提供者、也可以是用户自己。路由认证的客体(对象)是整个路由的节点串$R$,而非单个节点$v\left( n \right)$,也非节点链路$\left( {v\left( n \right),v\left( {n + 1} \right)} \right)$。由于路由$R$是序列数据结构,所以路由认证一定是一类链型结构的数据认证,或者是对一类数据向量或者数据序列的认证。

      根据路由建立的过程,构建认证链是逐个可信节点的认证过程。因而,一种直觉的采用对称密码体制的认证链构建思路是节点链路间认证的级联。但是使用该体制的缺陷在于完成路由认证必然伴随着庞大的传输数据的扩展。

      由于递归函数可以建立前后状态之间的唯一关联关系,所以采用安全递归函数结构(由有限个状态值难以重构函数结构)的节点认证所传递的认证数据可以不存在数据扩展。

    • 具有认证功能的分组${P_S}$仍然是链上传输数据的最小数据单元,设计为:

      $${P_S} = \left( {T,{\rm ID},{{\rm IP}_S},{{\rm Seq}_S},{{\rm IP}_D},{{\rm Seq}_D},r\left( v \right),A\left( v \right),h\left( v \right)} \right)$$

      式中,$r = r\left( v \right)$表示在本节点$v$处生成的一个随机数;$A = A\left( v \right)$表示在本节点$v$处生成的节点认证值,它由节点状态$\sigma \left( v \right)$与分组的消息摘要${\rm MD}\left( v \right)$模二加生成,$A\left( v \right) = \sigma \left( v \right) \oplus {\rm MD}\left( v \right)$$h = h\left( v \right)$为从源节点$S$开始跳转至本节点$v$的跳数,即从源节点开始计算的链长。

      本文将$\left( {r\left( v \right),A\left( v \right)} \right)$定义为认证数据分组的认证扩展字段,与标准的AODV协议分组的异同点在于在使用AODV协议分组的基础上,将认证扩展字段扩展到AODV协议分组后面,形成安全路由请求消息分组,即${P_S} = \left( {{P_{\rm REQ}},r\left( v \right),A\left( v \right)} \right)$。本文使用的安全路由请求消息分组如图2所示,其中认证字段类型0xFFFF表示该分组为认证数据分组。安全路由回复和安全路由错误分组格式同理可得。

      图  2  安全路由请求消息分组格式

    • 每个节点之间通过线下分配或者其他安全方式共享两个能够生成m序列的参数$\alpha $$\beta $,由有限域上迹函数描述的m序列${{a}}$为:

      $${{a}} = \left( {{a_i}} \right) = \left( {{\rm Tr}\left( {\beta {\alpha ^i}} \right)} \right)\quad i = 0,1, \cdots ,{2^n} - 2$$ (3)

      式中,级数为$n$的m序列的周期为${2^n} - 1$;生成m序列的本原元$\alpha \in {\rm GF}\left( {{2^n}} \right)$;确定m序列初始状态的任意非零元素$\,\beta \in {\rm GF}\left( {{2^n}} \right)$$\,\beta \notin 0 $

    • 源节点$v\left( 0 \right)$建立安全路由请求消息分组$P_S^{\left( 0 \right)} = ( {P_{\rm REQ}^{\left( 0 \right)},r\left( {v\left( 0 \right)} \right),A\left( {v\left( 0 \right)} \right)} )$,分组中,$P_{\rm REQ}^{\left( 0 \right)}$是源节点$v\left( 0 \right)$建立的RREQ分组,格式如4.1小节定义;$r\left( {v\left( 0 \right)} \right)$表示节点$v\left( 0 \right)$产生的随机数;跳数字段初始化为$h\left( {v\left( 0 \right)} \right) = 0$$ A\left( {v\left( 0 \right)} \right) = \sigma \left( {v\left( 0 \right)} \right) \oplus {\rm MD}\left( {v\left( 0 \right)} \right) ={f^r}\left( 0 \right) \oplus $$ {\rm MD}\left( {v\left( 0 \right)} \right) $为节点$v\left( 0 \right)$计算的节点认证值;本方案中节点状态值$\sigma \left( v \right)$由链生成函数${f^r}\left( x \right)$生成,而链生成函数${f^r}\left( x \right)$由式(3)表示,即$ \sigma \left( v \right) = {f^r}\left( h \right) = ( {\rm {Tr}}\,( {\beta\, {\alpha ^{r + h}}} ),\, $$ {\rm {Tr}}\,( {\beta \,{\alpha ^{r + h + 1}}} ),\, \cdots ,\, {\rm {Tr}}\,( \beta $${\alpha ^{r + h + 31}} ) ) $,是一个32位的二元序列;$\alpha ,\beta $是在4.2小节提前共享的;${\rm MD}\left( {v\left( 0 \right)} \right) = $${\rm Hash}( {P_{\rm REQ}^{\left( 0 \right)}} )$为RREQ分组的消息摘要值,用来保证RREQ分组的完整性。

      本文将源节点生成的随机数$r\left( {v\left( 0 \right)} \right)$和节点认证值$A\left( {v\left( 0 \right)} \right)$一起填入安全路由回复消息分组的认证扩展字段中,然后将建立好的安全路由请求消息分组${P_S}^{(0)}$广播出去。

    • 中间节点在接收到安全路由请求消息分组和安全路由回复分组之后分别做出如下操作。

    • 中间节点$v^{\left( * \right)}$接收到安全路由请求分组${P_S}^{\left( * \right)} = ( {P_{\rm REQ}^{\left( * \right)},{r^{\left( * \right)}},{A^{\left( * \right)}}} )$后,进行如下动作:

      1)查找路由表,判断是否存在到目的节点$D$的路由,若不存在,则将RREQ分组中的跳数加一,并继续广播安全路由请求消息分组${P_S}^{( * )}$;否则,进行步骤2)。

      2)获取并验证安全路由请求分组${P_S}^{\left( * \right)}$,由提前共享的参数计算节点认证值$A'$,判断与分组中的节点认证值${A^{\left( * \right)}}$是否相同,若不相同则丢弃该分组;否则,进行步骤3)。

      3)生成新的字段值,计算$h = {h^{( * )}} + 1$;生成新的随机数$r = r\left( v \right)$;计算本节点认证值A,即:

      $$\begin{split} &\;\qquad A = A\left( v \right) = \sigma \left( v \right) \oplus {\rm MD}\left( v \right) = {f^r}\left( h \right) \oplus {\rm MD}\left( v \right) = \\ & ( {{\rm {Tr}}( {\beta {\alpha ^{r + h}}} ),{\rm {Tr}}( {\beta {\alpha ^{r + h + 1}}} ), \cdots ,{\rm {Tr}}( {\beta {\alpha ^{r + h + 31}}}\! )} ) \oplus {\rm Hash}(\! {P_{\rm REQ}^{\left( v \right)}}\! ) \\ \end{split} $$ (4)

      4)节点认证值$A$生成完毕之后,将其和新生成的随机数$r$填入安全路由请求消息的认证扩展字段中,形成新的安全路由请求消息分组${P_S}^{\left( * \right)}$继续向目的地址转发。

    • 当节点$v^{\left( * \right)}$接收到安全路由请求消息分组${P_S}^{\left( * \right)} = ( {P_{\rm REP}^{\left( * \right)},{r^{\left( * \right)}},{A^{\left( * \right)}}} )$后,进行如下动作:

      1)节点$v^{\left( * \right)}$根据提前共享的参数计算节点认证值$A'$,判断与分组中的节点认证值${A^{\left( * \right)}}$是否相同,若不相同则丢弃该分组;否则,进行步骤2)。

      2)认证成功之后,将RREP分组中的跳数加一并计算新的随机数和节点认证值,生成新的安全路由回复消息分组,沿反向路径转发至源节点。

    • 目的节点$D$收到目的节点地址为${{\rm IP}_D}$的安全路由请求消息分组${P_S}^{\left( * \right)} = ( {P_{\rm REQ}^{\left( * \right)},{r^{\left( * \right)}},{A^{\left( * \right)}}} )$,则获取该分组${P_S}^{\left( * \right)}$,进行如下动作:

      1)根据提前共享的参数计算节点认证值$A'$,判断与分组中的节点认证值${A^{\left( * \right)}}$是否相同,若不相同则丢弃该分组;否则,进行步骤2)。

      2)认证成功之后,目的节点$D$将自身序列号加一,构建新的安全路由回复消息分组$P_S^{\left( D \right)} =$$ ( {P_{\rm REP}^{\left( D \right)},r\left( {v\left( D \right)} \right),A\left( {v\left( D \right)} \right)} )$,其中新的节点认证值为$A\left( {v\left( D \right)} \right) = \sigma \left( {v\left( D \right)} \right) \oplus {\rm MD}\left( {v\left( D \right)} \right) = {f^r}\left( 0 \right) \oplus {\rm MD}\left( {v\left( D \right)} \right) $

    • 攻击者主要有两种攻击方式:1) 修改分组中的某些字段试图获取发送方信任;2) 窃听分组中的节点认证值$A$,试图反推出递归函数结构$f$

      对于攻击方式1),本文设计的安全认证分组由消息摘要来保护消息的完整性,一旦攻击者更改数据分组,则无法通过消息摘要的验证,另一方面,若攻击者将修改后的分组生成消息摘要,但是由于攻击者不具备生成节点状态值的共享参数,无法获得正确的节点认证值,则无法通过合法节点的认证,从而无法实施黑洞攻击。

      对于攻击方式2),假设攻击者通过窃听获取了所有节点的节点认证值,并通过计算消息摘要得到了所有的节点状态值,但是,本文在方案中加入了随机数,使得在路由中传输的节点认证值所包含的节点状态值不会是连续的,根据2.2小节的描述,只要攻击者无法获取线性复杂度两倍以上的序列的连续状态值,则无法解构递归函数结构$f$,从而无法得到合理的节点状态值从而欺骗合法节点。

      综上所述,本文的方案能够抵御AODV路由协议中的黑洞攻击。

    • 本文提出了基于认证链机制的路由认证来完成对AODV路由协议中黑洞攻击的抵抗,在分析了AODV协议的基础上,建立了路由认证的数学模型并实现了路由认证的目标。进一步地,本文修订了AODV的路由发现机制,提出了一种用于AODV的路由认证链方法,实现了MANET中的路由保护,本路由认证方案使得黑洞节点无法得到安全链标识节点的信任,从而无法实施攻击。由于黑洞攻击节点无法获取线性复杂度两倍以上的伪随机序列的连续状态值,因而不能实现依赖状态转移的欺骗。所以,本文方案在路由发现和数据传输阶段都能够很好地抵抗黑洞攻击,同时,认证传输数据量没有随着路由节点的增多而增加,对协议本身只做出小的扩展,所以更容易部署。

参考文献 (19)

目录

    /

    返回文章
    返回