荷”(payload)及“路由器状态”,但是这些动作的执行都是由被网络所有者控制的路由 器具体执行的。这相当于为网络的安全又增加了一道阀门,对“规则”所有者的行为可以进 130 行监控与控制,防止破坏网络的行为。 源地址为S 且目的地址为D 的“包”必须包含一个“规则”,且该规则由D 指定和拥 有。 1.4 “规则”的分配策略 向终端用户分配“规则”:“基于规则转发的网络架构”(FBR)利用类似于DNS[3] 135 的系统来分配“规则”。一旦进行DNS 查询,DNS 将返回目的地的“规则”,而目的地的 IP 地址将包含在“规则”中。 向路由器分配“规则”:路由器需要知道与它们收到“包”对应的“规则”。路由器得 到“规则”的方法有两种: 第一种:“规则”可以由“包”携带。使用这种方法,路由器就不用保存每个“规则” 140 及其对应的状态,不用执行开销非常大的“规则”分配协议。但是这种方法增加了“包头” 的开销,从而给路由器增加了负担。而且路由器需要验证“规则”的“合法性”。 第二种:将“规则”存储在路由器上,这样可以降低“包头”的开销,因为“包”只需 要携带“规则”的标识符,而不是“规则”本身。但是,得到“规则”的过程会很复杂。路 由器可以预先将“规则”存储在自身,但是这样路由器需要存储大量的“规则”。路由器也 145 可以在需要时再下载“规则”,但是在这种情况下,路由器需要缓存“包”,直到它得到了 与该“包”对应的“规则”,这样就会对网络产生时延。 在本文中,我们选择第一种方法。第二种方法对“包头”的开销虽然小,但是会对网络 产生很大的时延。 1.5 “规则”的创建与认证 150 为了接收“包”,终端用户D 必须创建自己的“规则”。在发布这个“规则”之前, 终端用户D 必须发送“规则认证请求”给“规则认证机构”(RCI)。如果一个“规则”没 有被认证,“基于规则转发的网络架构”(FBR)中的路由器将丢弃使用这些“规则”的“包”。 “规则”必须满足下面的这些性质才会被“规则认证机构”认证: 1 “规则”中的任何目的地同意接收使用该“规则”的“包”; 155 2 路由器的所有者同意“规则”调用路由器的功能函数; 3 “规则”不会引起无限循环; 4 “规则”不能违背因特网服务提供商(ISP)的路由策略; 5 “规则”遵守所有“规则”中提到的实体(如发送者,接收者,中间网络节点,网络 运营商)的“政策”; 160 接入“规则认证机构”(RCI)的“规则”将由因特网服务提供商(ISP)提供。 在认证一个“规则”前,“规则认证机构”(RCI)需要确认出现在“规则”中的所有 目的地对“规则”进行了授权,允许该“规则”将“包”转发给自己。创建该“规则”的终 端用户D 只需要使用自己的“私钥”对该“规则”签名即可完成授权。“规则认证机构” (RCI)会发送“授权请求”给“规则”中出现的目的地,它们使用自己的“私钥”在对该 165 “规则”进行签名前,首先要核实“规则”的内容遵守自己的“政策”。例如,一个“入侵 检测盒”需要核实该“规则”的最终目的地,即D,是否允许使用该服务。如果D 被允许 使用该服务,“入侵检测盒”才会对该“规则”签名。 在“规则”中所有目的地对该“规则”授权后,“规则认证机构”(RCI)才会对该“规 则”进行认证并用自己的私钥K 1 − R 签名。 170 下图为“规则”认证的过程: 规则认证机构 规则认证请求 授权请求 ………… “规则”中出现的目的地 等待授权结果 若所有目的地 均授权,则认证 该“规则” 图2 规则的认证过程 用D K - −1 D K 表示D 的公钥-私钥对,用D IP 表示D 的IP 地址。为了向“规则认证机构” (RCI)证明用−1 D K 对“规则”进行签名的终端用户确实拥有IP 地址D 175 IP ,也就是该终端 用户确实是D,该终端用户将随着该“规则”一起发送“证书”给“规则认证机构”(RCI)。 该“证书”绑定了D K 和D IP ,并且该证书需要使用“规则认证机构”(RCI)的私钥K 1 − R 签名。 为了使“规则认证机构”(RCI)免受DoS[4]攻击,“规则认证机构”(RCI)限制单 180 位时间内可以向其发送认证请求的次数,并且可以通过修改“规则认证机构”(RCI)的“规 则”对某些攻击者进行网络屏蔽。 2 安全性保证机制 2.1 网络攻击类型 我们考虑来自恶意终端用户及恶意路由器的攻击,而且我们将讨论两种类型的攻击: 185 1 恶意“规则”的创建: (1)“规则”欺骗:一个攻击者可能创建一个最终目的地IP 不属于它的“规则”,即 攻击者伪造其他终端用户的“规则”; (2)对网络发动DoS 攻击:创建“规则”进行无限循环; (3)对网络终端发动DoS 攻击; 190 (4)篡改路由器状态; 2 滥用现存的“规则”: (1)“重用”攻击:长时间使用一个“规则”,超过了“规则”创建者的打算; (2)“规则”违背:违背“规则”的指令,例如不丢弃过期的“规则”; (3)篡改攻击:修改“包”中的“规则”; 195 2.2 保护机制 “基于规则转发的网络架构”(FBR)使用三种保护机制来抵御这些袭击: “规则”认证; 引入“规则认证机构”(RCI)可以保证“规则”遵守所有“规则”中提到的实体的“政 策”。同事也可以防止终端用户冒充其他用户注册“规则”。 200 “规则”租期; 当“规则认证机构”(RCI)认证一个“规则”时,它将会按照“规则”创建者的要求 给“规则”添加一个“到期时间”,即赋予该“规则”一个租期。如果现在的时间超过了“包” 中“规则”的“到期时间”,那么路由器就会丢弃该“包”。通过引入租期,即使“规则” 被恶意使用,其破坏性也会限定在某段时间内。 205 假设所有的路由器和“规则认证机构”是同步的,例如可以通过NTP[5]来实现。 反欺骗机制; “基于规则转发的网络架构”(FBR)使用了反欺骗机制,可以防止终端用户冒充其他 终端用户进行“规则”的创建及修改。例如,可以使用“passports”[6]作为反欺骗机制。 3 FBR 使用示例 210 “基于规则转发的网络架构”(FBR)给终端用户四种基本的控制能力:(1)在网络 中阻止不想要的“包”的到来;(2)通过迂回路由器,让“包”的转发经过迂回路由器; (3)在路由器允许的情况下,调用路由器的函数去完成一定的功能,如修改“包”的“有 效载荷”;(4)在转发决策的过程中使用“路由器状态”并且记录这些状态。 接下来,本文将介绍几个例子来展示“基于规则转发的网络架构”(FBR)的灵活性。 215 A 基于端口(port)的过滤 网络服务器D 可以使用下面的“规则”来保证它只接受发往端口号100 的“包”: R_D: If(dst_port!=100) drop; 220 Else Sendto D; B “中间盒”(middlebox)支持 除了接受目的端口为100 的“包”,D 可以使用下面的“规则”来将其他发往D 的一 个“包洗涤器”(packet scrubber)[7],它是一种“中间盒”(middlebox)设备: 225 R_D: If(dst_port == 100) Sendto D; Else If(state == 0) 230 If(address != Scrb) Sendto Scrb;//发往“包洗涤器” Else State = 1; Invoke Scrb_service;//调用“包洗涤器”的函数进行处理 235 Else if(state == 1) Sendto D; 如果目的端口不是100,将“包”转发给“中间盒”(middlebox)——“包洗涤器”(packet scrubber),调用“包洗涤器”(packet scrubber)的函数(服务)对“包”进行一定的处理。 C 安全的“中间盒”(middlebox)支持 240 在B 中,网络袭击者可以直接将“包”中的参数State 设为1,这样网络系统就会误认 为该“包”已经经过“中间盒”(middlebox)。目的地D 可以通过两种方法防止这种情况 的发生。 第一种方法:D 可以确认当参数State 为1 时"包"是否经过了“中间盒”(middlebox), 例如,当source != Scrb ,则丢该该“包”。为了达到这个目的,当“包”到达“中间盒” 245 (middlebox)Scrb 时,“包”的IP 源地址必须被置为Scrb 的IP 地址。这条规则必须依赖 于应用于“基于规则转发的网络架构”(FBR)的“反欺骗”机制来封锁使用伪装源地址的 “包”。 为了防止“合法”的包被“反欺骗”机制丢弃,“包”的源地址必须在修改目的IP 地 址的路由器或“中间盒”(middlebox)处修改。为了“规则”的可读性,B 中的“规则” 250 没有涉及这部分内容。 第二种方法:目的地D 可以使用更强的加密措施。为了达到这个目的,“中间盒” (middlebox)必须提供一个函数,该函数的执行能颁发一个加密的“证据”以证明“包” 访问过该“中间盒”(middlebox)。目的地D 需要提供另一个一个函数,该函数的执行可 以验证“中间盒”(middlebox)加密的“证据”。验证通过后该“包”才会传给上层应用。 学术论文网Tag:代写硕士论文 代写论文 代写MBA论文 代写博士论文 |