張思遠 李永杰 葛文超
(1.海軍工程大學電子工程學院 武漢 430000)(2.華中科技大學計算機科學與技術學院 武漢 430000)(3.中國人民解放軍63780部隊 陵水 572427)
隨著艦船裝備持續向集成化、智能化方向發展,裝備管理精細化、信息化、流程化的需求不斷提升。作為檢驗管理成效的重要手段,當前針對艦船裝備管理情況的檢查還存在許多漏洞,嚴重制約著艦船裝備的戰斗力生成。一是檢查內容不夠全面,存在檢查表格長期不更新的現象,不能反映裝備在不同任務周期和作戰環境下的工作狀態;二是檢查方式過于單一,依靠紙質文件開展裝備檢查的方法不僅信息化程度低,這類文件往往沒有備份且容易污染,存在數據丟失、造假的風險和檢索緩慢等問題。三是檢查流程不夠簡潔,逐級反饋情況、人工簽字確認需要消耗大量的人力和時間成本,代簽字、偽造簽名還可能導致責任劃分不清。雖然一些單位已經將數字化的記錄軟件應用于裝備管理[1~2],但仍然采用集中存儲的模式,沒有考慮系統容災備份的能力以及數據可信度的問題。付頂梁等提出一種裝備動態檢查方法,綜合考慮時間因素和狀態因素對艦船裝備管理的影響,運用CTOWA算子集結裝備檢查信息,檢查結果更加全面科學[3]。丁善婷等提出一種考慮環境動態影響的裝備健康狀態評估模型,利用多智能體仿真建模方法實現不同海況條件下艦船裝備狀態評估,評估結果更加客觀[4]。向濤波等將高速攝影和激光掃描技術運用到艦船裝備健康監測與管理中,能夠快速進行損傷定位和狀態描述,實現非接觸、智能化的裝備管理[5]。以上研究一定程度上改善了當前艦船裝備管理的弊端,但沒有從根本上改變艦船裝備的管理模式。本文將區塊鏈技術運用于艦船裝備管理,將裝備參數、備品備件、環境狀態等信息上鏈存儲,利用區塊鏈的技術特點保證信息可追溯、不可篡改,生成數字簽名取代人工簽字,提升效率的同時具有不可抵賴性,結合IPFS 解決系統存儲容量問題,最后利用智能合約的觸發機制將裝備管理檢查流程自動化。
區塊鏈是一個去中心化的分布式賬本技術,它由一系列按時間順序排列的區塊組成,每個區塊通常包括區塊頭和區塊體[6],其數據結構如圖1 所示。區塊體主要用于存儲交易數據塊,各數據塊通過Merkle 樹結構形成一個Merkle 根存儲在區塊頭中,除此之外區塊頭內還包含區塊號、時間戳、共識證明、前一區塊的區塊頭哈希值等信息。由于哈希運算具有極強的輸入敏感性,交易數據一旦被篡改,必須同時改變后面所有區塊的哈希值,且經過分布式網絡中其它節點的共識才能使篡改生效,區塊鏈正是通過這種環環相扣的鏈式結構以及分布式記賬的特點保證鏈上數據的安全。按照應用范圍的不同,區塊鏈可分為公有鏈、聯盟鏈和私有鏈[7],其中聯盟鏈有嚴格的準入和身份管理機制,可對鏈上操作權限進行管控,一般采用基于多方多輪投票的共識機制而非耗能較高的挖礦機制,網絡規模可控,交易時延低,并發性和容量可優化性強,因此更適用于艦船裝備管理的應用場景。

圖1 區塊鏈數據結構
數字簽名技術是基于公鑰密碼體制實現的,其工作原理如圖2 所示。在該技術中,每個用戶持有一對公鑰和私鑰,其中公鑰通常以數字證書的形式在網絡中公開,私鑰由用戶個人保管,由于公私鑰對是基于單向哈希函數生成,無法由用戶公鑰推出私鑰,反之亦然。簽名者使用自身私鑰對電子文件的信息摘要進行簽名,將數字簽名與原始數據一同發送至接收方,由于私鑰由簽名者單獨掌握且只能由對應的公鑰解密,簽名者無法對所簽內容進行否認或抵賴,實現與手寫簽名相同的功能。接收者使用簽名者公鑰對加密過的信息摘要進行解密,然后通過同樣的哈希運算計算原始數據的摘要值,將二者進行比對,驗證一致即可完成文件的權屬證明[8]。本方案使用電子文檔數字簽名替代紙質文檔手寫簽名,能夠有效杜絕傳統裝備管理體系中篡改數據、偽造簽名的現象發生。

圖2 數字簽名工作原理
智能合約最早由Nick Szabo[9]提出并定義,作為一種自動執行、自我驗證、無需中介的計算機合約條款,隨著區塊鏈技術的普及逐漸受到廣泛關注[10]。由于區塊鏈分布式記賬的原理,智能合約一旦部署成功后便具備不可篡改的特點。如圖3 所示,智能合約可以持續監控鏈上數據或者外部數據的變更,并在滿足觸發條件時自動執行相應程序。所有參與記賬的節點均會運行一遍合約中的代碼,確保數據生成過程公認,結果保持一致。通過調用智能合約核查裝備信息數據,可以提高監督檢查效率、降低裝備管理成本。

圖3 智能合約工作機制
區塊鏈中參與記賬的節點會完整地存儲所有經過共識的數據,隨著上鏈數據的不斷增多,系統面臨的存儲壓力也不斷增加,大文件的上鏈還可能導致網絡的擁堵。IPFS 是一個去中心化的P2P 網絡傳輸協議[11],因其在隱私、可靠性及安全性方面的優點及去中心化的特點,成為許多區塊鏈應用的數據存儲解決方案。存儲在IPFS 網絡中的數據會得到一個基于數據內容的CID(Content Identifier)值,任何數據內容的改動都會導致CID 值的變化,有數據使用需求的用戶通過CID 值向網絡發送請求從而獲取數據。IPFS 可以有效解決區塊鏈本身不宜存儲大規模數據的難題[12]。
本方案將參與艦船裝備管理的用戶分為四類:裝備使用部門、裝備管理部門、艦船指揮機構、身份認證機構(CA)。裝備使用部門是艦船裝備管理的主體單位,負責采集裝備信息并上傳;裝備管理部門負責全艦裝備工作,依據裝備管理規定對上傳的裝備信息開展監督檢查;艦船指揮機構對裝備管理負有領導責任;CA 主要提供成員管理服務。系統總體框架如圖4 所示,CA 通過用戶提供的注冊信息為用戶頒發數字證書,其中包含用戶類型、簽發者信息、被簽發者信息、用戶公鑰等內容;裝備使用部門通過物聯網(IoT)模塊搜集數據并上傳至IPFS,將IPFS 返回的CID 值上傳至區塊鏈,裝備管理部門將裝備操作說明和規章制度合約化,通過在區塊鏈中部署智能合約的方式檢查裝備管理情況,并將檢查的結果上傳至區塊鏈;艦船指揮機構依托區塊鏈對整個流程進行監督和確認。

圖4 系統框架
根據裝備管理過程的參與程度和數據存儲能力,將所有節點分為輕節點、主節點、共識節點、存儲節點四類,其主要作用如表1 所示。一般將各類艦船裝備操作端設置為輕節點,此類節點可以實時掌握裝備管理動態信息,負責記錄數據,不參與共識和記賬過程。在每個裝備使用部門設置一個主節點,將本部門所有輕節點記錄的數據打包并進入共識階段。裝備管理部門、艦船指揮機構的所有節點以及裝備使用部門的主節點參與共識過程,因此統稱為共識節點,經過共識節點確認的數據可以上鏈存儲。存儲節點一般是具備較大存儲容量的節點,用于部署IPFS分布式數據庫。

表1 節點類型
為了更清晰地表述數據流轉的過程,定義如表2所示的符號使用規則。

表2 符號使用說明
3.2.1 數據上鏈
數據上鏈過程如圖5所示,具體步驟如下:

圖5 數據上鏈過程
步驟1 節點向認證中心提供身份信息并申請認證。
A→CA:IDA
步驟2 認證中心驗證節點身份信息后,根據信息內容生成公私鑰對和數字證書發送給節點CA→A:PRKA//PUKA//Cert(A)。
步驟3 輕節點B 記錄裝備數據和索引信息提交給主節點A。
B→A:DataB//IndexB
步驟4 主節點A 將各輕節點裝備數據打包發送至IPFS存儲節點C。
A→C:DataA
步驟5 IPFS將CID值返回給主節點A。
C→A:CID
步驟6 主節點A 將CID 值、索引信息、時間戳簽名后發送至共識節點D。
A→D:Data//PRKA(Hash(Data))//Cert(A),其中Data=CID//IndexA//Ts
3.2.2 數據獲取
數據獲取過程如圖6所示,具體步驟如下:

圖6 數據獲取過程
步驟1 輕節點B輸入關鍵詞,在區塊鏈網絡中檢索裝備信息。

C→B:DataA
傳統的基于紙質文件的裝備管理檢查是一項勞動密集型的人工任務,檢查效果很大程度程度上取決于檢查人員的個人能力素養,不利于抵抗信息造假的風險,嚴重阻礙了艦船裝備精細化管理。智能合約是代表特定業務邏輯的計算機代碼,可將艦船裝備管理規定和操作說明合約化,通過鏈上部署智能合約的方式,實現裝備信息自動化檢查[13]。檢查的主要內容包括環境溫濕度、參數設定、性能指標、備品數量、維護保養情況等。檢查結果上鏈存儲,過程高度透明,能有效提高檢查效率,避免檢查主觀性。
基于智能合約的裝備狀態檢查流程如圖7 所示,具體步驟如下:

圖7 裝備狀態檢查流程
步驟1 輕節點通過LoT 模塊搜集裝備信息后提交至主節點,主節點以數字簽名的方式確認信息,并將信息存儲在“區塊n”中。
步驟2 裝備管理部門訪問“區塊n”中的裝備信息,調用智能合約進行自動化檢查。
步驟3 如果檢查合格,裝備管理部門將驗收報告簽名后上傳至區塊鏈,存儲在“區塊n+1”中,檢查不合格則進入步驟5。
步驟4 艦船指揮機構訪問“區塊n+1”中的驗收報告,檢查數字簽名和報告內容,并將檢查結果簽名后記錄在“區塊n+2”中。
步驟5 如果檢查不合格,裝備管理部門將問題整改通知單簽名后上傳至區塊鏈,存儲在“Block n+1”中,裝備使用部門整改完畢后上傳整改情況。
本方案通過CA中心實現嚴格的準入和身份管理機制,用戶進入系統前必須向CA 中心提供注冊信息,CA中心為符合條件的用戶頒發數字證書,證書中包含CA 中心的數字簽名,系統中所有節點必須持有數字證書才能訪問IPFS 和區塊鏈,并與其它節點通信。為防止部分節點遭受攻擊的情況發生,作惡節點將通過共識機制被系統識別,并被CA中心吊銷數字證書,失去系統訪問資格。
本系統中區塊鏈各節點進行數據傳輸時均會進行數字簽名,這種簽名方式相當于在數據上綁定了用戶的數字指紋,能夠完全替代手寫簽名的作用,而且由于其所基于的非對稱密碼算法具有的單向性特點,每名用戶擁有由自身保管的、獨一無二的私鑰,因此數字簽名相較于手寫簽名可以更有效地防止數據傳輸過程中發生篡改內容、偽造簽名的現象,且簽名者無法對所簽內容進行否認或抵賴。
作為去中心化的網絡傳輸協議,IPFS具有碎片化傳輸和分布式存儲的特點,因此攻擊者對于任一存儲節點的攻擊并不能得到數據的完整內容,單個節點的數據丟失也不會影響整個數據的完整性。IPFS 通過文件內容而不是文件存儲位置進行尋址[14],作為文件內容的唯一標識,CID 值的任何變化都會導致尋址失敗。本系統中CID 值儲存在聯盟鏈區塊體中,并以Merkle樹的結構形成Merkle根儲存在區塊頭中,區塊頭通過哈希值首尾相連,而哈希運算輸入敏感和強抗碰撞的特點保證了區塊中任何數據的變化都能被系統感知和追溯。
基于艦船裝備管理信任難建立、數據易篡改、管理效率低的現實情況,本文提出了一種基于區塊鏈的艦船裝備管理方案。該方案利用IoT模塊搜集裝備管理數據,減少人力成本的消耗;利用IPFS 存儲數據,有效解決了區塊鏈本身過度冗余導致的大文件存儲困難問題;將數據的CID 值存儲在區塊鏈中,利用其特殊的數據結構以及去中心化分布式存儲的特點保證鏈上數據安全;通過部署和調用智能合約的方式實現裝備信息自動化檢查,避免了人工檢查的主觀性;最后從訪問控制、數據傳輸、數據存儲三個方面的分析可以看出系統具有良好的安全性,能夠有效保護裝備信息不被篡改。該系統的不足之處在于缺少共識機制方面的研究,沒有實現細粒度的訪問控制,這也將是下一步工作的方向。