用于改善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·薩爾薩薩爾薩 申請人:阿爾卡特朗訊公司