陸明遠(yuǎn),張帆
(天津大學(xué)管理與經(jīng)濟學(xué)部,天津 300000)
大數(shù)據(jù)時代的到來使數(shù)據(jù)成為人力、資本、能源外的第四類社會發(fā)展關(guān)鍵資源,如何實現(xiàn)狀態(tài)、行為、交易、特征等數(shù)據(jù)的安全、有序管理成為挖掘信息資源價值的前提。伴隨著數(shù)據(jù)爆炸時代的來臨,集中式數(shù)據(jù)管理不堪重負(fù),為緩解服務(wù)器壓力、提高效率,越來越多的領(lǐng)域接受了分布式記錄數(shù)據(jù)的方式,即將任務(wù)分割交給不同的節(jié)點[1-3]。但是,分布式系統(tǒng)的應(yīng)用需要基于不可信的互聯(lián)網(wǎng)環(huán)境實現(xiàn)可信、準(zhǔn)確、充分的身份認(rèn)證[4]。中本聰創(chuàng)立的比特幣,其背后的技術(shù)支持體系——區(qū)塊鏈技術(shù)為分布式環(huán)境中的共享技術(shù)設(shè)計提供了新思路[5]。區(qū)塊鏈的每個區(qū)塊由哈希指針順序連接,每一哈希指針中的哈希值由上一區(qū)塊的所有內(nèi)容計算得出,實現(xiàn)區(qū)塊排列的鏈?zhǔn)浇Y(jié)構(gòu)。更改某一區(qū)塊中的一點,需要更改哈希指針中的哈希值。區(qū)塊鏈技術(shù)基于POW、POA等共識機制實現(xiàn)了去中心化或弱中心化的分布式系統(tǒng),讓所有節(jié)點都可以共享同一本“賬本”,從而實現(xiàn)了大規(guī)模數(shù)據(jù)管理的高速率、安全性、不可篡改性[6]。
區(qū)塊鏈按照去中心化程度分為公有鏈(Public blockchains)、聯(lián)盟鏈(Consortium blockchains)、私有鏈(Private blockchains)3 種類型,不同類型區(qū)塊鏈的特點如表1 所示。公有鏈最大的優(yōu)勢是完全去中心化、匿名化帶來的公開透明,所有節(jié)點權(quán)限均等地參與區(qū)塊數(shù)據(jù)讀取并公平競爭寫入數(shù)據(jù)的機會;私有鏈采取部分中心化或弱中心化的方式,僅對特定個人或組織開放,數(shù)據(jù)讀、寫及共識機制設(shè)計都遵從私有鏈管理者的規(guī)定,能最大限度維護(hù)敏感數(shù)據(jù)不被非法訪問、篡改;聯(lián)盟鏈介于兩者之間,共識過程由預(yù)選節(jié)點掌控[7]。

表1 不同類型區(qū)塊鏈特點
由分析可知,上述任意一種區(qū)塊鏈類型都難以同時實現(xiàn)去中心化、高效、權(quán)威安全這3 個功能[8]。私有鏈保留了可信中心,雖然沒有去中心化公開透明的優(yōu)勢,但是只要得到管理方許可即可實踐決策,無需得到其他節(jié)點的同意,執(zhí)行效率高;同時,由于私有鏈非公開的特點,體系內(nèi)不涉及大量低信任度、低相關(guān)度的節(jié)點,極大地提高了數(shù)據(jù)處理速率及讀寫吞吐率;私有鏈不支持匿名化,保障了數(shù)據(jù)監(jiān)管的順利實施;私有鏈僅對組織內(nèi)部開放,保障了敏感數(shù)據(jù)的機密性;更為重要的是,私有鏈仍然保留了區(qū)塊鏈中共享“賬本”的核心特點,保障了數(shù)據(jù)的不可篡改性。私有鏈的這些特點,極為符合大型企業(yè)、公安部門、保密機構(gòu)等組織對于信息安全體系私密安全、分布式、輕量級、高效率、可審計追蹤、不可篡改的要求。因此,將私有鏈技術(shù)應(yīng)用到信息安全系統(tǒng)建設(shè)中,能解決很多傳統(tǒng)模式下無法解決的問題?;谏鲜瞿繕?biāo),建立基礎(chǔ)框架模型,如圖1 所示。

圖1 私有區(qū)塊鏈信息安全防御系統(tǒng)框架模型
區(qū)塊由塊頭、塊身兩個部分構(gòu)成。塊頭包括父區(qū)塊頭哈希值(Parent block header hash)、時間戳(Time)、Merkle 根(Merkle root)以及隨機數(shù)(Nonce);塊頭中記載父區(qū)哈希值實現(xiàn)了區(qū)塊之間的鏈?zhǔn)浇Y(jié)構(gòu),也保證了數(shù)據(jù)的完整性。由于哈希函數(shù)抗碰撞(Collision Resistance)、不可逆(Hiding)的特點,只要記錄最終的哈希值就可以知道數(shù)據(jù)是否被改動。塊身部分采用Merkle 樹結(jié)構(gòu)記錄本區(qū)詳細(xì)信息,Merkle 樹與普通二叉樹(Binary Tree)相比的特殊之處在于,用哈希指針代替了普通指針。Merkle 樹最下面一層是數(shù)據(jù)塊(Data Blocks),中間n層內(nèi)部節(jié)點都是哈希指針(Hash Pointers),第一層是根節(jié)點,根節(jié)點取哈希為根哈希(Root Hash);底層區(qū)塊取哈希值保存在上一層節(jié)點中,同一節(jié)點的哈希值拼在一起取哈希存于上層節(jié)點,從此不斷向上最后匯總到根節(jié)點,最終實現(xiàn)以Merkle 樹的根哈希值記錄本區(qū)全部數(shù)據(jù)信息的目標(biāo)[9-10]。Merkle 樹有很多優(yōu)勢,一方面,只要記錄根哈希值就能檢測出對任何部位的修改,且數(shù)據(jù)一旦寫入?yún)^(qū)塊將被發(fā)送給所有有權(quán)限的節(jié)點,實現(xiàn)數(shù)據(jù)永久記錄、可溯源;另一方面,Merkle樹結(jié)構(gòu)下只要將底層哈希值按順序排列,就可以實現(xiàn)信息查找、不存在證明(Proof of Non-membership)等功能,極大地便利了信息管理。

圖2 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)
區(qū)塊鏈以P2P(Peer-to-Peer)的結(jié)構(gòu)實現(xiàn)數(shù)據(jù)傳輸,特點是在分布式環(huán)境中可直接實現(xiàn)端對端的傳輸;要進(jìn)入某一P2P 網(wǎng)絡(luò),首先,要知道至少一個種子節(jié)點,以便與種子節(jié)點聯(lián)系獲得網(wǎng)絡(luò)中的其他節(jié)點;節(jié)點之間通過TCP 通信,以便穿透防火墻。區(qū)塊鏈中鄰居節(jié)點的選取是隨機的,沒有考慮底層的拓?fù)浣Y(jié)構(gòu)。比如一個在青島的節(jié)點,它的鄰居節(jié)點可能被分配在石家莊。在不考慮底層拓?fù)浣Y(jié)構(gòu)的前提下,信息系統(tǒng)的魯棒性得到了極大地提升,但是犧牲的是效率,向物理距離一米的人發(fā)送信息和一萬千米之外的人發(fā)送信息的速度是差不多的。此外,在節(jié)點中心化程度方面,在公有鏈中,以比特幣為例,去中心環(huán)境中所有的P2P 節(jié)點都是平等的;但是在私有鏈中,仍然保留了中心化特征,部分節(jié)點被賦予了身份認(rèn)證、許可發(fā)行等任務(wù),可能會產(chǎn)生所謂的超級節(jié)點(Super Node)。P2P 網(wǎng)絡(luò)雖實現(xiàn)了數(shù)據(jù)的高效率傳輸,但面臨著節(jié)點身份認(rèn)證的問題。
在分布式環(huán)境中,節(jié)點正確、可信的身份認(rèn)證是信息安全的前提,為實現(xiàn)這一目標(biāo),引入密碼學(xué)中的非對稱加密技術(shù)(Asymmetric Encryption Algorithm),建立數(shù)字簽名認(rèn)證體系。非對稱加密是相較于對稱加密體系(Symmetric Encryption Algorithm)建立的,對稱加密體系下密文的加密方和解密方共用一個秘鑰進(jìn)行加密、解密,密文的安全以保證秘鑰在雙方傳輸過程中的安全性為前提,秘鑰的分發(fā)往往要耗費大量人、財、物成本,即使如此,互聯(lián)網(wǎng)傳輸環(huán)境也并不能被完全信任。為解決上述問題,非對稱加密體系應(yīng)運而生。在非對稱加密體系中,每個節(jié)點在創(chuàng)建賬戶時被賦予了獨屬于自己的秘鑰對,即公鑰和私鑰(Public key,Private key),有且僅有配對的公、私鑰對可以相互加密、解密,節(jié)點的公鑰可以在一定范圍內(nèi)公開,類似銀行賬號;私鑰則由節(jié)點自己管理,類似銀行卡密碼。一方面,非對稱加密技術(shù)的出現(xiàn)極大地提高了密文傳輸?shù)陌踩?,假設(shè)A 給B 傳輸密文,A 只要用B 公開的公鑰加密密文,那么只有掌握對應(yīng)私鑰的B 就可以解密該密文,即使密文在傳輸過程中被非法截獲,也無法被破解,從而保證了信息的機密性;另一方面,建立了基于數(shù)字簽名的身份認(rèn)證體系,假設(shè)B 要接收來自A 的信息,那么A 只要用自己的私鑰對信息進(jìn)行簽名,若B 用A 的公鑰能解密,則證明這確實是來自A 的信息。數(shù)字簽名的實現(xiàn),以公、私鑰對的唯一性為前提,現(xiàn)有的鑰對產(chǎn)生方式是隨機的,相同的公、私鑰對基本不存在,這就要求在產(chǎn)生鑰對及每次簽名時都要以好的隨機源為基礎(chǔ)。
針對保障用戶身份真實性以及匿名性的雙向需求,使用ChainAchor 框架作為身份認(rèn)證工具。ChainAchor 框架基于零知識理論,實現(xiàn)了私有鏈節(jié)點匿名化的真實身份認(rèn)證服務(wù),同一節(jié)點可創(chuàng)建幾個匿名賬戶進(jìn)行信息發(fā)布,有選擇性地暴露自己的真實身份以防范內(nèi)外部攻擊[11]。同時,共識節(jié)點借助只讀公鑰列表核實節(jié)點的共享許可來管理區(qū)塊鏈。ChainAchor 框架工作流程如圖3 所示。
當(dāng)前,為解決分布式數(shù)據(jù)碎片化、共享效率低、傳輸過程不安全、隱私保護(hù)等問題,出現(xiàn)了多種共識機制。例如,比特幣的POW(Power of work)、以太坊的POA(Proof of Activity),還有POS(Proof of Stake)、DPOS(Delegated Proof of Stake)等。但是,為適用于私有鏈對安全性、私密性的訪問控制要求,在設(shè)計私有鏈信息安全防御控制系統(tǒng)時,沒有選用上述主流的共識機制,而是使用MedRec 框架。
MedRec 的優(yōu)勢是結(jié)合智能合約達(dá)成了訪問權(quán)限的自動化控制。MedRec 包含3 層智能合約結(jié)構(gòu),第一層為注冊中心(Register Contract),實現(xiàn)節(jié)點身份的分發(fā)與管理;第二層為信任代理中心(Provider Contract),基于智能合約的強制規(guī)定實現(xiàn)節(jié)點權(quán)限的管理;第三層為簡要合同層(Summary Contract),在該層,智能合約對網(wǎng)絡(luò)節(jié)點的傳輸進(jìn)行控制,并將用戶節(jié)點的身份信息與區(qū)塊讀、寫權(quán)限相關(guān)聯(lián)[12]。
具體來說,首先,參照ChainAchor 架構(gòu)設(shè)計節(jié)點身份分發(fā)和認(rèn)證的智能合約,實現(xiàn)用戶身份認(rèn)證真實性及匿名性的雙向需求;其次,基于智能合約對各節(jié)點的讀、寫權(quán)限以及本節(jié)點信息被讀、寫的權(quán)限進(jìn)行強制規(guī)定,可限定除非經(jīng)過節(jié)點同意否則不得訪問隱私數(shù)據(jù);最后,基于簡要合約整合節(jié)點與權(quán)限之間的對應(yīng)關(guān)聯(lián),確定每一節(jié)點擁有的權(quán)限。MedRec框架需逐一梳理賬戶與權(quán)限之間的關(guān)系,雖然成本較高,但是在對數(shù)據(jù)私密性、安全性較高的行業(yè)領(lǐng)域,能依據(jù)智能合約實現(xiàn)對隱私數(shù)據(jù)的保護(hù),仍有一定的建設(shè)意義。

圖3 ChainAchor工作流程
私有鏈技術(shù)對信息安全防御系統(tǒng)建設(shè)的貢獻(xiàn)在于提供了一種文件共享及安全管理的新思路。以往的信息安全系統(tǒng)通過防火墻、VPN 等防御技術(shù)加強內(nèi)部環(huán)境的可信性,但是私有區(qū)塊鏈技術(shù)則直接放棄了這一目標(biāo),轉(zhuǎn)為默認(rèn)系統(tǒng)所在的P2P 環(huán)境是零信任的,通過共享賬本以及特殊的數(shù)據(jù)結(jié)構(gòu)建立了一套新的數(shù)據(jù)傳輸結(jié)構(gòu)。同時,在數(shù)據(jù)結(jié)構(gòu)構(gòu)造過程中,注重對存在證明、信息查詢、信息追溯等功能的應(yīng)用,實現(xiàn)了組織信息的安全、管理。
在實際工作中,可將基于私有區(qū)塊鏈技術(shù)的分布式信息安全系統(tǒng)應(yīng)用到對信息安全性、私密性要求較高的檔案服務(wù)機構(gòu)、金融機構(gòu)、公安部門等。
在數(shù)據(jù)已位列第五大社會要素的當(dāng)今時代,急需實現(xiàn)對海量數(shù)據(jù)安全、高效的管理,區(qū)塊鏈技術(shù)的快速成長正是順應(yīng)這一趨勢的結(jié)果。基于區(qū)塊鏈的銀行聯(lián)盟平臺[13]、電子政務(wù)信息共享平臺[14-15]、電能交易平臺[16]、電子招投標(biāo)[17]、云審計平臺[18]等紛紛建立,但基于私有區(qū)塊鏈技術(shù)的信息安全防御系統(tǒng)建設(shè)卻相對緩慢。應(yīng)當(dāng)注意的是,私有鏈技術(shù)雖然具有安全、不可篡改、可溯源等優(yōu)勢,但也有響應(yīng)的劣勢,例如,系統(tǒng)對信任中心的安全性要求較高;雖不存在公有鏈中的51%攻擊威脅,但中心化的結(jié)構(gòu)容錯性較低等。