


摘要:IPFS是借助BitTorrent傳輸技術、自我驗證文件系統和P2P網絡技術實現的一種新型數據傳輸協議,其優勢在于存儲成本低、運行效率高,不受寬帶資源限制。本文基于IPFS技術分析如何有效設計區塊鏈物聯網安全模型,結果顯示,基于IPFS所設計的區塊鏈物聯網安全模型,可降低跨網信任成本,以IPFS為底層數據庫,同時為區塊鏈提供隱私保護。
關鍵詞:區塊鏈;IPFS;物聯網;安全模型;設計
一、引言
物聯網是隨著互聯網和移動通信網絡的成熟而產生的第三波信息波,而且是國家大力發展的一個重要產業。但在物聯網發展進程中,也面臨著嚴峻的安全問題,嚴重威脅著用戶信息資產和生命安全。物聯網和區塊鏈有著相似的分布情況,采用區塊鏈技術,能使物聯網數據實現分布式傳輸與處理,通過打破云物聯網架構,實現依賴第三方云端的桎梏得以解除,解決物聯網服務體系存在的安全問題[1]。星際文件傳輸系統(英文簡稱IPFS)屬于點對點文件分布系統,其主要目標是通過一個統一的文件體系來完成各臺電腦之間的互聯。從技術上來看,IPFS是借助BitTorrent傳輸技術、自我驗證文件系統和P2P網絡技術實現的一種新型數據傳輸協議,其優勢在于存儲成本低、運行效率高,不受寬帶資源限制,而且文件能夠永久存儲,基于IPFS的互聯網,可抵抗自然災害、中心服務器宕機以及戰爭情況,不會過度依賴互聯網主干網,達到高并發訪問、文件版本管理目標。本文基于IPFS技術,分析如何有效設計區塊鏈物聯網安全模型。
二、技術需求和設計原則
隨著物聯網的不斷擴張,智能設備形成的數據量隨之增加,集中式數據存儲與管理隱患重重,再加上有限的寬帶,很難對大量數據進行及時處理,物聯網設備數量、樣式持續增長,嚴峻挑戰以往互聯網架構,必須及時解決物聯網設備高可用性、安全性、低時延、可擴展以及網絡彈性等問題[2]?;贗PFS技術的區塊鏈物聯網安全模型需求包括:有效資源利用、分布式云存儲、完全隱私、提升服務質量等。從根本上說,物聯網以資源高效管理、可擴展和安全為目標,但該目標實現的前提,在于去中心化分布式云存儲。為符合物聯網服務所需,區塊物聯網安全模型在借助IPFS技術設計過程中,必須遵循安全性、網絡彈性、可擴展性以及性能表現等原則。
三、模塊架構和服務流程
基于區塊鏈技術特性,與以往物聯網結構模型相結合,設計出基于IPFS技術的區塊鏈物聯網安全模型(見圖1),IPFS技術下所構建的區塊物聯網安全模型內含三種身份,即物聯網設備、服務提供商、區塊鏈節點。
圖1 IPFS技術下的區塊鏈物聯網安全模型
基于 IPFS的區塊鏈物聯網服務流程如下:第一,物聯網設備利用設備的私有密鑰對服務請求進行簽名,其中包括設備公鑰、服務請求數據和服務提供者公鑰。裝置簽署,將所有的事務進行封裝,并將其傳送給維持該節點的區塊鏈。其次,服務商通過公共鑰查詢區塊的業務信息,并接受業務需求。同樣,業務提供者將業務應答的內容以同樣的方法記錄在區塊鏈上。最后,物聯網設備通過公鑰獲取服務內容。服務流程內,私鑰對數據信息所有權進行了標識,而公鑰則指明數據交易對象。
本項目以 POS和 PBFT的價值證明機制為基礎,將終端產生的業務加入該區塊的網絡中,并利用該協議和終端的公開密鑰對該交易進行認證。經過確認的交易才能被合并。當成交量達到臨界值時,由網絡中的所有節點通過投票產生一個新的數據塊。與產生事務相似,一個新的塊包含了一個合法事務的主要公共密鑰,散列值和簽名。成鏈區塊包含區塊上的區塊散列值及區塊識別資訊,確保區塊產生的資訊可以追蹤。
例如,物聯網的請求服務過程與服務提供者服務過程十分相似。物聯網設備提供的服務請求、服務過程及協議驗證如圖2所示。
圖2 物聯網驗證流程
(一)交易生成
針對區塊鏈節點、物聯網設備和服務提供商,采用不對稱密碼技術產生一組可識別的密鑰,并采用 ECC密碼學方法保存設備的私有密鑰,并將設備的公開密鑰保存在 IPFS數據庫中。它可以作為一個網絡的識別標志,用來進行信息的查詢和發送。服務請求、內容由交易模塊生成,交易基礎信息主要包括交易發送主體公鑰、服務請求、接收者公鑰和時間戳,借助SHA256加密算法實現交易ID的自動生成,由交易ID利用FuncSig算法與發送私鑰形成交易簽名。
(二)區塊打包
物聯網設備向網絡節點傳播交易信息,節點先驗證交易,若和交易簽名匹配,必須驗證該交易的發出者,是不是發送主體所發。設定交易打包閾值,當網上的貿易達到一定的數額時,主端就會將貿易的內容進行封裝。與事務產生模塊一樣,產生的塊主節點首先將公共密鑰包含到新區塊中,確保區塊信息的真實性[3]。利用FuncSig算法對區塊信息、節點私鑰生成簽名、區塊ID、簽名以及區塊信息共同組成新區塊。
(三)區塊鏈生成
組合前區塊和當前區塊的哈希值,從而產生區塊鏈。發送主體的所有交易都會在區塊鏈儲存,不能被更改。
(四)交易查詢
相關服務商借助公鑰實現服務請求的實時查詢,設備通過公鑰查詢區塊鏈中的相關服務內容。區塊鏈表、公鑰檢索表、區塊表以及交易表共同組成系統數據庫。數據選擇JSON格式儲存,交易表主要用于保存提供商與設備群的交易信息,公鑰檢索表主要用于保存區塊鏈節點公鑰,區塊鏈包含了數據塊的成鏈資訊,而區塊表則包含了產生的數據塊的資訊。該數據庫結構如圖3所示。
圖3 數據庫結構
四、系統模型功能的實現
(一)環境部署
由于該模式是基于區塊鏈技術的,所以在該體系中存在大量的哈希運算,而每一塊和每一筆交易都要經過哈希值來進行識別,所以;對于基層的數據庫,通常選用基值,并實現網絡的全局同步。因為要與物聯網相融合,因此采用分布式的數據庫是比較合理的。為了驗證以 IPFS為基礎的區塊鏈物聯網系統的安全性,可使用MongoDB作為基礎,對其進行了性能驗證。它是一個具有很強的、可快速檢索的分布式數據庫,它以面向對象的方式存儲,并通過增加其他的結點來擴展數據庫;并對云計算水平的可擴展性提供了支持。利用Paxos算法來實現數據的分散控制,以應對不斷增加的數據,負載,在區塊鏈上得到了普遍的應用,MongoDB和IPFS與模式的設計原理是一致的。該系統建模的一個物理試驗環境是一個路由器和三個主機,主機是Inteli7,內存是DDR3內存,在Maven平臺上使用JAVA語言編寫而成。通過路由器將實體主機連接起來,就構成三個主要LAN部分,以對物聯網設備和服務商所在區域進行模擬,服務內容與請求在模型內部實現鏈上查詢,所以無需區分服務商與設備所在網段。通過主機對網絡節點進行部署,從而組成各節點集群,以對區塊鏈P2P網絡傳輸結構進行模擬。在各分區中加入結點,構成P2P網絡。試驗中將網絡的結點數量設定為6、9、12,并將分布式數據庫MongoDB與 IPFS放置于各個結點下。例如,對于MongoDB,在一個實體計算機上建立4個進程,其中客戶機1個,segment 2個,configuration server 1個。MongoDB差分片簇具有2個拷貝集和3個切片,最后得到6個點。對于 IPFS,在一個實體計算機上建立2個用戶和2個IPFS Serving進程,構成等節點P2P網絡共計6個。
(二)模塊開發
為了與模型適配,修改IPFS源碼,先修改Config模塊,保證試驗節點可以使用 IPFS訪問函數,然后對 IPFS中的 Swarm和存儲組件進行修正,保證操作對象的讀取和存儲可以從試驗節點獲取,以解決操作對象在本地數據庫中的訪問和存儲需要。在引導中設置引導節點的地址,所有網絡節點都是受信任的,創建可信局域網。再刪除IPFS內部線程數量限制,避免實驗內出現線程上限。評價指數是指在相同的運算條件下,在不同的試驗條件下,該模型的吞吐率和延遲時間的平均值,通過YCSB展開模擬仿真實驗,更改YCSB的數據接口層與工作負載模塊,其中工作負載模塊主要用于構建測試與交易環境[4]。
五、性能評估
基于所設測試環境,通過對系統的吞吐率和時延等參數的對比來評價算法的性能,以防止出現實驗誤差。
假設區塊打包交易閾值是100,依照YCSB所得反饋數據,如果測試環境是S1,節點數目統計是6、9以及12的交易延時均值。結果發現,隨著交易量持續增加,相同節點系統模型延時也表現為上升趨勢,并呈現非線性特征[5]。超過1000單的交易,延遲平均呈現出指數增長的趨勢。當成交量很小時,比如,一個結點系統模式的100個交易延遲是比較小的,但在超過1000筆交易之后,會增加各節點時延,彼此差異也非常顯著。例如,交易量為5000筆的情況下,不同節點系統模型交易時延為33.12s、30.12s以及27.24s。IPFS的體系模式總體上和MongoDB是一致的。當交易量增多時, IPFS中相同節點數下的交易延遲明顯增大。當交易量很小時,在不同的結點個數下,系統中的平均交易延遲是相近的。在100個單的情況下, IPFS模式的交易延遲為0.96秒、0.88秒、0.69秒。當交易量增大時,此差別快速擴大,表現為:隨著節點數的增多,平均延遲變短。在5000個業務中, IPFS模式的交易延遲為27.87秒、24.01秒和16.34秒。相對于MongoDB, IPFS模式下,隨著交易量和節點數的增加,其交易延遲變得更短。在5000次的情況下,MongoDB中6個結點個數比12個結點個數的系統模式大了1.22, IPFS的數值達到了1.71。研究結果顯示,隨著網絡中節點數量的增加, IPFS架構下的網絡安全模式具有較低的交易延遲和較高的系統性能。與此同時,由于區塊鏈技術是在以降低系統運行效率為代價的基礎上,因此,當交易量無限增加的時候,系統的運行速度就會變得非常緩慢。然而,相對于 IPFS的體系模式,MongoDB的體系結構在交易量增長的同時,也在加速衰退。在同樣12個節點的情況下,MongoDB模式5000次交易的平均延遲為46.15次, IPFS模式下5000次交易的平均延遲為46.15次, IPFS模式為23.68次??傮w而言,對于產生的交易, IPFS在相同的節點數下,當交易量增大時,平均延遲也隨之增大,直至達到了模型中的最高值,從而導致系統性能下降。當結點數量變化時,隨著結點數量的增加,平均事務延遲降低。相對于MongoDB,該方法在處理事務的產生上更具優越性,因為它是在讀數據時進行的。
六、結束語
該研究基于物聯網安全技術需求,設計基于IPFS技術的區塊鏈物聯網安全模型,IPFS在資源高效利用、服務質量提升和保護隱私等方面的研究中,對 IPFS的可擴展性、安全性和可伸縮性提出了更高的要求。在 IPFS基礎上構建區塊鏈的物聯網安全模式,在 IPFS基礎上實現對區塊鏈的隱私保護,減少網絡間的可信開銷。IPFS的安全性模塊主要包括:生成交易、生成區塊鏈、打包交易和交易詢問等,其中,從物聯網終端向供應商發送一個要求,到供應商交易詢問,再到終端收到業務內容為止。IPFS技術下的區塊鏈物聯網安全系統模塊應該具有的功能已經被實現,為模型功能的優化完善奠定了基礎。實驗結果表明,基于IPFS技術的區塊鏈物聯網安全模型符合設計原則和技術需求。
作者單位:孫成衛 西藏職業技術學院
參考文獻
[1]谷超.基于區塊鏈的物聯網數據安全共享模型與關鍵機制研究與實現[D].北京:北京工業大學,2020.
[2]王國明,張天寶.區塊鏈技術在增強物聯網安全方面的實踐及應用前景[J].長江信息通信,2022,35(3):44-47.
[3]馮綺航.考慮屬性加密的物聯網隱私數據跨域安全共享模型[J].現代電子技術,2023,46(1):91-95.
[4]郎為民,張漢,趙毅豐,等.一種基于區塊鏈的物聯網行為監控和活動管理方案[J].信息網絡安全,2020(2):22-29.
[5]孫躍,楊晟,龔鋼軍,等.基于可信計算和區塊鏈的配電物聯網內生安全研究[J].華電技術,2020,42(8):61-67.