趙 剛,劉 濤,李世興,張 賓
(1.北方自動(dòng)控制技術(shù)研究所,太原 030006;2.駐北京地區(qū)軍代局,北京 100072;3.北京軍代局駐太原地區(qū)第二軍代室,太原 030006)
區(qū)塊鏈技術(shù)擁有的去中心化、去信任化、可擴(kuò)展和安全可靠等技術(shù)特點(diǎn),可以很好地克服集中式數(shù)據(jù)管理平臺(tái)的缺陷?;趨^(qū)塊鏈技術(shù)構(gòu)建的有人/無(wú)人裝備集群管理平臺(tái),通過分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)的應(yīng)用方以及監(jiān)管方共同參與數(shù)據(jù)管理,不僅能夠確保數(shù)據(jù)完整性,而且能夠讓監(jiān)管方及時(shí)識(shí)別數(shù)據(jù)篡改風(fēng)險(xiǎn)。作為分布式、可信任的數(shù)據(jù)基礎(chǔ)設(shè)施,區(qū)塊鏈所構(gòu)建的信任生態(tài)系統(tǒng)可以在信息不對(duì)稱、不確定的環(huán)境下生存,可以提高數(shù)據(jù)防篡改和安全可靠能力。因此,需要建立基于區(qū)塊鏈的去中心化的數(shù)據(jù)共識(shí)機(jī)制,提升武器裝備安全等級(jí)。
分布式存儲(chǔ)技術(shù)是解決目前有人/無(wú)人集群下的武器系統(tǒng)存儲(chǔ)問題的常用方法[1],通常利用冗余維護(hù)技術(shù),通過分散在賽博空間網(wǎng)絡(luò)上大量存儲(chǔ)節(jié)點(diǎn)之前的協(xié)作,實(shí)現(xiàn)可靠的數(shù)據(jù)存儲(chǔ)服務(wù)。但在武器系統(tǒng)分布式存儲(chǔ)系統(tǒng)中,某些節(jié)點(diǎn)可能會(huì)暫時(shí)或永久失效,通常通過附加冗余數(shù)據(jù)來(lái)保證存儲(chǔ)系統(tǒng)的可靠性和可用性[2]。為保證系統(tǒng)的可信度,近些年來(lái),基于TPM 安全芯片的可信存儲(chǔ),逐步成為解決單武器平臺(tái)的授權(quán)和可信問題的有效手段[3]。通常在可信計(jì)算平臺(tái)上存儲(chǔ)信息,是經(jīng)過硬件BIOS中的信息認(rèn)證,數(shù)據(jù)的存儲(chǔ)是通過一個(gè)可信信任源開始,依次經(jīng)過BIOS、操作系統(tǒng)再到應(yīng)用程序,從而保證了數(shù)據(jù)存儲(chǔ)的可信度。但是可信存儲(chǔ)要求可信的認(rèn)證過程來(lái)自于經(jīng)過認(rèn)證的可信源,在實(shí)際的武器系統(tǒng)中,通常是使用基于TPM 安全芯片來(lái)保障源頭的可信性。但是這種機(jī)制存在兩個(gè)明顯的弊端:1)信息源頭節(jié)點(diǎn)易面臨集中式惡意攻擊,從而導(dǎo)致單點(diǎn)失效,造成數(shù)據(jù)丟失;2)信息源頭節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)可能會(huì)被惡意篡改釀成嚴(yán)重的后果[4]。
為解決過于依賴單一源頭和中心化的安全機(jī)制,去中心化的區(qū)塊鏈技術(shù)逐步在安全領(lǐng)域推廣應(yīng)用。區(qū)塊鏈技術(shù)是利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來(lái)驗(yàn)證與存儲(chǔ)數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識(shí)算法,來(lái)生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪問的安全、利用由自動(dòng)化腳本代碼組成的智能合約,來(lái)編程和操作數(shù)據(jù)的一種全新分布式基礎(chǔ)架構(gòu)與計(jì)算范式[5]。該技術(shù)已經(jīng)成為全球創(chuàng)新領(lǐng)域最受關(guān)注的話題。目前在虛擬貨幣、金融證券、公共治理等領(lǐng)域開展了探索應(yīng)用[6],在軍事領(lǐng)域只是啟動(dòng)了相關(guān)預(yù)研工作,還沒有典型的軍事應(yīng)用實(shí)例。
軍委科技委主任劉國(guó)治認(rèn)為“人機(jī)混合智能將是未來(lái)智能的最高形式”,有無(wú)人協(xié)同作為混合增強(qiáng)智能發(fā)展的一個(gè)重要方向,成為未來(lái)高動(dòng)態(tài)、強(qiáng)對(duì)抗、不確定任務(wù)等復(fù)雜戰(zhàn)場(chǎng)環(huán)境克敵制勝的關(guān)鍵。隨著信息技術(shù)、人工智能技術(shù)的加快發(fā)展,無(wú)人巡邏車、偵打一體無(wú)人車開始進(jìn)入實(shí)用階段,由于其作戰(zhàn)效率高、可長(zhǎng)期值守、即使平臺(tái)損毀也無(wú)人員傷亡等特點(diǎn),在軍事領(lǐng)域呈現(xiàn)出廣闊的應(yīng)用前景[7]。美軍已經(jīng)開始利用已有的有無(wú)人協(xié)同技術(shù)構(gòu)建“系統(tǒng)族群”,進(jìn)行低開支、低風(fēng)險(xiǎn)、高效率的開發(fā),無(wú)人系統(tǒng)族群由遠(yuǎn)程指揮系統(tǒng)指揮操控,多平臺(tái)合力完成復(fù)雜作戰(zhàn)任務(wù),以一種顛覆性的新型作戰(zhàn)模式主導(dǎo)未來(lái)戰(zhàn)場(chǎng)[8]。俄軍在敘利亞利用“仙女座-D”自動(dòng)化指揮系統(tǒng),指揮了一場(chǎng)以戰(zhàn)斗機(jī)器人為主、人為輔的攻堅(jiān)作戰(zhàn)。我國(guó)有無(wú)人協(xié)同系統(tǒng)研究啟動(dòng)較晚,兵器xx 所等多家單位通過開展“陸用多智能體協(xié)同的控制與優(yōu)化基礎(chǔ)研究”項(xiàng)目,基本突破了有關(guān)可變自主遙操作、時(shí)延補(bǔ)償控制、多通道人機(jī)交互、多智能體協(xié)同控制、無(wú)人平臺(tái)指揮控制的多項(xiàng)理論與關(guān)鍵技術(shù),初步構(gòu)建了有無(wú)人戰(zhàn)車協(xié)同編隊(duì)、協(xié)同偵察、協(xié)同引導(dǎo)、協(xié)同火力打擊的體系結(jié)構(gòu)與指揮控制模式。然而,由于有無(wú)人協(xié)同之后數(shù)據(jù)多源、異構(gòu)、可信問題尤為突出,對(duì)于數(shù)據(jù)的可信存儲(chǔ)需求較為強(qiáng)烈。
有無(wú)人作戰(zhàn)系統(tǒng)武器裝備包括了有無(wú)人戰(zhàn)車、偵查車、無(wú)人機(jī)等各型武器系統(tǒng)。各型武器系統(tǒng)通過立體互聯(lián)的賽博空間網(wǎng)絡(luò),進(jìn)行編隊(duì)、態(tài)勢(shì)、控制指令和協(xié)同信息等數(shù)據(jù)的實(shí)時(shí)接入、共享與管理。這些武器裝備的敏感數(shù)據(jù)包括:有無(wú)人設(shè)備位置、實(shí)時(shí)態(tài)勢(shì)信息、航跡信息、火力分配與控制、協(xié)同打擊、人機(jī)交互等關(guān)鍵數(shù)據(jù),是各型武器作戰(zhàn)的核心。為實(shí)現(xiàn)戰(zhàn)場(chǎng)信息的快速、實(shí)時(shí)、可靠存儲(chǔ),在有無(wú)人系統(tǒng)中,需要建立去中心化的共識(shí)機(jī)制,以及通過有線/ 無(wú)線多級(jí)通信節(jié)點(diǎn)組成的立體賽博空間網(wǎng)絡(luò),因此,采用區(qū)塊鏈技術(shù)解決武器裝備敏感數(shù)據(jù)的可信存儲(chǔ)問題,是一個(gè)有效的技術(shù)途徑。
在武器裝備系統(tǒng)領(lǐng)域,區(qū)別于其他商用領(lǐng)域,敏感信息具有如下幾個(gè)特點(diǎn):
1)節(jié)點(diǎn)輸出的數(shù)據(jù)難以驗(yàn)證。由于應(yīng)用場(chǎng)景的特殊性,網(wǎng)絡(luò)中的節(jié)點(diǎn)可能不具備對(duì)其他節(jié)點(diǎn)輸出的數(shù)據(jù)進(jìn)行驗(yàn)證的能力,如前方的探測(cè)數(shù)據(jù)在后方難以驗(yàn)證,指揮中心發(fā)出的指揮信息對(duì)于被指揮節(jié)點(diǎn)也難以驗(yàn)證。
2)節(jié)點(diǎn)是否有權(quán)限進(jìn)行驗(yàn)證。部分武器裝備的敏感數(shù)據(jù),由于其特殊性不能像普通區(qū)塊鏈數(shù)據(jù)一樣進(jìn)行廣播,不同的武器裝備之間敏感數(shù)據(jù)由于特性不同或者權(quán)限不同難以進(jìn)行共享驗(yàn)證。
為解決上述問題,本文中設(shè)計(jì)了一種基于分類權(quán)限的多節(jié)點(diǎn)容錯(cuò)共識(shí)機(jī)制設(shè)計(jì)。
整個(gè)共識(shí)機(jī)制的建立基于如下模型:首先將系統(tǒng)中的節(jié)點(diǎn)按照權(quán)限關(guān)系進(jìn)行集合劃分,同一個(gè)集合內(nèi)的信息能夠互相進(jìn)行共享,且同一個(gè)集合內(nèi)依照投票機(jī)制進(jìn)行主節(jié)點(diǎn)選取,當(dāng)主節(jié)點(diǎn)出現(xiàn)后,其余節(jié)點(diǎn)都成為副節(jié)點(diǎn);當(dāng)某個(gè)節(jié)點(diǎn)有數(shù)據(jù)需要傳遞時(shí)會(huì)首先向主節(jié)點(diǎn)發(fā)起服務(wù)請(qǐng)求,主節(jié)點(diǎn)將請(qǐng)求分發(fā)給所有副節(jié)點(diǎn),副節(jié)點(diǎn)處理完成后再回饋給起始節(jié)點(diǎn),起始節(jié)點(diǎn)只要收到f+1(f 為有效閾值)節(jié)點(diǎn)回饋的相同結(jié)果,即認(rèn)為該次數(shù)據(jù)傳輸完畢。
節(jié)點(diǎn)之間的關(guān)系進(jìn)行分類分組,同組劃分的依據(jù)表示著同組節(jié)點(diǎn)能夠且需要互相進(jìn)行驗(yàn)證,如節(jié)點(diǎn)ABC 同屬探測(cè)節(jié)點(diǎn)中的同一組,那么ABC 之間將存在數(shù)據(jù)互相驗(yàn)證的義務(wù),驗(yàn)證完畢后的數(shù)據(jù)會(huì)對(duì)其可信程度進(jìn)行加權(quán)處理,例如節(jié)點(diǎn)A 發(fā)出的探測(cè)數(shù)據(jù),節(jié)點(diǎn)B 在接收到后會(huì)進(jìn)行驗(yàn)證,驗(yàn)證完畢后會(huì)將原探測(cè)信息中的可信置位加權(quán),然后再次廣播,后方節(jié)點(diǎn)先接收到A 的探測(cè)數(shù)據(jù),然后接收到B 的數(shù)據(jù)后,會(huì)得知該條探測(cè)信息被證真或證偽,證真/偽次數(shù)超過閾值后,會(huì)對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理。如圖1 所示。
圖1 節(jié)點(diǎn)之間共識(shí)關(guān)系原理框圖
整個(gè)共識(shí)機(jī)制的運(yùn)行流程如下:
整個(gè)系統(tǒng)內(nèi)的節(jié)點(diǎn)存儲(chǔ)了對(duì)系統(tǒng)每個(gè)節(jié)點(diǎn)劃分的集合以及分組信息,同時(shí)在每個(gè)節(jié)點(diǎn)內(nèi)部維護(hù)消息日志用于記錄該節(jié)點(diǎn)接收到消息。當(dāng)主節(jié)點(diǎn)p收到請(qǐng)求m 時(shí),主節(jié)點(diǎn)會(huì)將該請(qǐng)求向其所在集合內(nèi)的所有副節(jié)點(diǎn)進(jìn)行廣播,為加速消息傳輸以及數(shù)據(jù)處理,整個(gè)傳輸分為3 個(gè)階段:
1)預(yù)準(zhǔn)備階段
預(yù)準(zhǔn)備階段,主節(jié)點(diǎn)分配一個(gè)序列號(hào)n 給收到的請(qǐng)求,然后向所有副節(jié)點(diǎn)群發(fā)預(yù)備消息,預(yù)備消息的格式為<<PRE-PREPARE,v,n,d>,m>,其中v 表示集合編號(hào),n 表示請(qǐng)求序列號(hào),d 表示消息的摘要。在這一步時(shí),消息的傳輸并不包含具體的數(shù)據(jù)信息,而是僅僅用于在整個(gè)系統(tǒng)內(nèi)將擁有權(quán)限、能夠驗(yàn)證的節(jié)點(diǎn)進(jìn)行組織,同時(shí)序列號(hào)的添加使得數(shù)據(jù)更改可以追溯;而副節(jié)點(diǎn)收到預(yù)備消息后,首先會(huì)進(jìn)行校驗(yàn),只有滿足如下條件時(shí),才會(huì)接收此消息。
①請(qǐng)求和預(yù)備信息的數(shù)字簽名正確,且摘要信息無(wú)誤;
②與本節(jié)點(diǎn)所在的集合相同;
③本節(jié)點(diǎn)從未接收過序號(hào)為n 但摘要不同的信息(用于防范泛洪攻擊);
④預(yù)備消息的序號(hào)在合理范圍內(nèi)。
滿足上述條件后,傳輸進(jìn)入下一階段。
2)準(zhǔn)備階段
準(zhǔn)備階段時(shí),初始節(jié)點(diǎn)會(huì)將信息發(fā)往所有符合要求的副節(jié)點(diǎn),<PREPARE,g,n,d,i>,副節(jié)點(diǎn)通過分組信息,確認(rèn)對(duì)該消息本節(jié)點(diǎn)是否具備驗(yàn)證資質(zhì),同時(shí)所有收到的副節(jié)點(diǎn)都將預(yù)備消息以及準(zhǔn)備消息記錄到本節(jié)點(diǎn)的消息記錄中。
3)確認(rèn)階段
當(dāng)副節(jié)點(diǎn)對(duì)請(qǐng)求信息進(jìn)行確認(rèn)之后,確認(rèn)的流程條件為:
①數(shù)字簽名正確;
②消息驗(yàn)證加權(quán)為正值;
③消息序號(hào)合法。
基于此種確認(rèn)機(jī)制,副節(jié)點(diǎn)在確認(rèn)完畢后會(huì)回復(fù)committed(m,v,n)消息表示其對(duì)消息確認(rèn)完畢。當(dāng)有f+1 個(gè)節(jié)點(diǎn)確認(rèn)消息到達(dá)主節(jié)點(diǎn)時(shí),表示該條消息被確認(rèn)的次數(shù)超過了閾值,集合內(nèi)所有節(jié)點(diǎn)同步更新該條記錄。
上述的共識(shí)機(jī)制設(shè)計(jì)是一種靜態(tài)共識(shí),對(duì)于軍事系統(tǒng)中的應(yīng)用而言,通過分類權(quán)限、集合劃分的形式,能夠降低節(jié)點(diǎn)的同步共識(shí)需求,在節(jié)點(diǎn)數(shù)量相對(duì)固定、節(jié)點(diǎn)性質(zhì)較為穩(wěn)定的情況下,此種共識(shí)機(jī)制較為高效,當(dāng)有節(jié)點(diǎn)退出或加入網(wǎng)絡(luò)時(shí),所有節(jié)點(diǎn)均需要更新自身的集合分組列表。
將區(qū)塊鏈應(yīng)用至武器裝備存儲(chǔ)體系中時(shí),數(shù)據(jù)的傳輸大多數(shù)是在不同的節(jié)點(diǎn)之間進(jìn)行。在所有節(jié)點(diǎn)初始化完畢構(gòu)成一個(gè)閉合網(wǎng)絡(luò)后,節(jié)點(diǎn)之間的數(shù)據(jù)傳輸通過之前設(shè)計(jì)的共識(shí)機(jī)制,以及安全監(jiān)管機(jī)制的方式進(jìn)行通信時(shí),能夠保證整個(gè)分布式系統(tǒng)的數(shù)據(jù)安全性甚至離線節(jié)點(diǎn)的安全性。但當(dāng)系統(tǒng)內(nèi)的數(shù)據(jù)想要導(dǎo)出亦或是外部的數(shù)據(jù)想要輸入到系統(tǒng)中時(shí),就難以避免會(huì)遇到數(shù)據(jù)可信接入的問題——如何確定外部擁有數(shù)據(jù)導(dǎo)出的權(quán)限?以及如何確定外部導(dǎo)入數(shù)據(jù)的可信程度?這兩個(gè)問題如果沒有一個(gè)合適的機(jī)制進(jìn)行保證,那么之前設(shè)計(jì)的機(jī)制就無(wú)法得到安全保證。
為解決鏈外數(shù)據(jù)可信接入問題,本方案擬通過如下幾種方式對(duì)鏈外數(shù)據(jù)接入進(jìn)行控制:
1)專用接口硬件加密KEY 認(rèn)證機(jī)制;
2)節(jié)點(diǎn)控制信息與存儲(chǔ)信息的隔離機(jī)制;
3)數(shù)據(jù)輸入輸出的多節(jié)點(diǎn)記錄認(rèn)證機(jī)制。
2.3.1 專用接口硬件加密KEY 認(rèn)證機(jī)制
針對(duì)有鏈外數(shù)據(jù)接入需求的節(jié)點(diǎn),在節(jié)點(diǎn)上增加接口硬件加密KEY 部件(USB 或者網(wǎng)絡(luò)接口),每套硬件KEY 為互相匹配的KEY-P 與KEY-N 兩部分,每套硬件KEY 運(yùn)行同樣的加解密算法,只有外部設(shè)備使用與節(jié)點(diǎn)相匹配的硬件KEY,才能夠與鏈內(nèi)節(jié)點(diǎn)相連接,如圖2 所示。
圖2 專用接口硬件加密認(rèn)證示意
基于此種專用的硬件加密KEY 認(rèn)證機(jī)制,能夠有效防止外部設(shè)備在沒有合法KEY 的情況下進(jìn)行數(shù)據(jù)接入,從物理層面上實(shí)現(xiàn)對(duì)數(shù)據(jù)鏈路的隔離控制,保證基礎(chǔ)的接入安全。
2.3.2 節(jié)點(diǎn)控制信息與存儲(chǔ)數(shù)據(jù)的隔離機(jī)制
鏈內(nèi)節(jié)點(diǎn)在進(jìn)行數(shù)據(jù)傳輸及驗(yàn)證時(shí),需要對(duì)本身所擁有的權(quán)限,以及所有連接的節(jié)點(diǎn)信息進(jìn)行驗(yàn)證,此部分信息存儲(chǔ)在節(jié)點(diǎn)的控制信息表內(nèi),由節(jié)點(diǎn)本身進(jìn)行維護(hù)。由于此部分?jǐn)?shù)據(jù)較為敏感,如果外部節(jié)點(diǎn)獲取到此部分信息,能夠針對(duì)性地對(duì)系統(tǒng)內(nèi)的其他節(jié)點(diǎn)進(jìn)行攻擊,或者更改節(jié)點(diǎn)控制信息,對(duì)網(wǎng)絡(luò)內(nèi)傳輸?shù)奖竟?jié)點(diǎn)的數(shù)據(jù)進(jìn)行偽造式攻擊。因此,本方案擬對(duì)節(jié)點(diǎn)上的數(shù)據(jù)采用控制信息與存儲(chǔ)數(shù)據(jù)隔離存放的機(jī)制,在進(jìn)行鏈外數(shù)據(jù)輸入輸出時(shí),只允許鏈外設(shè)備讀取/寫入存儲(chǔ)數(shù)據(jù),而控制信息僅僅允許鏈內(nèi)節(jié)點(diǎn)進(jìn)行更新修改。
2.3.3 數(shù)據(jù)輸入輸出的多節(jié)點(diǎn)記錄認(rèn)證機(jī)制
在上述兩種鏈外數(shù)據(jù)可信接入機(jī)制之外,本方案還設(shè)計(jì)了數(shù)據(jù)輸入輸出的多節(jié)點(diǎn)記錄認(rèn)證機(jī)制。該種機(jī)制的工作方式如下:在外部設(shè)備通過上述兩種認(rèn)證方式接入之后,其所連接的節(jié)點(diǎn)會(huì)針對(duì)修改的內(nèi)容生成文件變動(dòng)記錄,并將文件變動(dòng)記錄同步發(fā)送至集合內(nèi)相關(guān)節(jié)點(diǎn),相關(guān)節(jié)點(diǎn)會(huì)對(duì)文件變動(dòng)記錄進(jìn)行記錄,防止原節(jié)點(diǎn)的文件記錄被篡改;源節(jié)點(diǎn)也會(huì)將導(dǎo)出的數(shù)據(jù)進(jìn)行記錄,同時(shí)將導(dǎo)出記錄發(fā)送至集合內(nèi)相關(guān)節(jié)點(diǎn),進(jìn)行多節(jié)點(diǎn)備份記錄。
通過該種機(jī)制,系統(tǒng)內(nèi)的節(jié)點(diǎn)能夠?qū)︽溚鈹?shù)據(jù)的接入進(jìn)行冗余備份,實(shí)現(xiàn)對(duì)系統(tǒng)內(nèi)輸入輸出數(shù)據(jù)的多節(jié)點(diǎn)共同記錄,保證記錄的可靠性,實(shí)現(xiàn)鏈外數(shù)據(jù)修改的可追溯性。
針對(duì)武器裝備系統(tǒng)中的數(shù)據(jù)種類多樣、數(shù)量冗雜的特點(diǎn),為在多個(gè)節(jié)點(diǎn)之間對(duì)數(shù)據(jù)存儲(chǔ)達(dá)成共識(shí),本文設(shè)計(jì)了一種基于分類權(quán)限的多節(jié)點(diǎn)容錯(cuò)共識(shí)機(jī)制?;诖朔N共識(shí)機(jī)制,整個(gè)分布式系統(tǒng)能夠?qū)?shù)據(jù)有效驗(yàn)證,同時(shí)分類權(quán)限也保證了敏感數(shù)據(jù)在有限范圍內(nèi)的傳播,能夠滿足武器裝備敏感數(shù)據(jù)存儲(chǔ)體系的需求。同時(shí),為解決鏈外數(shù)據(jù)接入帶來(lái)的安全可信問題,本文對(duì)鏈外數(shù)據(jù)可信接入使用專用硬件加密通信接口、節(jié)點(diǎn)控制信息與存儲(chǔ)數(shù)據(jù)隔離,以及數(shù)據(jù)輸入輸出的多節(jié)點(diǎn)記錄機(jī)制,來(lái)解決鏈外數(shù)據(jù)可信接入問題。