用于保护数据分组的路由选择的方法和设备的制作方法

文档序号:7937979阅读:273来源:国知局
专利名称:用于保护数据分组的路由选择的方法和设备的制作方法
技术领域
本发明主要涉及用于在例如因特网的公共分组数据网络中保护数 据分组的路由选择的方法和设备。
背景技术
数据编码信息在各方之间通过IP (因特网协议)网络的基于分组 的传输用于各种通信服务,如电子邮件消息传递、因特网浏览、话音 和视频电话、内容流传送、游戏等。数字编码信息在发送方布置到数 据分组中,分组随后通过传输路径向目标接收方传送。发送方与接收 方之间的传输路径可包括各种网络、交换机、网关、路由器和接口。 通信方通常称为"端主机",可以是能够进行基于分组的IP通信的任何 类型的设备,如固定和移动电话、计算机、服务器、游戏机等。在本 说明书中,术语端主机将概括表示任何此类通信设备。
连接到因特网的端主机一般已被指派有IP地址形式的转发身份, 该身份需要用于路由沿传输路径引导到该端主机的任何数据分组。一 般情况下,端主机还已指派有文本字符串形式的与指派的IP地址相关 耳关的或多或少可理解的名称,例如,常规电子邮件地址或网址,如
user@operator.com。包括DNS (域名服务器)服务器的层次的DNS 系统用于检索特定主机名称的当前IP地址。因此,端主机能通过主机 名称查询DNS系统以与其通信,并且DNS随后将通过提供对应端主 才几的当前IP地址来回复。此类查询有时称为目的地查询、身份查询或 地址查询,本说明书通篇使用后者。
数据分组基本上配置有包含有效负载数据的数据字段和报头字 段,发送端主机在报头字段中插入目标端主机的目的地地址,即,从DNS系统获得的IP地址。因此,基于分组净艮头字段中的目的地地址, 每个数据分组沿传输路径、通过通常称为IP路由器的多个网络节点来 路由。
除简单地接收和转发数据分组外,IP路由器还可能够执行其它功 能,如安全性控制、分组调度和地址与协议的转换。此外,端主机可 具有用于例如根据用户所做的设置来确定应接纳还是丢弃进入的数 据分组的防火墙功能。
IP网络中的每个路由器一般情况下包括充当分别用于接收和发送 数据分组的接口的入口和出口单元。路由器还包括用于基于路由器中 定义的转发表、确定应将进入的数据分组发送到作为"下一跳"的哪个 路由器的路由选择或转发功能。如本领域中公知的,根据网络拓朴和 当前业务负载,数据分组通常能沿多个备用路径进行路由。
借助于对应的端口 ,在每个路由器中提供到最近相邻路由器的链 路,并且基于拓朴信息和链路信息的分发,还在路由器中配置转发架 构。每个端口能具有在其接口上配置的IP地址和IP掩码,并且路由 选择协议用于在配置过程中在网中的路由器之间分发此信息。随后, 每个路由器从分发的拓朴信息计算其自己的转发表,包含多个目的地 IP地址和相关联的外出端口 。由于每个进入的数据分组在其报头中具 有目的地IP地址,因此,转发表用于从该IP地址查找转发表中的适 合条目。转发表的主要功能因此是为每个进入的分组确定适当的外出 端口。
在图1中,示出了位于IP网络中时常规IP路由器100的基本结 构。除其它之外,IP路由器100包括入口部分100a、出口部分100b 和此处示意地表示为转发表100c的转发功能。出口部分100b包括分 别通向路由器100直接连接到的不同相邻路由器A、 B、 C...的多个外 出端口 PA、 PB、 Pc...。任何进入的数据分组102具有有效负载字段PL 和报头H,后者包含用于分组的目的地地址。
转发表100c由多个条目组成,每个条目包含IP掩码、IP地址和外出端口号。IP掩码可根据诸如FF.FF.FF.O或FF.FF.8.0等十六进制 编码的字符串来定义。筒要地说,通过应用逻辑"与"操作,比较报头 H中的目的地地址和转发表100c中的IP掩码以侵j全测带有相同IP地 址的匹配条目。 一旦发现匹配条目,便能根据该条目的端口号在外出 端口上发出分组。
可能已从前一路由器(未示出)转发到路由器100的进入的数据 分组102因此先在入口单元100a中接收。随后,基于报头中的目的地 地址并^f吏用转发表100c和上述逻辑"与"l喿作,确定应将分组发送到哪 个下一路由器。在此示例中,进入的分组102具有目的地IP地址,该 地址在与掩码组合时,匹配在转发表100c中具有端口号Pc的条目的 IP地址。分组102因此在连接到路由器C的该对应端口上发出。
如上所述,路由选择协议用于在IP网络中的路由器之间分发拓朴 和链路信息。当前使用的路由选择协议配置成获取"弹性",即,在原 路径中链路或节点故障的情况下,分组必须在不同的路径中重新路 由。路由选择协议还配置成方便路由器管理,这是因为配置路由器一 般情况下是烦瑣的任务,该任务通常最好是得以简化。因此,在链路 或节点故障的情况下,路由选择协议将重新配置受影响路由器中的转 发表,并且同时将信息分发到路由器,由此简化管理。
为获得在其它情况下在路由选择架构中是固有问题的可扩展性, 路由选择过程能基于分层比特屏蔽方案。图2示出此类分层比特屏蔽 方案的一个示例,其中,通过部分地比特屏蔽地址的最低有效部分, 比特屏蔽的IP地址形成分层结构。因此,示范顶层比特屏蔽IP地址 示为"l.x.x.x",并且在结构的下一层,三个示范比特屏蔽地址示为 "l丄l.x"、 "1.1.2.x"—"1.1.3.x",每个地址涵盖该层次的最低层上未屏 蔽的IP地址的集合。此类型的分层比特屏蔽方案一般情况下在路由选 择架构中用于促进转发表中的上述匹配操作。
然而,如下所述,IP网络和因特网的一个主要问题是安全性夫持 通常不充分。当前路由选择架构和协议原来设计用于"友好"环境,即,假设在IP网络中无"恶意"或"不道德"用户在通信。不过,各种安全性 解决方案已被添加到IP架构以便保护传递的数据,如在低层上的
IP-sec及在更高层上的TLS (传输层安全性)。此外,MPLS (多协议 标签交换)也是用于构建第3层VPN (虛拟专用网络)以确保安全通 信的解决方案。在VPN的情况下,当使用内联网时,要求专用寻址, 并且稍微将网络与公共因特网隔离,使得外部未经授权的主机不得到 达并与附连到内联网的主机通信。
在路由选择协议中提供安全性的其它以前解决方案包括路由器 之间的安全通信,使得恶意实体不能偷听、操纵或模仿路由器;路由 器端口之间建立IP-sec隧道以保护路由器之间的分组传输;以及第2 层上的链路安全性。还能使用各种认证过程和密码密钥以增强安全 性,如根据DNSSec (DNS安全性)、HIP (主机身份协议)及CGA (密码生成地址)。虽然防止不需要业务的保护被用于某些应用(例 如,对电子邮件的垃圾邮件过滤),但在公共IP基础设施中通常未提 供防止妨碍端主机和不需要数据分组的基本保护。
由于内部转发身份(即IP地址)以上述方式公开端对端分发,所 以任何端主机基本上能够通过因特网将消息和数据分组发送到任何 其它端主机,从而导致泛洪、垃圾邮件、病毒、欺诈和所谓的"拒绝服 务"(DoS)威胁的公知问题。因此,通常问题是任何端主机能完全在接 收端主机控制之外使数据分组被接受,并且诸如因特网等公共IP网络 在IP ^5出设施中没有防止来自可能恶意或不道德最终用户的数据分 組被路由到接收方的机制。因此,在端主机或链路层中必须添加或多 或少复杂的功能,如防火墙或诸如此类,以便限制连接。另外,这些 解决方案是"最后的防线"解决方案,意味着不需要的数据仍能沿整个 发送方-接收方路径占用资源,而只是在接收方被丟弃。

发明内容
本发明的目的是解决至少上面概述的一些问题。还有的一个目的是获得用于保护分组数据网络中的数据分组的路由选择的机制。这些 目的和其它目的能主要通过提供如所附独立权利要求中定义的方法 和设备来实现。
根据一方面,提供了 一种如DNS服务器系统所执;f亍的用于保护分 组数据网络中的数椐分组的路由选择的方法。在从第 一端主机接收有 关第二端主机的地址查询时,DNS系统检索与第二端主机相关联的目 的地地址。检索到的目的地地址通过依赖于已分发到分组数据网络中 ^^由器的主密钥的密钥进行加密,并且包含加密目的地地址的目的地 参数被创建。随后,创建的目的地参数被发送到第一端主机以响应地 址查询,由此使得第一端主机能够通过将目的地参数附连到每个传送 的数据分组而使数据分组对于第二端主机被接受。
根据另 一方面,提供了 一种在DNS服务器系统中用于保护分组数 据网络中的数据分组的路由选择的设备。所述设备包括主密钥管理 器,适合于将主密钥分发到分组数据网络中的路由器;地址查询管理 器,适合于从第一端主机接收有关目标第二端主机的地址查询;以及 主机数据库,用于存储与端主机相关联的目的地地址,并适合于提供
第二端主机的目的地地址。所述设备还包括加密单元,该单元适合于 通过使用依赖于主密钥(S)的密钥来加密目的地地址,并且创建包括加 密的目的地地址的目的地参数。地址查询管理器还适合于将创建的目 的地参数发送到第 一端主机以响应所述地址查询,由此使得第 一端主 机能够通过将目的地参数附连到每个传送的数据分组而使数据分组 对于第二端主机被接受。
在上述方法和设备中,不同的实施例是可能的。例如,可要求第 一端主机的认证以便处理查询,使得在第一端主机未被认证时拒绝查 询。此外,可在创建目的地参数时,通过包括比特序列来随机化目的 地地址。
根据仍有的另一方面,提供了一种如分组数据网络中的路由器所 执行的用于保护分组数据网络中的数据分组的路由选择的方法。在收到数据分组时路由器尝试使用依赖于DNS分发的主密钥的密钥将收 到的数据分组解密。如果通过解密能从分组得出包括有效目的地地址 的目的地参数,则接纳分组,并且如果通过解密不能从分组得出此类 F)的地参数,则丢弃分组。如果接纳,则基于目的地地址为分组执行
转发操作以确定用于分组的外出端口。随后,将目的地地址加密,并 且为分组创建包括新加密的目的地地址的新目的地参数。最后,从确 定的外出端口将分组发送到下一跳节点,其中创建的新目的地参数附 连到分组。
根据仍有的另一方面,提供了一种在分组数据网络中的路由器中 用于保护数据分组的路由选择的设备,该设备包括用于接收数据分组 的入口部分、转发单元和用于从路由器发出分组的出口部分。转发单 元包括适合于使用依赖于DNS分发的主密钥的密钥来尝试收到的数 据分组的解密的解密单元。转发单元适合于在通过解密能从分组得出 包括有效目的地地址的目的地参数时接纳分组,并且在通过解密不能 从分组得出此类目的地参数时丟弃分组。转发单元还适合于基于解密 的目的地地址4丸行转发操作以确定用于分组的外出端口 。转发单元还 包括用于将目的地地址加密并创建包括新加密的目的地地址用于分 组的新目的地参数的加密单元。随后,入口部分将分组从确定的外出 端口发送到下一跳节点,其中创建的新目的地参数附连到分组。
在上述后面的方法和设备中,不同的实施例是可能的。例如,如 果收到的分组中的加密目的地地址通过收到的目的地参数中的比特 序列来随机化,则解密单元可从目的地参数了解比特序列,并且加密 目的地地址随后通过使用了解的比特序列而^皮解密。加密单元也可在 创建新目的地参lt时通过新比特序列来随^f几化目的地地址。
下一跳节点可属于与上述路由器相同的路由器域,并且用于将目 的地地址加密的密钥因而在该路由器域内共享。备选的是,下一跳节 点可以是属于相邻路由器域的边缘路由器,并且用于将目的地地址加 密的密钥因而与该边》彖路由器共享。从下面的详细描述中,将明白本发明的其它可能特征和优点。


下面将通过示范实施例并参照附图更详细地描述本发明,其中 -图1是示出根据现有技术的IP网络中路由器的示意框图。 -图2示出根据现有技术的用于IP地址的分层比特屏蔽方案的逻 辑结构。
-图3是根据一个实施例的框图,示出在路由器中处理和转发时 能如何保护数据分组的路由选择。
-图4是根据另一个实施例的框图,示出在传输路径中的每一跳 如何修改数据分组。
-图5示意地示出根据仍有的另一个实施例、在传送数据分组时 在多个网络域中如何使用不同的加密密钥。
-图6是根据仍有的另一个实施例的流程图,带有DNS服务器系
-图7是才艮据仍有的另一个实施例的流程图,带有^各由器为保护 分组数据网络中的数据分组的路由选择而执行的过程中的步骤。
-图8是更详细地示出根据仍有的另 一个实施例的DNS服务器系 统和路由器的示意框图。
具体实施例方式
简要地说,本发明提供用于保护沿发送端主机与接收端主机之间 的传输路径、通过分组数据网络的数据分组的路由选择的安全性解决 方案。该安全性解决方案能内置到分组数据网络中路由器使用的转发 架构的核心协议中。通常,例如如上所述,通过公共分组数据网络传 送的所有分组必须通过传输路径中每个路由器的转发平面中的转发 机制。通过将在下面描述的在路由器的转发平面内嵌入安全性机制,产生的安全性将在IP基础设施中有效的实施以保护通过该路由器的 任何分组的路由选择。
用加密,特别是在从一个路由器的出口部分传送到作为下一跳的另一 路由器的入口部分时,实现该安全性机制。 一般情况下,数据分组中 的目的地地址是目标端主机的常规IP地址,但本发明通常并不限于 此。
因此,在第一路由器接收带有加密目的地地址的数据分组时,使 用第一路由器已知的密钥将目的地地址解密,并且借助于第一路由器 中的转发表,基于目的地地址为分组确定外出端口。随后,在外出端 口上向传输路径中作为下 一跳的第二路由器发出分组之前,使用下一 跳节点已知的加密密钥再次将分组中的目的地地址加密,并依此类 推。
由于例如常规IP地址等目的地地址可在分组中加密提供,因此, 现在转发操作能以常规方式在路由器中使用,即,基于解密的目的地 地址。
图3是示出根据一个示范实施例、在路由器300中能如何保护分 组数据网络中数据分组的路由选择的框图。此过程示为一系列的动作 或步骤。在第一配置步骤3:1中,DNS系统302将用于数据分组中目 的地地址的加密的一个或多个主密钥分发到分组数据网络的路由器 域中的路由器,包括路由器300。此类主密钥和可能的其它加密密钥 到路由器的分发可在配置过程中执行,或者否则例如使用如上所述在 路由器域中用于配置常规转发架构的路由选择协议来执行。特定的密 钥服务器可负责管理主密钥并将其分发到域中的路由器,即使为简明 起见此处l义示为由DNS系统302进行的某个动作。
在某一点,端主机A要与未示出的称为目标端主机的另 一端主机 通信。在进一步步骤3:2中,端主才几A相应地以如上所述的常规方式 将地址查询发送到DNS系统302,例如,涉及目标端主机的电子邮件;也址或网址。
在接收地址查询时,DNS系统302从主机数据库或诸如此类检索 能够是常规IP地址的目标端主机的目的地地址D。可选的是,DNS 系统302还可将为第二端主机定义的策略应用到该查询,以确定查询 端主机发送数据分组到目标端主机是否得到授权。DNS系统302随后 在下一步骤3:3中使用以前分发的主密钥S将目的地地址D加密,并 创建一般称为"目的地参数TAG"的参数,该参数要附连到从端主机A 向目标端主机发送的任何数据分组。
例如,目的地参数TAG能定义为
TAG = (Encrypt (S, D, RAND) 11 RAND)
其中,"Encrypt"是使用的加密函数,"RAND"是随机化的比特序 列,以及"| l,,表示级联。目的地地址D因此通过比特序列RAND被随 机化,并且通过主密钥S进行加密。备选的是,目的地地址D可通过 从主密钥S得出的不同加密密钥Si进行加密。在该情况下,路由器能 够从分发的主密钥S得出用于TAG的解密和加密的相同密钥Si。通 常来说,目的地地址D通过"依赖于主密钥的密钥"(即S或Si)进行 加密。在步骤3:3中,DNS系统302还创建表示为TAGo的目的地参 数TAG的初始版本,其中,目的地地址D通过特定的比特序列RAND0 被随机化或与其级联。
DNS系统302在下一步骤3:4中通过将创建的目的地参数TAG0 发送到查询端主机A来响应查询端主机A。在进一步步骤3:5中,端 主机A向目标端主机发送附连有获得的目的地参数TAGQ的数据分 組,该分组在路由器300由入口部分300a接收。应注意的是,端主机 A只将获得的TAG。原样附连到分组,并且在端主机A无需进行诸如 解密等TAG。的其它处理。TAGo能在分组报头中的目的地字段中插 入,正如目的地IP地址通常才艮据现有纟支术一样。
在路由器300的转发单元300b通常配置成对每个进入的数据分组 执行转发操作。在进一步步骤3:6中,转发单元300b使用以前分发的主密钥S或备选的加密密钥Si以及从TAGo 了解的比特序列RANDo, 将附连的目的地参数TAGg中的目的地地址D解密。
在进一步步骤3:7中,转发单元300b随后能基于解密的目的地地 址D执行转发操作,以便确定在此情况下表示为"端口 X,,的、用于下 一跳的正确外出端口。基于目标端主机的目的地地址D,例如,IP地 址,借助于转发表能以常规方式执行上述转发操作。否则,分组将被 丢弃,即,如果解密的目的地地址D对于路由选择无效,则转发操作 不能进行。
在下一步骤3:8中,假设转发操作成功,转发单元300b通过新的 特定比特序列RAND!将目的地地址D随机化,并且基本上以类似于 对于上面步骤3:3所述的方式,使用S或Si将目的地地址D加密。随 才几化和加密的目的地地址D随后封入表示为TAG!的下一版本的目的 地参数中,该参数被附连到分组,例如,在分组报头的目的地字段中。 下一版本TAG!因而即使像以前一样包含由相同密钥加密的相同目的 地地址D,也能被视为是不同于以前TAGo的"新"目的地参数。在沿 传输路径的一些路由器中,加密密钥S或Si可不同于以前使用的密钥, 这将在下面更详细地描述。
在进一步步骤3:9中,包括的分组;故转发到在上面步骤3:7 的转发操作中确定的外出端口 X。最后,分组在最后的步骤3:10中在 端口 X上发出,作为下一跳。下一接收路由器随后将能够使用分发的 主密钥D和分组中封入的比特序列RANDn以如上所述相同的方式 将目的地地址D解密。传输路径中在目标端主机前的最后路由器可根 据步骤3:7将目的地地址D加密或不加密,但目标端主机如果是单个 节点,则可能根本无需读取目的地字段。
图4示出在分组中加密目的地地址时,通过应用不同的随才几化比 特序列,在始于分组发送端主机A的传输路径中的不同跳如何更改数 据分组的目的地参数TAG。另外,通过为每个分组应用不同的随机化 比特序列,多分组通信中的每个连续分组将包含不同于前一个的唯一TAG。通过以此方式为每一跳在不同目的地参数TAG中隐藏目的地 地址D,未经授权方几乎不可能截取目标端主机的IP地址并向其发送 未经请求的数据分组,由此增加路由选择过程中的保护和安全性。另 外,由于随机化,将连续的分组链接到特定的目的或会话是极其困难 的,从而也产生改进的私密性。
本领域的技术人员将认识到,目的地参数TAG能以其它备选方 式区分,而不是使用如上所述的不同随机化比特序列,并且本发明在 此方面并无限制。例如, 一系列的密钥可分发到路由器,在连续的路 由器加密目的地地址D时能根据已知序列或方案逐一使用这些密钥。 获得TAG的区分的其它可能选择包括使用单调增大的序号或时间戳。 在图4的示例中,随机化以上述方式用于TAG的区分。
因此,DNS系统400将由比特序列RAND。随机化的目的地参数 TAGQ的初始版本提供到端主机A以响应来自其的地址查询。当从端 主机A传送到传输路径中的第一路由器时,分组P(O)包含未受端主机 A影响的该目的地参数TAGo。当从第一路由器传送到传输路径中的 第二路由器时,分组P(l)包含由新比特序列RANDi随机化的不同目 的地参数TAGl5并且当从第二路由器传送时,分组P(2)包含由又一 比特序列RAND2随机化的另一目的地参数TAG2,并依此类推。因此, 传输路径中的路由器通过在加密分组中的目的地地址时应用不同的 唯一随机化比特序列来修改目的地参数TAG。
在IP网络中的路由器域内,主密钥S能借助于使用所谓的不透明 LSA (链路状态通告)选项的链路状态协议而分发到路由器。优选的 是密钥S也在某一点更新,例如,在某个期满时间后。例如,负责选 择和处理主密钥S的密钥服务器可在域中定期分发或"泛洪"当前有效 密钥S。因此,不同的主密钥或不同系列的加密密钥将用于加密在通 过多个if各由器域传送时数据分组的目的地地址D。
当分组要从一个域中称为出口路由器的边缘路由器传输到在另一 相邻域中称为入口路由器的边缘路由器时,在第一域中实现的主密钥不能使用,这是因为在相邻域中可能实现不同的主密钥。这能够通过 在相邻路由器域中的每个出口 /入口路由器对之间应用特定的边界加 密密钥而解决,并且两个域中的边缘路由器均知道其自己域的主加密 密钥及边界加密密钥。
图5示意地示出在多路由器域结构中以上述方式传送数据分组时
不同密钥S如何用于加密。主密钥S!在第一路由器域l内实现。此夕卜,
主密钥S2和S3分别在第二和第三路由器域2、 3内实现。在分别属于 相邻路由器域1和2的互连边缘路由器ER1与ER2a之间,实现边界 加密密钥Sw。在分别属于相邻路由器域2和3的互连边纟^i洛由器ER2b 与ER3之间,实现边界加密密钥S2-3。因此,边^^、由器ER1知道密 钥Si和S^,边缘路由器ER2a知道密钥S2和Sl2,边缘路由器ER2b 知道密钥S2和S2-3,以及最后边缘路由器ER3知道密钥S3和S2-3。
也能以下述方式在DNS系统增加用于4受4又查询端主才几的进一步 的安全性最初,在端主机向DNS系统发送地址查询时,例如,在 上述步骤3:2中,端主机必须知道用于此类查询的DNS系统的地址或 对应的目的地身份。DNS地址能够是公知的地址,但它也能够仅从本 领域中公知的DHCP (动态主机配置协议)服务器获得。在一个实施 例中,DHCP服务器提供对于进行地址查询所需的DNS的加密标记, 其只能由主机在经DHCP ^人证后获得。如果地址查询缺少DNS的所 需加密标记,则查询将被拒绝,并且防止查询端主机发送分组到目标 端主才几。
由于从上述目的地参数TAG能获得显式目的地地址,因此,一 个优点是能利用现有地址层次和转发过程。同时,通过只允许为 DNS/DHCP授权的端主机在路由器中的转发过程中使数据分组被接 受,和/或通过对每个地址查询应用为第二端主机定义的策略,能进一 步保护目的地以防止未经请求的数据分组。
另外,由于司的地参数TAG在每一跳是唯一的,因此,甚至对 于同一目的地的分组,侦听业务的攻击者将看到随机不同的TAG。还有,主密钥S也能如上所述定期更改。例如,负责密钥分发的服务器
可在每个不透明LSA泛洪时通告不同的主密钥S。这种情况下,在每 个分组的TAG中还包括对于使用的密钥的指针或"密钥身份"可以有 助于避免路由器之间的密钥同步问题。
如上对步骤3:2所建议的,当使用从分发的主密钥S获得的加密 密钥S时,布置密钥派生使得Si将不公开或"泄露"有关主密钥S的信 息是可能的。例如,这能够通过定义Si-F(S,...)而实现,其中,F是 密码单向函数。
也可能应用以下策略实行方案以根据采用的分组接纳策略防止或 至少减少不需要的业务
1) 借助于随机化或其它区分技术,能为查询同一目的地地址的两 个不同端主机提供不同的目的地参数TAG。由于路由器通过上述密钥 分发知道用于加密IP地址的密钥,因此,每个路由器能将目的地地址 正确解密,并且向同一目的地转发分组。
2) 主密钥S的有效期间或持续时间能受到约束。在将多个分组发 送到同一目的地时,无i仑何时更新密钥S,例如,在某些间隔,发送 端主机随后便需要更新目的地参数TAG。因此,应该根据采用的分组 接纳策略,"允许,,或"不允许,,使用在此期间已期满的以前的主密钥的 任何重新传送的分组服从分组约束。这能用于停止可疑的进行中的泛 洪攻击,即,密钥服务器能在网络中生成和分发新的主密钥。
组合使用上述两种策略实行方案意味着在所谓的"分布式DoS (DDoS)攻击"中,甚至串通的攻击者的联合也不能向受害者泛洪未经 请求的分组。
如果密钥有效期设得太短,以致必须用新的更新密钥创建每个分 组以有效地提供分组接纳控制的最精细的可能粒度,则在分发这些"一 次性"密钥的密钥服务器上强加了重负荷。此外,如以前一样通过同一 密钥接纳任何重新传送的分组似乎是合理的,但意味着"最严格"级别 的DoS保护可能不可行。因此,路由选择基础设施将在同一密钥下接纳不止一个分组并将它们路由到同一主机。考虑到以上因素,可能必 需在防止非法泛洪的保护粒度与合法重新传输的需要之间进行折衷。
图6是流程图,具有由例如图3中DNS系统302的DNS服务器 系统所4丸行的、用于在分组数据网络中保护数据分组的路由选择的示 范过程中的步骤。同样地,假设用于目的地地址的加密的主密钥已从 例如密钥服务器或诸如此类分发到分组数据网络中的路由器。还假设 DNS系统也知道主密钥。在第一步骤600中,/人请求第二端主才几的目 的地地址的第 一端主机接收地址查询,第二端主机因而是目标端主 机。地址查询能以如上述的常规方式进行,例如,涉及第二端主机的 电子邮件地址或网址。
在下一步骤602中,DNS系统检索与第二端主机相关联的目的地 地址, 一般情况下是IP地址。可选的是,可要求经DHCP的第一端 主机的认证,或第二端主机的接纳策略的检查,以便如上所述进一步 处理查询。在该情况下,如果第一端主机未通过认证或未被允许发送 分组,则DNS系统将拒绝查询,这未在此处示出。在进一步步骤604 中,DNS系统通过主密钥或从其得出的密钥将检索到的目的地地址加 密,并创建包含加密目的地地址的目的地参数TAG。在TAG中,目 的地地址也可如上所述通过比特序列RAND被随机化。
在最后示出的步骤606中,DNS系统将创建的目的地参数TAG 发送到第一端主机以响应步骤600的查询。由此,第一端主机能够通 过将获得的TAG附连到每个传送的分组而使数据分组对于第二端主 机被接受。 ,
图7是流程图,具有由例如图3中路由器300的分组数据网络中 路由器所执行的、用于在分组数据网络中保护数据分组的路由选择的 示范过程中的步骤。在第一步骤700中,由路由器接收数据分组。分 组可已从相邻路由器或作为第一跳的发送端主机传送。
可选的是,可检查收到的分组是否包含所需的目的地参数TAGX, 该参数应包括由分发的主密钥或从其得出的密钥加密的有效目的地地址。如果未发现此类目的地参数TAGX,则将丟弃分组,但这在此 处未示出。假设发现了要求的目的地参数TAGx,在下一步骤702中 使用已知主密钥对TAGx应用解密。
随后,在进一步步骤704中通过对目的地参数TAGx应用解密, 确定能否得出有效的目的地地址。如果不能,则在步骤706中丟弃分 组。否则,在进一步步骤708中,基于解密的有效目的地地址执行转 发搡作以便确定发出分组的正确外出端口,通向下一跳节点,如在分 组的传输路径中到目标端主机的另一路由器。
在步骤708中已确定外出端口后,在步骤710中再次将目的地地 址加密,并且为分组创建包括新加密目的地地址的新目的地参lt TAGX+1。最终,在最后示出的步骤712中,分組从确定的端口发送到 下一跳节点,且附连有创建的新目的地参数TAG。随后,接收下一跳 节点能够基本上重复根据上述步骤700-712的过程。
图8是根据进一步示范实施例的逻辑框图,更详细地示出用于在 分组数据网络中保护数据分组的路由选择的DNS服务器系统800中 的设备和路由器802中的设备。DNS系统800包括地址查询管理器 800a,该管理器适合于从请求例如常规IP地址等目标第二端主机的目 的地地址的第一端主机接收地址查询Q。
DNS系统800还包括通常用于存储与端主机相关联的目的地地址 的主机数据库800b。具体地说,主机数据库800b适合于将请求的目 的地地址D提供到地址查询管理器800a。 DNS系统800还包括主密 钥管理器800c,该管理器适合于管理分组数据网络中使用的加密密 钥,并特别适合于将至少一个主密钥S分发到分组数据网络中的路由 器,包括如图所示的路由器802。DNS系统800还包括加密单元800d, 该单元适合于通过分发的主密钥S或从其得出的密钥Si将请求的目的 地地址D加密,并且创建包含加密目的地地址D的目的地参数TAG。 地址查询管理器800a还适合于将创建的目的地参数TAG发送到第一 端主机以响应地址查询Q。由此,第一端主机能够通过将获得的TAG附连到每个传送的数据分组而使数据分组对于第二端主机被接受。
路由器802包括入口部分802a,该部分适合于从未示出的相邻节 点接收数据分组P,如在分组数据网络中的另一路由器。路由器802 还包括转发单元802b,该单元适合于在附连到分组的目的地参数TAG 包括由分发的主密钥S或从其得出的密钥Si加密的有效目的地地址时 接纳分组P以用于进一步的路由选择。转发单元802b还适合于在通 过解密不能从分组得出此类有效目的地地址时丟弃分组。
更详细地说,转发单元802b包括用于使用上述主密钥S将分组 中的加密目的地地址解密的解密单元804。转发单元802b适合于基于 解密的目的地地址D和使用转发表806执行转发操作并确定用于分组 的外出端口。转发单元802b还包括用于将目的地地址D加密并为分 组创建包括新加密的目的地地址的新目的地参数TAG的加密单元 808。
路由器802还包括出口部分802c,该部分适合于将分组从确定的 外出端口发送到下一跳节点,例如,另一相邻^各由器,其中创建的新 目的地参数TAG附连到分组。
应注意的是,图8只在逻辑意义上示出分别在DNS系统800和路 由器802中的各种功能单元。然而,技术人员在实践中可使用任何合 适的软件和硬件部件自由实现这些功能。因此,本发明通常不限于 DNS服务器系统800和路由器802的所示结构。
在任何上述实施例中,目的地参数TAG能够可选地包括基于从S 或Si得出的密钥的消息认证码MAC,以允许在i^各由器尝试解密前一睑 证TAG。例如,目的地参数TAG可配置如下
TAG = encrypted—IP—address 11 MAC (encrypted一IP一address)。
本发明提供在IP基础设施中用于控制数据分组的路由选择以防 止在网络中路由来自可能恶意或不道德最终用户的分组的机制。该机 制因而能用于避免泛洪、垃圾邮件、病毒、欺诈、DoS攻击和通常未 经请求的业务。虽然本发明已参照特定示范实施例描述,但说明主要只是要示出 本发明的概念,并且不应视为限制本发明的范围。本发明由所附权利 要求来定义。
权利要求
1.一种保护分组数据网络中的数据分组的路由选择的方法,包括由DNS服务器系统(302)执行的以下步骤-从第一端主机(A)接收有关第二端主机的地址查询,-检索与所述第二端主机相关联的目的地地址,-通过依赖于已分发到所述分组数据网络中的路由器的主密钥(S)的密钥,加密所检索到的目的地地址,并创建包含所加密的目的地地址的目的地参数(TAG),以及-将所创建的目的地参数发送到所述第一端主机以响应所述地址查询,由此使得所述第一端主机能够通过将所述目的地参数(TAG)附连到每个传送的数据分组而使数据分组对于所述第二端主机被接受。
2. 如权利要求1所述的方法,其中要求所述第一端主机的认证以 便处理所述查询,并且如果所述第一端主机未纟皮认证,则拒绝所述查 询。
3. 如权利要求1或2所述的方法,其中在创建所述目的地参数 (TAG)时,通过包括比特序列(RAND)来随机化所述目的地地址。
4. 一种在DNS服务器系统(800)中用于保护分组数据网络中的数 据分组的路由选择的设备,包括-主密钥管理器(800c),适合于将主密钥(S)分发到所述分组数据 网络中的路由器,-地址查询管理器(800a),适合于从第一端主机接收有关第二端 主才几的;也址查询(Q),-主机数据库(800b),用于存储与端主机相关联的目的地地址, 适合于提供所述第二端主机的目的地地址,以及-加密单元(800d),适合于通过使用依赖于所述主密钥(S)的密钥 来加密所述目的地地址,并且创建包含所加密的目的地地址的目的地参数(TAG),其中所述地址查询管理器还适合于将所创建的目的地参数发送 到所述第 一端主机以响应所述地址查询,由此使得所述第 一端主机能 够通过将所述目的地参数附连到每个传送的数据分组而使数据分组 对于所述第二端主机被接受。
5. 如权利要求4所述的设备,其中要求所述第一端主机的认证以 ^使处理所述查询,并且所述地址查询管理器还适合于在所述第一端主 机未被认证时拒绝所述查询。
6. 如权利要求4或5所述的设备,其中所述加密单元还适合于在 创建所述目的地参数(TAG)时,通过包括比特序列(RAND)来随机化所 述目的地j也址。
7. —种保护分组数据网络中的数据分组的路由选择的方法,包括 由所述分组数据网络中的路由器(300)执行的以下步骤-接收数据分组,-尝试使用依赖于DNS分发的主密钥的密钥,解密所接收的数 据分组,-如果通过解密能从所述分组得出包括有效目的地地址的目的 地参数(TAGx),则接纳所述分组,并且如果通过解密不能从所述分组 得出此类目的地参数,则丢弃所述分组,外出端口,-加密所述目的地地址并创建包括所述新加密的目的地地址的 用于所述分组的新目的地参数(TAGx+i),以及-将所述分组从所确定的外出端口发送到下一跳节点,其中所创 建的新目的地参数附连到所述分组。
8. 如权利要求7所述的方法,所加密的目的地地址通过所接收的 目的地参数(TAGx)中的比特序列(RANDx)被随机化,其中从所述目的 地参数了解所述比特序列,并且使用所了解的比特序列(RANDx)将所加密的目的地地址解密。
9. 如权利要求8所述的方法,其中在创建所述新目的地参数 (TAG^)时,通过新比特序列(RANDx+0来随机化所述目的地地址。
10. 如权利要求7-9的任一项所述的方法,其中所述下一跳节点 属于与所述路由器(300)相同的路由器域,并且用于将所述目的地地址 加密的密钥在所述路由器域内共享。
11. 如权利要求7-9的任一项所述的方法,其中所述下一跳节点 是属于相邻路由器域的边缘路由器,并且用于将所述目的地地址加密 的密钥与所述边缘路由器共享。
12. —种在分组数据网络中的路由器(802)中用于保护数据分组 的路由选择的设备,包括-入口部分(802a),适合于接收数据分组(P),-转发单元(802b),包括适合于使用依赖于DNS分发的主密钥的 密钥来尝试所接收的数据分组的解密的解密单元(804),其中所述转发 单元适合于在通过解密能从所述分组得出包括有效目的地地址的目 的地参数(TAGx)时接纳所述分组,并且在通过解密不能从所述分组得 出此类目的地参数时丟弃所述分组,以及基于所解密的目的地地址来 才丸行转发操作以确定用于所述分组的外出端口 ,所述转发单元还包括 用于加密所述目的地地址并创建包括所述新加密的目的地地址的用 于所述分组的新目的地参数(TAGx+!)的加密单元(808),以及一出口部分(802c),适合于从所确定的外出端口将所述分组发送 到下一跳节点,其中所创建的新目的地参数(TAGxw)附连到所述分组。
13. 如权利要求12所述的设备,所加密的目的地地址通过所接收 的目的地参数(TAGx)中的比特序列(RANDx)被随机化,其中所述解密 单元适合于从所述目的地参数了解所述比特序列,并且进一步使用所 了解的比特序列(RANDx)将所加密的目的地地址解密。
14. 如权利要求13所述的设备,其中所述加密单元适合于在创建 所述新的目的地参数(TAGxw)时,通过新比特序列(RANDxw)来随机化所述目的地地址。
15. 如权利要求12-14的任一项所述的设备,其中所述下一跳节 点属于与所述路由器(300)相同的路由器域,并且用于将所述目的地地 址加密的密钥在所述路由器域内共享。
16. 如权利要求12-14的任一项所述的设备,其中所述下一跳节 点是属于相邻路由器域的边缘路由器,并且用于将所述目的地地址加 密的密钥与所述边缘路由器共享。
全文摘要
用于保护分组数据网络中的数据分组的路由选择的方法和设备。在第一端主机(A)向DNS服务器系统(302)发送有关第二端主机的地址查询时,DNS服务器系统通过提供包含与第二端主机相关联的加密目的地地址的目的地参数(TAG)来做出响应。由此,第一端主机能够通过将目的地参数(TAG)附连到每个传送的数据分组而使数据分组对于第二端主机被接受。如果目的地参数(TAG)被附连到分组,包括通过依赖于分发的主加密密钥的密钥来加密的有效目的地地址,则分组数据网络中的路由器(300)接纳收到的分组。否则,如果通过对目的地参数应用解密而不能从分组得出此类有效目的地地址,则路由器丢弃分组。
文档编号H04L9/00GK101682656SQ200880015249
公开日2010年3月24日 申请日期2008年5月9日 优先权日2007年5月9日
发明者A·查萨尔, L·韦斯特伯格, M·纳斯伦 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1