劉德
摘要:區(qū)塊鏈作為新興技術(shù)受到越來越廣泛的關(guān)注,本文首先介紹了區(qū)塊鏈的技術(shù)原理,然后從區(qū)塊鏈的安全特性,區(qū)塊鏈面臨的安全挑戰(zhàn),區(qū)塊鏈安全體系建設(shè)3個(gè)角度進(jìn)行了安全層面的全面分析,最后提出了基于區(qū)塊鏈身份保護(hù),數(shù)據(jù)保護(hù),可信計(jì)算環(huán)境構(gòu)建的區(qū)塊鏈增強(qiáng)網(wǎng)絡(luò)空間安全的思考。為區(qū)塊鏈產(chǎn)業(yè)的研究人員在進(jìn)行開發(fā)的時(shí)候,提供一個(gè)安全層面的參考。
關(guān)鍵詞:區(qū)塊鏈;安全問題;安全增強(qiáng)
中圖分類號(hào):TP311.13;TP309 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)08-0199-02
區(qū)塊鏈[1]是從比特幣中抽象出的底層技術(shù),是一種傳統(tǒng)技術(shù)在互聯(lián)網(wǎng)時(shí)代下的新的應(yīng)用,這其中包括分布式數(shù)據(jù)存儲(chǔ)技術(shù)、P2P技術(shù)、共識(shí)機(jī)制和密碼學(xué)。隨著各種區(qū)塊鏈研究聯(lián)盟的創(chuàng)建,相關(guān)研究得到了越來越多的資金和人員支持,區(qū)塊鏈被寄予厚望。目前,區(qū)塊鏈的應(yīng)用已經(jīng)延伸到了數(shù)字交易、物聯(lián)網(wǎng)、資產(chǎn)管理等多個(gè)領(lǐng)域。但是安全事件的發(fā)生,使區(qū)塊鏈技術(shù)在安全層面面臨了諸多的挑戰(zhàn)。本文從區(qū)塊鏈的技術(shù)原理入手,分析了區(qū)塊鏈面臨的安全威脅,并提出了基于區(qū)塊鏈技術(shù)提升網(wǎng)絡(luò)空間安全的思考。
1 區(qū)塊鏈技術(shù)原理
1.1 基本原理
區(qū)塊鏈?zhǔn)且环N去中心化的、可信的分布式數(shù)據(jù)系統(tǒng)[2]。從狹義上說,區(qū)塊鏈本質(zhì)上是一種分布式的賬本。它是一種通過將數(shù)據(jù)區(qū)塊按照時(shí)間的順序進(jìn)行組合的鏈狀數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),并通過密碼體制保證數(shù)據(jù)的不可偽造、不可篡改。而從廣義上說,區(qū)塊鏈?zhǔn)且环N全新的分布式架構(gòu)和計(jì)算模式。它利用區(qū)塊和鏈的數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ),利用共識(shí)算法保證各節(jié)點(diǎn)間數(shù)據(jù)的同步,利用密碼學(xué)體制保證數(shù)據(jù)的存儲(chǔ)安全和傳輸安全,利用自動(dòng)化的腳本建立智能合約,實(shí)現(xiàn)自動(dòng)處理自動(dòng)判斷。
1.2 基礎(chǔ)架構(gòu)模型
按照層次對(duì)區(qū)塊鏈的基礎(chǔ)架構(gòu)進(jìn)行介紹,如圖1所示。
(1)數(shù)據(jù)層:數(shù)據(jù)層包含現(xiàn)實(shí)區(qū)塊鏈所使用的底層數(shù)據(jù)結(jié)構(gòu),其中包括:1)數(shù)據(jù)區(qū)塊。在區(qū)塊鏈中,數(shù)據(jù)是被永久存儲(chǔ)的,而存儲(chǔ)這些記錄的數(shù)據(jù)結(jié)構(gòu)就是區(qū)塊。區(qū)塊的頭用于和其他區(qū)塊進(jìn)行連接,塊身用于記錄數(shù)據(jù)。2)鏈?zhǔn)浇Y(jié)構(gòu)。區(qū)塊是按照時(shí)間順序依次生成并存儲(chǔ)的,將區(qū)塊以鏈的方式串接在一起,就組成了區(qū)塊鏈的存儲(chǔ)結(jié)構(gòu)。3)時(shí)間戳。時(shí)間戳被廣泛用于網(wǎng)絡(luò)系統(tǒng)和密碼系統(tǒng),用于對(duì)每個(gè)數(shù)據(jù)的獨(dú)立性進(jìn)行標(biāo)記,以對(duì)抗偽造和重放。4)哈希函數(shù)。哈希函數(shù)用于對(duì)數(shù)據(jù)生成定長(zhǎng)的散列值,作為對(duì)數(shù)據(jù)的標(biāo)記。5)Merkel樹。梅克爾樹,實(shí)現(xiàn)數(shù)據(jù)存在性和完整性的快速歸納和校驗(yàn)。6)公鑰密碼。公鑰密碼是密碼學(xué)在區(qū)塊鏈中的核心應(yīng)用,通過公私密鑰進(jìn)行加密和認(rèn)證。(2)網(wǎng)絡(luò)層:網(wǎng)絡(luò)層是基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),核心是P2P網(wǎng)絡(luò),傳播機(jī)制和驗(yàn)證機(jī)制。(3)共識(shí)層:共識(shí)層是區(qū)塊鏈各個(gè)節(jié)點(diǎn)之間達(dá)成共識(shí),其中主要包括工作量證明機(jī)制PoW,權(quán)益證明機(jī)制PoS和授權(quán)股份證明機(jī)制DPoS,各個(gè)機(jī)制的原理不再展開。(4)激勵(lì)層:激勵(lì)層是用于保證各個(gè)節(jié)點(diǎn)之間,在共識(shí)機(jī)制之下,實(shí)現(xiàn)工作和收益最大化滿足的一層。主要包括發(fā)行機(jī)制和分配機(jī)制。(5)合約層:合約層是運(yùn)行在各個(gè)計(jì)算節(jié)點(diǎn)之上,能夠自動(dòng)化執(zhí)行的各種算法腳本和代碼。其中最主要的部分是智能合約,能夠根據(jù)當(dāng)前的狀態(tài)對(duì)區(qū)塊鏈的行為進(jìn)行判斷和調(diào)整。(6)應(yīng)用層:應(yīng)用層根據(jù)區(qū)塊鏈的應(yīng)用場(chǎng)景而異。包括電子伙伴,資產(chǎn)管理和物聯(lián)網(wǎng)。
2 區(qū)塊鏈安全分析
2.1 區(qū)塊鏈安全特性[3,4]
(1)寫入數(shù)據(jù)的安全性。對(duì)于寫入?yún)^(qū)塊鏈的數(shù)據(jù)而言,在共識(shí)機(jī)制的制約之下,當(dāng)全網(wǎng)大部分的節(jié)點(diǎn)或者是核心的節(jié)點(diǎn)認(rèn)可這個(gè)記錄時(shí),這個(gè)數(shù)據(jù)的合法性和真實(shí)性才得以確保,記錄才允許被永久寫入?yún)^(qū)塊鏈當(dāng)中。(2)讀取數(shù)據(jù)的安全性。由于區(qū)塊鏈中的數(shù)據(jù)是加密存儲(chǔ)的,只有擁有用戶私鑰的節(jié)點(diǎn)才可以解密區(qū)塊中的核心數(shù)據(jù),進(jìn)而獲取區(qū)塊內(nèi)容。此外,區(qū)塊鏈的共識(shí)機(jī)制是復(fù)雜的,能夠確保大部分的用戶能夠看到一個(gè)相同的賬本。(3)分布式拒絕服務(wù)(DDOS)攻擊抵抗。區(qū)塊鏈的區(qū)中心化架構(gòu)相比于傳統(tǒng)的網(wǎng)絡(luò)架構(gòu),其節(jié)點(diǎn)分散、無(wú)固定中心且具備冗余的特性,針對(duì)區(qū)塊鏈的DDOS攻擊將會(huì)更難展開。攻擊者對(duì)某個(gè)節(jié)點(diǎn)攻擊時(shí),即便這個(gè)節(jié)點(diǎn)失效,也不會(huì)影響整個(gè)區(qū)塊鏈系統(tǒng)。
2.2 區(qū)塊鏈面臨的安全挑戰(zhàn)
目前區(qū)塊鏈面臨了諸多方面的安全挑戰(zhàn),主要包含以下幾個(gè)方面:
(1)密碼算法安全性。目前區(qū)塊鏈基于的算法主要是公鑰算法和哈希算法,其安全性來源于數(shù)學(xué)難度,相對(duì)是安全的。但是隨著高性能計(jì)算和量子計(jì)算的發(fā)展和商業(yè)化,目前所有的加密算法均存在被破解的可能性,這也是區(qū)塊鏈面臨的一個(gè)威脅。(2)協(xié)議安全性。區(qū)塊鏈中,如果一個(gè)節(jié)點(diǎn)能夠掌控全網(wǎng)51%的計(jì)算能力,就可以偽造或者篡改區(qū)塊鏈的數(shù)據(jù)。在目前典型的電子貨幣的應(yīng)用場(chǎng)景中,這是得不償失。但是隨著區(qū)塊鏈應(yīng)用范圍的拓寬,攻擊者為了達(dá)到某個(gè)目的,有可能實(shí)施這樣的攻擊。(3)使用安全性。區(qū)塊鏈有著無(wú)法篡改,不可偽造,計(jì)算不可逆的特點(diǎn),但是必須是在私鑰安全的前提之下。但是目前針對(duì)密鑰的攻擊層出不窮,一旦用戶使用不當(dāng),造成私鑰丟失,就會(huì)給區(qū)塊鏈系統(tǒng)帶來危險(xiǎn)。(4)系統(tǒng)安全性。在區(qū)塊鏈的編碼中,不可避免會(huì)存在很多的安全漏洞,針對(duì)這些漏洞展開的攻擊層出不窮,這對(duì)區(qū)塊鏈的應(yīng)用和推廣帶來的很大的影響。
2.3 區(qū)塊鏈安全體系構(gòu)建
針對(duì)現(xiàn)有區(qū)塊鏈技術(shù)安全特點(diǎn)和安全威脅,需要圍繞一下幾個(gè)方面構(gòu)建更加安全的區(qū)塊鏈系統(tǒng),保證區(qū)塊鏈在未來大范圍部署后的安全性。
(1)物理安全。區(qū)塊鏈終究是運(yùn)行在網(wǎng)絡(luò)和主機(jī)上的,傳統(tǒng)的安全防護(hù)方法能夠有效增強(qiáng)網(wǎng)絡(luò)和主機(jī)安全,如VPN、防護(hù)墻、入侵檢測(cè)和物理隔離。(2)數(shù)據(jù)安全。區(qū)塊鏈各個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)應(yīng)該是加密傳輸?shù)模?duì)發(fā)送到區(qū)塊鏈中的數(shù)據(jù)實(shí)施嚴(yán)格的訪問權(quán)限控制,以規(guī)避不必要的數(shù)據(jù)泄露。(3)應(yīng)用安全。應(yīng)用的安全需要保證認(rèn)證、授權(quán)、交易規(guī)則等方面的安全,任何參與到區(qū)塊鏈計(jì)算中的用戶和計(jì)算節(jié)點(diǎn)都應(yīng)該是被監(jiān)控的。(4)密鑰安全。私鑰安全是區(qū)塊鏈放偽造的核心,要建立合理的安全機(jī)制對(duì)密鑰進(jìn)行保管。當(dāng)密鑰泄露時(shí),應(yīng)當(dāng)對(duì)密鑰進(jìn)行及時(shí)的修改。endprint
3 基于區(qū)塊鏈技術(shù)提升網(wǎng)絡(luò)空間安全
基于區(qū)塊鏈去中心化、匿名性、開放性和不可篡改性這些特點(diǎn),區(qū)塊鏈能夠在身份保護(hù)、數(shù)據(jù)保護(hù)和構(gòu)建可信計(jì)算環(huán)境以方面發(fā)揮重要的作用。
3.1 身份保護(hù)
傳統(tǒng)的基于PKI的公鑰體制的部署通常依賴于一個(gè)中心化的可信第三方CA,統(tǒng)一生成、分發(fā)和銷毀公私密鑰對(duì)。CA的中心化決定了其成為黑客攻擊的重要目標(biāo),一旦攻擊成功,黑客能夠掌握用戶的私鑰,進(jìn)而實(shí)施中間人攻擊。
基于區(qū)塊鏈增強(qiáng)身份保護(hù)有兩個(gè)思路:
(1)保留中心,采用區(qū)塊鏈存儲(chǔ)和頒發(fā)證書。通過將數(shù)據(jù)源去中心化,為用戶提供了驗(yàn)證證書來源真實(shí)可靠得手段。同時(shí),在區(qū)塊鏈中進(jìn)行簽名驗(yàn)證的時(shí)候,能夠減少對(duì)密鑰中心的訪問次數(shù),優(yōu)化了網(wǎng)絡(luò)登錄的效率。(2)取消密鑰中心,將個(gè)人信息和哈希值聯(lián)系在一起,網(wǎng)絡(luò)中的設(shè)備進(jìn)行通信的時(shí)候,設(shè)備以點(diǎn)對(duì)點(diǎn)的方式直接進(jìn)行互動(dòng)和驗(yàn)證,不需要第三方的介入。這對(duì)于目前移動(dòng)終端的大規(guī)模普及和物聯(lián)網(wǎng)安全的發(fā)展有著重要的意義。
3.2 數(shù)據(jù)保護(hù)
在數(shù)據(jù)保護(hù)的過程中,通常用私鑰對(duì)文件進(jìn)行簽名,驗(yàn)證方可以根據(jù)對(duì)應(yīng)的公鑰進(jìn)行驗(yàn)證。但是如果證明私鑰沒有被修改是一件困難的事情,因?yàn)樗借€本身是保密的。用區(qū)塊鏈存儲(chǔ)文件的簽名信息,充分利用了區(qū)塊鏈透明分布的特點(diǎn),單個(gè)節(jié)點(diǎn)都無(wú)法對(duì)數(shù)據(jù)進(jìn)行篡改和偽造,這就保證了數(shù)據(jù)的完整性和安全性。
3.3 可信計(jì)算環(huán)境構(gòu)建
目前,在可信網(wǎng)絡(luò)的實(shí)現(xiàn)中,僅僅是解決了邊界安全的問題,而對(duì)于網(wǎng)絡(luò)連接后的安全狀態(tài)缺乏一個(gè)有效的保障機(jī)制。區(qū)塊鏈去中心化的特點(diǎn)恰好可以解決這個(gè)問題。處于同一個(gè)網(wǎng)絡(luò)中的計(jì)算節(jié)點(diǎn),在網(wǎng)絡(luò)運(yùn)行過程中難以對(duì)其他節(jié)點(diǎn)的安全狀態(tài)進(jìn)行實(shí)時(shí)判斷和跟蹤,而區(qū)塊鏈技術(shù)可以將每一個(gè)平臺(tái)的安全狀態(tài)信息實(shí)施更新到整個(gè)的安全賬本中。當(dāng)計(jì)算節(jié)點(diǎn)發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)的審計(jì)信息出現(xiàn)異常的時(shí)候,就可以判斷其處于危險(xiǎn)狀態(tài),而進(jìn)行一定的處理。
4 總結(jié)與展望
區(qū)塊鏈的研究正在起步,而區(qū)塊鏈又面臨的諸多安全問題。本文對(duì)這些安全問題進(jìn)行了分析,并提出了基于區(qū)塊鏈增強(qiáng)網(wǎng)絡(luò)空間安全的幾點(diǎn)思考,為區(qū)塊鏈產(chǎn)業(yè)的研究人員在進(jìn)行開發(fā)的時(shí)候,提供一個(gè)安全層面的參考。
參考文獻(xiàn)
[1]姜奇平.區(qū)塊鏈與貨幣哲學(xué)的發(fā)展[J].互聯(lián)網(wǎng)周刊,2016,(11):70-71.
[2]袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].Acta Automatica Sinica,2016,42(4):481-494.
[3]趙赫,李曉風(fēng),占禮葵,等.基于區(qū)塊鏈技術(shù)的采樣機(jī)器人數(shù)據(jù)保護(hù)方法[J].華中科技大學(xué)學(xué)報(bào)自然科學(xué)版,2015,(S1):216-219.
[4]廉藺,朱啟超,趙炤.區(qū)塊鏈技術(shù)及其潛在的軍事價(jià)值[J].國(guó)防科技,2016,37(2):30-34.
[5]張煥國(guó),趙波.可信計(jì)算[M].武漢大學(xué)出版社,2011:23-25.
[6]葉純青.區(qū)塊鏈與保護(hù)數(shù)字身份安全[J].金融科技時(shí)代,2016,(12).
[7]慈林林,楊明華.可信網(wǎng)絡(luò)連接與可信云計(jì)算[M].科學(xué)出版社,2016:217-220.
[8]Vic Mankotia.區(qū)塊鏈技術(shù):安全數(shù)字化的下一階段[J].軟件和集成電路,2016,(9).
[9]顧彥.區(qū)塊鏈+大數(shù)據(jù):給數(shù)據(jù)“加戳”、“加密”[J].中國(guó)戰(zhàn)略新興產(chǎn)業(yè),2016,(19).
[10]謝輝,王健.區(qū)塊鏈技術(shù)及其應(yīng)用研究[J].信息網(wǎng)絡(luò)安全,2016,(9).endprint