1、 论文关键词自治系统 路由信息协议 开放最短优先协议 骨干区域 指派路由器 备份指派路由器 论文摘要首先阐述开放最短路径优先 OSPF 协议的工作过程、接着重点论述自治系统 AS 的分层结构和指派路由器,希望能够为学习和研究 OSPF 协议的人员提供参考与帮助。 一、背景 众所周知,随着因特网规模的不断扩大,现在已有几百万台路由器连接在一起,如果让这些路由器都知道所有网络的相关信息,这样会导致路由表庞大,处理起来浪费时间,响应缓慢等问题;若再加上在链路大量传输路由信息又会严重影响网络带宽。另外,因特网的许多用户都想使自己的网络信息具有安全性和保密性,但又想充分发挥因特网的作用相互通信,共享资源
2、。为了解决上述多方面的矛盾,因特网被划分成许多个较小的自治系统(autonomous system,AS) 。一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个局域网 LAN 上,也可以是连到Internet 上的,它还可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,在同一个自治系统之内的路由器使用同一个自治系统编号。 单个的自治系统 AS 是由一个 ISP 运营的网络,在 AS 内部使用统一的路由协议,如1路由信息协议(Routing Information Protocol,RIP) ,但 RI
3、P 是一种距离向量协议,在 RIP 协议当中,所有的路径都用跳数来描述,到达目的地的路由最大不超过 16 跳,且只保留唯一的一条路由,这就限制了 RIP 的服务半径,即其只适用于小型的简单网络。同时,运行RIP 的路由器需要定期地(一般 30s)将自己的路由表广播到网络当中,它不但收敛(对于路由协议,网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,这个过程称为收敛)得慢,而且极容易引起广播风暴、累加到无穷、形成环路等致命问题,所以它很难适应当今计算机网络的飞速发展,尤其是大规模的异构互连网络。 为了摆脱诸多因素的困扰,在 20 世纪 80 年代中期, Internet 工程任务组(
4、TETF)开发了另一种新的内部网关协议,它就是开放最短路径优先协议(Open Shortes Path First,OSPF) ,其中的“开放”是说明它的规范是公开的;“最短路径”是因为它使用了 Dijkstra 提出的最短路径算法(SPF) ,即在所有的自治系统内部使用的路由选择协议都是要寻找一条最短的路径。OSPF 协议是一种分布式的链路状态信息协议,在众多的路由技术中,OSPF 协议已成为目前广域网 Internet 和企业网 Intranet 采用最多、应用最广泛的路由技术之一,但 OSPF 协议实现起来比 RIP 协议要复杂得多。下面的内容是从两个方面对 OSPF 协议进行分析。 二
5、、分析 OSPF 协议 (一)自治系统 AS 采用分层结构 在因特网上,AS 是一个 ISP(因特网服务提供商) ,但大学、研究院和私人组织也可以具有自己的 AS。因特网中的 AS 被划分为一个主干区域(backbone )和若干个非主干区域,所谓的区域是把许多网络和主机,再加上连接这些区域网络上的路由器,所构成的逻辑组。AS 中的每个区域内部都运行一个基本链路状态路由算法,即每个区域内部都有它自己相对独立的链路状态数据库和相应的有向图(网络的拓扑图) ,同时区域内的所有路由器运行的链路状态数据库都是一致的,即它们的数据库是同步的。每一个 AS 中都有一个主干区域,称为区域 O,用区域 ID0
6、.0.0.0 来标识。区域 O 的功能主要是负责各个非主干区域之间的路由信息的发布。主干区域必须是连续的,同样,所有的 OSPF 区域必须被连接到区域 O,如果在主干区域中的连续性出现断开现象,则可能需要建立虚链路来连接。一个区域内的消息和细节对本区域以外的区域来说都是透明的,即不可见的,这样可以限制到一个区域的洪泛流量,使规模越来越大的 AS 变得易于管理和维护,也是弥补 OSPF 协议占用 CPU和内存资源的方法,更大大降低了路由信息所耗费的网络带宽。 (二)指派路由器 DR 和备份指派路由器 BDR OSPF 协议是一个分布式的、动态的内部网关协议,动态路由会设法适应网络流量、拓扑结构的
7、变化。为了动态地适应如故障、网络拥塞等网络状态的变化,结点间必须交换链路状态,如本路由器与哪些路由器相邻、费用、距离、延时、带宽等。当链路状态发生变化时,就会发送这些信息。不是所有的路由器之间都会发送信息,只有成为邻接的路由器之间才会发送链路状态信息。 转贴于 中国论文下载中心 http摘要:OSPF 是一种基于链路状态的内部网关路由协议。本文分析了 OSPF 路由协议存在的漏洞以及防范措施,重点探讨了基于 LSU 的数字签名技术。 关键词:OSPF; 漏洞;数字签名 一 OSPF 协议概述 OSPF(Open Shortest Path First)作为目前互联网络应用最为广泛的内部网关路由
8、协议,主要提供自治系统(Autonomous System,AS)内的动态选择路由。它是一种典型的链路状态协议,不同于距离向量协议(如 RIP 等)。OSPF 主要有以下特性: 适应范围广支持各种规模的网络,最大可支持数百台路由器。 快速收敛网络拓扑结构发生变化后立刻发送更新报文,使这一变化在自治系统中同步。 无自环由于 OSPF 根据收集到的链路状态用 SPF 算法计算路由,从算法本身保证了不会生成自环路由。 区域划分允许将自治系统划分成区域,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。 等价路由支持到同一目的地的多条等价路由。 二 OSPF 的漏洞分析 2.1 存在的漏洞
9、OSPF 路由协议虽然采取了多种安全机制来保护其不受侵犯,但是这些安全机制并非能让 OSPF 路由协议成为一个绝对安全的协议,它还存在相当多的漏洞。 1、空验证和简单口令验证的安全漏洞分析 当验证类型字段置为 0 时,即表示该报文为空验证。空验证时验证字段的值可为任意值,路由器在发送和接收该报文时不做任何额外的身份验证处理,接收方只要校验和无误便接收该 OSPF 报文并将其中的 LSA 加入到链路状态数据库中。这一验证类型可以认为是没有任何的安全性的。当使用简单口令验证时,验证类型字段置为 1,64 位的验证字段中存放的是简单口令验证用的口令。简单口令验证的报文是以明文的形式传输的,这其中也包
10、括口令。接收方只要确定校验和正确且验证字段的口令等于预先约定的值即可接收。这一方案对于在传输过程中的窃听者,没有任何的安全性可言。窃听者可以很轻松地监听到口令,然后伪造 OSPF 报文并发送出去,扰乱正常的路由秩序。 2、加密验证的漏洞 加密验证可预防外部窃听、重播、修改路由消息及阻塞协议报文传输等攻击。但是外部的攻击者还可以通过发送恶意报文来耗尽路由器的资源,使得路由器由于一直应付这样的恶意攻击而陷入一种更加脆弱的境界。 3、协议中的其它威胁 (1)最大年龄攻击: 在 OSPF 路由协议中,由于 LSA 的 Age 字段在经过任何一个路由器的时候都需要修改其值,因此它一般不被验证字段的 MD
11、5 摘要所覆盖。攻击者可轻松利用该漏洞在 LSA 的传播过程中将其截获并修改 LSA 的 Age 为 MaxAge。一旦一个 LSA 的 Age 字段被修改为 MaxAge,就可引起路由器链路状态数据库中 LSA 的早熟,LSDB 过早的将 LSA 剔除导致 LSDB 中路由信息的缺失。 (2)针对序列号的攻击: 由于 OSPF 的 LSA 是采用泛洪的方式传播的 ,因此在泛洪途中区域中的入侵者或错误路由器都可以对 LSA 信息发起攻击,篡改其内容。针对序列号的攻击有两种,序列号加一攻击和最大序列号攻击。 (3)分块网络攻击: 如果使虚假 LSA 不被泛洪给该 LSA 的合法生成者,则该 LS
12、A 的合法生成者就不会启动其自反击机制来纠正该 LSA。假设有一个被入侵的路由器所处的位置可以将区域分为两个子区域,则攻击者就可以只向其中的一个子区域以另一个子区域中的某路由器的身份注入虚假 LSA,而不向另一个子区域注入 LSA,这显然就可以达到欺骗的效果。2.2 漏洞防范策略 1、针对空验证和简单口令验证漏洞的防范策略 采用密码验证类型来解决对 OSPF 报文任意修改、甚至生成新报文的漏洞,并且验证类型时,每个 OSPF 路由器发出的报文都包含 32 位无符号非递减加密序列号,在所有邻居路由器中都存放着当前该路由器的最新加密序列号,并要求接收到的 OSPF 报文的加密序列号必须大于或等于存
13、储在路由器中的加密序列号。 2、针对密码验证漏洞的防范策略 密码验证虽然是三种验证方案中最为安全的一种方案,但是它还远没有达到牢不可破的程度。密码验证方案中,LSU 报文的头部仍然是以明文的形式在网络中传播,这给恶意攻击者以很大的机会篡改 LSU 报文。另外,采用 MD5 算法并非绝对安全,中国山东大学的科学家已经破解出 MD5 算法。再者,维护、管理密钥的成本较高。本文建议在此验证类型的基础上,结合数字签名保护机制来确保 OSPF 路由协议的安全。这样的防护可以有效的防备大部分的威胁。本文在后面将提出一种基于 LSU 的报文数字签名方案,可以实现上述功能。三 基于 LSU 的数字签名 OSP
14、F 基于 LSU 的数字签名方案与 OSPF 路由协议报文的加密验证机制的有机结合,有效防止了一系列的威胁、攻击。具体分析如下: 1.内部的恶意路由器篡改 LSA 链路状态信息。由于内部的恶意路由器掌握了加密验证所需的密钥,因此它可以毫不费力的修改 LSA 数据,然后重新生成一个 MD5 摘要放入验证字段。但是采用上述的数字签名方案后,除生成该 LSU 的源路由器外,其它路由器一旦修改 LSU 的内容都将在接收方路由器被验证出来,这很好的保证了路由信息不被外来入侵者尤其是内部错误路由器的篡改。这主要得益于数字签名的不可否认性。这同样解决了困扰 OSPF 路由协议安全的序列号攻击,包括序列号加一
15、攻击和最大序列号攻击,原理与防止篡改内容是相同的。 2.最大程度的防止了最大年龄攻击:在标准 OSPF 中,MaxAge 字段是 LSA 中最容易受到攻击的地方,这是由于 MaxAge 的特殊性而造成的。在签名的 LSU 中添加了 Is MaxAge 字段用于判断该 LSU 中是否携带了最大年龄的 LSA。本文提出的这种方案有效地阻止了入侵者对年龄字段的修改,一旦年龄字段修改为 MaxAge,则路由器在接收该 LSU 报文后的验证过程中通过比对消息摘要时可发现篡改,从而抛弃该 LSU。这在一定程度上阻止了针对 LSA 的最大年龄攻击。但是,有些入侵者将 LSA 的 age 字段修改为一个很接近
16、 MaxAge 的值,这种情况本方案将很难对此进行判别并作出应对,目前来看也没有有效的应对措施。这种攻击方式从一定程度上加快了路由器更新 LSA 的速度,消耗了一定的资源,却无特别大的威胁,应该在可以容忍的范围之内。 基于 LSU 的数字签名 OSPF 机制的效率可以从计算时间、网络带宽和存储三方面来分析。 时间:数字签名保护的 OSPF 协议其核心内容就是对一定的内容进行数字签名。这一过程包括求不定长度的数据的 Hash 序列、使用不对称密钥加解密数据。实验在一台AMD Duron 750MHz 256M memory 配置的 PC 仿真的路由器上进行,系统为 Cygwin 仿真的 UNIX
17、 操作系统。采用 RSAREF2 库算法得到如下的结果:对于一个 16 比特的数据,使用 512-bit 的 Key 产生和验证一个数字签名数据需要耗时 0.47 秒和 0.023 秒。事实上本文采用的 Hash 函数计算出的散列值长度为 128 比特,也就是说系统在产生和验证该数字签名时需要耗费的时间可能还要多。 网络带宽:数字签名保护的 OSPF 协议相对于标准 OSPF,其多占用的网络带宽主要体现在以下几个方面:1、LSU 中数字签名保护数据使得 LSU 的长度增大,直接增大了网络中数据的传输量。2、数字签名体制中 Key 的分发与管理 ,这包括 PKLSA 的传播以及相应的应答等。这些
18、额外的网络带宽负载与网络的容量相比都是极其微小的。 存储:数字签名的 OSPF 路由器都需要存放自身的私钥和区域中其它路由器的公钥,这一部分存储空间大小一定程度上决定于 Area 的大小。而对于数字签名的 LSU 或 LSA,在接受 LSU 报文后通过验证后会将这些报文中的 LSA 存入链路状态数据库之中,这与普通的 OSPF 路由器无异 ,不会将额外的签名信息保存下来占用空间。而对于那些不能通过验证的 LSA 则抛弃不用。 参考文献 1钟廷龙,李鑫,郭云飞. OSPF 路由协议安全性分析J. 微计算机信息, 2005 2 杨静, OSPF 路由协议的安全分析及其漏洞分析,山东大学学报,2003 3 谢蒂,杨静. 一种低代价、可靠的 OSPF 验证机制J 计算机应用,2003