1 引言
核電安全關系到國計民生。作為電網(wǎng)重要的起源點,其特殊性而往往面臨更為復雜嚴峻的網(wǎng)絡安全威脅。核電企業(yè)為了擺脫傳統(tǒng)IP網(wǎng)絡體系安全性能差,可管控能力弱的缺點,開始在其企業(yè)內(nèi)部網(wǎng)絡嘗試獨立于IP的新型網(wǎng)絡體系。命名數(shù)據(jù)網(wǎng)絡(NDN)就是其中之一。NDN是一種以信息為中心的網(wǎng)絡模式,它采用如圖1所示的沙漏模型,將網(wǎng)絡的“細腰”從源主機和目標主機之間的通信轉變?yōu)槊麛?shù)據(jù)的傳播[1]。在NDN中,內(nèi)容的檢索和分發(fā)是基于語義上有意義的內(nèi)容名稱,而不是基于由IP地址標識的特定目的地。NDN提倡將內(nèi)容緩存在其固有的普遍存在的中間節(jié)點的內(nèi)容存儲器(CS)中,以減少內(nèi)容或許時間,促進內(nèi)容傳播[2]。

圖1 NDN網(wǎng)絡沙漏模型
在NDN中提供了一種內(nèi)生的安全機制,并在內(nèi)容生產(chǎn)時對數(shù)據(jù)進行簽名。然而,簽名驗證將消耗大量的計算資源,而且網(wǎng)內(nèi)緩存的普遍存在使得實現(xiàn)安全保護具有極大的挑戰(zhàn)性。由于內(nèi)容生產(chǎn)者不能預知潛在的請求者,因此在沒有接收者的請求的情況下,他們不能提前加密數(shù)據(jù)。另一方面,內(nèi)容生產(chǎn)者一旦發(fā)布了數(shù)據(jù),就將失去了對數(shù)據(jù)的控制,這是因為數(shù)據(jù)已經(jīng)被緩存在接近原始興趣請求節(jié)點的節(jié)點中。第三,以純文本形式傳輸?shù)膬?nèi)容名稱通常泄漏敏感信息,因為它們通常在語義上有意義[3]。如果惡意路由器攔截到內(nèi)容請求的興趣包,或者獲取關于所請求內(nèi)容的足夠輔助信息,則攻擊者可以沿著精確反向路徑發(fā)送損壞的或者偽造的數(shù)據(jù)包響應,并刪除掛起興趣表(PIT)中的有效條目[4]。
此外,攻擊者可以利用依賴路由器緩存的定時攻擊來窺探附近的消費者最近是否請求了某些內(nèi)容。此外,探測攻擊可以用于發(fā)現(xiàn)某個內(nèi)容最近是否已經(jīng)由內(nèi)容生產(chǎn)者分發(fā)。更為復雜的是,攻擊可能會與用戶串通,這會帶來嚴重的隱私和安全風險,并引起越來越多的關注。最后,NDN內(nèi)置的安全方案將為簽名驗證、密鑰檢索和潛在的證書鏈遍歷帶來額外的開銷[5]。
為了應對上述挑戰(zhàn),我們依據(jù)核電廠網(wǎng)絡系統(tǒng)分為生產(chǎn)控制大區(qū)和管理信息大區(qū)兩大工作區(qū)的特點,提出了一種應用于核電安全的NDN的混合加密安全保護方案HyEncNDN,以確保最終用戶能夠從合法的內(nèi)容提供者處獲取數(shù)據(jù)。HyEncNDN中包含一個控制器,負責邊緣路由器的身份驗證以及加密密鑰的分發(fā)和管理。我們使用AES[6]對稱加密密鑰對內(nèi)容名和數(shù)據(jù)進行加密,該密鑰受RSA[7]非對稱加密算法保護。HyEncNDN只允許邊緣路由器驗證來自真實提供者的內(nèi)容,從而避免了最終用戶和攻擊者的協(xié)作?;旌霞用懿呗钥梢詼p少單獨利用RSA加密的時間開銷和計算資源消耗,從而獲得更好的性能。同時,無需修改NDN的網(wǎng)絡轉發(fā)守護進程(NFD),這使得我們的方案易于實現(xiàn)。實驗結果表明,HyEncNDN可以達到安全保護的目的。
2 背景知識和相關介紹
2.1 命名數(shù)據(jù)網(wǎng)絡
為了擺脫傳統(tǒng)IP網(wǎng)絡的資源枯竭、業(yè)務適應能力差等種種束縛,核電企業(yè)在其未來網(wǎng)絡架構中做了種種嘗試,而命名數(shù)據(jù)網(wǎng)絡因其以內(nèi)容為中心的網(wǎng)絡方式而備受關注。NDN將信息與位置分離,從傳統(tǒng)的以發(fā)送者為驅(qū)動的面向主機的點對點對話方式,轉變?yōu)橐越邮照邽轵?qū)動的面向內(nèi)容的分布式數(shù)據(jù)生產(chǎn)、傳播、檢索和消費,并促進無處不在的網(wǎng)絡互連。NDN是一種發(fā)布/訂閱模式。NDN中的通信由接收端驅(qū)動,即內(nèi)容使用者從內(nèi)容生產(chǎn)者那里拉取數(shù)據(jù)。通過其固有的網(wǎng)內(nèi)緩存、多路徑轉發(fā)和多播傳輸?shù)奶匦?,NDN實現(xiàn)了基于名稱的傳輸模型,為高效的內(nèi)容分發(fā)提供了一個富有成效的平臺。
從圖1可以看到,NDN自身集成了內(nèi)置的安全機制。在NDN網(wǎng)絡架構中,安全層和策略層被細腰隔開。安全層采用密碼學算法,而安全策略(如加密、簽名、認證)則由策略層的安全原語組成。內(nèi)容生產(chǎn)者在內(nèi)容產(chǎn)生后立即對其進行簽名,數(shù)據(jù)消費者對其進行驗證和解密,從而消除了對網(wǎng)絡底層或中間層的安全依賴。所有內(nèi)容一旦生成,都是不可變的,獨立于數(shù)據(jù)容器、中間通信通道、網(wǎng)絡中間件或間歇性連接。簽名數(shù)據(jù)在數(shù)據(jù)生成時綁定了在語義上有意義的名稱和內(nèi)容。內(nèi)容更改時,名稱及其簽名也應更改。
然而,NDN中默認的隨處緩存放置策略(LCE)可能會導致潛在的安全泄露威脅的出現(xiàn)。
2.2 相關工作
安全保護是NDN研究社區(qū)和實際應用中相對突出的問題[8]。在NDN中,內(nèi)容按照名稱請求,并可能被緩存在中間路由器上;惡意實體不應通過內(nèi)容名稱訪問安全敏感信息。
正如Tourani等在文獻[9]所調(diào)查的,研究領域已經(jīng)提出了許多解決這個問題的方案。最近,F(xiàn)otiou等提出了一種基于ICN的安全內(nèi)容共享系統(tǒng)[10],該系統(tǒng)利用基于身份代理進行內(nèi)容的重新加密。在文獻[11]中引入了一種基于網(wǎng)絡編碼的方案,該方案采用隨機轉發(fā)來挖掘多路徑路由的潛力,提高匿名性分集。然而,對單個網(wǎng)絡編碼鏈路的熵攻擊或拜占庭攻擊會破壞中間節(jié)點的重新編碼,并迅速污染整個網(wǎng)絡。文獻[3]中進行了NDN的系統(tǒng)安全分析,從而凸顯了正在出現(xiàn)的安全威脅。Chaabane等在該文中指出,加密可能是解決內(nèi)容安全的潛在有效方法。Ion等通過更具表現(xiàn)力的策略啟用細粒度訪問控制,并使用對稱密鑰將基于屬性的加密(ABE)引入ICN中以實現(xiàn)內(nèi)容安全[12]。Xue等將組簽名和哈希鏈結合起來[13],以保護內(nèi)容和促進網(wǎng)絡使用的記賬能力。但是,如何對內(nèi)容名稱進行加密還沒有解決,其加密密鑰管理也比較復雜。加密數(shù)據(jù)庫中的安全泄漏在文獻[14]中有論述,內(nèi)容的傳輸需要同時考慮名稱和數(shù)據(jù)加密;此外,對于一個經(jīng)證明有效的密鑰管理策略來說,也是必不可少的[15]。Yang等使用與內(nèi)容本身相關聯(lián)的加密密鑰對內(nèi)容進行加密[16]。PrivICN給出,它依賴于代理加密方案,通過保護內(nèi)容名稱和內(nèi)容數(shù)據(jù)的機密性來增強ICN中的安全[17]。
有些研究在NDN中引入?yún)^(qū)塊鏈以提供安全保護。為了滿足NDN的安全需求,文獻[18]提出了一種分布式的區(qū)塊鏈方法。文獻[19]設計了一種基于匹配的訪問控制模型,實現(xiàn)了內(nèi)容的分層訪問。Guo等[20]在NDN通過興趣廣播中應用區(qū)塊鏈,以訂閱推送方式支持區(qū)塊鏈交易的實時廣播。Li等提供了一個基于區(qū)塊鏈的數(shù)據(jù)生命周期保護框架(BDLP),它利用事務和智能合約在NDN中提供一個可信和中立的環(huán)境。在BDLP中,除了區(qū)塊鏈節(jié)點的功能外,還設計了一種特定類型的節(jié)點,在文中被稱為數(shù)據(jù)壩的區(qū)塊鏈節(jié)點,用于本地控制注冊和限制數(shù)據(jù)流[21]。BlockAuth[22]使用區(qū)塊鏈技術以分布式方式對移動生產(chǎn)商進行身份驗證,并強制它們負責對授權節(jié)點的路由更新和名稱前綴的刪除。然而,這些方案都是應用在物聯(lián)網(wǎng)(IoT)場景,缺乏普遍性。另一方面,區(qū)塊鏈中一致性算法的生成速度成為數(shù)據(jù)檢索的瓶頸。
為了克服這些挑戰(zhàn)和限制,我們提出了一種新的混合加密安全保護方案HyEncNDN,以提供有效的安全保護。如圖2所示,HyEncNDN利用控制平面和數(shù)據(jù)平面分離的思想,其安全層監(jiān)視到應用層以生成加密密鑰,策略層監(jiān)視到控制平面,而NDN網(wǎng)絡映射到數(shù)據(jù)平面。

圖2 HyEncNDN混合加密架構
3 HyEncNDN的設計要點
在核電企業(yè)中,其內(nèi)部網(wǎng)絡一般劃分為生產(chǎn)控制大區(qū)和管理信息大區(qū)兩部分(如圖3所示)??刂茀^(qū)直接對核電企業(yè)網(wǎng)絡系統(tǒng)進行實時管控,是安全防護的核心和重點,又分為安全Ⅰ區(qū)和安全Ⅱ區(qū);同時管理信息大區(qū)負責其他有關核電企業(yè)管理業(yè)務系統(tǒng)的集合。HyEncNDN利用這一特點,完成其網(wǎng)絡的內(nèi)部實現(xiàn)。HyEncNDN的網(wǎng)絡參與者包括控制器、內(nèi)容提供者、邊緣路由器、啟用緩存的路由器和最終用戶。整個HyEncNDN系統(tǒng)架構由有向無環(huán)圖表示。
3.1 數(shù)據(jù)平面和控制平面的分離

圖3 核電企業(yè)網(wǎng)絡簡圖

圖4 混合加密分發(fā)和數(shù)據(jù)請求流程
邊緣路由器直接連接到最終用戶,并且不進行內(nèi)容的緩存。在注冊到控制器后,每個合法的邊緣路由器都將在數(shù)據(jù)庫中有一個條目,并被分配一個唯一的序列號和一個在生產(chǎn)時不能被篡改或復制的憑據(jù)許可證。合法的內(nèi)容提供者也將進行類似的注冊過程。
在邊緣路由器完成注冊的情況下,它們在連接到網(wǎng)絡時,首先由控制器驗證。之后,他們將從獲取密文C(Kaes,Kpub,)和AES密鑰Kaes。另一方面,內(nèi)容提供程序在標識后從獲取RSA私鑰Kpri。啟用高速緩存的路由器只需將其工作重點放在高速緩存加密內(nèi)容和興趣包和數(shù)據(jù)包的轉發(fā)上。
3.2 Interest 興趣包的處理
興趣包的處理流程如圖5所示。為了使數(shù)據(jù)泄漏具有可跟蹤性,我們將邊緣路由器的序列號封裝為興趣包的一部分。經(jīng)過加密的內(nèi)容名稱不會影響興趣包和數(shù)據(jù)包傳輸過程。為了不改變NDN興趣包轉發(fā)的流程,不透明內(nèi)容名稱的可變內(nèi)容、層次前綴部分,經(jīng)過加密后,將不會保存為純文本。例如,在遵循NDN命名約定的內(nèi)容名稱www.pku.edu.cnece2019