◆于 泉 郭 澍 翟耀超
(國家應用軟件產品質量監督檢驗中心(北京軟件產品質量檢測檢驗中心) 北京 100083)
區塊鏈是比特幣的底層技術,目前區塊鏈技術架構在此基礎上有了很多版本分支,盡管不同的區塊鏈技術在具體實現上各有不同,但在整體架構上卻存在很多共同的特點。目前已提出的大多數數字貨幣系統都是去中心化的,它允許節點自行記錄數據、發行貨幣。本文從底層的技術分析,主要針對數據層、通信層、共識與合約層、應用層安全展開介紹。數據層主要面向區塊鏈自身的數據格式,數據層主要關注的是數據的不可篡改性,一般需要保存的數據如交易數據、狀態數據等;網絡層主要負責各個節點間的數據通信,區塊鏈網絡中沒有中心服務器,參與系統的每個節點都有義務驗證交易和區塊的合法性、參與交易和區塊的存儲轉發,也同時具有丟棄其認為不合法的交易和區塊;共識與合約層顧名思義,在節點互不信任的網絡中,使節點達成一致的充分必要條件是每個節點出于自身利益最大化考慮,都會自發、誠實地遵守協議預設的規則,判斷每一筆交易的真實性并將判斷為真的記錄記入區塊鏈中;合約層體現在當滿足合約條件時,即自動啟動智能合約,一方面減少了人工干涉,一方面保證了發行者無法違約,進而保證了節點的可信,共識與合約層屬于區塊鏈技術中的核心特性,相輔相成;應用層主要是指區塊鏈的各類應用場景,為用戶提供各種服務和應用,將底層區塊鏈技術與實際應用場景相結合。
從整體風格來看,等保1.0側重的是對于自身防護的要求,而隨著當前網絡安全形勢的變化,尤其是《網絡安全法》的發布實施,等保2.0標準結合《網絡安全法》中對于持續監測、威脅情報、應急響應等方面提出了相對具體的要求。
等保2.0確立了可信計算技術的重要地位,可信計算技術為主動防御提供了新的思路,也在等保2.0中被重點提及。可信計算保護數據隱私性的屬性,使其變為區塊鏈技術生態中的重要一環。而區塊鏈技術的核心機理包括共識機制和智能合約,共識即具有權限的節點之間對區塊中存儲的內容信息達成的一致性和有效性協議,共識機制具有一定的容錯、防止篡改和抵賴的能力。
在網絡安全等級保護中,數據加密技術是實現數據機密性的保護措施,密碼學相關的技術如哈希算法、加解密算法、簽名算法、零知識證明等是區塊鏈安全最底層的根基,整個區塊鏈的安全體系都建立于密碼學的困難問題之上。
為了保證數據的可信度,時間戳服務也是常用的技術手段。因為時間戳通過將現實時間標記上去,可以證明數據生成的時間,進而可以表明不同區塊生成的先后順序。這種時間戳的設計,使得更改一條記錄的困難程度按時間的指數倍增加,越老的記錄越難更改,區塊鏈運行時間越久,篡改難度越高。
區塊鏈就是P2P的網絡架構,通過密碼學來保證數據的安全,通過共識算法來保證數據的一致性。從等保2.0的安全通信網絡和安全區域邊界角度分析,網絡層面臨的主要安全風險是區塊鏈節點組網、數據傳輸、存儲時的數據保密性以及數據完整性,比如數據傳輸過程中是否被篡改、數據存儲是數據是否完整、未發生丟失情況;以及遭受DDoS攻擊,導致節點資源消耗過大、運行不穩定等。
共識機制是區塊鏈得以成功的基礎,如果因網絡攻擊使得網絡節點不能取得共識,或共識機制的健壯性出現問題,那么區塊鏈將變得不再安全。目前常用的 PoW、PoS、DPoS 以及 PBFT等共識機制,在使用過程中都存在一定的安全風險。
共識和合約層面臨的安全風險主要就是受到惡意攻擊,常見的攻擊比如“51%”攻擊、DDoS攻擊以及針對共識和智能合約邏輯漏洞實施的攻擊等;共識和智能合約存在邏輯漏洞,導致業務邏輯出現異常;智能合約存在編碼缺陷,導致代碼重入、短地址攻擊、整數溢出、依賴時間戳等缺陷等。
由于區塊鏈采取不同于傳統信息系統的信息傳遞機制和共識機制,網絡上任何一個區塊鏈節點都可以獲得鏈上的所有信息,包括用戶地址、詳細交易信息等隱私信息,這為區塊鏈帶來了嚴重的隱私保護難題。
應用層面臨的主要安全風險體現在兩個方面:首先是交易服務器的未授權訪問,一旦獲取了服務器的權限,那么攻擊者即可輕易地獲取密鑰信息以及敏感信息;其次就是DDOS攻擊,據統計分析,區塊鏈技術發展面臨的DDOS問題也相對十分嚴峻。
在分析每層所面臨的主要風險后,在網絡安全等級保護方面提出針對性的安全措施,用于抵抗、降低、轉移安全風險,除了技術層面的安全風險,還有一部分風險來自管理。安全管理風險一般涉及安全管理制度、安全運維管理等方面,具體的要求與網絡安全等級保護并無實質性區別,建議參照相關等保2.0標準采取應對措施。
數據層面,應采取加密措施對有關業務敏感的信息進行保護;提供備份恢復功能,區塊數據可以進行備份和恢復;使用較為安全的哈希算法,如國密算法SM3、SHA256等;使用強偽隨機數,保證其隨機性和不可預測性,防止隨機數被破解;使用非對稱加密算法,用于信息加密、數字簽名和登錄認證等場景,如國密算法 SM2等,在設計應用時,應該選擇安全性更高的密碼算法,應用投入使用后還要及時替換掉不再安全的密碼算法。
網絡層面,應能夠根據共識算法容忍節點失效、承受節點攻擊和欺騙;節點能夠承受一定業務壓力,并對資源進行監控;使用安全的通信協議;使用哈希函數、同態加密、數字簽名等技術保證數據傳輸的保密性、完整性和可靠性等。
共識與合約層面,設計使用合理和安全的共識機制,提供節點容錯功能,合約源代碼符合安全編碼規范,設置正確的操作邏輯,嚴格限制外部合約的調用等。
在網絡安全等級保護中,采用安全性較高的身份鑒別方式,提升訪問控制措施,同時加強對重要操作的安全審計機制,保證用戶鑒別信息所在的存儲空間的安全性,無論這些信息是存放在硬盤上還是內存中;提供數據變換技術,如數據加密、敏感數據脫敏等手段將敏感數據進行變換等。
區塊鏈是一項具有遠大前景的技術,用來實現可信的價值傳遞,當前已經被應用在金融交易清算、公證、數字產權保護和物流溯源等領域。在等保2.0時代,區塊鏈是目前技術發展的趨勢,無論從法律標準還是實際應用場景來說,都還有廣闊的發展空間,未來監管機構在檢查的時候需升級現有的技術手段,應對分領域的技術檢查,為人工智能、區塊鏈、物聯網、云計算等新技術的應用保駕護航。