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