摘要:軟件定義物聯網通過應用軟件定義網絡技術,實現了網絡平面與控制平面的有效分離,從而顯著提升了物聯網服務的靈活性與可管理性,然而其開放性也帶來了更多的安全挑戰。因此,提出將區塊鏈技術集成到軟件定義物聯網架構中,利用區塊鏈的去中心化和不可篡改的核心特性來加強網絡控制與數據訪問的安全性。另外,還通過智能合約來自動執行安全策略,采用基于密文策略的屬性加密方案保證數據在傳輸和存儲過程中的安全。
關鍵詞:軟件定義物聯網區塊鏈密文策略屬性基加密網絡安全
中圖分類號:TP311
ResearchonBlockchain-BasedAccessControlModelforSoftware-DefinedInternetofThings
ZHANGZhen
SchoolofInformationEngineering,HenanIndustryandTradeVocationalCollege,Zhengzhou,HenanProvince,450053China
Abstract:TheSoftware-DefinedInternetofThings(SD-IoT)achieveseffectiveseparationofthenetworkplaneandcontrolplanebyapplyingSoftware-DefinedNetworking(SDN)technology,therebysignificantlyenhancingtheflexibilityandmanageabilityofIoTservices.However,itsopennessalsobringsadditionalsecuritychallenges.Therefore,itisproposedtointegrateBlockchaintechnologyintotheSD-IoTarchitecture,leveragingthedecentralizedandimmutablecorecharacteristicsofBlockchaintostrengthenthesecurityofnetworkcontrolanddataaccess.Additionally,smartcontractscanareusedtoautomaticallyenforcesecuritypolicies,andaciphertext-policyattribute-basedencryptionschemecanbeadoptedtoensurethesecurityofdataduringtransmissionandstorage.
KeyWords:Software-DefinedInternetofThings;Blockchain;Ciphertext-policyattribute-basedencryption;Networksecurity
隨著相關技術的不斷發展,海量的物聯網設備被接入各種系統當中,其帶來的管理壓力也越來越大。傳統的物聯網管理體系難以支撐系統的正常運轉,無法做到如臂揮使。軟件定義網絡(Software-DefinedNetworking,SDN)是一種可以編程調節的網絡架構,它的主要思想是將網絡設備的控制平面和數據平面分開,使用集中式的SDN控制器來完成對網絡的可編程任務[1]。它被業界引入集成到了物聯網當中,構建了一種新型的體系結構——軟件定義物聯網(Software-DefinedInternetofThings,SD-IoT)。它解耦了數據平面和控制平面,在集中化的控制器當中實現了對網絡的編程,大大提升了物聯網的性能和安全。但是他也面臨控制器容易發生單點故障,數據層和控制層通信不安全,網絡防御性能較低的問題。區塊鏈作為一種可信分布式的網絡架構,可以有效解決這些問題。
1密文策略屬性基加密
基于密文策略的屬性基加密(CiphertextPolicyAttribute-BasedEncryption,CP-ABE)中加密數據的可訪問性由用戶的屬性與預定義的訪問策略共同決定。當且僅當屬性集合滿足訪問結構的時候,才可以解密成功,從而實現一對多的數據細粒度訪問控制[2]。物聯網接入設備眾多,身份認證是系統安全的第一道防線[3]。CP-ABE的操作過程包括幾個關鍵階段:系統初始化階段、密鑰生成階段、加密階段和解密階段。
1.1系統初始化階段
系統初始化算法為,輸入包括安全參數λ和屬性全集U。U枚舉了可能被授權訪問的所有屬性,輸出包括公共參數PK和主密鑰MK[4]。公共參數PK將被系統內的所有參與者使用,用于數據加密和驗證訪問策略的合法性。主密鑰MK由TA安全保管,不對外公開,用于后續的密鑰派生過程中生成與特定用戶屬性相關的解密密鑰。
1.2密鑰生成階段
密鑰生成算法為,輸入包括主密鑰MK和用戶的屬性集合T。在密鑰生成階段,可信授權中心首先驗證提供的用戶屬性集合的有效性和完整性,然后根據用戶的屬性特征去選擇訪問策略,這一過程的目的是保證合適的屬性才能被用于生成私鑰。
1.3加密階段
加密算法為,公共參數PK被用來加密數據和構建與訪問策略相關的加密結構。消息M是需要被加密的數據,可以是任意類型的數字信息。與消息M相關聯的策略樹將會在加密過程中被構建。這個策略樹定義了哪些屬性集合能成功解密消息。公共參數PK和策略樹可以將消息M加密為密文。
1.4解密階段
解密算法為,輸入的參數包含了公共參數PK,嵌入了訪問結構MA的密文CT,以及嵌入了屬性S的私鑰SKA。公共參數PK用于輔助解密過程,確保密文的結構與加密時一致。密文包含了加密的消息M及定義哪些屬性集合能解密消息的訪問結構MA。私鑰SKA則包括了用戶的屬性集合T以及必要的解密信息。
2.2基于區塊鏈的軟件定義物聯網訪問控制模型
系統架構由5個主要層次構成:應用層、控制層、數據層、區塊鏈層和CP-ABE層。應用層負責與用戶進行交互,以及提供網絡服務應用,能夠使用北向API和控制層通信;控制層作為系統的核心,處理網絡策略和安全,同時與數據層通過南向API連接,并利用區塊鏈和CP-ABE技術確保數據安全性;數據層用以數據的存儲和管理,為其他層次提供數據支持。整體架構通過這些分層和技術整合,確保了網絡的高效運行和安全。
2.2.1應用層
應用層是SDNIoT系統架構中與用戶直接交互的部分,負責提供各種網絡服務和用戶界面。它通過北向API將用戶請求轉化為具體的網絡命令,傳遞給控制層進行處理。此層還負責展示網絡操作的結果和狀態給用戶,使用戶能夠直觀地管理和監控網絡設備及其性能。
2.2.2控制層
控制層在SDNIoT系統架構中充當網絡的大腦,負責處理來自應用層的請求并執行網絡策略管理和決策。它使用南向API與數據層和網絡設備建立溝通的渠道,實施安全控制和流量調度等操作。此層還集成了區塊鏈和CP-ABE技術,確保網絡操作的安全性和數據的完整性。
2.2.3數據層
數據層是SDNIoT系統架構中負責收集、存儲和管理所有網絡數據的基礎層。這一層保障了網絡運行數據的安全存儲,使用CP-ABE技術加密敏感數據,確保數據安全性。數據層還為控制層提供實時和歷史數據,支持網絡性能監控和決策分析。
2.2.4區塊鏈層
區塊鏈是一個去中心化的分布式賬本,數據所有者通過存儲交易將要分享的數據發送至區塊鏈,從而實現一對多的安全數據共享[5]。每個區塊的哈希值受其內容和父哈希的影響,因此任何對該區塊內容的修改都將導致該哈希值的更改[6]。區塊鏈層在SDNIoT系統架構中提供了一個去中心化的數據記錄和驗證平臺,增強了網絡的透明度和數據的不可篡改性。它記錄了網絡策略變更、設備狀態更新以及所有關鍵的網絡事務,確保操作的可追溯性和安全性。
Buterin在以太坊白皮書中率先引入了智能合約。智能合約本質上是一個用戶自定義的計算機協議程序,在一些外部或內部條件的觸發下自動運行在以太坊虛擬機上,借助其專用加密貨幣以太幣來計量和控制程序執行的資源開銷[7]。此層可以使用預設的智能合約自動處理較多的網絡策略和訪問控制任務,從而提高了網絡管理的效率和可靠性。
2.2.5CP-ABE層
CP-ABE層在SDNIoT系統架構中負責實施基于屬性的加密,確保數據在整個網絡中的安全傳輸和存取。該層在加密時設計一個訪問控制策略,契合特定屬性的用戶和設備才能解密,進而訪問數據。系統使用CP-ABE進行了細粒度的訪問控制,加強了數據的保密性和安全性,應對多樣化的網絡安全需求。
3.3工作流程
在使用基于區塊鏈和CP-ABE的SDNIoT訪問控制模型時,主要的工作流程可概括為以下3個步驟。
3.3.1屬性和密鑰管理
屬性授權中心(AttributeAuthorityCenter,AAC)負責精確定義用戶和設備的屬性,這些屬性涉及角色、權限級別、部門歸屬或設備類別等方面。AAC基于已定義的屬性生成密鑰對:公鑰與私鑰。公鑰用于數據的加密,保障網絡中傳輸或存儲的數據的安全性,且該公鑰對所有網絡用戶開放,用以加密目標接收者的數據。私鑰的生成則是屬性特定的,即私鑰的產生與分發基于用戶或設備的屬性集,確保只有具備相應屬性集的實體能夠解密相應加密的數據。
3.3.2數據加密和策略
數據發送者使用CP-ABE加密技術對其加密處理,并其在加密過程中,會把訪問控制策略以屬性形式嵌入到加密數據中。此策略基于數據訪問需求及相關安全政策,明確規定了可以解密和訪問該數據的用戶或設備的屬性要求。這種基于屬性的加密策略提升了數據安全性,因為數據即便在不安全的網絡環境中被截獲,也無法被無關實體解讀,從而防止了數據的未授權訪問和泄露。
3.3.3數據訪問和驗證
當用戶或設備發起對加密數據的訪問請求時,系統首先對請求者的屬性進行認證,以確定其是否符合數據加密時所嵌入的屬性基訪問控制策略。
系統會利用一個集成的屬性驗證機制來審核請求者提交的屬性證明,這些證明必須與數據加密策略中規定的屬性相匹配。只有請求者的屬性符合數據訪問策略,系統才會允許其用私鑰對數據進行解密。其中私鑰的構成與請求者的屬性密切相關,確保了只有合格的實體能解密特定的數據。
4結語
區塊鏈技術有效地提高了SDNIoT數據的安全性和網絡的可靠性,特別是在數據層和控制層的通信安全上取得了顯著改進。該模型不僅增強了系統的防篡改能力,還通過智能合約和細粒度的訪問控制策略,增強了用戶與服務提供者之間的信任。此外,通過集成密文策略屬性基加密(CP-ABE)技術,還可以進一步加強了數據的隱私保護,確保只有符合特定屬性的用戶才能訪問敏感信息。
參考文獻
[1] YIND,ZHANGL,YANGK.ADDoSattackdetectionandmitigationwithsoftware-definedInternetofThingsframework[J].IEEEAccess,2018,6:24694-24705.
[2] 王有恒,王瑞民,張建輝.基于CP-ABE算法的Fabric隱私保護模型[J].計算機工程與設計,2024,45(4):961-966.
[3] 徐川,艾星好,王杉杉,等.一種基于格的輕量級物聯網群簽密認證方案[J/OL].電信科學:1-19[2024-05-15].http://kns.cnki.net/kcms/detail/11.2103.TN.20240508.1457.020.html.
[4] 楊驍.基于屬性加密的移動agent安全研究[D].武漢:武漢理工大學,2017.
[5] 巴陽,陳越,胡學先,等.基于區塊鏈與屬性基加密的數據共享方案[J].信息工程大學學報,2022,23(4):443-451.
[6] 張星星.基于區塊鏈的軟件定義網絡安全研究[D].南京:南京郵電大學,2023.
[7] 曾志兵,吳曉鸰,凌捷.結合區塊鏈和可追蹤CP-ABE的數據存儲與共享研究[J].小型微型計算機系統,2024,45(4):919-925.