孫巖 雷震 詹國勇
被譽為“數(shù)字經(jīng)濟之父”的Don Tapscott認為,對人類未來幾十年產(chǎn)生最大影響的科技已經(jīng)到來,它不是社交媒體,不是大數(shù)據(jù),不是機器人,甚至也不是人工智能,而是支撐比特幣這一數(shù)字貨幣的底層技術,這項技術被稱為“區(qū)塊鏈”.Tapscott認為區(qū)塊鏈會對貨幣、商業(yè)、政府以及社會帶來非常深遠的影響[1].
區(qū)塊鏈有可能引領新一波的技術浪潮,它正越來越吸引著全球相關從業(yè)人員的廣泛關注,無論是行業(yè)巨頭,還是初創(chuàng)型公司都紛紛投身其中,積極尋求如何利用區(qū)塊鏈這項技術進行業(yè)務革新或者商業(yè)模式的創(chuàng)新方法,從而充分利用它的技術特性來提升作業(yè)效率和降低業(yè)務成本.也正是存在這種潛在的革新能量,區(qū)塊鏈很可能會給相關行業(yè)和產(chǎn)業(yè)帶來顛覆性的變革.
雖然大多數(shù)研究者認為區(qū)塊鏈在金融、征信、身份管理、物聯(lián)網(wǎng)、經(jīng)濟貿(mào)易結(jié)算、資產(chǎn)管理等眾多領域都擁有廣泛的應用前景[2?6],但正如一千人心中有一千個哈姆雷特一樣,我們所觀察到的區(qū)塊鏈,以其最典型的應用比特幣為例,從2009年上線以來已經(jīng)在全球范圍內(nèi)7*24h不間斷運行了8年之久,在這個系統(tǒng)中,有數(shù)以千計的網(wǎng)絡節(jié)點,沒有任何管理中心的運維參與,完全沒有防火墻、網(wǎng)閘、入侵檢測、防病毒、容災備份等保證網(wǎng)絡系統(tǒng)可用性和安全性的輔助保障系統(tǒng),甚至軟件本身的代碼都是開源的,居然擋住了全球無數(shù)黑客的光榮和夢想.這些完全有別于傳統(tǒng)信息技術手段的特質(zhì),也正是最為吸引人們眼球的地方.
依循這樣的思路,本文力求從我們所理解的區(qū)塊鏈基本概念與相關技術特點出發(fā),并且結(jié)合我們對于信息安全CIA三元組中“完整性”概念的認識,闡述基于區(qū)塊鏈技術的“主動完整性防護”的安全新理念,并為在這個理念下的信息安全解決方案在軍事系統(tǒng)和數(shù)據(jù)的安全性防護方面提出一些有別于其他研究者的新認知.
因為在設計和實現(xiàn)中利用了分布式系統(tǒng)、密碼學、博弈論、網(wǎng)絡協(xié)議等諸多學科的知識[5],大多數(shù)剛接觸的人士均認為區(qū)塊鏈概念晦澀難懂,不同的研究者提供了不同的認識,我們所認同的區(qū)塊鏈概念,從技術角度看,是一種由多方維護,以塊鏈結(jié)構(gòu)存儲數(shù)據(jù),使用密碼學保證傳輸和訪問安全,能夠?qū)崿F(xiàn)數(shù)據(jù)一致存儲、無法篡改、無法抵賴的技術體系[2].與傳統(tǒng)的數(shù)據(jù)庫存儲技術所不同的是,在區(qū)塊鏈網(wǎng)絡中,數(shù)據(jù)不再是存儲在一個中心化的數(shù)據(jù)庫系統(tǒng)中,而是利用先進的密碼學技術分布式記錄在所有的區(qū)塊鏈節(jié)點中,每一個節(jié)點都能復制獲得一份完整的數(shù)據(jù)副本,同時因為這些節(jié)點之間又采用了復雜的共識算法來確保數(shù)據(jù)的一致性,所以即使網(wǎng)絡中部分節(jié)點遭受到黑客攻擊或者因為故障而停機,也不會影響整個網(wǎng)絡系統(tǒng)的正常運行[4?5,7?9].
關鍵是,區(qū)塊鏈系統(tǒng)中用以存儲數(shù)據(jù)的區(qū)塊,每一個區(qū)塊與前一個區(qū)塊,乃至再前一個區(qū)塊之間通過哈希算法相連,也就是說,如果不知道前一個區(qū)塊的內(nèi)容,就無法生成當前這個區(qū)塊,因此,每個區(qū)塊必定按照時間順序跟隨在前一個區(qū)塊之后,這就使得從第一個區(qū)塊(創(chuàng)始塊)開始一直到當前區(qū)塊,連接在一起形成了一條長鏈,這也是區(qū)塊鏈概念的來源[9?10].區(qū)塊鏈區(qū)塊結(jié)構(gòu)如圖1所示.
這樣的存儲結(jié)構(gòu)特性,使得如果有黑客想要篡改一個區(qū)塊里面的數(shù)據(jù)內(nèi)容,那么需要篡改的就不單是這一個區(qū)塊,還包含這之后的所有區(qū)塊,即從這個區(qū)塊開始向后的所有的數(shù)據(jù)歷史,而這些歷史不僅是存在于一臺服務器上,而是同一瞬間遍布各地的所有區(qū)塊鏈節(jié)點上,并且這些數(shù)據(jù)歷史還在使用密碼學相關技術進行保護.這樣對于數(shù)據(jù)存儲和管理的新方式,使得區(qū)塊鏈系統(tǒng)相比較傳統(tǒng)的信息系統(tǒng),擁有更為安全的特性[5].
大多數(shù)研究者雖然贊同區(qū)塊鏈技術帶來了安全增強的特性,但仍然認為區(qū)塊鏈當前是難堪大用,認為其吞吐性能差(7tps),交易的確認時間長(60min),甚至使用的POW一致性算法浪費電力資源等[5].認同這種觀點的研究者實際上混淆了比特幣和區(qū)塊鏈兩者間的概念,作為一種新的技術框架體系,區(qū)塊鏈從最初的比特幣脫離之后,其概念、內(nèi)涵,以及技術均獲得了長足進步.以Hyperledger下Fabric 1.0區(qū)塊鏈平臺為例,我們在實際測試中獲得超過500tps的吞吐性能以及1s的交易確認時間,測試表明現(xiàn)階段區(qū)塊鏈技術完全能夠擔當實際生產(chǎn)與業(yè)務部署.
眾所周知,NIST 的《計算機安全手冊》[NIST95]將“計算機安全”這一術語定義為“對于一個自動化的信息系統(tǒng),采取保護措施確保信息系統(tǒng)資源(包含硬件、軟件、固件、信息/數(shù)據(jù)與通信)的完整性、可用性和機密性”.從這個定義引進的完整性、可用性和機密性3個概念成為衡量計算機安全的3個關鍵目標,它們也經(jīng)常被稱為“CIA三元組”[11?12].數(shù)據(jù)安全的CIA三元組如圖2所示.
在過去的40年中,信息系統(tǒng)的安全性問題幾乎等同于數(shù)據(jù)的機密性問題.相比較機密性,在CIA三元組中,人們一直輕視完整性問題.雖然如今隨著網(wǎng)絡威脅變得更加普遍、持續(xù)和復雜,人們已經(jīng)能夠意識到數(shù)據(jù)可能隨時會受到攻擊,但大多數(shù)時候關注仍然集中在機密性上,因為它更易于理解(比如客戶信息的泄露),但幾乎所有的數(shù)據(jù)泄露都是由完整性漏洞導致的(惡意軟件的入侵,導致被用來確保數(shù)據(jù)安全的系統(tǒng),其本身的完整性受損等等).所以說完整性是確保機密性的先決條件,如果沒有完整性,機密性的意義就會名存實亡,給組織帶來的安全感也是虛幻的,并最終可能導致在安全體系上的崩塌[11?12].
如果將數(shù)據(jù)看作一座城堡,傳統(tǒng)的安全保障措施,比如反病毒、反惡意軟件、防火墻以及入侵檢測等系統(tǒng),此類系統(tǒng)保護數(shù)據(jù)安全的要點在于在城堡外面修建高高的圍墻,反復確認,反復審核,反復監(jiān)督,再反復構(gòu)建一個又一個的系統(tǒng)堡壘,雇傭一個又一個的安全工程師,交付一個又一個的滲透測試項目,來確保數(shù)據(jù)不被人偷窺或篡改,這樣的措施當然有效.但也有它的不足之處,比如不能100%確定圍墻是否能正常工作,也沒有系統(tǒng)或技術很好地度量這一點;云計算模糊了系統(tǒng)的邊界;面對內(nèi)部惡意人員的無奈等.更甚至還有一個嚴重的問題,那就是無從獲知網(wǎng)絡入侵事件在被偵測到之前,攻擊者在網(wǎng)絡中的停留時間,這個過程可能已經(jīng)長達數(shù)月,期間寶貴的數(shù)據(jù)可能已被泄露而不自知.數(shù)據(jù)外泄過程如圖3所示.
所以新的數(shù)據(jù)安全方案不僅需要著力怎樣防止外來入侵者,而且可能更需要關注對于數(shù)據(jù)本身的安全防范機制,在于是否能夠快速了解有人已經(jīng)在城堡內(nèi)部進行了滲透,他們又做了些什么.也就是說,我們必須采取積極措施預防安全事件的發(fā)生,而不能等到事件發(fā)生之后才開始行動.如何獨立驗證在數(shù)字基礎設施中發(fā)生的狀況?如何獨立確定安全事件所產(chǎn)生的影響?以及如何獨立確定數(shù)據(jù)外泄的責任分配?就大多數(shù)信息系統(tǒng)而言,獲取上述證據(jù)有一定難度,再加上組織對“可信”系統(tǒng)管理員的依賴,因此,獲取上述證據(jù)的情形變得更為復雜.我們需要新的方法和手段,以明確識別遭受損失的原因、受影響的數(shù)據(jù)資產(chǎn)、損失發(fā)生的時間,以及資產(chǎn)在組織之外是否面臨風險等等.
我們認同區(qū)塊鏈技術在軍事領域有非常廣闊的應用場景,比如武器裝備全壽命跟蹤、軍事人力資源管理、軍用物資采購、軍用物流等方面的潛在應用,但相比而言,我們認為區(qū)塊鏈技術更為重要的價值,可能在軍事領域數(shù)據(jù)完整性的安全性防護方面[13].
軍事系統(tǒng)和數(shù)據(jù)的完整性和真實性問題尤其突出,是因為武器系統(tǒng)和作戰(zhàn)系統(tǒng)的效能發(fā)揮必須依賴于可信的數(shù)據(jù),而現(xiàn)代戰(zhàn)爭中網(wǎng)絡戰(zhàn)是非常重要的戰(zhàn)斗手段,黑客利用中心化的數(shù)據(jù)庫和單點故障進行網(wǎng)絡攻擊使得整個敵方系統(tǒng)癱瘓,或者通過盜取并偽造身份信息篡改數(shù)據(jù)使得敵方踏進安全陷阱,這些潛在風險的存在,意味著作戰(zhàn)人員可能會面臨著數(shù)據(jù)真實性不明的情形,極為可能基于惡意數(shù)據(jù)做出錯誤決策[14?16].比如我們?nèi)绾未_定無人機作戰(zhàn)平臺上當前運行的程序是我方最初安裝部署的原始程序,而不是敵方經(jīng)過攻擊之后篡改過的;在此前提下,我們又如何確保無人機偵察平臺傳回指控中心的數(shù)據(jù)是最初拍攝或攝錄的原始數(shù)據(jù),而不是敵方惡意欺騙的.基于區(qū)塊鏈的“主動完整性防護”信息安全防護方案工作原理如圖4所示.
我們論及的基于區(qū)塊鏈技術針對軍事數(shù)據(jù)安全構(gòu)建的“主動完整性防護”新方案,其工作原理大致是:軍事網(wǎng)絡中待保護的數(shù)字資產(chǎn)(比如路由器、防火墻、應用程序、虛擬機、配置信息、審計和事件日志、IaaS/PaaS、靜態(tài)數(shù)據(jù)、其他關鍵IT資產(chǎn)等)運用數(shù)字簽名算法,產(chǎn)生“數(shù)據(jù)指紋”,并在區(qū)塊鏈上存儲和記錄這些指紋.如果能夠確認最初這些重要資產(chǎn)是“清潔”狀態(tài)(未被污染過的),那么這些資產(chǎn)的真實性和完整性就可以隨時得到驗證,對于這些數(shù)據(jù)或者文件的任何修改就可以被周期運行的自動化偵測程序很快發(fā)現(xiàn).即便黑客最終能夠突破漏洞、修改系統(tǒng)日志文件、甚至是調(diào)整安全系統(tǒng)中的策略,但只要留有蹤跡,從而就能通過被安全模型計算實時感知,這就使得入侵者無法掩蓋自己的偷窺行為,也能夠快速地就是否有黑客入侵或者有數(shù)據(jù)庫篡改等危險行為提醒網(wǎng)絡管理者.
從論述的工作原理得知,“主動完整性防護”的信息安全防護新方案在如何確保數(shù)據(jù)的完整性上,共計分為兩個主要步驟:
第1步,注冊待保護數(shù)字資產(chǎn)的“數(shù)據(jù)指紋”到區(qū)塊鏈上.
數(shù)字資產(chǎn)“數(shù)據(jù)指紋”的產(chǎn)生依賴數(shù)字簽名技術,我們都知道數(shù)字簽名一般用來驗證某數(shù)字內(nèi)容的完整性(integrity)和來源(或不可抵賴,nonrepudiation).數(shù)字簽名下的“數(shù)據(jù)指紋”,它包含數(shù)據(jù)的簽名時間、簽名主體以及完整性的原始狀態(tài),這些信息用來驗證待保護資產(chǎn)的完整性.
將“數(shù)據(jù)指紋”記錄在區(qū)塊鏈上,是因為區(qū)塊鏈與傳統(tǒng)的數(shù)據(jù)管理技術相比,它非常適合用來為別的重要數(shù)據(jù)或資產(chǎn)提供存在性、真實性、一致性、完整性的證明,存儲在區(qū)塊鏈系統(tǒng)中的數(shù)據(jù),從根本上防止了惡意的入侵者以及“善意”內(nèi)部人員的非法訪問,沒有任何技術方法能夠改變區(qū)塊鏈內(nèi)數(shù)據(jù)記錄的真實性[5].正是這一特點,我們采用區(qū)塊鏈技術來作為整個方案底層的可信和可靠的基礎設施.
第2步,依據(jù)數(shù)字簽名持續(xù)性監(jiān)測這些資產(chǎn)的完整性狀態(tài).
要實現(xiàn)持續(xù)性監(jiān)測的目的,我們就需要一個代理程序駐留在待保護數(shù)字資產(chǎn)的宿主服務器上,這個代理程序能周期性執(zhí)行,帶自我保護功能,占用較少系統(tǒng)資源,按照指定的規(guī)則自動掃描和發(fā)現(xiàn)資產(chǎn),并向后端服務器發(fā)送對于這些資產(chǎn)的數(shù)字簽名和驗簽的服務請求,同時服務請求和響應的全流程能在極短的時間內(nèi)完成.
依據(jù)工作原理和拆解的主要工作步驟,組成“主動完整性防護”方案的功能模塊或組件大致如下,其架構(gòu)關系如圖5所示.
?代理程序Agent
?數(shù)字簽名的服務網(wǎng)關Gateway
?數(shù)字簽名的核心服務組件Core
?安全加固的硬件平臺
?固化的操作系統(tǒng)
?優(yōu)化的區(qū)塊鏈平臺
?可視化的管控中心
方案要求在每一臺需要進行完整性防護的宿主機上安裝代理Agent,安裝過程中會完成與管控中心的連接數(shù)據(jù)配置.隨后,會通過管控中心為每一個代理分配一個賬號,代理通過該賬號連接管控中心,獲取代理的配置和一定數(shù)量任務.
代理的配置是影響代理工作效率的主要因素.代理的任務,主要分為兩類,一類是長期執(zhí)行的任務,另一類任務是短期執(zhí)行的任務.長期執(zhí)行的任務主要是資產(chǎn)掃描的任務,該類任務主要是管控中心通過配置資產(chǎn)掃描范圍而制定;短期執(zhí)行的任務主要是指簽名任務,該類任務是管控中心下達的、針對某個或某一批數(shù)據(jù)資產(chǎn)的簽名指令.
尚未簽名的數(shù)據(jù)資產(chǎn)在服務網(wǎng)關進行驗證的時候,會因為找不到對應的數(shù)據(jù)簽名而被記錄在管控中心的數(shù)據(jù)庫,從而可以下發(fā)簽名指令,完成新數(shù)據(jù)資產(chǎn)的簽名操作.
已經(jīng)簽名成功的數(shù)據(jù)資產(chǎn),會順利通過驗證,驗證結(jié)果會被記錄在管控中心的數(shù)據(jù)庫.管控中心會顯示該數(shù)據(jù)資產(chǎn)正常.
已經(jīng)簽名成功的數(shù)據(jù)資產(chǎn),因為被修改,驗證過程中會出現(xiàn)驗證失敗的結(jié)果,該結(jié)果被記錄,同時管控中心會有預警產(chǎn)生.基于區(qū)塊鏈的“主動完整性防護”主要工作流程如圖6所示.
如果將這些功能模塊和組件部署在實體的物理服務器中,考慮生產(chǎn)環(huán)境的可靠性冗余,方案大致需要6臺物理服務器作為服務承載,將這6臺服務器接入到軍事系統(tǒng)網(wǎng)絡,將代理程序Agent部署到待保護數(shù)字資產(chǎn)的宿主服務器上,就構(gòu)成了完整的“主動完整性防護”信息安全部署方案.這種部署方案不需要改造原有軍事網(wǎng)絡系統(tǒng),不改變原有系統(tǒng)的架構(gòu),只需簡單配置定義即可上線運行.基于區(qū)塊鏈的“主動完整性防護”信息安全防護方案物理架構(gòu)如圖7所示.
通過“主動完整性防護”措施的建立,對于那些經(jīng)過數(shù)字簽名的軍事系統(tǒng)內(nèi)重要的待保護資產(chǎn)(包含應用程序與數(shù)據(jù)等,其形式可能是二進制實體文件:文件、文檔、圖像、音頻、視頻或者數(shù)據(jù)庫審計日志、流式日志等)而言,意味著可以對其保持實時的、持續(xù)的監(jiān)測和驗證,與以往大多數(shù)數(shù)據(jù)外泄直到發(fā)生了較長時間并已經(jīng)導致?lián)p失時才被發(fā)現(xiàn)不同的是,“主動完整性防護”能極大地把這個時間極大縮短,待保護資產(chǎn)的完整性一旦受損,意味著資產(chǎn)被未經(jīng)授權地更改,“主動完整性防護”系統(tǒng)能在極短的時間內(nèi)做出反應和預警.
信息安全下的完整性通常被定義為在系統(tǒng)、網(wǎng)絡、流程和數(shù)據(jù)中沒有變體.現(xiàn)代安全的基本假設是,不可能沒有變體的存在,因此,才有必要去尋找相關方面的脆弱性.基于區(qū)塊鏈以及數(shù)字簽名技術的引入,為數(shù)字資產(chǎn)在網(wǎng)絡環(huán)境下的完整性提供了數(shù)學證明,即系統(tǒng)內(nèi)每一個關鍵配置信息,每一條事件日志的狀態(tài),數(shù)據(jù)庫內(nèi)每一個數(shù)據(jù)條目均可以被已確認安全的程序來進行獨立驗證.這意味著,如果能確認網(wǎng)絡或系統(tǒng)的“清潔”狀態(tài),那么對于該狀態(tài)任何未經(jīng)授權的更改均表示攻擊,不管是來自內(nèi)部或者外部,都可以100%地被檢測到.“主動完整性防護”下的數(shù)據(jù)完整性如圖8所示.
“主動完整性防護”的數(shù)據(jù)安全新方案,能夠有效避免軍事數(shù)據(jù)的泄露以及敵方對其進行的篡改,使得網(wǎng)絡攻擊產(chǎn)生的破壞力得以降低,作戰(zhàn)人員手中數(shù)據(jù)的真實性也能因此得到保障,這種對于風險的規(guī)避,能極大提升戰(zhàn)場上的不對稱優(yōu)勢,可能會改變戰(zhàn)爭領域的游戲規(guī)則[14?16].
相比傳統(tǒng)的數(shù)據(jù)完整性保護技術,本方案利用了安全高效的數(shù)據(jù)簽名算法,在對關鍵數(shù)據(jù)進行完整性保護的基礎上,對簽名數(shù)據(jù)進行聚合生成可信代碼,并將簽名可信代碼保存到區(qū)塊鏈中.這種只存儲公共簽名可信代碼的機制將極大減少對存儲的要求,同時提高系統(tǒng)的檢索性能.這對現(xiàn)代軍事信息系統(tǒng)中各種情報信息數(shù)據(jù)的完整性和真實性檢測至關重要.