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