通过ip地址空间加扰的位置保密的制作方法

文档序号:7578123阅读:215来源:国知局
专利名称:通过ip地址空间加扰的位置保密的制作方法
技术领域
本发明总地涉及网络通信。更具体地,本发明涉及在网络接入期间通过使用IP地址空间加扰保持位置保密。
背景技术
互联网协议(IP)允许IP网上的任何主机在它们之间进行点对点通信,只要它们互相知道对方的IP地址。IP网通常包括一个或多个交换机或路由器以及两个或多个主机。主机通过路由器在有线或无线链路上通信。路由器类似地与其它路由器和主机通信。通常,所有的通信都遵从互联网协议。
每个IP消息包含一个或多个IP分组。在IP分组中的报头信息标识发送者和接收者,以及允许从IP分组重建整个IP消息。IP分组是独立的和分开的,它们不一定通过网络的同一条路径从发送者路由到接收者。在IP网中,发送者可以通过把IP分组报头中的目的地IP地址设置为要到的接收机的IP地址而把IP分组发送到接收机。一旦分组进到IP网,路由机制就尝试把分组传递到目的地主机。
在IP分组的目的地IP地址域中包含的信息是使得网络的路由机制能够把IP分组传递到它的要到的接收者的信息。IP地址是以前缀-后缀格式组成的。IP地址的前缀部分包含目的地子网络的子网络前缀,它表示分组应当去的地方。路由器通过查看被包含在IP地址中的目的地子网络前缀和把它与被保持在每个路由器中的路由表进行匹配而作出路由决定,例如选择分组需要在其上发送的链路。在互联网的不同的部分,诸如RIP、OSPF、和BGP中,使用大量路由协议,这些协议被使用于在路由器之间通信和用于构建有效的和最新的路由表。
当前,把来自目的地IP地址的目的地子网络前缀与路由器表进行匹配是非常简单的过程。路由器应用IP地址的掩码功能来得到前缀,然后搜索路由表,寻找与这个前缀有最大匹配的项。一旦找到这个项,就在该路由表的项中描述的链路上路由或发出分组。
虽然这个过程的固有的简单性允许路由器非常快速地处理分组,和使得路由器能够处理大量业务,但它也造成某些潜在问题。当包括互联网的网络变为通信的主要工具时,这些问题将变得越来越重要和重大。
一个这样的问题是位置保密。这个问题来自于以下事实大多数子网络,特别是分支子网络,通常与相当小的地理域域具有固定的联系。由于这种联系的固定的性质,可以构建子网络-前缀-到-位置的映射的相当精确的数据库。因此,用户失去用户的位置保密的很大部分。即使因为用户在地理上是移动的,用户的地理位置随时间改变时,仍旧有可能识别用户的地理位置。
正如指出的,互联网协议需要主机知道网络中用于真实的点对点通信的彼此的IP地址。换句话说,不实际揭示它的位置,主机不能以点对点方式与其它主机通信。这是因为从给定的IP地址推断子网络前缀是极其容易的,以及子网络前缀相应于地理位置。
因此,需要解决上述的位置保密问题。

发明内容
仅仅通过介绍,对于网络用户的位置保密的一个当前的限制是诸如IP地址那样的网络地址包括具有明白的和可以容易推断的形式的目的地子网络信息。通过应用非常简单的掩码功能确定相应的子网络,可以提取位置信息。
在一个实施例中,应用到IP地址的简单的掩码功能则用加密功能代替。在这个实施例中,IP地址被形成为使得不能通过使用简单的掩码功能来确定它的相应的目的地子网络。而是,路由器使用某些秘密信息或与密码术处理过程相组合的密钥来确定用于相应的子网络的路由前缀。通过使用这个方案,不知道秘密信息的任何实体不能确定用于给定的IP地址的相应的子网络前缀。这个方案也可以被使用来减小在子网络内的主机的IP地址之间的相关性。
上述的概要仅仅作为介绍被提供。本节中的说明不应当被看作为对于以下的限定本发明的范围的权利要求的限制。


图1A是显示网络的方框图;图1B是显示可被使用于图1A的网络的一种路由器的方框图;图2显示互联网协议(IP)地址格式;图3是显示按照第一实施例的图1A的网络的运行的流程图;图4显示由主机通过使用由路由器响应于主机的请求而提供的伪前缀配置的IP地址;图5显示按照第一实施例的路由前缀的计算;图6显示按照第二实施例的分配的IP地址600;图7显示按照第二实施例的路由前缀的计算;图8显示按照第三实施例的路由前缀的计算;图9是显示按照第二实施例的图1A的网络的运行的流程图;图10显示用于计算伪前缀组的方法;图11显示按照图10的方法的由主机配置的IP地址;图12显示用于通过使用公钥加密生成前缀的方法;图13显示用于通过使用对称密钥加密生成前缀的方法;图14显示按照一个实施例的示例性IP地址;以及图15是显示图1A的网络的运行的流程图。
具体实施例方式
现在参照附图,图1A是显示网络100的方框图。网络100包括多个交换机或路由器,包括路由器102、路由器104、路由器106、路由器108、路由器110、路由器112;以及两个或多个主机,包括主机114和主机116。网络可以是用于数据通信的任何公共网或专用网。在示例性实施例中,网络100按照传输控制协议/互联网协议(TCP/IP)传送数据的分组。其它数据格式和通信协议可以替换TCP与IP,或除了TCP与IP以外还可以存在其它数据格式和通信协议。
而且,网络100的配置仅仅是示例性的。网络中的路由器和主机的数目以及这些装置的各互联是任意的,和可以随时间变化。在网络装置之间的各个连接使用任何适当的技术,诸如以太网,T1或综合业务数字网(ISDN)。网络100可以接入到互联网。网络可包括子网或子网络。子网络本身可包括一个或多个更小的子网络。术语网络或子网络可被互换地使用。不包括更小的或嵌套的子网络的或不用作为在两个或多个子网络之间的过渡网络(连接间的网络)的子网络通常称为短截子网络。
路由器102,104,106,108,110,112是用来确定接收的数据分组在向着它的目的地的方向应当被转发到的下一个网络点的装置或软件。每个路由器被连接到网络100的至少两个分支,以及根据路由器的有关网络状态的当前信息来决定发送每个信息分组的方法。路由器通常位于其中一个网络与另一个网络交会的任何网关。路由器可以被包括作为网络交换机的一部分。
路由器可以创建或保持可供使用的路由及其条件的表,以及使用这个信息和距离与花费算法来确定对于给定的分组的最好的路由。分组是在网络的源与目的地之间被路由的数据的单位。在一个实施例中,当任何文件从源网络位置发送到目的地网络位置时,TCP/IP的传输控制协议层把文件划分成用于路由的分组。每个这些分组被分开地编号,以及它包括目的地的网络地址。对于单播传输,网络地址或IP地址是网络中唯一的位置。地址可被表示为唯一的数字串和/或相关的域名。
网络中的每个子网络具有一个或多个识别号或网络号。这些号码被称为子网络前缀或简单的前缀。在较大的子网络内的子网络也具有它们的唯一的前缀。通常,较小的(或嵌套的)子网络的前缀在长度上等于或长于它们的较大的子网络的前缀。而且,通常在实际上,所有较小的子网络的前缀作为一个整体包含较大的子网络的前缀之一。因此,较小的子网络的前缀通常是较大的子网络(在该子网络内嵌套较小的子网络)的前缀与某些其它数字的组合。
诸如主机114和主机116那样的主机被连接到网络100的其它主机。每个主机与一个子网或子网络相联系。主机114与子网络118相联系以及主机116与子网络120相联系。每个主机具有特定的本地的或主机号码(通常称为后缀),它与网络或子网络号(通常称为子网络前缀,或仅仅称为前缀)相组合后,形成主机的唯一的IP地址。
如上所述,主机和它们的子网络通常具有共同的地理位置。正如指出的,通过应用掩码功能可以推断主机和子网络的位置。掩码功能通常被路由器使用来把后缀与前缀分开以及通过比较路由表中的项而路由分组。类似的掩码功能可被使用来得到目的地子网络的位置。
在网络100中,为了提供位置保密,在某些路由器中简单的掩码功能由加密功能代替。这些路由器的每个路由器使用秘密信息或与加密过程相组合的数据来确定相应的子网络的路由前缀。不知道秘密信息的任何实体不能确定相应的子网络前缀。
为了路由器从给定的IP地址中解密子网络路由前缀,子网络路由前缀首先必须在IP地址中被加密。因此,IP地址必须仔细地分配,以确保当路由器对IP地址施加解密时结果是正确的或想要的路由前缀。
在图1A的例子中,规定了保密域122。保密域是互联的路由器的足够大的组或大的子网络。在图1A上,保密域122包括路由器102、路由器104和路由器106。在其它实施例中和在网络100中规定的其它保密域中,或多或少的路由器可被指定为保密域的成员。
假设在保密域122中所有的路由器可被上锁以及用某个共享的秘密周期地重新上锁。该秘密可以是具有特定的格式或内容的数据。上锁或重新上锁可以自动地或人工地完成。
图1B显示可以在保密域122中被使用来解密子网络路由前缀的路由器150的例子。如图所示,解密密钥被提供给解密单元和报头组装单元152。通过路由器150发送的分组传送到分组目的地地址提取器154,它把分组目的地地址提供给单元152。单元152和路由表156提供输入给路由表搜索器158,路由表搜索器158又(与单元152一起)提供输出到合适接口调度器160。解密的子网络路由前缀然后可以由路由器150通过网络100被提供。在保密域122中,子网络前缀的解密使得能够正确地路由在保密域内的分组,而不用揭示由地址表示的目的地的具体的地理位置。
图1B上的路由器150类似地可以加密子网络路由前缀。不是图1A所示的网络100中所有的路由器都需要能够加密或解密子网络路由前缀。因此,例如,路由器102可以具有路由器150的功能,而路由器108可能没有这个功能。在一个实施例中,本发明将以后面更详细地描述的方式处理这种情形。
图2显示互联网协议(IP)地址格式200。地址200包括前缀202和后缀204。前缀202包括保密域前缀部分206,标注为P0;以及路由前缀部分208,标注为PR。保密域前缀部分P0206与保密域相联系。在保密域内所有的主机和所有的子网络共享公共保密域前缀部分P0206。在某些实施例中,P0是16比特长,但可以分配任何长度,以及长度可以动态地改变。在保密域中所有的主机优选地共享P0作为第一前缀,以使得发源于保密域外面的任何分组可被路由到保密域。在保密域内的每个路由器具有唯一的路由前缀部分PR208。前缀PR传统地是48比特长,但可以使用任何长度。每个主机,标注为hosti,被允许配置用于它的IP地址200的后缀204。配置的后缀210被标注为Mi。后缀传统地是64比特长,但可以选择任何长度。
在示例性实施例中,网络不能对于IP地址200的64比特后缀部分如何被主机配置方面进行任何控制。主机可以对后缀210使用任何数值,只要数值在子网络内是唯一的,即,不被子网络的任何其它主机使用。可以使用保证唯一性的任何传统的方法,诸如重复地址检测和主机/邻居表。
图3是显示图1A的网络的运行的流程图。在本实施例中,主机i需要配置新的IP地址。这在主机移动到新的子网络或检测到新的路由器的可获得性时,或在以前分配的IP地址届满后,或因为任何其它原因,是可能发生的。主机i重新配置前缀到M。不使用在路由器通告消息中由路由器通告的前缀,为了完成它的IP地址,主机从路由器,或从DHCP服务器或任何其它适当的地址管理实体,在方框302,征求前缀。正如这里使用的,”路由器”表示路由器、DHCP服务器、数据交换机、服务器或任何其它地址管理实体和它们的等价物。在方框304,在路由器处接收请求。
在方框306,路由器计算伪前缀。路由器具有分配的路由前缀PR。路由器计算伪前缀P0P`(R,i),以及在方框308,路由器把它传送到主机。下标(R,i)表示前缀P`是对于具有路由器的每个主机和对于主机的每个路由器分别计算的。也就是说,其对于路由器与主机的每个组合多半上是不同的。下面将描述计算P`(R,i)的不同的方法。主机使用P,P`(R,i)和它的前缀Mi来配置它的完全的IP地址。
图4显示通过使用来自路由器的伪前缀由主机配置的IP地址400。IP地址400包括前缀402和后缀404。前缀包括路由器的分配的路由前缀PR和伪前缀P`(R,i)的级联。后缀Mi404与前缀相组合形成IP地址400。
图5,图6和图7显示示例性实施例,由此路由器可以计算伪前缀P`(R,i)。优选地,在公共的保密域中的所有的路由器使用同一个前缀计算方法。
在第一示例性实施例中,通过逻辑地组合主机的后缀Mi与用于路由器或子网络的路由前缀PR和共享的密钥,得到分配的前缀。这个密钥在保密域中所有的路由器之间被共享。可以使用任何适当的逻辑组合。在示例性实施例中,使用异或运算(XOR)函数。因此,伪前缀P`(R,i)被计算为P`(R,i)=(SecretPRMi)然后,通过级联由主机选择的后缀Mi和伪前缀P`(R,i),由主机配置完全的IP地址。主机i可以使用IP地址(P0,P`(R,i),Mi)用于与在保密域内或外面的任何其它主机通信。当在保密域外面的普通路由器遇到目的地为IP地址(P0,P`(R,i),Mi)的分组时,它应用传统的掩码功能。在保密域外面的任何路由器的路由表中最长的可能的前缀匹配可以是P0。所以,路由器把分组路由到连接到前缀P0的链路。最后,分组到达保密域内的路由器。如果分组目的地是保密域中的主机,在保密域内发源,则它实际上不再进入保密域外面的路由器。当保密域里面的路由器遇到这个分组时,它可以通过将已被包含在IP地址中的P`(R,i)和Mi与共享的密钥进行异或运算而对于这个分组计算实际的路由前缀P0PR。一旦确定实际的前缀,路由器使用传统的路由表查找,作出实际的路由决定。
在保密域中的路由器可以高速缓存对于给定的IP地址的前缀计算的结果,以避免重新计算对于每个分组的路由前缀以及加速路由过程。如果例如在重新上锁期间用于计算的密钥被改变,则高速缓存的数值肯定是无效的。路由器会限制高速缓存容量。在这种情形下,它们不能永久高速缓存这些结果。而是它们可以擦除某些以前高速缓存的项,留出空间用于新的项。通过高速缓存替换算法可以规定哪些项保持和哪些项擦除。近年来已研究几种高速缓存替换算法。
图5显示这个过程。方法从方框500开始。在方框502,在保密域的路由器处接收分组。在方框504,路由器确定相应于伪前缀P0P`(R,i)的实际的路由前缀是否被计算和被存储在高速缓存存储器。如果是的话,控制过程进到方框510。如果不是,则在方框506,计算路由前缀。在方框508,执行路由表查找,决定用于路由分组的实际地址。在方框510,路由分组。随后,在方框512,路由器被确定,如果前缀已经存储在高速缓存器中的话。如果是的话,控制过程返回到方框502,用于接收下一个分组。如果前缀还没有被高速缓存,则在方框514,把前缀存储在存储器,以及控制过程返回到方框502。把前缀存储在存储器可包括把前缀传送到保密域的其它路由器。
在用于计算分配的前缀的第二实施例中,假设在第二个路由前缀部分PR中有额外的或空闲的比特是可获得的。这个部分通常是48比特长,但这个长度可以随不同的实施方案而改变。另外被假设实际的路由前缀仅仅是y比特长,其中y≤48。在这种情形下,有48-y个空闲比特。如果48-y足够大,在一个例子中约为10到30比特,这些比特可被使用来运承载用于消息鉴权码(MAC)的标记(nonce)。消息鉴权码是作为数据(或者明文或者密文)和密钥的函数的比特串,它附在数据上,以允许数据鉴权。被使用来生成消息鉴权码的函数必须是单向函数。与鉴权的消息有关的数据允许接收机验证消息的完整性。在本实施例中,然后,只有有效的路由器或其它实体可以计算IP地址的正确的前缀。路由器可以如下地计算分配的前缀。
P*(R,i)=(PRMACk(Noncei,Mi)按照本发明,MAC可以取多种形式。在一个实施例中,MAC是散列函数,诸如高级加密标准(AES)或保密散列算法(SHA-1)。
分配的前缀P’(R,i)是(a)通过使用在路由器之间共享的密钥k,y比特实际前缀和对于该标记计算的y比特的消息鉴权码MAC与主机配置的后缀的异或运算或其它逻辑组合的结果与(b)48-y比特的标记的级联。
图6显示按照本实施例的分配的IP地址600。地址600包括前缀602和后缀604。前缀按如上所述地被确定,以及包括保密域子网络前缀部分P0606、分配的前缀P*(R,i)608和标记Noncei 610。在一个示例性实施例中,实际前缀PR 608只需要18比特,留下30比特用于标记610。
主机i可以使用IP地址(P0,P*(R,i)NonceiMi),用于与在保密域内或外部的任何其它主机通信。当保密域外部的路由器遇到目的地为IP地址(P0,P*(R,i)NonceiMi)的分组时,路由器把分组路由到进到与具有前缀P0的地址有关的子网络的链路。当保密域里面的路由器遇到这个分组时,它可以通过使用被包含在IP报头中的Noncei和Mi上的密钥计算消息鉴权码,将消息鉴权码与也被包含在IP地址中的P*(R,i)的进行异或运算,以及然后把结果与Noncei级联,而计算这个分组的实际路由前缀(P0PR)。
密钥是诸如初始地被使用来建立和周期地改变在用于加密或解密电子信号的密码设备中执行的运算的随机或伪随机二进制数字的序列那样的信息。标记在密码术中被规定为时变参数,诸如计数值或在密钥管理协议中使用的时间印记,以防止消息重放和其它攻击类型。在本上下文中,标记Noncei是在伪前缀生成时由路由器选取的随机数。路由器可保证它对于子网络中的每个主机选取不同的随机数,但它不是强制性的。如果路由器不使用随机数或变化的标记,所描述的系统和方法也行得通,虽然保密性较低。
图7显示按照本实施例的路由前缀的计算。图7显示图5的方框506的一个详细的实施方案。在图5的方框504确定相应于伪前缀的路由前缀没有被存储在存储器后,在图7的方框702,计算IP地址的路由前缀的路由器首先计算消息鉴权码。在方框704,最终得到的消息鉴权码与分配的前缀P*(R,i)进行逻辑组合。在一个实施例中,逻辑组合是异或运算。最后,在方框706,来自方框704的结果与标记级联,产生实际路由前缀P’(R,i)。
从图7,控制过程进到图5的方框508。一旦实际前缀被确定,路由器就可以使用传统的简单的路由表查找来作出实际的路由决定。路由器可以高速缓存以上对于给定的IP地址的计算的结果,以避免重新计算每个分组的路由前缀以及加速路由过程。
在第三实施例中,分配的前缀是实际的前缀PR的加密版本。加密所使用的密钥被计算为主机的配置的后缀Mi与路由器之间共享的秘密的散列函数。
P`(R,i)=EncryptKi(PR)Ki=hash(Secret,Mi)用于计算密钥的散列函数,尤其是可包括上述的AES和SHA-1散列函数。加密函数也可以是诸如刚才提到的散列函数之一的散列函数。
对于以上的其它实施例,主机可以使用IP地址(P0,P`(R,i)Mi)用于与保密域内或外面的任何其它主机通信。当保密域外面的路由器遇到目的地为IP地址(P0,P`(R,i)Mi)的分组时,路由器把分组路由到进到其地址有前缀P0的子网络的链路。当保密域里面的路由器遇到这个分组时,路由器可以通过首先使用在IP地址的共享的秘密和后缀Mi的散列函数生成密钥K而计算这个分组的实际路由前缀(P0PR)。一旦密钥被生成,路由器就可以容易地解密P`(R,i),以得到PR。
图8显示按照这个第三实施例的路由器得到前缀的操作。图8显示图5的方框506的一个详细的实施方案。在图5的方框504,确定需要的前缀没有被存储在存储器后,在图8的方框802,计算IP地址的路由前缀的路由器首先生成解密密钥k。在一个实施例中,这是通过使用在保密域的路由器之间共享的秘密与被包含在如上所述的地址中的主机的后缀MI的散列函数而被完成的。在方框804,密钥k被使用来解密P`(R,i)。
如上所述,在一个示例性实施例中,IP后缀被使用于前缀生成。在第二实施例中,路由器保持伪前缀库,它们被与该路由器有关的主机使用来配置新的IP地址。图9是显示本实施例的一个例子的流程图。
按照这个第二实施例,网络中的主机可能需要配置新的网络或IP地址。这在主机移动到新的子网络或检测到新的路由器的可获得性时,或在以前分配的IP地址届满后,或因为任何其它原因,是可能发生的。主机必须从包含可获得的前缀的路由器通告(RA)消息得到前缀。RA消息通常被周期地广播或多播。在接连的通告之间的时间间隔可能随时间和实施方案而变化。
另外,按照本实施例,路由器R保持一个大组的伪路由前缀SR={P`(R,1),P`(R,2),P`(R,3),...P`(R,n)}。在方框902,路由器从SR选择小的子组的伪路由前缀。路由器用保密域前缀P0给每个选择的伪路由前缀加前缀。
在一个实施例中,在方框904,路由器确定是否有任何选择的伪路由前缀届满。在本实施例中,由路由器保持的每个伪前缀有与其相联系的寿命。在该寿命届满后,伪前缀不再被包括在由路由器发送的通告消息。然而,路由器可以在以后的时间重新引入相同的伪前缀。路由器可以删除届满的伪前缀或用SR组中的新的SR代替届满的伪前缀。路由器可以明显地表示在路由器通告消息中的伪前缀的剩余的寿命或届满时间。替换地,路由器可以周期地继续不断改变在路由器通告消息中的伪前缀的次序,把较老的伪前缀移到清单的末尾,直至它们逐渐从路由器通告消息的清单中”排出”为止。或者,主机可以通过观看伪前缀在清单中的位置而明显地猜测伪前缀的剩余的寿命。如果主机通过使用来自路由器通告的伪前缀子组的伪前缀而配置它的IP地址,以及后来该伪前缀从路由器通告的子组中消失,则主机认为这个事件是该伪前缀的届满,以及从最新通告的前缀子组中选择新的前缀。
在方框906,路由器发送路由器通告消息,以及在方框908,路由器通告消息被需要配置新的IP地址的主机接收。
主机可以选择由路由器通告的任一个伪前缀,以及配置它的IP地址。在方框910,主机选择伪前缀,以及配置它的IP地址。
在一个实施例中,在方框912,主机确定选择的伪前缀是否届满,或无论如何是否无效的。如果伪前缀消失或从路由器周期地发送的RA消息中”排出”,则可以假设伪前缀届满。替换地,可以有明显的消息,表示伪前缀或某些其它装置届满。如果是的话,控制返回方框910,选择另一个伪前缀。正在使用届满的伪前缀的任何主机必须选择通告的前缀中新的前缀。否则,在方框914,主机配置它的IP地址。下面将提供关于这个过程的进一步的细节。随后,在方框916,主机接收路由器通告的消息。在方框918,主机测试,以查看它在方框910选择的伪前缀是否仍旧在清单中以及从而仍旧有效的。如果是的话,则在方框916,主机等待接收下一个路由器通告的消息,以验证选择的前缀的有效性。如果选择的伪前缀不再在由路由器发送的清单中,或如果选择的伪前缀因为任何其它原因变为无效的或届满的,则控制过程进到方框910,在其中主机选择另一个伪前缀。
图10显示一种用于计算伪前缀组SR的方法。路由器可以通过使用任何适当的方法而计算伪前缀组SR。这里描述一个示例性方法。其它方法也可以替代。
在例子中,如果PR可以从Decryption(P`(R,k))推断,例如如果PR=Decryption(P`(R,k)),则伪路由前缀P`(R,k)属于组SR。这可以以几种方法得到,这里描述其中的一种方法。如果假设实际路由前缀PR仅仅y比特长,其中y<48。然后有m=(48-y)个空闲比特,以及我们有带有n=2m个可能的伪路由前缀的一个组SR。这里,再次地,我们考虑48比特,因为这是传统上专用于前缀的长度。然而,这个数值可以随实施方案改变。伪前缀组可以如下地计算对于k=1到n,P`(R,k)=Encryption(y比特长PR和m位比特长k的组合)这被显示于图10。图10的方法从方框1002开始,其中索引变量k被初始化为1。在方框1004,测试索引变量。如果k=n,处理过程停止。在k=n之前,在方框1006,按照以上关系式计算伪路由前缀。在方框1008,索引变量k加增量,以及控制过程返回到方框1004。在其它实施例中,伪前缀组可以以任何适当的方式被填充。例如,整个伪前缀组(即,所有的’k’前缀)不一定提前生成。而是,在某些实施例中,路由器(或辅助路由器的任何实体)可以按需要生成和使用伪前缀,特别是由于路由器一次只使用在k单元长的组SR中的小的子组。
P`(R,i)的解密将导致作为y比特长的PR和m比特长的k的级联的一个数。过程可以得到路由前缀PR,在施加如上所述的加密之前截短或去除与PR相组合的m比特。应当指出,当前,对于48比特长的方框没有方便地可获得的加密过程可以运行。可获得的或以后可开发的任何适当的加密过程或装置可被使用来执行这个功能。
图11显示主机按照图10的方法配置的IP地址1100。IP地址1100包括前缀1102和后缀1104。前缀1102包括保密域子网络前缀部分P01106和如在方框1006计算的伪-路由前缀P`(R,k)1108之一。这些部分1106,1108与主机后缀Mi1104进行级联,形成IP地址1100。
主机i可以使用IP地址(P0,P`(R,k),Mi)1100,用于与在保密域内或外面的任何其它主机通信。当保密域外部的路由器遇到目的地为IP地址(P0,P`(R,k)Mi)的分组时,路由器把分组路由到进到具有包括前缀P0的地址的路由器的链路。当保密域里面的路由器遇到这个分组时,它可以通过解密P`(R,k)和从结果中截短m比特以得到路由前缀PR,而计算该分组的实际路由前缀(P0PR)。由于只有在保密域中的路由器具有解密伪前缀的密钥,实际前缀保持为隐藏的。
类似于上述的实施例,路由器可以高速缓存或存储以上对于任何给定的伪前缀的计算的结果,以避免重新计算对于每个分组的路由前缀以及由此加速路由过程。如果用于计算的密钥例如由于重新上锁而被改变,则高速缓存的数值肯定是无效的。
在第二实施例中,主机不单可配置它自己的后缀,还可以配置它的前缀。这个方法具有两个变例,诸如下面更详细地描述的。第一变例使用公钥密码术。第二变例使用更对称的密码术来生成后缀。这两个变例可以被补充,以及也可以替换成其它变例。
在第一变例中,保密域具有公钥K(public)和相应的专用密钥K(private)。在保密域中所有的主机知道公钥K(public)。相反,专用密钥K(private)只对于保密域中所有的路由器是知道的。
图12显示用于通过使用公钥密码术生成前缀的方法。在方框1202,路由器发送路由器通告消息。路由器通告作为它的实际的路由前缀PR的函数P*R=(PR)的路由前缀P*R以及存在有逆函数f-1以使得PR=f-1(P*R)。函数f的应用是任选的。它只在保密域中所有的路由器都知道逆函数f-1时才可增加安全性。
在方框1204,主机接收路由器通告消息。在方框1206,主机加密前缀P*R和使用公钥K(public)和它的想要的后缀Mi,以得到伪前缀P`(R,i)。在方框1208,伪前缀P`(R,i)与后缀Mi被级联以形成主机的IP地址。
主机i可以使用IP地址(P0,P`(R,i),Mi),用于与在保密域内或外面的任何其它主机通信。当保密域外部的路由器遇到目的地为IP地址(P0,P`(R,i)Mi)的分组时,路由器把分组路由到进到由前缀P0寻址的子网络的链路。当保密域里面的路由器遇到这个分组时,路由器可以通过首先使用K(private)解密伪前缀P`(R,i)和Mi以得到P*R而计算这个分组的实际路由前缀(P0PR)。接着,路由器应用逆函数f-1,以得到路由前缀PR。通过路由前缀PR和后缀Mi,路由器可以把分组路由到要到的主机。
在第二变例中,在保密域中的每个主机i具有专用密钥Ki。另外,保密域中每个路由器具有主密钥Km,这样,通过使用任何专用密钥Ki进行加密的任何信息可以由公共主密钥Km进行解密。
图13显示用于通过使用对称密钥密码术生成前缀的方法。在方框1302,路由器生成作为它的实际的路由前缀PR的函数的路由前缀P*R,其中P*R=f(PR),以及存在逆函数f-1以使得PR=f-1(P*R)。函数f的应用是任选的。它只在保密域中所有的路由器都知道逆函数f-1时才可增加安全性。在方框1304,路由器发送具有路由前缀P*R的路由通告消息。在方框1306,在主机接收路由器通告消息。在方框1308,主机通过使用它的专用密钥Ki和它的选择的后缀Mi进行加密P*R。结果是伪理由前缀P`(R,i)。在方框1310,伪前缀P`(R,i)与后缀被级联以形成主机的IP地址。
主机i可以使用IP地址(P0,P`(R,i),Mi),用于与在保密域内或外面的任何其它主机通信。当保密域外部的路由器遇到目的地为IP地址(P0,P`(R,i)Mi)的分组时,路由器把分组路由到进到由前缀P0寻址的子网络的链路。当保密域里面的路由器遇到这个分组时,它可以通过首先使用Km和Mi解密伪前缀P`(R,i)和Mi以得到P*R而计算这个分组的实际路由前缀(P0PR)。接着,路由器应用逆函数f-1,以得到路由前缀PR。
如上所述,在保密域中的路由器可以高速缓存或存储以上对于给定的IP地址的计算的结果,以避免重新计算对于每个分组的路由前缀以及加速路由过程。如果主机被分配新的专用密钥,必须删除对于主机的IP地址的存储数值。类似地,如果主密钥被改变,被称为重新上锁,所有的高速缓存的数值必须被删除。
以上,引入约束条件,以使得允许每个主机i配置用于它的IP地址的通常64比特后缀。这个后缀被表示为Mi。在某些应用中,这个约束条件没有实行。例子包括这样的情形,其中路由器或DHCP服务器分配整个地址给主机,而不是允许主机自动配置IP地址。
下一个示例性实施例描述一种方法,其中伪IP地址或其它网络地址通过解密参数或密钥被嵌入。在这个例子中,主机i需要配置或得到新的IP地址。这在主机移动到新的子网络或检测到新的路由器的可获得性时,或在以前分配的IP地址的有效性届满时,是可能发生的。新的路由器或DHCP服务器将把完全的地址分配给主机。
主机从路由器或DHCP服务器或任何其它地址分配实体征求前缀。路由器具有路由前缀PR。路由器或DHCP服务器计算伪IP地址P0P`(R,i)Noncei以及把它发送回主机。在一个实施例中,Noncei是用于具有路由器的每个主机的唯一的随机数。用于确定Noncei的其它方法可替换。下面给出用于计算P`(R,i)的方法的可能的实施例。主机使用地址P0P`(R,i)Noncei作为它的完全的IP地址。
图14显示按照本实施例的示例性IP地址1400。IP地址1400包括前缀1402和标记部分Noncei1404。前缀1402包括保密域子网络前缀部分P01406和伪路由前缀部分P`(R,k)1408。这些部分1406,1408与标记部分Noncei1404级联,以形成IP地址1400。
图15是显示按照本实施例的图1的网络的运行的流程图。这里,主机寻求重新配置它的IP地址。在方框1502,主机从路由器、或从DHCP服务器或任何其它适当的地址管理实体征求前缀。在方框1504,路由器接收请求。
在方框1506,路由器计算伪IP地址。路由器具有分配的路由前缀PR。路由器计算伪IP地址P0P`(R,i)Noncei,以及在方框1508,把伪IP地址返回到主机。在方框1510,主机接收伪IP地址P0P`(R,i)Noncei,以及在网络的以后的通信中使用它。
路由器可以通过使用以下的任一个方法或任何等价的方法计算路由前缀P`(R,i)。在第一个方法中,假设只有y个比特被使用于路由前缀,其中y<112。在这种情形下,有112-y个空闲比特。如果112-y足够大,例如,约为48到64比特,这些空闲比特可被使用来承载用于消息鉴权码(MAC)的标记,这样只有有效的路由器或其它实体才可计算正确的前缀。路由器可如下地计算分配的前缀。
P`(R,i)=(PRMACk(Noncei)其它计算可以替换。预期实际前缀PR只需要18比特,留下用于94比特的标记的空间。
主机i可以使用IP地址(P0,P`(R,i),Noncei),用于与在保密域内或外面的任何其它主机通信。当保密域外部的路由器遇到目的地为IP地址(P0,P`(R,i)Noncei)的分组时,路由器把分组路由到进到由前缀P0寻址的子网络的链路。当保密域里面的路由器遇到这个分组时,路由器可以通过使用被包含在IP报头中的Noncei上的密钥K计算消息鉴权码,以及把计算的消息鉴权码与也被包含在IP地址中的P`(R,i)进行异或运算而计算这个分组的实际路由前缀(P0PR)。一旦实际前缀被确定,传统的简单路由表查找就被使用来作出实际路由决定。
在第二个方法中,分配的前缀是实际前缀PR的加密版本。用于加密的密钥作为由路由器或DHCP服务器选择的、和被保证对于子网络中的每个主机是唯一的标记Noncei的散列函数被计算。前缀和密钥可以如下地计算。
P`(R,i)=EncryptKi(PR)Ki=hash(Secret,Noncei)加密和散列可以如前面对于第二和第三实施例描述的那样被使用。如果使用DES数据编码标准用于加密,则预期前缀P和P`是64比特长。这些比特的某些比特可以是填充比特。
主机i可以使用IP地址(P0,P`(R,i),Noncei),用于与在保密域内或外面的任何其它主机通信。当保密域外部的路由器遇到目的地为IP地址(P0,P`(R,i)Noncei)的分组时,路由器把分组路由到进到与前缀P0有关的子网络的链路。当保密域里面的路由器遇到这个分组时,路由器可以通过首先使用在IP地址中的共享的秘密和标记Noncei的散列函数生成密钥K而计算这个分组的实际路由前缀(P0PR)。一旦密钥被生成,路由器就可以容易地解密P`(R,i),以得到PR。
最后,在以上参照图1B讨论本发明的变例时,曾提到不是在保密域中的所有的路由器都具有解密地址的能力。为了在这种情形下运行,在一个实施例中,本发明如下地操作。
在IP地址中的某些比特被专用来确定地址的其余部分是否为加扰的地址。由于基于传统的最长匹配的今天的路由器中使用的路由,在一个实施例中,这些识别号比特是在保密域的共享的路由前缀P0后的’n’个最高位。因此这些比特形成第二地址空间。这些被称为PSAS,用于加扰地址空间的前缀。这实际上是该域的前缀P0的扩展。任何不能处理加扰的路由器把具有任何加扰的前缀PSAS的分组路由到能够处理加扰的路由器,以便适当地路由。当能够处理加扰的路由器接收到分组时,它按前几节中说明的那样解密前缀,以及把分组转发到另一个能够处理加扰的路由器。
在少有的分组环路情况中,即,当路由器看见它已转发的分组时,或当除了分组沿着它到来的路径以外,没有到能够处理加扰的路由器的外出路径时,能够处理加扰的路由器可以选择把分组直接隧道发送到最终目的地的能够处理加扰的路由器。分组被隧道发送到地址P0PR∷00,其中PR是目的地路由器的解密的路由前缀。后缀00表示隧道端点。每个边缘路由器保留这个用于隧道端点的后缀。值得注意,这里,隧道传送的分组的有用负荷包含P`R。因此,如果分组必须经过某些非保密的路由器或链路,则有可能学习P`R到PR的映射。因此,为了提高安全性,所有的有用负荷必须通过使用保密域的共享的密钥被加密。当然,能够处理加扰的路由器可以起到专用和常规路由器的作用,以路由不具有加扰的目的地前缀的常规的分组。
虽然显示和描述了本发明的具体实施例,但可以作出修正。所以,将要在所附权利要求中覆盖遵从本发明的真实精神和范围的这样的改变和修正。
权利要求
1.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在路由器处计算伪前缀;以及把伪前缀传送到主机。
2.权利要求1的计算机程序产品,其中主机可以请求路由器分配地址。
3.权利要求1的计算机程序产品,其中伪前缀对于在网络地址分配中所牵涉的主机和路由器是特定的。
4.一种通信网,包括第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于计算伪前缀的装置,以及其中通信网还包括用于把伪前缀传送到通信网的主机的装置。
5.权利要求4的通信网,其中主机处在保密域内。
6.权利要求4的通信网,其中保密域还包含第二组路由器和多个主机。
7.权利要求6的通信网,其中第二组路由器的至少某些路由器包括用于计算伪前缀的装置,以及其中通信网还包括用于把伪前缀传送到多个主机的一个或多个主机的装置。
8.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在网络的路由器处接收来自主机的地址请求;计算伪前缀,包括逻辑组合主机的子网络地址的后缀与共享的秘密密钥;以及把伪前缀传送到主机。
9.权利要求8的计算机程序产品,其中计算的伪前缀对于主机和路由器是特定的。
10.权利要求8的计算机程序产品,其中伪前缀可以与由网络中所有的路由器共享的公共前缀相组合。
11.权利要求8的计算机程序产品,其中所述逻辑组合包括把后缀与共享的秘密密钥进行异或运算。
12.一种通信网,包括第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于接收来自主机的地址的装置;和用于计算伪前缀的装置,计算伪前缀包括逻辑组合主机的子网络地址的后缀与共享的秘密密钥,以及其中通信网还包括用于把伪前缀传送到通信网的主机的装置。
13.权利要求12的通信网,其中主机处在保密域内。
14.权利要求12的通信网,其中保密域还包含第二组路由器和多个主机。
15.权利要求14的通信网,其中第二组路由器的至少某些路由器包括用于接收来自保密域中的主机的地址的装置;用于计算伪前缀的装置,计算伪前缀包括逻辑组合主机的子网络地址的后缀与共享的秘密密钥;以及用于把伪前缀传送到多个主机的一个或多个主机的装置。
16.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在网络的路由器处接收来自主机的地址请求;计算伪前缀,包括逻辑组合实际路由前缀和在标记数据上计算的消息鉴权码和主机的子网络地址的后缀以生成结果;以及把伪前缀传送到主机。
17.权利要求16的计算机程序产品,其中计算伪前缀包括把结果与标记数据级联,以形成伪前缀。
18.权利要求16的计算机程序产品,其中伪前缀可以与由子网络中所有的路由器共享的公共前缀相组合。
19.一种通信网,包括第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于接收来自主机的地址请求的装置;和用于计算伪前缀的装置,计算伪前缀包括逻辑组合实际路由前缀和在标记数据上计算的消息鉴权码和主机的子网络地址的后缀以产生结果,以及其中通信网包括用于把伪前缀传送到主机的装置。
20.权利要求19的通信网,其中主机处在保密域内。
21.权利要求19的通信网,其中保密域还包含第二组路由器和多个主机。
22.权利要求21的通信网,其中第二组路由器的至少某些路由器包括用于接收来自主机的地址请求的装置;用于计算伪前缀的装置,计算伪前缀包括逻辑组合实际路由前缀和在标记数据上计算的消息鉴权码和主机的子网络地址的后缀以产生结果,以及其中通信网还包括用于把伪前缀传送到多个主机的一个或多个主机的装置。
23.权利要求16的通信网,其中用于计算的装置包括用于把结果与标记数据相级联,以形成伪前缀的装置。
24.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在网络的路由器处接收来自主机的地址请求;计算伪前缀,包括通过使用加密密钥加密路由器的实际路由前缀;以及把伪前缀传送到主机,主机使用伪前缀配置它的网络地址。
25.权利要求24的计算机程序产品,其中计算伪前缀包括计算加密密钥作为主机的子网络地址的后缀和与网络的其它路由器共享的秘密信息的散列函数。
26.一种通信网,包括第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于在网络的路由器处接收来自主机的地址请求的装置;和用于计算伪前缀的装置,计算伪前缀包括通过使用加密密钥加密路由器的实际路由前缀,以及其中通信网还包括用于把伪前缀传送到主机的装置,主机使用伪前缀配置它的网络地址。
27.权利要求26的通信网,其中用于计算的装置包括用于计算加密密钥作为主机的子网络地址的后缀和与网络的其它路由器共享的秘密信息的散列函数的装置。
28.权利要求26的通信网,其中主机处在保密域内。
29.权利要求26的通信网,其中保密域还包含第二组路由器和多个主机。
30.权利要求29的通信网,其中第二组路由器的至少某些路由器包括用于在网络的路由器处接收来自主机的地址请求的装置,和用于计算伪前缀的装置,计算伪前缀包括通过使用加密密钥加密路由器的实际路由前缀,以及其中通信网还包括用于把伪前缀传送到多个主机的一个或多个主机的装置,该多个主机的一个或多个主机的每个主机使用伪前缀配置它的网络地址。
31.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在通信网的路由器处,建立伪路由前缀组;选择伪路由前缀组的子组;以及把伪路由前缀的子组,连同在通信网的所有的路由器之间共享的公共路由前缀一起传送到网络的主机,主机使用伪路由前缀组的一个子组和在网络的路由器之间共享的公共路由前缀来配置主机网络地址。
32.权利要求31的计算机程序产品,还包括把寿命与每个伪路由前缀相联系。
33.权利要求31的计算机程序产品,还包括从传送的伪路由前缀子组中去除届满的伪路由前缀。
34.权利要求33的计算机程序产品,还包括用伪路由前缀组的其它伪路由前缀代替届满的伪路由前缀。
35.权利要求32的计算机程序产品,其中把伪路由前缀子组传送到主机包括传送有关每个伪路由前缀的寿命的信息。
36.权利要求31计算机程序产品,其中在路由器处建立伪路由前缀组包括对于在组中的每个伪路由前缀,加密路由器的实际路由前缀和伪前缀索引号。
37.权利要求36计算机程序产品,还包括提供在通信网的路由器之间共享的密钥,用于加密实际路由前缀和伪路由前缀索引号。
38.权利要求36计算机程序产品,其中不是组中所有的伪路由前缀都被预先计算,而是由路由器按需要生成。
39.一种通信网,包括第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于建立一个伪路由前缀组的装置,和用于选择伪路由前缀组的子组的装置,其中通信网还包括用于把伪路由前缀的子组,连同在通信网的所有的路由器之间共享的公共路由前缀一起传送到网络的主机的装置,主机使用伪路由前缀组的一个子组和在网络的路由器之间共享的公共路由前缀来配置主机网络地址。
40.权利要求39的通信网,其中保密域还包含第二组路由器和多个主机。
41.权利要求40的通信网,其中第二组路由器的至少某些路由器包括用于建立伪路由前缀组的装置,和用于选择伪路由前缀组的子组的装置,其中通信网还包括用于把伪路由前缀的子组,连同在通信网的所有的路由器之间共享的公共路由前缀一起传送到网络的主机的装置,主机使用伪路由前缀组的一个子组和在网络的路由器之间共享的公共路由前缀来配置主机网络地址。
42.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在通信网的路由器处,保持公钥和专用密钥;计算作为路由器的实际路由前缀的函数的第一级伪路由前缀;以及通告第一级伪路由前缀和在通信网的所有的路由器之间共享的公共路由前缀,网络的主机被配置成通过使用路由器的公钥和可以自配置的后缀加密第一级伪路由前缀,以得到伪前缀,主机使用公共路由前缀和伪前缀来配置主机的网络地址。
43.一种通信网,包括第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于保持公钥和专用密钥的装置,用于计算作为路由器的实际路由前缀的函数的第一级伪路由前缀的装置,和用于通告第一级伪路由前缀和在通信网的所有的路由器之间共享的公共路由前缀的装置,通信网还包括一组的一个或多个主机,每个主机被配置成通过使用路由器的公钥和可以自配置的后缀加密第一级伪路由前缀,以得到伪前缀,该一个或多个主机使用公共路由前缀和伪前缀来配置该一个或多个主机的网络地址。
44.权利要求43的通信网,其中保密域还包含第二组路由器和多个主机。
45.权利要求44的通信网,其中第二组路由器的至少某些路由器包括用于保持公钥和专用密钥的装置,用于计算作为路由器的实际路由前缀的函数的第一级伪路由前缀的装置,和用于通告第一级伪路由前缀和在通信网的所有的路由器之间共享的公共路由前缀的装置,通信网还包括一组的一个或多个主机,每个主机被配置成通过使用路由器的公钥和可以自配置的后缀加密第一级伪路由前缀,以得到伪前缀,该一个或多个主机使用公共路由前缀和伪前缀来配置该一个或多个主机的网络地址。
46.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在通信网的路由器处,保持主密钥,网络的主机具有用于生成伪前缀的各个专用密钥,主密钥在路由器之间被共享以及被配置成通过使用通信网中的主机的任何各个专用密钥解密在通信网中被加密的任何信息;在路由器处,计算作为路由器的实际路由前缀的函数的第一级伪路由前缀;以及通告第一级伪路由前缀和被通信网中所有的路由器共享的网络路由前缀,网络的每个主机被配置成通过使用主机的专用密钥和主机的可以自配置的后缀加密第一级伪路由前缀,以得到伪前缀,每个主机使用公共路由前缀和伪路由前缀来配置它的网络地址。
47.一种通信网,包括一组的一个或多个主机、第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于保持主密钥的装置,通信网的主机具有用于生成伪前缀的各个专用密钥,主密钥在路由器之间被共享以及被配置成通过使用通信网中的主机的任何各个专用密钥解密在通信网中被加密的任何信息;该至少一个附加路由器还包括用于计算作为路由器的实际路由前缀的函数的第一级伪路由前缀的装置,和用于通告第一级伪路由前缀和被通信网中所有的路由器共享的网络路由前缀的装置,通信网的每个主机被配置成通过使用主机的专用密钥和主机的可自配置的后缀加密第一级伪路由前缀,以得到伪前缀,以及通信网的每个主机使用公共路由前缀和伪路由前缀来配置它的网络地址。
48.权利要求47的通信网,其中保密域还包含第二组路由器和多个主机。
49.权利要求48的通信网,其中第二组路由器的至少某些路由器包括用于保持主密钥的装置,通信网的主机具有用于生成伪前缀的各个专用密钥,主密钥在路由器之间被共享以及被配置成通过使用通信网中的主机的任何各个专用密钥解密在通信网中被加密的任何信息,该至少一个附加路由器还包括用于计算作为路由器的实际路由前缀的函数的第一级伪路由前缀的装置,和用于通告第一级伪路由前缀和被通信网中所有的路由器共享的网络路由前缀的装置,通信网的每个主机被配置成通过使用主机的专用密钥和主机的可自配置的后缀加密第一级伪路由前缀,以得到伪前缀,以及通信网的每个主机使用公共路由前缀和伪路由前缀来配置它的网络地址。
50.一种包含用于执行网络地址分配方法的程序代码的计算机程序产品,方法包括在网络的路由器处接收来自主机的地址请求;计算网络地址,网络地址包括(1)在网络中所有的路由器之间共享的公共路由前缀,(2)伪前缀,(3)包括由路由器生成的数字的被称为标记的数据;以及把网络地址传送到主机。
51.权利要求50的计算机程序产品,其中计算伪前缀包括逻辑组合路由器的路由前缀和消息鉴权码。
52.权利要求51的计算机程序产品,其中计算伪前缀还包括计算对于标记数据的消息鉴权码。
53.权利要求50的计算机程序产品,其中计算伪前缀包括加密路由器的路由前缀。
54.权利要求53的计算机程序产品,其中计算伪前缀还包括根据对于标记和在路由器之间共享的秘密信息计算的散列函数通过使用加密密钥加密路由器的路由前缀。
55.一种通信网,包括一组的一个或多个主机、第一组一个或多个路由器和包含至少一个附加路由器的至少一个保密域,其中该至少一个附加路由器包括用于接收来自一个或多个主机的组的一个主机的地址请求的装置,用于计算网络地址的装置,网络地址包括(1)在网络中所有的路由器之间共享的公共路由前缀,(2)伪前缀,以及(3)包括由路由器生成的数字的被称为标记的数据;以及其中通信网还包括用于把网络地址传送到一个或多个主机的组的一个主机的装置。
56.权利要求55的通信网,其中保密域还包含第二组路由器和多个主机。
57.权利要求56的通信网,其中第二组路由器的至少某些路由器包括用于接收来自一个或多个主机的组的一个主机的地址请求的装置,用于计算网络地址的装置,网络地址包括(1)在网络中所有的路由器之间共享的公共路由前缀,(2)伪前缀,以及(3)包括由路由器生成的数字的被称为标记的数据;以及其中通信网还包括用于把网络地址传送到一个或多个主机的组的一个主机的装置。
58.一种用于操作网络的路由器的方法,方法包括接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括通过使用秘密信息施加密码过程以得到子网络地址;以及按照子网络地址路由分组地址。
59.权利要求58的方法,其中解密分组地址包括逻辑组合分组地址的一部分与秘密信息。
60.权利要求59的方法,其中逻辑组合包括对于伪前缀和具有秘密信息的分组地址的后缀进行异或运算。
61.权利要求59的方法,其中解密分组地址包括在路由器处逻辑组合伪前缀的至少一部分和具有秘密信息的分组地址的后缀,以产生子网络地址。
62.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求58的方法。
63.权利要求62的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求58的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
64.权利要求63的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
65.一种用于操作网络中的路由器的方法,方法包括接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括计算消息鉴权码,和逻辑组合消息鉴权码与分组地址的伪前缀的至少一部分,以产生结果;以及按照子网络地址路由分组地址。
66.权利要求65的方法,还包括使用被包含在数据分组中的标记数据来计算消息鉴权码;在级联过程中组合标记数据与伪前缀的部分。
67.权利要求65的方法,其中消息鉴权码用在网络的路由器之间共享的、和对于被包含在分组地址中的标记数据被计算的某些秘密信息以及分组地址的后缀被上锁。
68.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求65的方法。
69.权利要求68的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求65的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
70.权利要求69的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
71.一种用于操作网络中的路由器的方法,方法包括接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括通过使用分组地址的一部分生成解密密钥,和解密分组地址的伪前缀以产生路由前缀;以及按照子网络地址路由分组地址。
72.权利要求71的方法,其中生成解密密钥包括通过路由器的秘密信息和分组地址的后缀的散列函数生成解密密钥。
73.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求71的方法。
74.权利要求73的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求71的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
75.权利要求74的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
76.一种用于操作网络中的路由器的方法,方法包括接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括解密分组地址的伪前缀以产生实际路由前缀;以及按照子网络地址路由分组地址。
77.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求76的方法。
78.权利要求77的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求76的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
79.权利要求78的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
80.一种用于操作网络中的路由器的方法,方法包括与其它路由器和主机共享公钥;仅仅与保密域中该其它路由器共享专用密钥;接收分组;检测分组的分组地址;解密分组地址以得到子网络地址,包括通过使用专用密钥和分组地址的后缀解密分组地址的伪前缀,以得到路由前缀;和从路由前缀确定实际路由前缀;以及按照子网络地址路由分组。
81.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求80的方法。
82.权利要求81的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求80的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
83.权利要求82的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
84.一种用于操作包括多个路由器的网络中的路由器的方法,方法包括在路由器之间共享主密钥;接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括通过使用主密钥解密分组地址的伪路由前缀,以产生路由前缀;和从路由前缀确定实际路由前缀;以及按照子网络地址路由分组。
85.权利要求84的方法,其中网络中的每个主机具有专用密钥,以及使用专用密钥加密的任何信息可以通过使用在路由器之间共享的主密钥被解密。
86.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求84的方法。
87.权利要求86的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求84的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
88.权利要求87的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
89.一种用于操作网络中的路由器的方法,方法包括接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括通过使用共享的秘密信息和分组地址的标记数据的散列函数生成密钥,和使用该密钥解密分组地址以产生子网络地址;以及按照子网络地址路由分组地址。
90.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求89的方法。
91.权利要求90的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求89的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
92.权利要求91的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
93.一种用于操作网络中的路由器的方法,方法包括接收数据分组;检测数据分组的分组地址;解密分组地址以得到子网络地址,包括计算对于被包含在分组地址中的标记数据的消息鉴权码,逻辑组合消息鉴权码与被包含在分组地址中的伪前缀,通过使用密钥解密分组地址以产生子网络地址;以及按照子网络地址路由分组地址。
94.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求93的方法。
95.权利要求94的通信网,还包括具有多个主机和多个路由器的保密域,其中多个路由器的至少一个路由器是能够处理加扰的路由器,以及被配置成执行权利要求93的方法,以及其中通信网的至少一个路由器被配置成把数据分组发送到能够处理加扰的路由器。
96.权利要求95的通信网,其中接收数据分组的能够处理加扰的路由器是用于数据分组的最终目的地的能够处理加扰的路由器。
97.一种用于配置新的互联网协议(IP)地址的方法,方法包括在网络主机,请求来自路由器的地址前缀;接收来自路由器的伪前缀,该伪前缀是通过使用路由器的路由前缀被计算的;以及组合伪前缀与主机的后缀以形成新的IP地址。
98.权利要求97的方法,其中接收伪前缀包括在路由器处接收通过使用密码过程和秘密密钥计算的前缀。
99.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个主机和该一个或多个路由器的每一个被配置成执行权利要求97的方法。
100.一种用于操作通信网中的路由器的方法,方法包括接收分组;从分组中读出分组地址;从分组地址确定网络路由前缀;以及高速缓存网络路由前缀,供以后使用。
101.权利要求100的方法,还包括把分组路由到相应于它的网络路由前缀的网络地址。
102.权利要求100的方法,还包括接收下一个分组;检索高速缓存的网络路由前缀;以及把下一个分组路由到相应于高速缓存的网络路由前缀的网络地址。
103.权利要求100的方法,其中确定网络路由前缀包括使用秘密信息和密码过程。
104.权利要求103的方法,还包括与规定的保密域的其它路由器共享秘密信息。
105.权利要求103的方法,还包括如果秘密信息改变,则更新高速缓存的网络路由前缀。
106.一种包含一个或多个主机和一个或多个路由器的通信网,其中该一个或多个路由器的每个路由器被配置成执行权利要求76的方法。
107.一种用于操作通信网中的地址分配实体的方法,方法包括从分组的分组地址确定网络路由前缀;以及高速缓存网络路由前缀,供以后使用。
108.一种包含一个或多个主机、一个或多个路由器和地址分配实体的通信网,其中该地址分配实体被配置成执行权利要求107的方法。
109.权利要求64的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
110.权利要求109的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
111.权利要求70的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
112.权利要求111的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
113.权利要求75的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
114.权利要求113的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
115.权利要求79的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
116.权利要求115的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
117.权利要求83的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
118.权利要求117的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
119.权利要求88的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
120.权利要求119的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
121.权利要求92的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
122.权利要求121的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
123.权利要求96的通信网,其中不同于能够处理加扰的路由器的路由器是用于数据分组的最终目的地路由器,其中数据分组通过能够处理加扰的路由器被隧道传送到最终目的地路由器。
124.权利要求123的通信网,其中隧道传送数据分组的能够处理加扰的路由器加密通过其传输数据分组的隧道,以避免数据分组的隧道传送信息的外部检测。
全文摘要
在网络中,路由器在确定子网络的路由前缀时使用与密码术处理过程相组合的某些秘密信息。公开了几个方法,包括使用用于前缀生成和用于解密的IP后缀,保持路由器处的伪前缀库,使用公钥加密和对称密钥加密。
文档编号H04L29/06GK1706153SQ200380101711
公开日2005年12月7日 申请日期2003年10月29日 优先权日2002年10月31日
发明者穆罕默德·M·宾塔瑞克, 克雷格·B·金特里, 詹姆斯·肯普夫, 拉维·K·贾殷, 河原敏朗 申请人:美国多科摩通讯研究所股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1