郭 江 王 淼 許志偉 張瀚文 張玉軍
(*中國科學院計算技術研究所 北京 100190)
(**中國科學院大學 北京 100049)
為了確保用戶接收完整、真實的內容,命名數(shù)據(jù)網(wǎng)絡(named data networking,NDN)[1,2]規(guī)定內容發(fā)布者對每個數(shù)據(jù)包進行簽名,用戶對收到的數(shù)據(jù)包進行驗證簽名??紤]到計算開銷巨大等因素,NDN沒有要求沿途路由器對數(shù)據(jù)包進行驗證簽名(網(wǎng)內簽名驗證)。攻擊者通過劫持路由器,向其緩存注冊毒化內容。對于到來的請求興趣包,惡意路由器返回對應名字的毒化內容數(shù)據(jù)包,導致反向路徑的路由器轉發(fā)并緩存毒化內容數(shù)據(jù)包,最終使得用戶接收到毒化內容數(shù)據(jù)包,這種攻擊稱為內容毒化攻擊(content poisoning attack,CPA)[3]。文獻[4,5]指出,根據(jù)內容被篡改信息的不同,毒化內容攻擊可以分為無效簽名和冒名簽名。無效簽名是指數(shù)據(jù)包的內容被毒化(破壞或者篡改),而冒名簽名是指數(shù)據(jù)包的簽名被毒化,即簽名密鑰是他人冒名的。
現(xiàn)有解決CPA的方案根據(jù)驗證實體的不同大致可以歸結為2類:基于用戶反饋的機制和基于網(wǎng)內驗證的機制?;谟脩舴答伒臋C制提出讓用戶對數(shù)據(jù)包進行簽名驗證,利用用戶反饋使路由器在不執(zhí)行復雜簽名驗證的情況下識別被污染的數(shù)據(jù)包,減少內容污染攻擊的影響。Gasti等人[3]提出利用興趣包中的EXCLUDE域,排除再次接收相同無效的內容包。Ghali等人[6]提出一種統(tǒng)計內容排名算法,路由器根據(jù)用戶反饋對其緩存副本進行排除次數(shù)統(tǒng)計排序,從而區(qū)分有效和污染的內容。文獻[7]提出2種回避解決方法:即時故障轉移法和探針優(yōu)先法。在第1種方法中,簡單地把返回污染數(shù)據(jù)的路由器作為后續(xù)請求包傳輸時優(yōu)先級最低的下一跳節(jié)點;在第2種方法中,路由器需要驗證用戶的反饋,并把污染數(shù)據(jù)包對應的請求包作為探針來檢測惡意攻擊者。上述機制都需要修改用戶端,使其主動發(fā)送反饋信息,導致通信開銷大。
基于網(wǎng)內驗證的機制提出讓沿途路由器對數(shù)據(jù)包進行簽名驗證,一旦發(fā)現(xiàn)污染數(shù)據(jù)就將其剔除,這樣整個網(wǎng)絡都不會緩存被污染的內容。然而考慮到網(wǎng)絡內驗證帶來的負荷,很多優(yōu)化的簽名驗證方法被提出[3,8-11]。其中,Gasti等人[3]提出選擇性驗證機制,即路由器隨機選擇一部分經(jīng)過它的數(shù)據(jù)包進行驗證,但這種機制無法保證未經(jīng)驗證的數(shù)據(jù)包的正確性,無法確定到底能夠獲得多大的安全保證。Bianchi等人[8]提出通過降低緩存來減少內容驗證的計算量,即在路由器設置校驗緩沖區(qū),當數(shù)據(jù)包到達路由器時,若緩沖區(qū)存在剩余空間,路由器將按某固定概率實施存入校驗;若緩沖區(qū)已滿,直接將數(shù)據(jù)交付到下游路由器。Kim等人[9]提出只驗證流行的內容,避免不必要驗證。上述機制雖然能夠在一定程度上緩解無效簽名內容毒化攻擊,但都無法抵御冒名簽名的內容毒化攻擊。Ghali等人[10]提出興趣包公鑰綁定機制(interest key binding,IKB),通過綁定內容名字和內容發(fā)布者的公鑰摘要,確保路由器轉發(fā)的數(shù)據(jù)包來源于真實的發(fā)布者。該機制能夠抵御冒名簽名的內容毒化攻擊,但依賴一個類似PKI的集中式數(shù)據(jù)庫系統(tǒng),容易導致公鑰集中獲取擁塞問題,甚至導致單點故障問題,而且用戶需要從遠端訪問集中式的數(shù)據(jù)庫獲取相關信息,延時較大。
為了克服IKB機制集中獲取公鑰導致服務器擁塞問題,提升正確內容獲取效率,本文提出了一種基于區(qū)塊鏈的命名數(shù)據(jù)網(wǎng)絡內容毒化攻擊抵御機制(blockchain-based content poisoning attacks defense mechanism in NDN,BlockIKB)。區(qū)塊鏈[12,13]作為一種去中心化、不可篡改、可追溯、多方共同維護的分布式多副本數(shù)據(jù)庫,可在互不了解的多方之間建立可靠的信任,在沒有第三方中介機構的協(xié)調下,實現(xiàn)可信的數(shù)據(jù)共享。鑒于區(qū)塊鏈的上述特性,本文基于區(qū)塊鏈建立一個分布式的數(shù)據(jù)庫,存儲發(fā)布者內容名字和公鑰摘要綁定信息,使得用戶就近訪問對應內容名字的公鑰摘要,路由器根據(jù)公鑰摘要對到來的內容進行Hash驗證,以抵御內容毒化攻擊。
NDN網(wǎng)絡包括用戶(Consumer)、發(fā)布者(Publisher or Producer)和路由器(Router)3類實體,其數(shù)據(jù)傳輸主要包括2種類型:興趣包(Interest)和數(shù)據(jù)包(Data)。興趣包是由用戶發(fā)送的數(shù)據(jù)請求包,其中包括請求的內容名稱(Name)、發(fā)布者公鑰摘要(publisher public key digest,PPKD)等;數(shù)據(jù)包是由發(fā)布者或路由器根據(jù)用戶的請求返回的內容,其中包括內容名稱(Name)、內容本身(Content)、發(fā)布者的簽名(Signature)、發(fā)布者簽名公鑰定位器(Key Locator)等。NDN網(wǎng)絡中單個節(jié)點通信流程如圖1所示。每個實體包含3種數(shù)據(jù)結構,分別是內容緩存(content store,CS)、待定興趣表(pending interest table,PIT)和轉發(fā)信息表(forwarding information base,F(xiàn)IB)。CS用于存儲接收到的數(shù)據(jù)包,對于后續(xù)相同的內容請求從本地響應數(shù)據(jù)包,有利于減少對于發(fā)布者的訪問次數(shù),提升內容分發(fā)的傳輸效率;PIT記錄待轉發(fā)興趣包的內容名稱以及接入接口,并且匯聚相同的興趣包在一個表項中;FIB依靠路由協(xié)議生成,記錄興趣包轉發(fā)下一跳接口。
圖1 命名數(shù)據(jù)網(wǎng)絡單個節(jié)點通信流程
NDN網(wǎng)絡用戶獲取內容的過程分以下3個步驟:(1)當需要內容時,用戶發(fā)送一個興趣包。路由器收到興趣包后,首先查找CS是否有請求的數(shù)據(jù),如果有,則從興趣包接入接口返回數(shù)據(jù)包并丟棄興趣包;否則,繼續(xù)查找PIT,查找之前是否轉發(fā)來自其他節(jié)點的、并且與該條目的請求內容相同的興趣包。如果找到,則將本次興趣包的接入接口添加到對應的PIT信息條目中;否則,在PIT中創(chuàng)建興趣包接入接口的信息條目,繼續(xù)查找FIB,進行路由尋址。(2)興趣包到達發(fā)布者并找到內容對象時,興趣包被丟棄,響應的信息以數(shù)據(jù)包的形式原路返回。當數(shù)據(jù)包到達路由器時,首先查找CS,如果有相同的緩存數(shù)據(jù),則丟棄數(shù)據(jù)包;若沒有,則與PIT中條目匹配。如果PIT中有匹配條目,則向相應的接口轉發(fā)數(shù)據(jù)包,緩存數(shù)據(jù)包在CS中,并刪除PIT中的匹配條目;否則丟棄數(shù)據(jù)包。(3)用戶在接收到數(shù)據(jù)包后進行簽名驗證,確保內容完整性和真實性。
本文實現(xiàn)了一種新的抵御內容毒化攻擊方法,解決用戶集中獲取公鑰導致服務器擁塞問題以及正確內容獲取效率低問題。BlockIKB機制整體協(xié)議框架如圖2所示,其設計思想是網(wǎng)絡邊緣各自治域中邊界路由器共同維護分布式數(shù)據(jù)庫,存儲發(fā)布者注冊綁定信息,即內容名字和發(fā)布者公鑰摘要;內容獲取過程,用戶先就近訪問邊緣路由器,獲取內容名字對應的發(fā)布者公鑰摘要,并構造請求包攜帶源公鑰摘要;途徑的路由器提取請求包中源公鑰摘要并存儲,依據(jù)此憑證,對到來的數(shù)據(jù)包進行Hash驗證,若驗證成功,則對數(shù)據(jù)包進行轉發(fā)并存儲;否則,剔除該數(shù)據(jù)包。下面,首先介紹BlockIKB相關存儲結構,然后具體說明發(fā)布者注冊公鑰摘要過程和用戶獲取內容過程。
圖2 整體協(xié)議框架
BlockIKB定義了如圖3所示的數(shù)據(jù)結構存儲內容名字和發(fā)布者公鑰摘要。注冊信息存儲結構是由多個數(shù)據(jù)塊組成的鏈式結構,每個數(shù)據(jù)塊分為塊頭部(Header)和塊體(Body)兩部分。塊頭部包括前置數(shù)據(jù)塊散列值(Pre Hash)、時間戳(Timestamp)、隨機數(shù)(Nonce)、難度值(Difficulty)、本數(shù)據(jù)塊散列值(Local Hash)。前置數(shù)據(jù)塊散列值是本塊前置數(shù)據(jù)塊的散列值,指向上個數(shù)據(jù)塊,正是這種逐級包含形成鏈式結構[14];時間戳表示數(shù)據(jù)塊生成時間;隨機數(shù)是工作量證明(proof of work,PoW)[15]的解,采用工作量證明機制提高數(shù)據(jù)塊產(chǎn)生的代價,防止分布式系統(tǒng)惡意節(jié)點隨意生成數(shù)據(jù)塊;難度值表示目標散列值前導零的位數(shù);本數(shù)據(jù)塊散列值表示當前塊數(shù)據(jù)的目標散列值。塊體包括內容名稱(Name)、內容發(fā)布者公鑰摘要(PPKD)。
圖3 BlockIKB數(shù)據(jù)結構
發(fā)布者注冊公鑰摘要是指發(fā)布者將待發(fā)布內容的名字和其公鑰摘要綁定信息注冊到邊緣分布式數(shù)據(jù)庫。設計的基本思路為發(fā)布者將
圖4 發(fā)布者注冊信息獲取
圖5 同步交互
緣路由器獲取發(fā)布者公鑰摘要子過程,如圖4所示,具體過程如下。
步驟1邊緣路由器周期性向發(fā)布者發(fā)送REGISTER消息興趣包。
步驟2發(fā)布者收到REGISTER消息,如果有注冊需求,則將
步驟3邊緣路由器收到對應數(shù)據(jù)包,提取信息
步驟4為了防止路由器隨意產(chǎn)生數(shù)據(jù)塊,采用PoW算法(見表1)。具體地,邊緣路由器利用SHA256散列函數(shù),通過改變Nonce值,重復計算數(shù)據(jù)塊散列值,SHA256(Pre Hash, Timestamp, Nonce, Difficulty, Content name, PPKD),直到滿足難度值;然后,將其封裝成數(shù)據(jù)塊鏈接到本地數(shù)據(jù)庫。
表1 BlockIKB的基本算法
邊緣路由器同步過程是考慮到每個發(fā)布者向其所在自治域的邊緣路由器進行注冊,所以各邊緣路由器維護的數(shù)據(jù)庫可能不一致,為了維護這些路由器的分布式數(shù)據(jù)庫的一致性而設計,如圖5所示,具體過程如下:
步驟1邊緣路由器周期性給鄰居路由器發(fā)送SYN消息興趣包。
步驟2鄰居路由器收到SYN消息,將本地鏈數(shù)據(jù)封裝成數(shù)據(jù)包并發(fā)送。
步驟3邊緣路由器收到對應數(shù)據(jù)包,提取鏈將其存儲為synbc,并與本地數(shù)據(jù)庫鏈localbc比較長度以解決同步?jīng)_突。由于數(shù)據(jù)庫鏈是單鏈結構,隨著新的數(shù)據(jù)塊的產(chǎn)生,數(shù)據(jù)庫鏈不斷更新延長。因此鏈上的數(shù)據(jù)塊數(shù)量越多,說明數(shù)據(jù)庫鏈累計的難度越大,故按照數(shù)據(jù)庫鏈最長原則處理沖突,即當數(shù)據(jù)塊鏈不一致時,選擇鏈長較大的鏈作為主鏈。具體地分2種情況處理:(1)若本地數(shù)據(jù)庫長度大于接收數(shù)據(jù)庫長度,即length(localbc)>length(synbc),則不操作。例如圖6(a)中,路由器R2請求鄰居路由器R3同步,R3返回鏈為bcchainR3={…,Sn,c},路由器R2本地鏈為bcchainR2={…,Sn,a,b},更新之后的鏈為bcchainR2′={…,Sn,a,b}。(2)若本地鏈長度小于等于接收鏈長度,即length(localbc)<=length(synbc),則截取2個鏈不同的部分,將localbc截取的部分,以synbc最后一個數(shù)據(jù)塊為基準,依次重新封裝數(shù)據(jù)塊,鏈接到synbc最后,并以該synbc為本地鏈。例如圖6(b)中,路由器R2請求鄰居路由器R3同步,R3返回鏈bcchainR3={…,Sn,a,b},路由器R2本地鏈為bcchainR2={…,Sn,c},更新之后的鏈為bcchainR2′={…,Sn,a,b,c}。
(a) 沖突處理情形1
用戶獲取內容過程是用戶先就近從臨近節(jié)點獲取對應內容名字的PPKD,再請求指定
圖7 內容獲取過程
步驟1用戶向其邊緣路由器發(fā)送QUERY消息興趣包。
步驟2邊緣路由器收到QUERY消息,根據(jù)內容名字,在本地數(shù)據(jù)庫查詢對應的PPKD值,若查找成功,返回攜帶PPKD值數(shù)據(jù)包;否則返回查詢失敗數(shù)據(jù)包。
步驟3用戶獲得查詢PPKD值,構造并發(fā)送興趣包請求獲取內容。
步驟4途徑路由器收到興趣包,先查詢CS,若緩存命中,則返回數(shù)據(jù)包;否則查詢PIT表,若有相同項,追加接口項;否則添加新表項,記錄內容名、PPKD值、傳入的接口,并根據(jù)FIB表轉發(fā)。
步驟5發(fā)布者收到興趣包,構造內容,并將自身的公鑰PK存儲在數(shù)據(jù)包Key Locator字段,最后返回數(shù)據(jù)包。
步驟6途徑路由器收到數(shù)據(jù)包,提取Key Locator字段中的發(fā)布者公鑰PK,計算PK的散列值PKD,即PKD=Hash(PK),并根據(jù)Name和PKD查找PIT表,檢查是否與相應PIT條目中的PPKD值匹配。如果匹配,則緩存該數(shù)據(jù)包并轉發(fā)到對應接口;否則,丟棄該數(shù)據(jù)包。
本節(jié)分析BlockIKB機制的安全性。首先給出關于散列函數(shù)和簽名策略的2個定義。
定義1抗第二原像性。散列函數(shù)H具有抗第二原像性。對于任意給定數(shù)值x,不存在概率多項式時間內,找到一個值x0(x0≠x),使得H(x0)=H(x),散列碰撞發(fā)生。即Pr[H(x0)=H(x)]≤θ(n),其中θ(n)可忽略不計[16]。
定義2不可篡改性。簽名策略具有不可篡改性。對于任意給定消息m,不存在概率多項式時間內,惡意節(jié)點A獲知公鑰卻不知私鑰的情況下,篡改簽名并使簽名有效。令A對m篡改簽名并使簽名有效的事件,Aforge(m) =1。Pr[Aforge(m) = 1]≤θ(n),其中θ(n)可忽略不計。
下面對BlockIKB機制進行形式化描述,并給出定理及證明過程。
給定PPKD字段值為H(PK)的興趣包Int,作為惡意節(jié)點A的輸入,它輸出一個數(shù)據(jù)包C0,其中包含Key Locator字段中的公鑰PK0,PPKD字段公鑰摘要H(PK0),Signature字段的簽名信息σ0。如果輸出是以下情況之一,那么A成功注入毒化內容到網(wǎng)絡,記為Apois(Int)=1:
(1)PK≠PK0且H(PK)=H(PK0)。A違反H抗第二原像性,即發(fā)生散列碰撞,其散列碰撞成功的概率由碰撞概率Prcollision與Pr[H(PK)=H(PK0)]決定;
(2)PK=PK0和σ0簽名有效。A違反簽名策略的不可篡改性,其發(fā)生篡改簽名成功的概率由篡改簽名發(fā)生的概率Prforge與Pr[Aforge(m)=1]決定。
定理如果散列函數(shù)H具有抗第二原像性,簽名策略具有不可篡改性,那么惡意節(jié)點A以可忽略的概率成功注入毒化內容C0到網(wǎng)絡,即Pr[Apois(Int)=1]≤θ(n),θ(n)可忽略不計。
證明(反證法) 假設A以一定的概率成功注入毒化內容C0,即Pr[Apois(Int)=1]>θ(n)。
構造另外一個惡意節(jié)點A′,利用A破壞H抗第二原像性或者簽名策略的不可篡改性。即滿足給定x,創(chuàng)建興趣包Int,設置H(x)作為PPKD字段值,運行A(Int)以獲取C0。從C0中可以得到結果,使得x≠PK0,H(x)=H(PK0);或者使得x=PK0,σ0是C0篡改簽名且有效??梢源_定A′成功注入毒化內容概率,即散列碰撞或者篡改簽名事件發(fā)生的概率:
Pr[A′成功注入]
=Pr[散列碰撞∪篡改簽名]
=Prcollision×Pr[H(x)
=H(PK0)]+Prforge×Pr[A′forge(C0)=1]
>θ(n)
上式成立是因為A′與A有相同概率成功注入毒化內容,A以一定的概率成功注入,所以A′同樣以一定的概率成功注入。如果2個函數(shù)的概率之和是不可忽略的,那么它們中至少一個是不可忽略的。
由于Prcollision和Prforge不是指數(shù)增長的函數(shù),可以得出:
Pr[H(x)=H(PK0)]>θ(n)或Pr[A′forge(C0)=1]>θ(n),這與定義1和定義2產(chǎn)生矛盾。
故Pr[Apois(Int)=1]≤θ(n)。
證畢。
以上定理說明BlockIKB機制是安全的,能夠抵御內容毒化攻擊。
本文在NDNSim[17]網(wǎng)絡仿真平臺上,實現(xiàn)了基于邊緣分布式數(shù)據(jù)庫的內容毒化攻擊抵御機制。仿真平臺在本地計算機上部署,其配置如下:CPU Intel Core i7 3.4 GHz,內存16 GB,硬盤1 TB,操作系統(tǒng)內核Ubuntu 14.04,NDNSim版本1.0。模擬參數(shù)配置如表2所示。
表2 模擬參數(shù)及其取值
仿真實驗采用的網(wǎng)狀拓撲包括50個路由器、1個IKB機制服務器、3個用戶和2個內容發(fā)布者。設置內容發(fā)布者為A和B,分別以組件名“/google.com”和“/youtube.com”為前綴,后綴為隨機數(shù)。內容發(fā)布者以3.6 packet/min進行注冊,用戶以50 pakcet/s獲取前面的組件名內容。設置PIT大小為15 000,緩存大小1 000,采用RSA算法對內容進行簽名,使用SHA1散列算法計算內容發(fā)布者的公鑰摘要。
為了評估BlockIKB機制的安全性、服務器負載、內容獲取效率和通信開銷,使用了4項指標:檢出率、服務器負載、延遲和通信開銷。檢出率是網(wǎng)內路由器能夠檢測出的毒化內容比例,即檢測出的毒化內容數(shù)據(jù)包數(shù)量與毒化內容數(shù)據(jù)包總數(shù)的比值。服務器負載是指服務器節(jié)點單位時間處理查詢興趣包的數(shù)量。延遲是指內容獲取過程中,從用戶發(fā)送興趣包到接收到響應內容的時間,單位為ms。通信開銷主要集中在注冊過程的開銷,故本文以發(fā)布者注冊信息過程的通信開銷為主,即發(fā)布者注冊信息時平均轉發(fā)興趣包和數(shù)據(jù)包的數(shù)量。
通過毒化內容的檢出率來評估BlockIKB抵御毒化內容的安全性。每個用戶以50 packet/s發(fā)送合法內容請求,請求興趣包的名字由名字前綴和隨機數(shù)組成,這里使用5項名字前綴:“/sina.com”,“/readfar.com”,“/cs-bu.edu”,“/google.com”,“/youtube.com”。1個內容生產(chǎn)者提供毒化內容到網(wǎng)絡。圖8顯示了BlockIKB和IKB機制毒化內容檢出率,可以觀察到它們都能檢測出所有的毒化內容,檢出率為100%。這是因為路由器在轉發(fā)和緩存數(shù)據(jù)包之前,先對到來的數(shù)據(jù)包,根據(jù)從興趣包提取的內容發(fā)布者公鑰摘要記錄驗證數(shù)據(jù)包所攜帶的公鑰,從而可以識別出毒化內容包。
圖8 毒化內容檢出率
為了評估BlockIKB提供的分布式數(shù)據(jù)庫均攤用戶請求的流量,統(tǒng)計服務器負載。3個用戶以50 packet/s發(fā)送公鑰或者公鑰摘要請求,分別統(tǒng)計BlockIKB機制3個邊緣路由器平均處理請求的負載情況以及IKB機制服務器處理請求的負載情況,單位時間s。圖9顯示了BlockIKB和IKB機制的服務器負載累積分布函數(shù)。如圖所示,BlockIKB在多處情況下負載低于50,而IKB機制幾乎所有情況均大于60。而且BlockIKB邊緣路由器85%的概率單位時間處理請求46 packet,而IKB機制服務器85%的概率單位時間處理請求63 packet。此數(shù)據(jù)表明針對相同速率的請求,BlockIKB的負載情況要減輕37%。究其原因在于分布式服務器均攤了用戶請求流量,避免單個服務器負載過大。
圖9 服務器負載累積分布函數(shù)
通過用戶內容獲取的延遲來分析BlockIKB機制的傳輸效率。圖10顯示了BlockIKB和IKB機制的內容獲取延遲,從圖中可以看出,IKB用戶獲取內容延時約22 ms,而BlockIKB延時約11 ms。實驗表明BlockIKB機制比IKB機制延時節(jié)省了50%。這是因為BlockIKB就近獲取公鑰摘要數(shù)據(jù),從而縮短了獲取內容的時間,大幅提升了獲取內容的效率。
圖10 內容獲取延遲
BlockIKB機制引入的通信開銷主要存在于發(fā)布者注冊公鑰摘要過程,而對比方案IKB機制引入的通信開銷主要存在于注冊公鑰過程。通過比較上述2個過程所需轉發(fā)的同步興趣包和數(shù)據(jù)包數(shù)量,對2種機制的通信開銷進行分析。設置難度值為5,使得邊緣節(jié)點平均大約每50 s生成1個數(shù)據(jù)塊,以每25 s進行發(fā)送同步興趣包。圖11顯示了以每注冊5條信息為單位進行統(tǒng)計的BlockIKB和IKB的通信開銷。從圖中可以看出,BlockIKB注冊信息所需開銷至少為120 packet,而IKB機制所需開銷大約維持在穩(wěn)定水平40 packet。結果表明BlockIKB比IKB維護注冊信息開銷平均約高3倍,主要原因是BlockIKB要通過周期性發(fā)送同步興趣包維護分布式數(shù)據(jù)庫。
圖11 通信開銷
針對內容污染攻擊,提出了一種基于區(qū)塊鏈內容毒化攻擊抵御機制——BlockIKB機制。構建了區(qū)塊鏈數(shù)據(jù)庫來存儲內容名字和發(fā)布者公鑰摘要的綁定信息;改進了內容獲取過程,使得用戶就近獲取發(fā)布者的公鑰摘要;路由器根據(jù)公鑰摘要驗證內容,實現(xiàn)了污染內容抵御功能。安全分析證明了BlockIKB機制能夠抵御內容毒害攻擊;評估結果表明,與已有機制相比,BlockIKB機制減輕了服務器負載,提升了內容獲取效率。
本文在部署區(qū)塊鏈節(jié)點時,采用的是靜態(tài)添加方式,主要考慮在NDN網(wǎng)絡架構中小范圍內使用區(qū)塊鏈,今后在大范圍內擴展,需要考慮動態(tài)接入。另外,在維護區(qū)塊鏈時采用PoW機制,今后嘗試其他高效的共識機制。下一步將從以上2方面進行改進,為NDN網(wǎng)絡架構的應用提供更好的服務。