一、前言
資訊中心網路(ICN)為未來的物聯網(IoT)網路體系結構設計提供了新的思路,已經出現了許多基於 ICN 的物聯網解決方案,這些方案進一步驗證了 ICN 對 IoT 的適用性。儘管有很多相關 ICN 架構的研究,但目前的評估和驗證方法仍然停留在對 ICN 本身的模擬和理論探討層面,如快取最佳化等。Lee H 等 [1] 提出了 ICN-OMF 框架用於可擴充套件內容中心網路(CCN)測試平臺的控制和管理,包括對分散在不同地理位置的多個 CCN 節點的控制和管理。除此之外,ICN 節點的監測與管理研究較少,大多數關聯研究專注於實現單個 IoT 應用領域。本文側重於構建用於控制和監視資訊中心物聯網(IC-IoT)系統各裝置節點的完整框架。
二、相關背景技術
(一)資訊中心網路
INC 以“資訊”作為網路核心而不是 IP 協議棧結構,將“資訊”作為唯一標識。當用戶請求某一資訊時,請求的物件是該資訊本身,而“資訊”就是請求過程中的憑據,相當於 IP 網路中的 IP 地址,資訊提供端按照資訊名字查詢相應資料並返回給請求使用者端。ICN 被視為是一種革命性的體系結構,透過直接命名資料使資料佔據網路中的首要地位,既不是一種 IP 模式,也不是覆蓋 IP 的模式,而是未來全新的網路模式 [2]。國內外的 ICN 研究已有較多成果,且由於在設計上缺乏共識,到目前為止提出了相當多種類的 ICN 結構,使用最多且被認可的主要有 DONA、PSIRP、NetInf、CCN 等數種典型的 ICN。
命名資料是 ICN 的基本思想,但不是完整的架構設計。此外,ICN 架構還透過網內快取機制來實現高效的資料分發,使得資料不僅只存在生產者中,還可能被快取在其他網路路由器中,以便再次出現對該資料的請求時消費者能夠從更方便的位置獲取到該資料。這種從“基於位置”轉變為“基於內容”的網路提高了內容傳播效率,帶來了可擴充套件性、安全性、移動性、多接入點等特性 [3]。
與 ICN 類似,在 IoT 中消費者感興趣的是資料內容而不是他們的位置,也就是說 IoT 實際上是以內容為中心的。因此 ICN 的設計理念也適用於 IoT,不再需要維持點到點的通訊。已有研究提出了 IC-IoT 概念,近年來出現了許多基於 ICN 的 IoT 機制研究,未來 IoT 也將朝著資訊中心的方向發展 [4,5]。
(二)物聯網節點監測
隨著網際網路的不斷擴充套件,適當的網際網路管理(包括網路分析和診斷)的重要性也日益增加,應進行監測和控制,管理各種網路裝置,實現狀態資訊的集中管理。IoT 有許多應用領域,如智慧家居和城市、交通系統、工業控制系統、醫療保健監測系統等。許多研究採用無線感測器網路(WSN)將與物理域關聯的資訊、IoT 驅動的計算系統相互關聯,可以無處不在地訪問位置、環境中不同實體的狀態,進行資料採集,以進行長期的 IoT 監視。同樣為使網路有效執行,IoT 也需要監測、控制、記錄網路效能和裝置資源的使用情況,而裝置的管理者負責收集網路裝置資訊,包括裝置特性、資料吞吐量、通訊超載和錯誤等。未來 IoT 架構將朝著以內容為中心的方向發展,運用 IoT 技術的網路節點監測系統也將隨之改變,在 IC-IoT 的應用場景下,網路節點監測具有較大的研究空間。
三、資訊中心物聯網節點狀態監測架構
(一)基於命名的資訊管理庫整體架構
在 ICN 原理的啟發下,本文基於簡單網路管理協議基礎,為 IC-IoT 節點監測與管理設計了一個以內容為中心的管理資訊庫結構。以“統一維護所有網路節點裝置”為基本思想,遵循 ICN“以內容為中心”的原則,儲存所有正在執行的裝置的相關資訊,響應管理工作站的查詢請求。相應的總體結構如圖 1 所示。
圖 1 內容中心命名的管理資訊庫架構
注:SNMP 為簡單網路管理協議;CS 為內容儲存;PIT 為未決興趣表;FIB 為轉發資訊庫。
與傳統的簡單網路管理協議中管理資訊庫的樹狀結構不同,資料物件經過命名後按型別劃分為一系列資料塊。一個企業或組織可以定義為資料塊,一個協議甚至功能模組也可以定義為資料塊,將這些資料塊的名稱內容放在一起,形成一箇中心資料塊。在每個資料塊中,資料物件按內容名稱儲存,為了體現被管理網路節點的資訊,內容名稱主要考慮網路節點的狀態,還可包括其訪問許可權、狀態、預設值、歷史訪問次數和其他屬性。當代理需要一個數據物件時,首先在中心資料塊中搜索資料所在的子塊,然後在該子塊中獲取所需的資料。透過這個方法簡要介紹了目標資料的快速定位原理,從而更好支援資料更新,如塊動態載入和解除安裝等。監測網路節點的狀態需要考慮節點的工作狀態和接入狀態,傳統網路系統的節點接入狀態分為節點身份、節點接入位置:前者指該裝置的型別,體現了該節點在網路中心作用以及在網路拓撲中的位置;後者可以是由子網劃分決定的邏輯位置,也可以是由節點埠之間的物理連線所決定的真實物理位置。由於 ICN 並不關心節點位置,因此與命名相關的網路節點狀態只需描述節點工作狀態(如系統資訊、介面資訊、執行引數等)和節點身份。
(二)基於名稱的節點狀態資料獲取
ICN 中的每個路由器都有 3 個功能模組用於路由和轉發內容:內容儲存(CS)、未決興趣表(PIT)、轉發資訊庫(FIB)。基於這種轉發策略,在 ICN 中資訊的分配更加高效、準確。這與 IC-IoT 的有效管理機制設計目標一致。同樣定義 3 個表:資料塊重要性表、資料塊結構表、資料跟蹤表。資料塊重要性表記錄每個資料塊的重要性,資料塊結構表記錄資料塊間的拓撲資訊,它們都儲存在中心資料塊中;資料跟蹤表儲存在各子資料塊中,包含了內容名稱和下一個存有該內容的資料塊名稱。
如圖 2 所示,當代理接收到來自管理站的資料請求時,首先檢查請求名稱中是否包含資料物件所在的資料塊名稱。如果存在,直接從中心資料塊獲取資料並返回管理站;否則從中心資料塊開始,在第一優先順序的所有子資料塊中搜索資料;如果發現某一子資料塊的資料跟蹤表中存在的內容名稱與所需的資料內容名稱相匹配,則根據資料跟蹤表中的資訊將請求轉發到下一個子資料塊;如此隨優先順序遞減,直到找到所需資料存在的資料塊為止。
圖 2 基於名稱的節點狀態資料獲取過程
注:BIT 為資料塊重要度表;BST 為資料塊結構表;DTT 為資料跟蹤表。
對於資料塊的放置,本文采用基於優先順序的邊緣放置策略。首先將資料塊重要性定義為一個引數,與僅考慮流行度的傳統替換策略不同,本文根據資料塊重要性來實時更改資料塊的放置,即資料塊越重要,其優先順序越高。將優先順序高的資料塊放在靠近中心資料塊的位置,使得相較於傳統的管理資訊庫(MIB)結構,代理能更快檢索到所需資料,進而提高網路節點監測的實時性。
四、資訊中心物聯網節點狀態監測安全防護
(一)節點狀態監測中的安全問題
與 IP 網路技術相比,ICN 憑藉網內快取、支援移動性等特性更適合 IoT 應用,但也帶來了一些安全性挑戰。首先,因為內容佔據著網路核心位置,易遭受興趣泛洪攻擊和內容中毒攻擊;其次,ICN 中存在最重要的安全問題,即內容和快取隱私 [6]。從網路監測與管理的角度來看,ICN 存在訪問控制、身份驗證、資料安全、隱私性等諸多安全挑戰。本文著力解決 IC-IoT 節點狀態監測過程中的兩個安全問題:內容隱私保護、管理站訪問控制。
(二)基於命名的信任機制
在不考慮內容本身的情況下,消費者與生產者之間的信任是從雙方事先約定好的憑據中獲得的;遵循的原則是直接從公開的身份或內容名稱中獲得信任。如果選擇信任身份,那麼也就對與該身份關聯的內容具有某種程度的信任,這種關聯應該是易於驗證的。
當名稱中包含有關該實體真實身份的有效資訊時,可確保該實體身份,但需要一種機制來驗證資訊的有效性。同樣,公共金鑰應與其所有者的真實世界身份繫結在一起,因為此金鑰將用於生產者身份驗證。為了提供資料機密性,必須採用基於加密的模型來命名,授權實體必須知道解密金鑰。為了驗證生產者的身份並保證資料的有效性,所有內容均需要採用初始內容提供者的私鑰進行數字簽名。如果內容名稱沒有包含有關生產者身份的足夠有效資訊,則按以下方式發起攻擊:透過監聽興趣包,攻擊者會構建虛假內容並將之與合法內容名稱繫結在一起;向請求者傳送一個數據包,包含相同的名稱、錯誤的內容、有關他自己的金鑰資訊(在已簽名的資訊欄位中)、關聯的數字簽名;接收此內容後,請求者根據公用金鑰和攻擊者的證書來認為該資料是正常資料,由於資料包看起來合法並且帶有合法簽名,請求者將無法感知受到攻擊。
(三)面向節點監測的訪問控制
訪問控制是 ICN 中保障安全的重要手段。如果未應用訪問控制,則合法使用者和惡意使用者之間將沒有區別,代理在任何名稱空間下都將釋出資料,並且請求者可以訪問任何內容。這種安全方面的重要性要求採用訪問控制模型,本文建議在代理處理金鑰管理和資料內容釋出的同時,還應為管理使用者設定最大訪問時間 [7],根據附加在管理站傳送的興趣包上的使用者簽名,執行身份驗證和審查。一旦合法使用者試圖超過其有限的訪問時間,代理就會感知這種欺騙性的行為。
本文設計方案中,內容提供者(即代理站)根據配置的安全策略將其儲存內容劃分為具有唯一群體身份(GID)的不同組,並將 GID 新增到內容名稱中。此外,利用特權掩碼錶示使用者的特權,一個使用者可以訪問多個組的內容;特權掩碼是位對映,每個位表示使用者是否可用於相應組中的內容。例如,如果使用者許可權掩碼的第二位是“1”,則表示使用者有權訪問 GID 為 2 的組中內容。
管理使用者首先向代理註冊,當被限制訪問時間的管理使用者註冊到代理中時,代理生成管理使用者的特權掩碼,根據使用者身份設定其最大訪問時間。然後,使用者傳送附加簽名的興趣包來獲取所需資料,代理根據獲得的使用者資訊對請求進行身份驗證,成功認證之後興趣包被允許進入並返回對應的內容資料包。為了保證資料的機密性,代理在返回資料包給管理站之前對內容進行加密。具體訪問控制模型如圖 3 所示,利用雜湊鏈提高認證過程的效率,以降低代理站的負擔。一般來說,使用者會持續不斷地請求一系列資料,代理可以利用雜湊鏈的單向屬性,透過對檔案的第一請求籤名來對使用者進行認證,並利用雜湊鏈來認證後續請求的與雜湊鏈相同的檔案。
圖 3 面向節點監測的訪問控制模型
五、實驗測試與評估
本文使用 ns-3 和 ndnSIM2.5 對 IC-IoT 節點狀態監測架構進行建模模擬並分析結果。整個模擬分為兩部分:一是對跟蹤路由資料獲取機制和基於重要度的資料放置策略的評估;二是對訪問控制模型的評估,獲得引數對監測資料獲取的時延影響。首先建立一個簡單的資料塊拓撲結構,假設每個資料塊中的資料量是相同的,隨後為各個資料塊設定不同的重要級別。
(一)資料放置策略評估
模擬過程中採用一個具有 37 個可用資料塊的拓撲結構,除中央資料塊外,其餘資料塊的優先順序在 1~6 之間變化。期望結果是:在這種資訊管理庫結構中獲取資料所需的時間與塊的重要性成反比,如果請求中沒有資料塊名或沒有跟蹤路由策略,則獲取資料的時間延遲將有顯著差異。
由圖 4 可以直觀地看到,與僅基於請求數量或內容流行度的替換策略相比,採用基於資料塊重要度的替換策略後,請求訪問所需資料的平均跳數在一段時間內顯著減少。這是因為在基於資料塊重要度的資料放置策略中,頻繁請求的資料將被放置在一個更高優先順序的資料塊中,因此資料塊自適應替換策略是有必要的。
圖 4 不同資料替換策略的結果比較
(二)資料獲取模型評估
根據定義的 ICN 資料物件命名規則,應用於 IC-IoT 節點狀態監測場景,在基於內容命名的新型管理資訊庫結構中所定義的內容名稱,包含其所在的資料塊的名稱(即資源主體名稱);管理使用者有時並不知道他所請求內容的具體完整名稱,因此在這些請求中有時將不包含資料塊名稱。為此考慮 3 種情況。場景 1 :請求興趣包中含有資料塊名稱;場景 2 :請求中不含資料塊名稱,並且在資料採集過程中沒有跟蹤路由策略;場景 3 :請求中不含資料塊名稱,但在資料採集過程中有跟蹤路由策略。本文對這 3 個場景下獲取裝置狀態資訊資料的延遲時間進行了測試,當優先順序羅高時,跟蹤路由策略所產生的時延減少效應更為明顯(見圖 5)。
圖 5 資料獲取模型的評估結果
(三)訪問控制機制評估
在 ndnSIM 2.5 中訪問控制模型進行了模擬,並與基本內容中心網路(NDN)的效能進行了比較。此時管理資訊庫中資料塊大小不同,模擬設定了 5 種類型節點:10 MB,100 MB,300 MB, 700 MB、1 GB,由每個拓撲節點來代表各個資料塊,管理節點每次請求的資料包大小設為 1 MB,請求時間間隔設為 2 s。每個管理站節點的請求到達資料提供節點時,都要對該請求進行身份驗證,在此過程中,透過分析網路獲取資料包的時延來進行評估訪問控制模型帶來的時間開銷。在管理站路由器請求帶有正確字首的內容,且始終連續請求同一資料塊中的資料的情況下,圖 6 顯示了不同資料塊大小的資料檢索延遲,基本 NDN 帶來了較低的延遲。當網路中加入訪問控制機制後,如果資料塊的大小不太大,它的效能依然很好。隨著資料塊大小的增加,帶有訪問控制機制的網路與基本 NDN 之間的區別變得很明顯,因為更多的資料塊意味著身份驗證和解密需要進行更多次。整體來看,基本 NDN 與引入訪問控制機制的網路在資料獲取時延之間的差距是可以接受的。
圖 6 訪問控制機制對資料獲取時延的影響
六、結語
本文重點研究面向 IC-IoT 的節點狀態監測架構及其安全防護技術設計。從監測架構方面來說,僅提出了與傳統網路管理協議不同的新型管理資訊庫結構,以適應未來 ICN 的發展,但監測過程僅在本地管理站中進行。後續研究可以將智慧管理延申到網路邊緣,採用分層架構執行本地管理決策,以擴大網路覆蓋率並對網路節點實施更加精準的監測;也可進一步增強架構安全防護機制,從訪問控制和簡單資料加密拓展到更高階的、獨立於服務的安全機制;還可以考慮在安全防護中加入去中心化的區塊鏈技術,使資料交換過程中的資料機密性與完整性得到更多保護,且不損害未來移動裝置和支援第五代行動通訊的網際網路所必需的功能。