用于改善ip通信网络中订户隐私的方法和装置制造方法
【专利摘要】一种用于改善服务提供商IP网络的订户隐私的方法,其中所述服务提供商具有供其订户使用的全世界唯一的全球IP地址集合,其中所述服务供应商所服务的区域分为不同的区,所述服务提供商具有用于每个区的网络节点,该网络节点称为IP地址分配节点,所述IP地址分配节点向位于所述区的订户分配唯一的全球IP地址。本发明提出的方法和装置提高了隐私,从而在不需要额外的计算量和加大网络投资的情况下,使第三方未经授权的IP地理定位无效。
【专利说明】用于改善IP通信网络中订户隐私的方法和装置
【技术领域】
[0001]本发明涉及通信网络中的隐私改善,更具体地涉及一种用于改善IP网络的订户的隐私和安全性的方法和装置。
【背景技术】
[0002]随着诸如互联网的全球计算机网络继续在全球迅速发展,全世界越来越多的人和企业访问这些网络以进行商业活动和个人活动。因此,诸如互联网的网络已经成为虚拟的社会,在这个虚拟社会中人们通过收发电子、语音和图像消息相互通信以进行商业和娱乐。这些通信可包括共享想法和信息、来回发送个人和商业消息、研究信息、表达个人和政治方面的意见和想法、以及进行商业谈判和交易(通常称为“电子商务”或“E-商务”)。针对该新的电子活动,企业和某些个人出于多种目的试图识别并追踪单独的互联网用户,所述目的包括但不限于:发布广告、市场调查、定制针对互联网网站(即,“网站”)的信息、窥探和窃听通信,以及欺诈和其它恶意行为。为了进行攻击,通常使用嗅探器(可拦截并记录从数字网络通过的流量的软件或硬件包分析器)来捕捉基于源全球(公共)IP地址(即,订户用于访问外部网络尤其是互联网的IP地址)的订户(用户)流。这些威胁使外部用户,无论是商业或个人实体,完成如下任务:诸如,识别用户、获得用户存储在其计算机上的个人信息(包括姓名、地址、私有财务文件和/或其它机密的、私有的和/或敏感的信息)、以及在互联网上追踪用户的活动,该追踪包括:纪录用户访问的每个网站或是收发的每封电子邮件。鉴于所述原因,终端订户越来越担心其在互联网中的个人信息和通信的隐私性。因此,网络服务提供商(例如,互联网服务提供商)不断在其网络中实施不同机制,如IPSec或通道加密,以使终端客户免受这些指令之害。在提供商方面,应用提供商不断使用安全层https来保护会话层中的信息。虽然需要大量投资,但是这些系统仍然存在利用数学方法进行攻击的弱点。
[0003]在IPv4网络中,网络所面临的另一个问题是在IP通信网络中用于对实体进行全球标识的IPv4地址的耗尽问题。多年来,为解决该IPv4地址的耗尽问题已经采用了不同的解决方案:
[0004]共享全球唯一 IPv4地址的最成功方法是了不起的网络地址转换(NAT)。网络地址转换(NAT)是一种将一个网络中已知的一组IP地址转换为另一网络中已知的另一组IP地址的技术。通常,组织将其本地内部地址(又称为内部IP地址或在某些情况下称为私有IP地址)映射到一个或多个全球唯一 IP地址(又称为全球IP地址或在某些情况下称为公共IP地址)。
[0005]存在预定义的内部IP地址空间,例如,10.0.0.0至10.255.255.255就是这样一种范围。这些IP地址在公共互联网中不具有任何全球路由意义。在来自具有这类地址的主机的传出IP包中的源IP地址需从内部的转换为全球的(即,从私有地址转换为全球地址),并且,在传入包中的目标IP地址需从全球的转换为内部的。NAT通过提供私有IP地址网络的独立岛来节省全球IP地址空间。通常,当建立了从私有网络中的节点到公共网络中的节点建立了新的会话(例如,TCP连接)时,则建立了映射。只要会话有效,映射就存在。此处的假设是,在内部私有网络内,多数IP装置仅想与相同网络中的其它IP装置对话。因此,NAT置于(一般存在于路由器或防火墙中)与公共互联网交界的私有网络的边缘。NAT具有一个或多个全球唯一 IPv4地址,并且,当包从其内部或私有接口向其外部或全球接口通过时,NAT用其全球IPv4地址中的一个全球IPv4地址替换包的内部(私有)IPv4地址。NAT通过将内部地址映射到外部地址来“记住”包是来自哪个内部装置。
[0006]但可用地址池不会伸缩到“始终在线”装置对现代网络的需求。由于越来越多的数据交换穿过公共互联网,多数网络内部装置在绝大部分时间与其它内部网络装置对话的假设不再有效。
[0007]NAT通过不仅使用其全球IPv4地址池还使用各个地址可用的端口号,克服了该伸缩问题。TCP和UDP报头最多支持65536个端口号,其中大多数端口号都是未使用的。因此,通过将内部[私有地址、端口 ]元组映射到[全球地址、端口 ]元组,NAT真正在映射会话而不是映射装置,并且可支持与每个公共地址的大量会话。该方法又称为网络地址和端口转换(NAPT)。
[0008]网络地址和端口转换(NAPT)通过使用TCP/用户数据报协议(TCP/UDP)端口号以用于多路复用多个会话,来允许一个以上的内部私有节点使用相同的外部公共IP地址。例如,当私有地址为10.0.1.23的主机A向公共地址为128.59.16.149的外部节点B发送TCPSYN连接建立包时,该包被NAT路由器(10.0.0.1)拦截。外部IP为135.180.132.24的该NAT盒(路由器)创建从私有地址10.0.1.23和端口 1987到其全球IP地址135.180.132.24和端口 1734的映射。通过分别将源IP和端口改为135.180.132.24和1734,包被转发至节点B,就如同它源自NAT盒一样。NAT拦截具有目标地址135.180.132.24和端口 1734的传入包,并且,将目标地址改为10.0.1.23和将端口改为1987。节点A认为它连接到了节点B的IP,而节点B认为它连接到了 NAT的IP。下面将示出的是,即使利用该地址转换,仍可能将私有IP域映射到特定全球(公共)IP域。
[0009]作为该NAT技术的扩展,出现了运营商级(Carrier Grade)的NAT节点。运营商级的NAT节点,也称为大规模NAT,是由管理实体(例如,运营商、服务提供商)操作的以在多个订户之间共享相同地址的基于NAT的功能单元(即,它使用了 NAT功能)。CG-NAT节点由管理实体而非订户管理。传统的NAT出现在客户网络的边缘,在该边缘处它连接至服务提供商,并且在客户网络内的私有IPv4地址和由提供商分配的一个或多个全球IP地址之间进行转换。它们在内部IPv4地址和全球IPv4地址之间转换;CG-NAT节点的内部或私有侧面向提供商的客户(即,订户)。换言之,CG-NAT节点使服务提供商能够向其客户分配私有RFC 1918 IPv4地址,而不是公共、全球唯一 IPv4地址。NAT再一次解决了地址供应减少的问题。所述CG-NAT功能在称为CG-NAT节点或盒(或只是CG-NAT)的网络节点(例如,路由器)中实现。
[0010]如今,正在开发一种新的IP版本(协议)IPv6,其用于处理该备受期待的IPv4地址耗尽问题。IPv6由互联网工程任务组(IETF)开发,并在互联网标准文件RFC 2460中进行了描述。与IPv4 —样,IPv6也是一种用于分组交换网络互连的互联网层协议,并在多个IP网络之间提供端到端数据报传输。虽然IPv4允许32位IP地址并且因此具有232(4 294967 296)个可能的地址,但是IPv6使用128位地址。IPv6地址的示例由冒号十六进制格式表不:
[0011]2001:0211:0000:0000:ab01:0000:0000:0011 (8X 16 位块)。
[0012]因此,地址空间为2128 (约3.4X 138)个地址(这些全球唯一 IP地址称为全球IP地址,或者,在IPv6中,也称为全球单播地址)。该扩展允许在互联网中存在更多装置和订户,并且实现了在分配地址时的额外灵活性和在路由流量时的效率。IPv6还解决了 IPv4的某些问题。例如,报头被简化了,并且路由器不必再逐跳地计算复杂的校验和。大量可用的全球地址还消除了对网络地址转换(NAT)的基本需求。订户不必再共享全球IP地址(如在IPv4的场景下),这是因为由于地址的数量几乎是无限的,所以可以尽需要那么多地可向订户分配许多全球IP地址。因此,预计在IPv6中不会使用NAT,也就不会使用CGNAT盒。
[0013]正如从后文将看到的,在IPv6网络和IPv4网络中(即使使用了 CG-NAT),存在着向服务提供商服务的各个区分配的全球IP地址的固定子集。在这类情况下,即使分配给各个区域的全球IP的所述子集未经服务提供商公开,仍可完成地理定位。例如,进行以下步骤:
[0014]1.每当订户在网上商店购买时,商店便知道了正在使用的IP和货物需发往的邮政地址。
[0015]2.每当注册用户签署航空公司的网页或忠诚计划时,他们便记录下IP并且知道了订户的邮政地址。
[0016]因此,利用这类信息,可在用户的区域(邮政地址)与其正在使用的全球IP地址的子池之间完成链接(因此获得分配给订户生活区域的全球地址的子池)。
[0017]这些或其它方法被某些网络应用用于进行IP地理定位(针对每个输入的IP地址,所述应用会告诉你所述IP正在被使用的区域)。多家公司,如公共云、在线游戏平台、内容分发网络、OTT公司(如,谷歌、雅虎等)、广告公司等,利用所述IP地理定位服务,并且通过使用所述网络应用,他们可在不需要征得订户的服务提供商的允许的情况下,获得全世界每一个IP的地理定位。
[0018]因此,即使使用CGNAT或IPv6的,也可能存在嗅探攻击和不允许的地理定位,并且相当常见。因此,还需要可增加订户隐私的解决方案。
[0019]以下说明的本发明的实施例将克服至少某些这类缺陷。
【发明内容】
[0020]通过提供用于改进型IPv4和IPv6网络的方法和装置的公开实施例,大体上解决或者避免了现有技术中存在的问题,并且,大体上实现了技术优点。
[0021]根据第一方面,提供了一种用于改善服务提供商IP网络中订户隐私的方法,其中所述服务提供商具有供其订户使用的全世界唯一的全球IP地址的集合,并且其中所述服务供应商所服务的区域分为不同的区,所述服务提供商具有用于每个区的网络节点(换言之,每个区均有关联的网络节点),该网络节点称为IP地址分配节点,所述IP地址分配节点向位于所述区中的订户分配唯一的全球IP地址,所述方法包括以下步骤:
[0022]a)每特定时间周期地(周期性地),每个IP地址分配节点采用特定算法从所述服务提供商的全球IP地址的整个唯一集合中选择要使用的全球IP地址的子集,所述算法具有至少一个参数,所述参数的值确定算法的结果(即,选择的子集),所述至少一个参数的值由每个IP地址分配节点每所述时间周期地计算得出,
[0023]其中,对于所述子集的选择,所有IP地址分配节点均使用相同的算法,但所述至少一个参数的值不同,并且其中所述算法的结果(选择的子集)满足以下条件:IP地址分配节点所选择的子集每所述特定时间周期地发生变化,并且不同IP地址分配节点所选择的子集不重叠,即,在不同IP地址分配节点所选择的子集之间无共同的全球IP地址;
[0024]b)每个IP地址分配节点从上一步骤中选择的全球IP地址的子集中向位于其相应区内的订户分配全球IP地址。
[0025]所述算法可以为伪随机算法(在这种情况下,所述至少一个参数可以为所述伪随机算法的种子),但也可采用任何其它类型的算法进行所述选择(只要所述选择满足上述要求)。
[0026]所述子集可由连续全球IP地址的单池形成,或由连续全球IP地址的多个非连续池形成。
[0027]所述服务提供商可为互联网服务提供商或任何其它类型的网络服务提供商,并且,所述全球IP地址可以用于订户与其它网络的节点进行通信。
[0028]时间周期可为天、周、月或任何其它时间周期。
[0029]在实施例中,每个IP地址分配节点均具有与其余IP地址分配节点的标识不同的唯一标识,ID,并且每个IP地址分配节点根据所述唯一 ID和自特定的定义时间起点之后经过的时间周期的数量来计算所述至少一个参数的值。
[0030]在实施例中,所述全球IP地址为全球IPv6地址,并且所述IP分配节点为宽带远程接入服务器;在替代实施例中,所述全球IP地址为全球IPv4地址,并且所述IP分配节点为运营商级网络地址转换节点(在这种情况下,所述区将对应于由相同CG-NAT节点服务的多个区域网络(MAN等))。
[0031]在实施例中,在服务提供商网络中存在预定义的全球IP地址的子集的组,在特定时间周期期间采用特定算法选择要使用的全球IP地址的子集的步骤a)包括:
[0032]-每时间周期地,每个IP地址分配器根据所述IP地址分配器的唯一标识和自特定的定义时间起点之后经过的时间周期的数量来计算所述至少一个参数的值;
[0033]-每时间周期地,每个IP地址分配器利用计算得出的所述至少一个参数采用所述特定算法,以从该子集的组中得出要使用的子集的编号作为结果(输出)。
[0034]可选地,在特定时间周期中由所述服务提供商网络的IP地址分配节点选择的所述子集在随后的时间周期内不可被所述服务提供商网络的任何其它IP地址分配节点选择,因此,相同的子集不可能在两个连续的时间周期内被选择。
[0035]可选地,在每个子集中定义了两组全球IP地址,并且在每个时间周期中,其中一组用于在所述时间周期期间向订户分配全球IP地址,该组称为活动组,而另一组不用于在所述时间周期期间向订户分配全球IP地址,该另一组称为弃用组,并且,在接下来的时间周期(其中,所述子集将由其它IP地址分配节点选择)中,弃用组变为活动组,因此所述组用于向订户分配全球IP地址;而之前的活动组变为弃用组,因此所述组不被用于向订户分配全球IP地址。
[0036]根据第二方面,提供了一种用于改善服务提供商IP网络的订户隐私的网络节点,其中所述服务提供商具有供其订户使用的全世界唯一的全球IP地址的集合,并且其中所述服务供应商所服务的区域分为不同的区,并且其中称为IP地址分配器节点的所述网络节点与这些区中的一个区相关联并且向位于所述区中的订户分配唯一的全球IP地址,所述网络节点包括:
[0037]用于每特定时间周期地采用算法从所述服务提供商的全球IP地址的整个唯一集合中选择要使用的全球IP地址的子集的装置,所述算法具有至少一个参数,所述参数的值确定了算法的结果(即,选择的子集),其中,对于所述子集的选择,所述服务提供商的所有IP地址分配节点均使用相同的算法,但所述至少一个参数的值不同,并且其中,所述算法满足以下条件:IP地址分配节点所选择的子集每所述特定时间周期地发生变化,并且不同IP地址分配节点所选择的子集不重叠,即,在不同IP地址分配节点所选择的子集之间无共同的全球IP地址;
[0038]用于通过每个IP地址分配节点每所述时间周期地计算所述至少一个参数的值的装置;
[0039]用于从之前选择的全球IP地址的子集中向位于其相关联区内的订户分配全球IP地址的装置。
[0040]在实施例中,全球IP地址为全球IPv6地址,并且网络节点为宽带远程接入服务器;在替代实施例中,全球IP地址为全球IPv4地址,并且所述网络节点为运营商级网络地址转换节点。
[0041]在实施例中,网络节点具有与服务提供商网络的其余IP地址分配节点的标识不同的唯一标识(ID),其中,网络节点每时间周期地根据所述唯一 ID和自特定的定义时间起点之后经过的时间周期的数量来计算所述至少一个参数的值。
[0042]根据另一方面,提供了一种计算机程序产品,其包括:计算机可执行指令,当所述程序在计算机上运行时,所述计算机可执行指令用于实施之前所公开的任一方法,并且还提供了一种数字数据存储介质,所述数字数据存储介质对指令的机器可执行程序进行编码以实施所公开的任一方法。
[0043]因此,根据本发明,提供了根据独立权利要求的一种方法、装置和计算机程序。在附属权利要求中定义了优选的实施例。
[0044]本发明的这些方面和其它方面将通过参考下文所描述的实施例变得显而易见并得以阐述。
【专利附图】
【附图说明】
[0045]现参考附图,仅通过示例的方式对方法、系统和装置的某些实施例进行描述,其中:
[0046]图1示出了在未使用CGNAT的情况下的网络架构的示意图。
[0047]在整个附图中,相同的附图标记表示相同的元件。
【具体实施方式】
[0048]本实施例可体现为其它的特定装置、系统和/或方法。所描述的实施例在所有方面都仅为说明性的而非限制性的。具体地,本发明的范围由所附权利要求指示,而不是由本文的说明和附图指示。在权利要求的等同物的意义及范围之内发生的所有变化均包括在本范围中。在以下的实施例中,将参考IP网络和IP地址,但这些实施例也可适用于任何其它类型的网络和地址。
[0049]在所公开的实施例中,提出了一种改进型方法和装置,其在不需要加大网络投资的情况下,在IPv6和IPv4网络中进一步提高了订户隐私(例如,使第三方的IP地理定位无效)。
[0050]在图1中,示意性地示出了未使用CG-NAT的服务提供商网络的架构(旧版IPv4网络或IPv6网络,其中,如上所述,不需要CG-NAT)。服务供应商所服务的区域(例如,整个国家)分为不同的区域网络11 (这些区域中的每一个可为城域网(MAN),或者,这些区域可通过订户的邮政编码或通过标识订户位置的任何其它方式所定义)。所述区域的大小可以不相同(对于最大的西班牙服务提供商,各个所述区域对应一个省,但其它的划分也是可能的)。各个区域网络由宽带远程接入服务器(BRAS 12)服务。BRAS是在区域网络中服务订户的路由器。服务提供商从其全球IP地址集合中向BRAS分配全球IP地址子集,BRAS经要求将该全球IP地址子集分配该它们的订户,以使服务提供商与其它订户或其它外部网络(13)进行通信。因此,在这些网络中,负责向各个订户分配全球IP地址的节点为BRAS服务器,并且,每个服务器将向特定区(由该BRAS服务的区域网络)的订户分配全球IP地址。
[0051]在使用CG-NAT的IPv4网络中,服务供应商所服务的区域(例如,整个国家)也分为不同的区域网络(这些区域中的每一个可为城域网(MAN),或者,这些区域可通过订户的邮政编码或通过标识订户位置的任何其它方式所定义)。每个区域网络由例如宽带远程接入服务器(BRAS)服务。在网络中,可有一个或多个CG-NAT节点,该CG-NAT节点会向由内部网络地址和端口号所标识的每个订户TCP/UDP会话分配全球IP地址和端口号,从而创建从内部(私有)地址和端口到其外部全球IP地址和端口的映射。每个CG-NAT将覆盖多个区域网络(即,多个BRAS)。CG-NAT节点将拦截从其覆盖的区域网络传向外部网络的传出包,并且将用分配的全球IP地址和第二端口代替包的源私有IP地址和源端口。CG-NAT节点还将拦截传往所述区域网络的传入包,并且用内部(私有)地址和端口组合代替目标公共IP地址和端口。即,针对服务提供商网络内部的通信,使用内部私有IP地址,但针对与其它外部网络(23)的通信,则使用由CG-NAT节点24所分配的全球IP地址。因此,在这些网络中,负责向每个订户分配全球IP地址的节点为CG-NAT节点,并且,每个节点将向特定区(该特定区对应由CG-NAT服务的多个区域网络)的订户分配全球IP地址。
[0052]在IPv4和IPv6网络中,每个网络服务提供商均具有全世界唯一的全球IP地址(即,无其它的服务提供商共享相同的全球IP地址)的集合供使用(或者,更具体地,供网络提供商的订户使用)。全球IP地址的集合将由对应的国家或国际授权机构进行分配,并且,该集合可为唯一的连续全球IP地址池,或者该集合可由多个连续全球IP地址池形成。
[0053]服务提供商从所述公共IP地址的集合向负责分配公共IP地址的每个节点分配唯一的全球IP地址子集,即,在IPv6网络中,服务提供商将向(覆盖单个区域网络的)每个BRAS分配唯一的全球IPv6地址子集;以及,在使用CG-NAT的IPv4网络中,服务提供商将向(覆盖一组区域网络的)每个CG-NAT节点分配唯一的全球(公共)IPv4地址子集。这些节点可从其唯一的公共IP地址子集中选择待分配至每个订户会话的公共IP地址。所述子集被固定地分配,即,通常当BRAS或CG-NAT节点开始在服务提供商网络中活动时(例如,当节点在网络中注册时),所述子集分配给BRAS或CG-NAT节点,并且,在节点的整个工作寿命中,子集是不变的。不管怎样,在IPv4网络中,如果CG-NAT需要更多地址,则可增加子集,但分配给节点的全球IP地址的原来的子集不变。
[0054]因为有足够的IPv6地址,所以通常在IPv6中分配给每个BRAS的子集为全球IP地址的连续池(因为利用连续池更容易进行路由活动)。在IPv4中则相反,没有足够的全球IPv4地址。因此,每个CG-NAT分配有小的全球IP地址集合,并且,当CG-NAT需要更多地址时(因为订户数量增加),其请求更多的IP地址,而服务提供商分配新的全球IP地址池,因此,在IPv4网络子集中碎片化很高。
[0055]因此,在IPv6网络中的每个区域网络(由BRAS服务)或在IPv4网络中的每个区域网络组(由CG-NAT服务)将具有所分配的固定的全球IP地址子集,并且,这些节点将从相同的IP地址子集(分配给相应节点的子集)向其正在服务的区域的订户分配公共IP地址。换言之,即使每次分配给每个订户的IP地址不同(动态IP分配),分配的IP地址始终属于相同的全球IP子集,这取决于订户所在的区域。鉴于所述原因,如之前所阐释的,可以在订户区域和正被使用的全球IP地址的子集之间获得链接,因此,在没有服务提供商的参与和/或同意的情况下,各个订户所在的区域可从其使用的公共IP地址获得(IP地理定位)。换言之,订户位置易于追踪。
[0056]下述实施例将克服至少某些这类缺陷。
[0057]提出的改进应用于负责向订户分配全球IP地址的节点,并且提出的改进可在IPv6网络和使用CG-NAT的IPv4网络中实施;具有如下差异:在IPv6网络中,实施例将影响BRAS (因为在该类型的网络中负责向订户分配全球IPv6地址的节点为BRAS服务器),而在IPv4网络中,实施例将影响CG-NAT(因为在该类型的网络中负责向订户分配全球IPv4地址的节点为CG-NAT节点)。鉴于所述原因,为了将两种类型的实施方式(S卩,两种类型的网络)涵盖在实施例的说明中(不必重复两种类型网络的相同说明),将使用通用术语“IP地址分配节点”,在IPv6网络的情况下该“IP地址分配节点”指BRAS服务器,而在IPv4网络的情况下该“IP地址分配节点”指CG-NAT节点。鉴于相同的原因,在实施例的说明中,将使用通用术语“全球IP地址”,在IPv6网络的情况下该“全球IP地址”指全球IPv6地址,而在IPv4网络的情况下该“全球IP地址”指全球IPv4地址。
[0058]在提出的实施例中,分配给每个节点的全球IP地址子集在每个周期的基础上被模糊,使第三方(即,无服务提供商参与的情况下)的IP地理定位无效。为了做到这一点,在示例性实施例中,服务提供商不像现有技术那样向每个IP地址分配节点分配全球IP地址子集,相反,服务提供商的每个IP地址分配节点均可获得该服务提供商的整个全球IP地址集合。接着,在每个特定时间周期中,每个IP地址分配节点将通过采用特定标准或算法,从所述集合选择需要使用的全球IP地址子集,所述算法具有一个或多个参数(也称为种子),该一个或多个参数明确确定了算法的结果(即,选择的子集)。在实施例中,所述标准/算法为伪随机算法。为了做到这一点,在实施例中,服务提供商网络的每个IP地址分配节点将具有唯一标识(ID)(不由服务提供商网络的其它IP地址分配节点所共享),并且,每个IP地址分配节点将采用根据所述唯一标识具有不同种子的相同算法,生成可在特定时间周期使用的全球IP地址的子集。
[0059]必须对所述算法(以及使用的参数)进行选择,因此,选择的子集必须满足以下要求:IP地址分配节点所选择的子集每个所述特定的时间周期均会发生变化,并且所选择的子集不得重叠(即,在两个子集之间,无共同的全球IP地址)以避免任何寻址冲突问题。因此,每个IP地址分配节点所使用的种子(参数)应具有一种正交性,或者,换言之,每个IP地址分配节点所使用的种子必须保证所生成的子集不会重叠。
[0060]决定使用全球IP地址的哪个子集的所述过程每特定时间周期(例如,天、周、月)进行,或者如果有必要增加安全性,每更短时间周期地进行。换言之,每时间周期,IP地址分配节点采用算法生成全球IP地址的不同子集供使用;确定算法结果的参数的值每特定时间周期地发生变化,因此,每个IP地址分配节点所使用的子集每时间周期地发生变化。在两个连续子集选择之间的时间周期被称为循环或工作循环,并且,其具有时间周期的持续时间。
[0061]所使用的参数(种子)(可选地,甚至是算法)不应被第三方获知,因此,第三方不可能获得由每个IP地址分配节点所使用的子集(对第三方而言,全球IP地址的分布看起来像是随机的)。
[0062]服务提供商可具有用于存储分配给每个IP地址分配节点的全球IP地址子集的数据库。
[0063]因此,利用提出的实施例,无固定的(不变的)全球IP地址子集的集合被分配给每个分配网络节点,但每个IP地址分配节点决定使用哪个子集,并且,该子集会每特定时间周期地发生变化。换言之,该分配是动态进行的,并且此外,所述分配是随机(或者更恰当地说法是,伪随机)决定的。因此,第三方(即,无服务提供商参与的情况下)的IP地理定位几乎不可能。
[0064]通常,IP地址分配节点必须向其它路由实体公告正被使用的全球IP地址的子集(以使路由实体知道必须将不同的包路由到哪个节点)。在实施例中,在每个IP地址分配节点的全球IP地址的子集为随机(完全不连续)的情况下,待发送至其它路由实体的消息(限定了所使用的全球IP地址的子集)可以很长和/或很复杂(或者,必须使用一条以上的消息),这可在管理层产生可伸缩性问题。鉴于所述原因,在实施例中,全球IP地址的子集由连续全球IP地址的池组成,因此,易于定义全球IP地址的子集,并且,待发送至其它路由实体的消息较简单。
[0065]在实施例中,全球IP地址的子集均是预先定义的(称为子集S1......Sk, k为设计参数)。通常,所述子集的总和应为分配给服务提供商的整个集合。每个IP地址分配节点知道不同的可能的子集,并且,每时间周期(循环)地,每个IP地址分配节点按照共同标准或算法(例如,伪随机算法)决定使用哪个子集。每个参与的IP地址分配节点被分配有成员ID (例如,从I至N,N为服务提供商网络的IP地址分配节点的数量)。在实施例中,伪随机函数f(x)获得成员ID、共用(共享)种子(如果有的话)和循环数作为输入,以便给出将由IP地址分配节点使用的子集的编号(与将由其它ID地址分配节点使用的子集不同)作为输出。每循环(例如,月、周、天)地,重复所述计算并且子集分配根据伪随机算法发展至下一状态(下一循环)。循环数指的是自被认为是算法起点的特定时刻之后经过的循环(时间周期)的数量。
[0066]子集的个数可等于IP地址分配节点的数量(K = N),但是通常,预定义子集的个数大于IP地址分配节点的数量,以预知将来增加的新IP地址分配节点(即,如果将来有新IP地址分配节点加入网络,则不需对所有节点中的子集进行重新定义)。例如,如果N= 50,则在示例性实施例中,预定义子集的数量可大约为80。
[0067]在最基本的情况下,每个节点每个循环均会移至下一个子集(即,子集组按特定顺序排列,并且,在每个时间周期中,每个IP地址分配器均选择在该组中的下一个子集作为要使用的子集)。在这种情况下,数学公式f(x)可表达为,X= ID+循环数,X为分配的子集的编号。即,每当循环发生变化,每个分配网络节点从使用子集X转为使用子集X+1。每个IP地址分配节点立刻通过路由新子集来通告并开始通过新的寻址向其订户分配全球IP地址。循环数可为自作为参照的特定时间起点之后经过的时间周期的数量。这是最简单的方法,但IP地址分配节点也可使用任何其它类型的伪随机算法决定使用哪个子集,任何其它类型的伪随机算法应满足以下要求:在特定循环中,相同子集不得被两个不同的IP地址分配节点所使用。
[0068]全球IP地址可随机分布在预定义的不重叠的子集之间,但他们不应该“太过随机”,所以其定义简单,并且待发送至其它路由实体的消息也简单。这就是子集通常由连续全球IP地址的一个或多个池组成的原因。
[0069]为了更清楚地阐释所述实施例,将呈现详细示例。假设在IPv6网络中有50个IP地址分配节点(BRAS)(例如,每个省一个),并且假设时间周期(循环)为一天。将每个子集定义为30个IP地址的池。在每个BRAS中定义整个集合(所有子集)。在每天的特定时间(例如,00:00),每个BRAS均会采用伪随机函数改变所使用的子集。在最简单的方法中,例如,在第3天,ID = 4的BRAS将使用子集X = ID+循环数=4+3 = 7,而ID = 5的BRAS将使用子集X = 5+3 = 8。接下来的一天,ID = 4的BRAS将使用子集8,而ID = 5的BRAS将使用子集9,以此类推。因此,子集将在不同的BRAS之间循环。
[0070]通常,路由种群(routing populat1n)需要一些时间在整个网络上得以填充,并且,装置还需要一些时间暂停和更新地址。换言之,当全球IP地址的子集在特定时刻(循环改变)从IP地址分配节点传至另一 IP地址分配节点,在循环开始时,可能会有一些属于旧节点的订户仍然使用来自该子集的IP地址,而该子集现在正使用新IP地址分配节点(随后发生的地址冲突是该新节点开始向其订户分配所述全球IP地址)。
[0071]避免该问题的最安全的方法是使用一些“防护池”来确保在IP地址分配节点的新拥有者开始使用子集之前,该子集完全被IP地址分配节点所弃用。这些“防护池”可以多种方式进行定义。
[0072]定义这些“防护池”的一种简单有效的方式如下:在一个循环中,由任何IP地址分配节点所使用的子集在随后的循环中不得为网络的任何IP地址分配节点所使用。换言之,在每个循环(例如,循环C)中,每个IP地址节点选择用于向订户分配全球IP地址的子集,并且,在随后的循环(循环C+1)中,所述选择的子集不得为任何IP地址分配节点所选择(避免了上文所阐释的地址冲突问题)。在下一个循环(循环C+2)中,所述不可选(弃用)的子集可再次被任何IP地址分配节点选择用于分配全球IP地址(在循环C+1中选择的子集不可选),以此类推。从另一角度看,可以说每个IP地址分配节点在每个循环中均具有活动子集和不可被任何IP地址分配节点使用的弃用子集(弃用子集为上一个循环的活动子集)。
[0073]这可通过选择适当的算法(或适当的种子)进行,以便选择子集。例如,所述算法可在时间周期中仅将一半子集定义为可选择的,并在随后的时间周期中将另一半子集定义为可选择的。换言之,在时间周期中,算法将从整个子集组的仅一半中选择子集,而在随后的时间周期中,算法从整个子集组的另一半中选择子集。
[0074]在示例中,假设时间周期为一天以及IP地址分配节点34今天已经选择了子集113。明天,算法向所述节点34分配的子集87,而子集113则被弃用(即,不可被任何其它节点使用或选择)。在随后的一天,子集113可再次被任何节点选择,而子集87现在将被弃用。定义这些“防护池”的另一种方式是通过在每个子集中区分两个部分(通常,每个部分均有一半的全球IP地址)来进行。在各个循环中,这两个部分中的一个部分为弃用部分(不用于向订户分配全球IP地址),而另一部分为活动部分(用于向订户分配全球IP地址)。在随后的循环(其中,所述子集可由其它IP地址分配节点选择)中,弃用部分变为活动部分,而之前的活动部分变为弃用部分。利用该方法,可保证当子集从一个IP地址转为另一 IP地址时,无地址冲突产生。
[0075]当然,这些“防护池”的例子会使在每个循环中一半的全球IP地址不被使用。
[0076]在IPv6中,这种寻址“浪费”不算损失或缺陷,因为寻址空间几乎是无限的。在IPv4中,该寻址“浪费”并不严重,因为IP利用CG-NAT往往由128个订户共享,因此,寻址空间增加了 128。因此,在这两种网络中,即使在使用超过需要的双重寻址的最坏情况下,假若实现新的收益流而不需要任何成本,这仍是值得的。
[0077]如之前所阐释的,在IPv6网络中,每个BRAS将从待由每个BRAS使用的全球IPv6地址的所述子集向其订户分配全球IP地址。所述的向订户的公共IP地址分配应尽可能地动态和稀疏,以使追踪订户更加复杂。在使用CG-NAT节点的IPv4网络中,每个CG-NAT节点将从待由每个CG-NAT节点使用的全球IPv4地址的所述子集向其订户分配全球IP地址。实际上,如之前所阐释的,CG-NAT节点将向订户建立的各个TCP/UDP会话分配全球IP地址和端口。即使通过提出的实施例,订户IP地理定位会更加困难,但所述的向订户会话分配公共IP地址和端口仍应尽可能地动态和稀疏(例如,伪随机)以使追踪订户更加复杂。在优选实施例中,可采用如阿尔卡特专利“用于在IP通信网络中提高安全性的方法和装置” ("METHOD AND DEVICE FOR IMPROVING SECURITY IN IP COMMUNICAT1NS NETWORKS")中由Roberto Sarsa所公开的伪随机全球IP_端口分配来获得最大隐私/扩散。
[0078]在部署所提出的实施例中公开的机制之后,第三方进行IP地理定位不再可能(在无服务提供商参与的情况下),因此,像Google或Facebook这样的OTT参与者将不能插入附加值广告,而像CDN这样的将不能选择最佳位置传递其需要支付更多带宽费用的服务。服务提供商可根据订购协议向对该附加值感兴趣的那些OTT提供IP到地理定位的映射,或者推动他们自身的广告经纪、云、⑶N和OpenAPI解决方案。
[0079]总而言之,由本实施例所提出的改进通过对每个IP地址分配节点(BRAS或CG-NAT)不进行全球IP地址的子集的固定分配,相反,进行动态(例如,伪随机)的全球IP地址分配,使该分配每特定时间周期地发生变化,从而使任何第三方几乎无法定位到用户,来故意增加隐私并使第三方的地理定位无效。提出的机制不需额外的计算量,并且在不需要加大网络投资的情况下增强了订户的隐私和保护。IP地理定位仍可能,但其需要服务提供商的参与(带有针对服务供应商的相应收益)。因为已经表明,待发送至路由实体的路由消息的数量未明显增加。
[0080]本领域的技术人员可轻易意识到各种上述方法的步骤可由编程计算机实施。在本文中,某些实施例旨在涵盖程序存储装置,例如数字数据存储介质,该数字数据存储介质是机器或计算机可读的,并且对指令的机器可执行或计算机可执行的程序进行编码,其中,所述指令实施所述上述方法的某些或所有步骤。该程序存储装置可为,例如,数字存储器、磁盘和磁带等磁存储介质、硬盘或光学可读数字数据存储介质。实施例还旨在涵盖被编程以执行上述方法的所述步骤的计算机。
[0081]上述说明和附图仅仅说明了本发明的原理。因此,应了解,尽管在本文中未明确描述或示出,但本领域的技术人员能设计出各种体现本发明的原理的配置,而且这些配置包括在本发明的范围内。此外,本文所引用的所有示例的主要仅出于教学目的,以帮助读者理解本发明的原理和
【发明者】用以促进本技术而贡献的概念,应理解为不限于这些具体引用的示例和条件。此外,在本文中对本发明的原理、方面和实施例的所有陈述及其具体示例旨在囊括其等效物。
[0082]图中所示的各种元件的功能(包括标记为“处理器”的任何功能块)都可通过使用专用硬件以及能与适当软件结合来执行软件的硬件实现。当由处理器实现时,这些功能可由单个专用处理器、单个共享处理器或多个独立处理器实现,这些独立处理器中的一些可以被共享。此外,明确使用术语“处理器”或“控制器”不应被理解为专指能够执行软件的硬件,而且可以隐含地包括但不限于:数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。其它的硬件,常规的和/或定制的,也可包括在内。同样,图中所示的任何开关仅仅是概念性的。它们的功能可通过程序逻辑的运行、通过专用逻辑、通过程序控制和专用逻辑的相互作用、或者甚至手动实施,结合上下文会更好地理解由实施者选择的特定技术。
[0083]本领域的技术人员应了解,本文中的任何框图均表示体现了本发明原理的说明性电路系统的概念图。同样,要了解,任何流程表、流程图、状态转换图、伪代码等均表示可在计算机可读介质中有实质性表示的以及因此由计算机或处理器(无论这类计算机或处理器与否明确示出)执行的各种程序。
【权利要求】
1.一种用于改善服务提供商IP网络的订户隐私的方法,其中所述服务提供商具有供其订户使用的全世界唯一的全球IP地址集合,所述全世界唯一的全球IP地址集合分为K个预先定义的全球IP地址子集,K为设计参数,并且其中所述服务供应商所服务的区域分为不同的区,所述服务提供商具有用于每个区的网络节点,所述网络节点称为IP地址分配节点,所述IP地址分配节点向位于所述区中的订户分配唯一的全球IP地址,所述方法包括以下步骤: a)每特定时间周期地,每个IP地址分配节点采用特定算法从所述服务提供商的K个预先定义的子集中选择要使用的全球IP地址的子集,所述算法具有至少一个参数,所述参数的值确定算法的结果,所述至少一个参数的值由每个IP地址分配节点每所述时间周期地计算得出, 其中,所述算法为伪随机算法,并且,所述至少一个参数为所述伪随机算法的种子, 其中,对于所述子集的选择,所有IP地址分配节点均使用相同的算法,但所述至少一个参数的值不同,并且其中所述选择满足以下条件:IP地址分配节点所选择的子集每所述特定时间周期地发生变化,并且不同IP地址分配节点所选择的子集不重叠,即,在不同IP地址分配节点所选择的子集之间无共同的全球IP地址; b)每个IP地址分配节点从上一步骤中所选择的全球IP地址的子集中向位于其相应区内的订户分配全球IP地址。
2.如前述权利要求中任一项所述的方法,其中,每个IP地址分配节点均具有与其余IP地址分配节点的标识不同的唯一标识ID,其中,每个IP地址分配节点根据所述唯一 ID和自特定的定义时间起点之后经过的时间周期的数量来计算所述至少一个参数的值。
3.如前述权利要求中任一项所述的方法,其中,所述全球IP地址为全球IPv6地址,并且所述IP分配节点为宽带远程接入服务器。
4.如权利要求1-2所述的方法,其中,所述全球IP地址为全球IPv4,并且所述IP分配节点为运营商级网络地址转换节点。
5.如前述权利要求中任一项所述的方法,其中,在特定时间周期期间,采用特定算法选择需要使用的全球IP地址的子集的步骤a)包括: -每时间周期地,每个IP地址分配器根据所述IP地址分配器的唯一标识和自特定的定义时间起点之后经过的时间周期的数量来计算所述至少一个参数的值; -每时间周期地,每个IP地址分配器利用计算得出的所述至少一个参数采用所述特定算法,以从预定义子集的组中得出要使用的子集的编号作为结果。
6.如权利要求5所述的方法,其中,在特定时间周期中由所述服务提供商网络的IP地址分配节点选择的所述子集在随后的时间周期内不可被所述服务提供商网络的任何其它IP地址分配节点选择,因此,相同的子集不可能在两个连续的时间周期内被选择。
7.如前述权利要求中任一项所述的方法,其中,所述子集由连续全球IP地址的单池形成,或由连续全球IP地址的多个非连续池形成。
8.—种在服务提供商网络中用于改善服务提供商IP网络的订户隐私的网络节点,其中所述服务提供商具有供其订户使用的全世界唯一的全球IP地址的集合,所述全世界唯一的全球IP地址的集合分为K个预先定义的全球IP地址的子集,K为设计参数,并且其中所述服务供应商所服务的区域分为不同的区,并且其中所述网络节点称为IP地址分配节点并关联于这些区中的一个区,所述IP地址分配节点向位于所述区中的订户分配唯一的全球IP地址,其中所述网络节点包括: -用于每特定时间周期地,采用算法从所述服务提供商的K个预先定义的子集中选择要使用的全球IP地址的子集的装置,所述算法具有至少一个参数,所述参数的值确定算法的结果, 其中,所述算法为伪随机算法,并且,所述至少一个参数为所述伪随机算法的种子, 其中,对于所述子集的选择,所述服务提供商网络的所有IP地址分配节点均使用相同的算法,但所述至少一个参数的值不同,并且其中,所述算法满足以下条件:IP地址分配节点所选择的子集每所述特定时间周期地发生变化,并且不同IP地址分配节点所选择的子集不重叠,即,在不同IP地址分配节点所选择的子集之间无共同的全球IP地址; -用于通过每个IP地址分配节点每所述时间周期地计算所述至少一个参数的值的装置; -用于从之前选择的全球IP地址的子集中向位于其相应区内的订户分配全球IP地址的装置。
9.如权利要求8所述的网络节点,其中,所述全球IP地址为全球IPv6地址,并且所述网络节点为宽带远程接入服务器。
10.如权利要求8所述的网络节点,其中所述全球IP地址为全球IPv4地址,并且所述IP分配节点为运营商级网络地址转换节点。
11.如权利要求8-10所述的网络节点,其中,所述网络节点具有与其余IP地址分配节点的标识不同的唯一标识ID,其中,所述网络节点每时间周期地根据所述唯一 ID和自特定的定义时间起点之后经过的时间周期的数量来计算所述至少一个参数的值。
12.—种计算机程序产品,其包括:当所述程序在计算机上运行时,用于进行如权利要求1-7任一项所述的方法的计算机可进行指令。
13.一种数字数据存储介质,其为指令的机器可执行程序编码,以进行如权利要求1-7任一项所述的方法。
【文档编号】H04L29/12GK104185978SQ201380012454
【公开日】2014年12月3日 申请日期:2013年2月13日 优先权日:2012年3月5日
【发明者】R·萨尔萨萨尔萨 申请人:阿尔卡特朗讯公司