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

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

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

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

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

表1 節(jié)點類型
為了更清晰地表述數(shù)據(jù)流轉(zhuǎn)的過程,定義如表2所示的符號使用規(guī)則。

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

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

圖6 數(shù)據(jù)獲取過程
步驟1 輕節(jié)點B輸入關(guān)鍵詞,在區(qū)塊鏈網(wǎng)絡(luò)中檢索裝備信息。

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

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