(1.揚州大學廣陵學院,江蘇 揚州 225000;2.江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212013)
命名數據網絡[1-2](named data networking,NDN)是下一代互聯網體系架構的典型代表,通過分布式緩存與命名路由機制,NDN實現了網絡內容的快速分發。但緩存機制在改善網絡性能的同時,也帶來了新的網絡問題。由于NDN路由器無法驗證請求者的身份,任意用戶都可以請求緩存內容,導致內容隱私存在潛在的泄露風險,而如何實施內容訪問控制,保證內容提供者發布的內容僅對授權用戶有效,成為當前NDN領域一類重要的研究問題。
針對內容訪問控制[3],主流解決方案是對內容進行端到端加密,實現內容的隱私保護[4-5]。如果為每個用戶以其特有的公鑰進行加密,將導致同一內容出現多個不同的內容副本,嚴重破壞了緩存利用率。為了充分利用網內緩存,并讓內容提供者直接控制內容的訪問權限,廣播加密[6-7]成為NDN訪問控制中一種較優的可選方案。在廣播加密訪問控制中,內容提供者針對目標用戶群加密內容,群組內的用戶可以共享加密內容,只需使用接收到的啟用塊(enable block)與自己的私鑰就可以解密內容。在文獻[8]中,作者提出了一種基于(n,t)—Shamir秘密共享算法所設計的廣播加密訪問控制方案。該方案中,內容提供者使用對稱密鑰加密內容,為了實現訪問控制,內容提供者將內容密鑰分割成(n+t)份,并將其中的n份分發給n個授權用戶作為用戶端的解密憑證,其余t份內容密鑰置入內容提供者生成的啟用塊中。進而,內容提供者通過廣播方式發布加密內容與啟用塊。授權用戶使用包含在啟用塊中的密鑰信息和自己持有的解密憑證,利用多項式插值計算的方法提取內容密鑰,完成內容解密。非授權用戶由于沒有解密憑證,因此即使收到了加密內容和啟用塊,也無法從中提取內容密鑰,也就無法解密內容。該方案中用戶訪問權限由內容提供者授權,不需要第三方干預,但隨著廣播組內用戶規模增大,包含密鑰信息的啟用塊的大小相應增大,用戶從啟用塊中提取密鑰的時間開銷呈線性增長,網絡傳輸與存儲的開銷也相應增大。因此,單純通過廣播加密進行內容的訪問控制雖然可靠性較高,但犧牲了網絡的有效性。
對廣播群體進行用戶分組,是有效減少啟用塊開銷,改善網絡性能的好方法,但如果采用基于隨機分組的廣播加密訪問控制方案radom group broadcast encryption-access control(RGBE-AC),容易造成NDN中出現嚴重的內容副本冗余,極大降低了NDN網絡中緩存利用率。針對上述問題,本文提出了一種基于用戶位置分組的廣播加密訪問控制方案user location based broadcast encryption-access control(ULBBE-AC),該方案通過在NDN興趣包中引入TraceRouteTag標簽,讓內容提供者能夠直接確定用戶在網絡中的相對位置,進而建立用戶位置樹對用戶進行位置分組,通過用戶分組有效控制了啟用塊的計算和傳輸開銷。ndnSIM仿真結果表明:相比于RGBE-AC,ULBBE-AC降低了網內緩存中針對不同分組加密內容副本的冗余,提升了緩存利用率。
NDN的運行架構與IP網絡完全不同,命名路由與網內緩存機制是NDN的核心特征。NDN中有兩類包,一種稱為興趣包,一種稱為數據包,NDN用戶通過發送興趣包、獲取數據包,完成通信過程。由于興趣包尋址僅僅依賴其中包含的內容名稱,不采用IP尋址方式,因而構成了與現有IP架構完全不同的通信模式。典型的NDN路由器包含一個大容量緩存(content store,CS)、一個待定請求判決表(pending interest table,PIT)以及一個前向轉發表(forwarding information base,FIB)。這里,CS用于存儲經過該路由器的內容文件,PIT用于記錄該路由器轉發出去的興趣包名稱及到達接口(防止相同名稱請求多次重發并為接收數據包提供回傳路徑信息),FIB是一個路由表,為接收興趣包提供轉發路徑信息。
當NDN路由器收到用戶發送的興趣包請求后,首先按照名稱的最大前綴匹配原則在路由器的CS中查找該內容,如果匹配成功,路由器或內容提供者將會為用戶返回攜帶所請求內容的數據包;如果路由器在自身的CS匹配不成功,會進一步在PIT表中查詢該內容名,如果在PIT中可以找到,說明之前路由器已經轉發了相同的內容請求,為了避免重復流量流入網絡,路由器就不再轉發該興趣包,僅僅在PIT中記錄該興趣包的到達接口,用于接收到數據后正確回傳;如果在PIT中未匹配到相同條目,說明之前沒有相同的內容請求被轉發出去,進一步根據興趣包攜帶的內容名在FIB表中查找路由信息(名稱對應的轉發接口),然后根據FIB指示信息將興趣包轉發出去。
轉發出去的興趣包在網內路由器處逐一查找,如果未命中將被轉發至內容提供者處。最終獲取到的數據包將按照興趣包被轉發的反向路徑返回,并在返回過程中被路徑上的路由器進行緩存,這一緩存操作可以方便其他用戶就近獲取該內容,有效減小了其他用戶的請求時延。而且,當同一區域內的用戶都請求某些熱點內容時,這種網絡優勢更加明顯。
但是緩存機制在改善網絡性能的同時,也對如何有效利用緩存提出了嚴格要求。就基于廣播加密的訪問控制而言,傳統廣播加密訪問控制傾向于關注用戶密鑰的獲取、廣播頭(啟用塊)和加密內容的分發、以及用戶如何解密內容,但在NDN網絡中使用廣播加密,用戶分組問題不容忽視。不難發現,即使用戶為同一廣播組成員,且鄰近路由器處存在加密的內容(針對其他廣播組加密),但是由于在網絡拓撲中所處位置的差異,用戶也只能到靠近內容提供者的路由器處或提供者處獲取加密內容及啟用塊,這種由于廣播用戶分組的不合理導致NDN緩存帶來的優勢被嚴重破壞。而本文針對這一問題,通過修改興趣包結構,讓其攜帶能確定用戶網絡位置的標識TraceRoutetag,便于內容提供者根據該標識對用戶進行基于網絡位置的廣播組劃分,使得同一廣播組內的用戶盡可能處于同一個區域內,從而達到提高網內副本利用率的目的。下面將對本文方案的實現過程進行詳細闡述:
1.2.1 修改興趣包獲取用戶拓撲位置
傳統廣播加密采用隨機分組策略,如圖1所示,來自不同廣播分組的用戶請求相同興趣,導致邊緣路由器的緩存內存有不同廣播分組的加密內容,加密內容只有各自廣播組內用戶才可解密獲取,這極大的降低了廣播加密內容的利用率。若根據用戶拓撲位置,將屬于臨近地理區域的用戶分為一組,如圖2所示,則路由器緩存內只包含該區域內廣播組用戶請求內容,這極大的降低了副本的冗余,有效提高了廣播加密內容的利用率,改善了NDN的緩存效率。

圖1 隨機分組模型
圖2基于用戶位置的分組模型設每個路由器的接口編號都從1開始,用戶發出的興趣包的TraceRouteTag隨著轉發的變化如圖4所示。初始興趣包中TraceRoutetag的值為空,每經過一個路由器,便在興趣包的TraceRoutetag條目中存入該路由器的編號和接口編號。經過路由器的轉發到達內容提供者時,TraceRoutetag的內容為{Router1,face2;Router2,face1;…;Router5,face1}。內容提供者根據收到興趣包的TraceRouteTag數據進行逆序,得到一條從內容提供者到用戶的傳輸路徑,從而定位用戶拓撲位置,并將臨近拓撲位置的用戶分到同一廣播分組內,在組內實施廣播加密。

圖2 基于用戶位置的分組模型
1.2.2 廣播加密分發文件
基于修改興趣包實現用戶拓撲位置發現功能,內容提供者可以將臨近位置的用戶分到同一廣播分組內,并在組內實施廣播加密,達成接入控制效果。ULBBE-AC中,具體廣播加密過程如下:
假設G和G1是兩個階為素數p的乘法循環群,g為G的生成元;α∈Zp;e:G×G→G1為一個雙線性映射。內容提供者為其下所有廣播組接受者i=1,2,…,n,n+2,…,2n計算gi=g(αi)∈G,并隨機選擇γ∈Zp,計算ν=gγ∈G,獲得廣播加密系統公鑰為PK=(g,g1,…,gn,gn+2,…,g2n,v)∈G2n+1。

圖3 修改后興趣包

圖4 TracerRouteTag
內容提供者非對稱加密的公鑰私鑰對為(PC,PrC),用戶的非對稱加密的公鑰私鑰對為(Pi,Pri),身份信息為idi。




圖5 用戶注冊




圖6 數據請求(Alice)

圖7 數據請求(Bob)

本節通過搭建ns-3仿真環境,利用ndnSIM V2.3仿真工具,對基于位置分組和隨機分組兩種策略從緩存利用率角度進行性能仿真,并從分類命中率和內容訪問時延的兩個方面對方案進行對比分析。其中ndnSIM V2.3 所運行的高性能計算平臺具有10核CPU,其型號為Intel(R)Xeon(R) E7-4830,CPU單核的主頻是2.20 GHz,計算平臺內存為256 GB,采用CentOS 6.5操作系統。
參考文獻[10-11]的分析條件設置,設內容提供者可提供的內容文件包括50類(分類規則根據內容請求的熱度,即流行度),且設定內容請求的熱度從第1類到第50類依次降低,每一類內容包含1 000個大小為50 MB的內容文件,每個內容在網內傳輸與存儲時被分割成大小為1 M的內容塊。路由器節點的CS大小設為200 GB,使用最近最少緩存置換策略,各路由器之間使用帶寬為100 Mbps的鏈路連接,并設鏈路傳輸時延為10 ms。進而,設用戶發出興趣包所請求的內容類別服從參數αN=1.2的Zipf分布,邊緣路由器每個接口接收到興趣的到達概率服從參數為10內容塊/秒的泊松分布。仿真所用拓撲如圖8所示,16個用戶被平均分為4個組,圖8(A)為隨機分組(RGBE-AC)場景,此時每個邊緣路由器下有四個處于不同分組的用戶;圖8(B)為基于拓撲位置分組(ULBBE-AC)場景,現將處于同一路由器下的四個用戶分入相同組。
用戶請求內容時,按照“/{prefix}/group{x}/{content_class}/{content name}”的原則構造興趣包名稱。其中,興趣包名稱中的/group{x}/組件直接體現出用戶所在的廣播加密分組信息。

圖8 兩種分組方案
網內命中率是用來評估用戶的請求在網內的命中情況(如果內容從內容提供者處獲取,則為網內非命中情況),它可以直接反映出網內緩存副本的利用率,顯然,網內命中率越高則說明網內緩存的利用率越高,網內副本的冗余度越低。從圖9所示的命中率仿真結果中可以看出:RGBE-AC場景下的網內命中率為18.15%,ULBBE-AC場景下的網內命中率為37.69%。相比于RGBE-AC,ULBBE-AC有更高的網內命中率,這一提升充分說明ULBBE-AC的分組方式更適合NDN網絡,能更好地利用NDN的網內緩存,降低網內加密內容副本的冗余量,改善網絡性能。

圖9 ULBBE-AC和RGBE-AC命中率對比
內容請求時延同樣是反映NDN網絡性能的重要指標,該指標定義為網內每一跳獲取時延的數學期望值。圖10給出了RGBE-AC與ULBBE-AC分組場景下的分類請求時延,如圖所示,隨著類別編號的增加,兩個場景下的內容請求時延均增大,這一現象實質上是佐證了低流行度內容由于請求過少,導致網內緩存不足,必須大概率去內容提供者處去獲取。而進一步對比RGBE-AC和ULBBE-AC,可以看到,針對流行度較高的內容,ULBBE-AC中的內容請求時延比RGBE-AC要低,這是由于ULBBE-AC方案下,同一位置組中的用戶屬于同一個廣播組,經過廣播加密的內容在該組內合法用戶共享,因此網絡中內容的副本冗余量小、緩存利用率高,用戶的請求易于在緩存中直接命中所請求的內容,從而獲得較低的請求時延。而對于低流行度內容,由于用戶對其較低的請求概率,導致網絡中存在的內容副本較少,兩種方案下,用戶都需要到內容提供者處請求內容,因此,隨著內容流行度的降低,兩種策略下內容的請求時延趨于一致。

圖10 ULBBE-AC和RGBE-AC命中率對比
本文提出了一種基于用戶位置分組的廣播加密訪問控制方案,解決了基于廣播加密的訪問控制方案中用戶分組問題,通過修改興趣包結構提取傳輸路徑設備信息,內容提供者將臨近區域用戶分入相同組內,實現分組優化。ndnSIM仿真結果顯示,相比較隨機位置分組,ULBBE-AC可以實現較高的緩存利用率,降低了用戶請求內容的時延。
未來,將圍繞廣播加密的動態密鑰生成與分發開展研究,設計更為靈活的NDN廣播加密接入控制機制。