国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)安全等級(jí)保護(hù)下的區(qū)塊鏈評(píng)估方法

2020-11-03 02:11秦博涵馮榮權(quán)趙章界
工程科學(xué)學(xué)報(bào) 2020年10期
關(guān)鍵詞:挖礦賬本比特

朱 巖,張 藝,王 迪,秦博涵,郭 倩,馮榮權(quán),趙章界

1) 北京科技大學(xué)計(jì)算機(jī)與通信工程學(xué)院,北京 100083 2) 中國(guó)科學(xué)院軟件研究所,北京 100190 3) 北京大學(xué)數(shù)學(xué)科學(xué)學(xué)院,北京 100871 4) 北京信息安全測(cè)評(píng)中心,北京 100101

區(qū)塊鏈?zhǔn)且环N密碼學(xué)化的分布式數(shù)據(jù)庫和網(wǎng)絡(luò)交易記賬系統(tǒng),可不依賴于可信第三方提供安全的電子交易服務(wù)[1]. 在當(dāng)前科技重大變革的時(shí)代,區(qū)塊鏈技術(shù)憑借其密碼化結(jié)構(gòu)、P2P網(wǎng)絡(luò)、共識(shí)機(jī)制、智能合約等機(jī)制,具有去中心化、防篡改、可追溯等特性,成為當(dāng)前信息化發(fā)展的熱點(diǎn).區(qū)塊鏈的應(yīng)用已延伸到醫(yī)療[2]、版權(quán)[3]、法律[4]、媒體、資產(chǎn)管理[5]等多個(gè)領(lǐng)域.

當(dāng)前,與互聯(lián)網(wǎng)相連的計(jì)算機(jī)系統(tǒng)都有可能遭受來自世界范圍的攻擊,這不僅會(huì)影響系統(tǒng)的正常使用,甚至?xí)绊懶畔⒒鐣?huì)的穩(wěn)定與國(guó)家安全. 我國(guó)信息安全等級(jí)保護(hù)[6](簡(jiǎn)稱等保)制度的實(shí)施,不僅能引導(dǎo)各行業(yè)按照等保標(biāo)準(zhǔn)進(jìn)行安全管理,還可以使監(jiān)管、測(cè)評(píng)機(jī)構(gòu)有法可依、有章可循,對(duì)網(wǎng)絡(luò)安全具有重要意義. 隨著等級(jí)保護(hù)2.0時(shí)代[7]的到來,信息安全等級(jí)保護(hù)制度也正式更名網(wǎng)絡(luò)安全等級(jí)保護(hù)制度[8]. 《中華人民共和國(guó)網(wǎng)絡(luò)安全法》[9]第二十一條、第三十一條規(guī)定我國(guó)實(shí)行網(wǎng)絡(luò)安全等級(jí)保護(hù)制度,國(guó)家對(duì)關(guān)鍵信息基礎(chǔ)設(shè)施在網(wǎng)絡(luò)安全等級(jí)保護(hù)的基礎(chǔ)上實(shí)行重點(diǎn)保護(hù).

區(qū)塊鏈技術(shù)起源于國(guó)外,在我國(guó)正處于發(fā)展階段,其測(cè)試評(píng)價(jià)工作也正在同步推進(jìn). 按照等級(jí)保護(hù)修訂思路和方法,除了具有普適性的通用要求外,還應(yīng)針對(duì)特定技術(shù)及領(lǐng)域(如云計(jì)算、移動(dòng)互聯(lián)、物聯(lián)網(wǎng)、工業(yè)控制、大數(shù)據(jù)等)制定測(cè)評(píng)規(guī)范. 鑒于區(qū)塊鏈技術(shù)的特殊性,我國(guó)已經(jīng)啟動(dòng)了區(qū)塊鏈測(cè)評(píng)規(guī)范的制定工作,例如,中國(guó)區(qū)塊鏈測(cè)評(píng)聯(lián)盟出臺(tái)了“區(qū)塊鏈與分布式記賬信息系統(tǒng)評(píng)估規(guī)范”. 然而,上述工作并沒有將等級(jí)保護(hù)標(biāo)準(zhǔn)應(yīng)用于區(qū)塊鏈測(cè)評(píng)規(guī)范制定中.

針對(duì)目前仍然鮮有參照等保2.0標(biāo)準(zhǔn)開展區(qū)塊鏈測(cè)評(píng)研究的現(xiàn)狀,而國(guó)家關(guān)鍵信息基礎(chǔ)設(shè)施的安全保護(hù)等級(jí)至少為第三級(jí),因此本文將以“等保三級(jí)”的應(yīng)用和數(shù)據(jù)安全要求為依托,以區(qū)塊鏈功能組成為單元提出安全評(píng)估要求,并結(jié)合具體區(qū)塊鏈進(jìn)行分析. 上述工作通過對(duì)區(qū)塊鏈進(jìn)行系統(tǒng)化的測(cè)評(píng),將有利于推動(dòng)區(qū)塊鏈技術(shù)在我國(guó)的持續(xù)健康發(fā)展.

1 等級(jí)保護(hù)概述

等級(jí)保護(hù)是我國(guó)關(guān)于信息安全的基本政策.基本思想是對(duì)不同的保護(hù)對(duì)象分等級(jí),以便按照標(biāo)準(zhǔn)進(jìn)行管理和監(jiān)督. 等級(jí)保護(hù)工作在國(guó)外早已紛紛開展:美國(guó)國(guó)防部20世紀(jì)80年代成立國(guó)家計(jì)算機(jī)安全中心,90年代公布的橘皮書帶動(dòng)了國(guó)際的安全評(píng)估工作;隨后,歐洲借鑒橘皮書的經(jīng)驗(yàn),公布了歐洲白皮書,并首次提出信息安全的保密性、完整性、可用性,國(guó)際的信息安全研究再上新臺(tái)階;1996年,美國(guó)政府同加拿大及歐共體吸收了包括歐洲白皮書、加拿大的CTCPEC以及國(guó)際標(biāo)準(zhǔn)化組織ISO:SC27WG3的安全評(píng)估標(biāo)準(zhǔn)在內(nèi)的各國(guó)先進(jìn)經(jīng)驗(yàn),制定了通用安全評(píng)估準(zhǔn)則(CC).

我國(guó)在充分借鑒他國(guó)前提下,從信息系統(tǒng)建設(shè)、管理和使用等方面入手,建立計(jì)算機(jī)信息系統(tǒng)安全等級(jí)保護(hù)制度[10],并制定安全評(píng)估標(biāo)準(zhǔn). 國(guó)家標(biāo)準(zhǔn)《GB/T 22239—2019 信息安全技術(shù) 網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求》在開展信息安全等級(jí)保護(hù)工作的過程中起到了非常重要的作用[11]. 為了進(jìn)一步完善等級(jí)保護(hù)的適用性、時(shí)效性、可操作性,近年來出現(xiàn)的網(wǎng)絡(luò)新技術(shù),包括移動(dòng)互聯(lián)網(wǎng)、云計(jì)算[12]、大數(shù)據(jù)[13]、物聯(lián)網(wǎng)[14]和工業(yè)控制五個(gè)領(lǐng)域,分別依據(jù)GB/T 22239—2019修訂的思路和方法進(jìn)行面向領(lǐng)域的等級(jí)保護(hù)標(biāo)準(zhǔn)制定.

1.1 安全等級(jí)保護(hù)的定級(jí)標(biāo)準(zhǔn)

安全等級(jí)的劃分是根據(jù)等保對(duì)象在國(guó)家安全、經(jīng)濟(jì)建設(shè)、社會(huì)生活中的重要程度,遭到破壞后對(duì)國(guó)家安全、社會(huì)秩序、公共利益及公民、法人和其他組織的合法權(quán)益的危害程度等因素確定. 表1給出了定級(jí)要素與安全等級(jí)之間的對(duì)應(yīng)關(guān)系,其中,從第一級(jí)到第五級(jí)等級(jí)保護(hù)對(duì)象遭到破壞后所產(chǎn)生的損失依次增加.

表1 定級(jí)要素與安全等級(jí)的關(guān)系Table 1 Relation between grading elements and safety level

1.2 等保2.0版與1.0版應(yīng)用層控制點(diǎn)對(duì)比

等級(jí)保護(hù)2.0的標(biāo)準(zhǔn)是在等級(jí)保護(hù)1.0的基礎(chǔ)上重新確立并發(fā)展的. 在應(yīng)用層面上,如表2所示,等級(jí)保護(hù)三級(jí)2.0通用標(biāo)準(zhǔn)將原有1.0標(biāo)準(zhǔn)中的應(yīng)用安全、數(shù)據(jù)安全及備份恢復(fù)兩個(gè)層面合并為應(yīng)用和數(shù)據(jù)安全;將通信完整性、通信保密性納入網(wǎng)絡(luò)和通信安全層;此外,在1.0基礎(chǔ)上增加了剩余信息保護(hù)和個(gè)人信息保護(hù)兩個(gè)控制點(diǎn).

2 區(qū)塊鏈框架

目前,主流的區(qū)塊鏈系統(tǒng)包括比特幣[1]、以太坊[15]和超級(jí)賬本[16],并各具特點(diǎn). 簡(jiǎn)單地講,比特幣是最早真正意義的去中心化區(qū)塊鏈系統(tǒng),共識(shí)采用工作量證明獲得記賬權(quán). 它只能處理簡(jiǎn)單的腳本,并不具備圖靈完備的智能合約執(zhí)行能力. 以太坊是一個(gè)允許用戶按照自己的意愿創(chuàng)建復(fù)雜操作并具備圖靈完備的智能合約功能的可編程區(qū)塊鏈,它的出現(xiàn)將區(qū)塊鏈帶入了智能合約[17]時(shí)代;IBM的超級(jí)賬本系統(tǒng)是一種可插拔、可擴(kuò)展的模塊化區(qū)塊鏈平臺(tái),它的中心化程度較高,支持通用編程語言而不是特定領(lǐng)域語言(DSL)編寫智能合約.

上述區(qū)塊鏈系統(tǒng)的不同特征無疑增大了區(qū)塊鏈測(cè)評(píng)的難度,然而,無論何種區(qū)塊鏈,按照其系統(tǒng)框架均可以劃分為網(wǎng)絡(luò)層、共識(shí)層、交易層、合約層,如圖1所示. 區(qū)塊鏈系統(tǒng)的核心部分包括:分布式對(duì)等網(wǎng)絡(luò)(網(wǎng)絡(luò)層)、共識(shí)機(jī)制(共識(shí)層)、分布式賬本(交易層)、智能合約(合約層)等. 有鑒于此,本文將分別針對(duì)區(qū)塊鏈系統(tǒng)上述各個(gè)部分進(jìn)行測(cè)評(píng).

3 分布式對(duì)等網(wǎng)絡(luò)測(cè)評(píng)

分布式對(duì)等網(wǎng)絡(luò)是僅包含具有等效控制和操作能力節(jié)點(diǎn)的計(jì)算機(jī)網(wǎng)絡(luò). 區(qū)塊鏈信息系統(tǒng)底層拓?fù)浣Y(jié)構(gòu)是分布式對(duì)等網(wǎng)絡(luò),各個(gè)節(jié)點(diǎn)通過對(duì)等網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信以支撐上層功能. 網(wǎng)絡(luò)的五層模型可以分為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層. 區(qū)塊鏈系統(tǒng)小世界模型[18]的P2P網(wǎng)絡(luò)是以IP協(xié)議、TCP協(xié)議為基礎(chǔ)存在于應(yīng)用層面上的邏輯覆蓋網(wǎng)絡(luò),特點(diǎn)主要有非中心化、擴(kuò)展性強(qiáng)及負(fù)載均衡[19],這些特點(diǎn)為區(qū)塊鏈系統(tǒng)高效穩(wěn)定運(yùn)行提供了強(qiáng)有力的保證.

區(qū)塊鏈系統(tǒng)維護(hù)一個(gè)在啟動(dòng)時(shí)可以連接的對(duì)等節(jié)點(diǎn)列表[20],在系統(tǒng)新節(jié)點(diǎn)接入已有網(wǎng)絡(luò)時(shí),首先節(jié)點(diǎn)會(huì)通過“種子”得到對(duì)等節(jié)點(diǎn)IP列表. 節(jié)點(diǎn)間通常采用TCP協(xié)議與相鄰節(jié)點(diǎn)建立連接,建立連接時(shí)也會(huì)有認(rèn)證“握手”的通信過程用來確定P2P協(xié)議版本、軟件版本、節(jié)點(diǎn)IP、區(qū)塊高度等.為了能夠被更多節(jié)點(diǎn)發(fā)現(xiàn),新節(jié)點(diǎn)會(huì)將帶有自身IP地址的信息發(fā)送給相鄰節(jié)點(diǎn),并要求其返回其已知的對(duì)等節(jié)點(diǎn)的IP地址列表.

表 2 等級(jí)保護(hù)1.0與2.0三級(jí)應(yīng)用層控制點(diǎn)對(duì)比Table 2 Comparison of application layer control points in classified protection 1.0 and 2.0 at level 3

圖1 區(qū)塊鏈框架Fig.1 Blockchain framework

表3列舉了針對(duì)區(qū)塊鏈中分布式對(duì)等網(wǎng)絡(luò)的測(cè)評(píng)標(biāo)準(zhǔn),并對(duì)身份鑒別、軟件容錯(cuò)、資源控制、數(shù)據(jù)完整性、審計(jì)等五個(gè)類別逐項(xiàng)對(duì)區(qū)塊鏈P2P網(wǎng)絡(luò)[21-22]進(jìn)行了分析. 測(cè)評(píng)項(xiàng)包括:①節(jié)點(diǎn)接入控制,② 自我保護(hù)與自適應(yīng),③并發(fā)連接限制,④連接超時(shí)限制,⑤單播通訊防篡改,⑥廣播通信防篡改,⑦轉(zhuǎn)發(fā)通信防篡改,⑧網(wǎng)絡(luò)狀態(tài)獲取更新和⑨網(wǎng)絡(luò)節(jié)點(diǎn)動(dòng)態(tài)監(jiān)測(cè).

值得說明的是,已建立連接的節(jié)點(diǎn)會(huì)定期發(fā)送信息維持連接,如果某個(gè)節(jié)點(diǎn)長(zhǎng)達(dá)90 min沒有通信,則結(jié)束會(huì)話. P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接不超過117個(gè)輸入連接,向其他節(jié)點(diǎn)發(fā)起8個(gè)輸出連接,超過數(shù)量的IP地址會(huì)被忽略.

比特幣采用P2P網(wǎng)絡(luò),每個(gè)節(jié)點(diǎn)鄰接邊數(shù)為8,如圖2(a)所示我們測(cè)量了近3個(gè)月時(shí)間內(nèi)比特幣網(wǎng)絡(luò)規(guī)模的變化情況,可以看出,目前該網(wǎng)絡(luò)規(guī)??蛇_(dá)60萬個(gè)節(jié)點(diǎn),大約需要7~10次轉(zhuǎn)發(fā)可實(shí)現(xiàn)交易的全網(wǎng)廣播,由圖2(b)可知,2009年之后網(wǎng)絡(luò)規(guī)模呈增長(zhǎng)趨勢(shì),因此對(duì)P2P網(wǎng)絡(luò)的要求日益嚴(yán)格.

區(qū)塊鏈網(wǎng)絡(luò)測(cè)評(píng)需要對(duì)網(wǎng)絡(luò)規(guī)模、節(jié)點(diǎn)地理分布、節(jié)點(diǎn)中斷可用性方面的網(wǎng)絡(luò)穩(wěn)定性以及有關(guān)傳輸信息、傳播時(shí)間等數(shù)據(jù)進(jìn)行收集與分析,并總結(jié)區(qū)塊鏈對(duì)等網(wǎng)絡(luò)的實(shí)際使用情況,完成測(cè)評(píng)工作. 表3中提供了針對(duì)每個(gè)測(cè)評(píng)項(xiàng)的實(shí)施方法及預(yù)期效果,同時(shí),給出了區(qū)塊鏈系統(tǒng)的測(cè)評(píng)結(jié)果,可以看出,除第②、③、④、⑧測(cè)評(píng)項(xiàng)通過外,其他5項(xiàng)均未達(dá)到等保三級(jí)要求.

4 共識(shí)機(jī)制測(cè)評(píng)

共識(shí)機(jī)制[23-24]是區(qū)塊鏈系統(tǒng)成員節(jié)點(diǎn)在對(duì)區(qū)塊鏈的操作(如建塊、交易驗(yàn)證等)上達(dá)成一致確認(rèn)的方式. 由于區(qū)塊鏈?zhǔn)侨ブ行幕植际较到y(tǒng),沒有中心化記賬節(jié)點(diǎn)確保每筆交易在所有節(jié)點(diǎn)上的記錄一致,因此共識(shí)機(jī)制的作用就是實(shí)現(xiàn)區(qū)塊鏈各節(jié)點(diǎn)之間的數(shù)據(jù)一致性和操作同步性,它是區(qū)塊鏈系統(tǒng)的關(guān)鍵技術(shù)之一.

現(xiàn)有的主流共識(shí)技術(shù)[25]主要有工作量證明(PoW)[26-27]、拜占庭容錯(cuò)共識(shí)(PBFT)[28-29]、權(quán)益證明(PoS)[30]和授權(quán)權(quán)益證明(DPoS)[31]等. 采用了PoW協(xié)議的區(qū)塊鏈,它適用于較大規(guī)模網(wǎng)絡(luò),也是至今為止最成熟的共識(shí)協(xié)議. 與之相比,PBFT則更適用于小型的全連通網(wǎng)絡(luò). 區(qū)塊鏈可根據(jù)需求并結(jié)合實(shí)際情況(如節(jié)點(diǎn)數(shù)量、容錯(cuò)性、性能效率等指標(biāo))選擇適合的共識(shí)算法. 本節(jié)將對(duì)PoW協(xié)議予以測(cè)評(píng).

共識(shí)機(jī)制的測(cè)評(píng)以共識(shí)算法的資源耗費(fèi)和共識(shí)所達(dá)到的效果兩方面為核心,測(cè)評(píng)項(xiàng)主要包括共識(shí)資源控制、備份與恢復(fù)、共識(shí)效果三方面,具體包括:①共識(shí)資源控制,②實(shí)時(shí)備份,③系統(tǒng)熱冗余,④共識(shí)容錯(cuò)性,⑤共識(shí)有效性和⑥共識(shí)結(jié)果一致性.

PoW的共識(shí)過程如圖3所示,其目標(biāo)是所有節(jié)點(diǎn)共同建立包含最近交易的新區(qū)塊,共識(shí)主要分為交易收集、候選區(qū)塊創(chuàng)建、工作量證明(挖礦[32])、廣播區(qū)塊、區(qū)塊組裝到鏈和交易回收幾個(gè)階段,并由通常的區(qū)塊鏈節(jié)點(diǎn)(交易節(jié)點(diǎn))與礦工節(jié)點(diǎn)共同實(shí)現(xiàn),下述評(píng)測(cè)內(nèi)容在此共識(shí)過程基礎(chǔ)上進(jìn)行評(píng)測(cè).

表 3 分布式對(duì)等網(wǎng)絡(luò)測(cè)評(píng)Table 3 Distributed peer-to-peer network assessment

4.1 共識(shí)資源控制(測(cè)評(píng)項(xiàng)①)

圖2 比特幣P2P網(wǎng)絡(luò)規(guī)模變化圖. (a)近3個(gè)月比特幣網(wǎng)絡(luò)規(guī)模變化圖;(b) 2009年之后比特幣網(wǎng)絡(luò)規(guī)模變化圖Fig.2 Scale change of Bitcoin P2P network: (a) scale change of Bitcoin P2P network in last three months; (b) scale change of Bitcoin P2P network since 2009

圖3 共識(shí)過程時(shí)序關(guān)系圖Fig.3 Consensus timing diagram

區(qū)塊鏈共識(shí)機(jī)制中礦工不斷修改區(qū)塊頭BlockHeadern的隨機(jī)數(shù),并計(jì)算區(qū)塊頭的SHA 2562哈希值,直到區(qū)塊頭哈希值小于難度值.上述關(guān)系可由下式表示:SHA 2562(BlockHeadern)<Tn.礦工在短時(shí)間內(nèi)消耗大量的計(jì)算資源以求得滿足要求的隨機(jī)數(shù),進(jìn)而爭(zhēng)奪記賬權(quán). 若挖礦成功,則作為該礦工的工作量證明. 該證明生成困難(生日攻擊下的平均挖礦計(jì)算復(fù)雜性為,任何節(jié)點(diǎn)可通過上面的公式輕易驗(yàn)證該礦工為成功者. 系統(tǒng)經(jīng)過十余年的運(yùn)行,挖礦難度越來越大,帶來了大量(電力)資源消耗,這意味著系統(tǒng)運(yùn)行成本的增加,共識(shí)周期的延長(zhǎng),嚴(yán)重影響系統(tǒng)穩(wěn)定性,因此應(yīng)將全網(wǎng)平均算力和區(qū)塊生成時(shí)間分布等作為資源控制(測(cè)評(píng)項(xiàng)①)的測(cè)評(píng)指標(biāo),下述以比特幣為例進(jìn)行評(píng)測(cè)分析.

(1)全網(wǎng)平均算力.

算力是衡量在一定的網(wǎng)絡(luò)消耗下生成新塊的單位總計(jì)算能力;全網(wǎng)算力,即網(wǎng)絡(luò)中所有參與挖礦的礦機(jī)算力綜合,比特幣的全網(wǎng)算力是所有參與挖礦的比特幣礦機(jī)算力的總和. 如圖4所示我們收集了2009年1月至2020年5月的全網(wǎng)平均算力,并畫出了分布趨勢(shì)圖. 可以看出,隨著比特幣在線活躍地址數(shù)的增加和計(jì)算能力的迅捷發(fā)展,比特幣全網(wǎng)算力也有了較大的提升.

(2)區(qū)塊生成時(shí)間分布.

圖4 比特幣全網(wǎng)算力圖Fig.4 Bitcoin hashrate historical chart

假設(shè)區(qū)塊鏈中一個(gè)節(jié)點(diǎn)的地址為A,且其余額為bal(A),在挖礦過程中,該節(jié)點(diǎn)不斷修改隨機(jī)數(shù)的值(通常是逐漸加一),從而使計(jì)算結(jié)果小于目標(biāo)閾值才能建造有效區(qū)塊. 我們將建造一個(gè)新的區(qū)塊時(shí)的目標(biāo)值記作,挖礦難度為D,則區(qū)塊鏈協(xié)議中所有有效區(qū)塊都需要滿足一個(gè)條件U≤θ≤1,式中U~[0,1]是對(duì)區(qū)塊頭數(shù)據(jù)進(jìn)行哈希并對(duì)得到的值進(jìn)行歸一化后生成的均勻分布的隨機(jī)變量.由于哈希函數(shù)的特性,很多共識(shí)技術(shù)都是該式的特殊情況,例如:

①在PoW情況下,θ=1/D;

②在PoS情況下,θ=bal(A)/D;

為了生成一個(gè)塊,用戶需要找到令U滿足U≤θ≤1的數(shù)據(jù),即不斷更改隨機(jī)數(shù),并計(jì)算包含其的區(qū)塊頭哈希結(jié)果U,使其滿足U≤θ≤1,設(shè)N為用戶在找到一個(gè)有效塊之前需要計(jì)算的數(shù)據(jù)組合數(shù). 由于工作量證明PoW間隔很大,所以用戶每秒只能迭代r個(gè)組合,其中r由用戶的挖掘設(shè)備確定. 在權(quán)益證明PoS情況下,搜索空間較小,因此可假設(shè)r=1. 用戶找到一個(gè)有效塊所需的時(shí)間T與N有關(guān):T=N/r,考慮累積概率分布:

因此,用戶找到一個(gè)有效塊所需的時(shí)間T以速率呈指數(shù)分布. 在PoW的情況下,這個(gè)速率等于r/D. 在PoS的情況下,r=1,速率等于bal(A)/D,生成有效區(qū)塊的概率等于用戶資金余額與流通貨幣總量的比率,若將整個(gè)網(wǎng)絡(luò)中的所有用戶的資金總額視為,則整個(gè)網(wǎng)絡(luò)的塊生成時(shí)間以速率呈指數(shù)分布. 如圖5所示我們收集了近些年比特幣區(qū)塊的難度值,并繪制了難度變化曲線圖,是一個(gè)較為明顯的指數(shù)分布曲線,擬合方程為y=-1.44623×109×(1-e-0.00228x).

圖5 共識(shí)機(jī)制難度變化趨勢(shì)圖(比特幣)Fig.5 Consensus difficulty change trend diagram(Bitcoin)

針對(duì)PoW的攻擊是敵手[33]以較大優(yōu)勢(shì)成為挖礦的獲勝者,從而使用記賬權(quán)改變或偽造交易.為取得挖礦成功,當(dāng)前敵手采取的主要攻擊包括:

(a)共識(shí)過程攻擊包括51%算力攻擊[34]、暴力破解[35]、私自挖礦[36]等. 以51%算力攻擊為例,它并不是指擁有全網(wǎng)51%以上的算力才能成功攻擊,而是算力超出51%這個(gè)門限,敵手計(jì)算出正確哈希值的速度就會(huì)比全網(wǎng)其他礦工更快,攻擊成功率會(huì)大大增加.

(b)區(qū)塊廣播過程可受到日食攻擊[37]、女巫攻擊[38]等因素影響. 其中,日食攻擊是敵手通過阻止正常節(jié)點(diǎn)通訊的方式影響共識(shí);女巫攻擊中敵手會(huì)偽裝成不同角色的區(qū)塊鏈節(jié)點(diǎn)監(jiān)視和干擾正常網(wǎng)絡(luò).

資源控制(測(cè)評(píng)項(xiàng)①)的測(cè)評(píng)中考慮上述攻擊對(duì)系統(tǒng)帶來的影響,可通過提高資源控制難度保障系統(tǒng)安全. 就區(qū)塊鏈系統(tǒng)而言,隨著系統(tǒng)節(jié)點(diǎn)不斷加入,全網(wǎng)總算力劇增,系統(tǒng)網(wǎng)絡(luò)也愈加龐大,敵手占據(jù)全網(wǎng)大部分算力的可能性極小,操控網(wǎng)絡(luò)難度巨大,因此可保證系統(tǒng)資源可控. 但對(duì)于小型區(qū)塊鏈系統(tǒng)而言,全網(wǎng)算力較低,敵手可通過資源控制的方式成功攻擊系統(tǒng).

4.2 實(shí)時(shí)備份(測(cè)評(píng)項(xiàng)②)

交易的收集階段過程為:(1)新交易產(chǎn)生后將實(shí)時(shí)地被該節(jié)點(diǎn)通過區(qū)塊鏈網(wǎng)絡(luò)廣播至全網(wǎng);(2)礦工節(jié)點(diǎn)收集交易并驗(yàn)證交易的規(guī)范性(包括是否前一筆交易屬于未花費(fèi)交易等[39]);(3)如果交易內(nèi)容的正確性和邏輯性符合要求,則礦工會(huì)把交易存入內(nèi)存的“未確認(rèn)交易池”. 因此,交易形成后,創(chuàng)建節(jié)點(diǎn)會(huì)通過P2P分布式對(duì)等網(wǎng)絡(luò)實(shí)時(shí)廣播至全網(wǎng),并由礦工節(jié)點(diǎn)收集驗(yàn)證其規(guī)范性,進(jìn)而放至“未確認(rèn)交易池”,實(shí)現(xiàn)本地和異地節(jié)點(diǎn)的數(shù)據(jù)備份.

區(qū)塊組裝到鏈工作的具體過程為:(1)驗(yàn)證挖礦的正確性;(2)驗(yàn)證失敗則丟棄區(qū)塊,否則將區(qū)塊附加在已有區(qū)塊鏈之后. 節(jié)點(diǎn)尋找新區(qū)塊的父區(qū)塊,并鏈接到父區(qū)塊完成區(qū)塊的組裝. 每個(gè)節(jié)點(diǎn)不斷地將共識(shí)區(qū)塊寫入自己的賬本中,從而達(dá)到全網(wǎng)節(jié)點(diǎn)具有相同數(shù)據(jù)副本的實(shí)時(shí)備份效果[40].

綜上,區(qū)塊鏈在交易、區(qū)塊產(chǎn)生及共識(shí)的過程中都達(dá)到了全網(wǎng)節(jié)點(diǎn)數(shù)據(jù)備份效果,測(cè)評(píng)項(xiàng)②得到保證.

4.3 系統(tǒng)熱冗余(測(cè)評(píng)項(xiàng)③)和共識(shí)容錯(cuò)性(測(cè)評(píng)項(xiàng)④)

區(qū)塊鏈系統(tǒng)節(jié)點(diǎn)是去中心化并包含少數(shù)惡意節(jié)點(diǎn)的,達(dá)到100%的共識(shí)顯然很難實(shí)現(xiàn),因此系統(tǒng)測(cè)評(píng)應(yīng)充分采納統(tǒng)計(jì)學(xué)中的小概率事件思想:只要共識(shí)度超過95%即代表完全共識(shí). 由于目前區(qū)塊鏈系統(tǒng)在2 h內(nèi)能以99.9999%的概率確認(rèn)單筆交易,因此可認(rèn)為共識(shí)容錯(cuò)性(測(cè)評(píng)項(xiàng)④)達(dá)到標(biāo)準(zhǔn). 依據(jù)上述標(biāo)準(zhǔn),區(qū)塊鏈系統(tǒng)節(jié)點(diǎn)是互為冗余的,少數(shù)節(jié)點(diǎn)的故障并不影響系統(tǒng)穩(wěn)定性和可用性,因此系統(tǒng)熱冗余(測(cè)評(píng)項(xiàng)③)達(dá)到要求.

4.4 共識(shí)有效性(測(cè)評(píng)項(xiàng)⑤)

在交易收集階段,礦工節(jié)點(diǎn)通過規(guī)范性驗(yàn)證檢查交易中簽名正確性、貨幣是否存在、貨幣是否二次使用等交易數(shù)據(jù)內(nèi)容,以此保證了被共識(shí)交易的有效性(測(cè)評(píng)項(xiàng)⑤),然而,上述驗(yàn)證過程并不能完全保證交易的絕對(duì)有效性,如“門頭溝(Mt.Gox)事件”中交易所受到的延展性攻擊[41],因此測(cè)評(píng)工作應(yīng)根據(jù)最新的CVE(Common Vulnerabilities & Exposures)漏洞加以展開.

候選區(qū)塊創(chuàng)建階段由礦工完成,具體為:(1)新建候選區(qū)塊以及Coinbase交易(創(chuàng)幣交易,即含挖礦獎(jiǎng)勵(lì)的新交易);(2)從“未確認(rèn)交易池”中按優(yōu)先級(jí)提取交易并寫入前述區(qū)塊中;(3)計(jì)算區(qū)塊頭部信息并將其填充到新創(chuàng)建的候選區(qū)塊中. 在第一步前礦工可計(jì)算本次挖礦可得獎(jiǎng)勵(lì),獎(jiǎng)勵(lì)由當(dāng)前區(qū)塊獎(jiǎng)勵(lì)與將要打包進(jìn)區(qū)塊的交易費(fèi)用總和兩部分組成,因此,驗(yàn)證Coinbase交易中獎(jiǎng)勵(lì)的真實(shí)性和有效性可保證礦工工作的正確性(測(cè)評(píng)項(xiàng)⑤).

PoW共識(shí)算法根據(jù)整個(gè)網(wǎng)絡(luò)的哈希速率動(dòng)態(tài)調(diào)整難度值,當(dāng)前調(diào)整周期為2周,調(diào)整值將會(huì)寫入?yún)^(qū)塊頭部并參與下一階段的工作量證明計(jì)算,從而建立起難度值的延續(xù)影響,保障共識(shí)數(shù)據(jù)區(qū)塊順序不變.

當(dāng)主鏈高度超過其他分支六塊(可實(shí)現(xiàn)在1 h內(nèi)能以99.9%的概率確認(rèn)[42]單筆交易)以上,分支的區(qū)塊交易將會(huì)被進(jìn)一步解析,未處理的交易會(huì)被重新放入“未確認(rèn)交易池”. 分支的交易回收過程能夠避免交易丟失進(jìn)而保證了一定程度上共識(shí)的有效性.

綜上,共識(shí)機(jī)制在不同階段皆采用了一定的機(jī)制驗(yàn)證交易數(shù)據(jù)的正確性和邏輯性,保證了共識(shí)有效性(測(cè)評(píng)項(xiàng)⑤)的達(dá)標(biāo).

4.5 共識(shí)結(jié)果一致性(測(cè)評(píng)項(xiàng)⑥)

由PoW交易收集、候選區(qū)塊創(chuàng)建、工作量證明(挖礦)、廣播區(qū)塊、區(qū)塊組裝到鏈和交易回收幾個(gè)處理過程可得,區(qū)塊鏈系統(tǒng)的安全性主要受挖礦節(jié)點(diǎn)的影響,已有挖礦算力對(duì)系統(tǒng)安全分析的結(jié)果表明當(dāng)嚴(yán)格遵循共識(shí)規(guī)則的挖礦節(jié)點(diǎn)算力超過(微弱)多數(shù)時(shí),可保證系統(tǒng)內(nèi)所有節(jié)點(diǎn)得到相同共識(shí),共識(shí)結(jié)果具有一致性(測(cè)評(píng)項(xiàng)⑥).

如表4所示,文獻(xiàn)[43]展示了不同的區(qū)塊鏈參數(shù)選擇(區(qū)塊間隔、公共節(jié)點(diǎn)、挖礦池、陳腐塊率和區(qū)塊大?。?duì)區(qū)塊鏈網(wǎng)絡(luò)傳輸?shù)挠绊? 通過以上測(cè)評(píng),表5總結(jié)了PoW共識(shí)區(qū)塊鏈系統(tǒng)在每個(gè)測(cè)評(píng)項(xiàng)的達(dá)標(biāo)情況:從備份與恢復(fù)及共識(shí)效果來看,PoW共識(shí)區(qū)塊鏈系統(tǒng)均可滿足測(cè)評(píng)項(xiàng)①②③④⑤⑥要求.

表 4 不同區(qū)塊鏈參數(shù)選擇對(duì)網(wǎng)絡(luò)傳輸影響[43]Table 4 Impact of parameter selection on network transmission in different blockchains[43]

5 分布式賬本測(cè)評(píng)

分布式賬本[44]是在各個(gè)成員之間同步共享、序列化、防篡改的分布式數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),并可為區(qū)塊鏈系統(tǒng)提供運(yùn)行過程中產(chǎn)生的各種類型數(shù)據(jù)的寫入與查詢服務(wù). 針對(duì)數(shù)字貨幣交易,區(qū)塊鏈系統(tǒng)中的分布式賬本被設(shè)計(jì)用來存儲(chǔ)當(dāng)前時(shí)間段內(nèi)發(fā)生的交易信息,并通過密碼學(xué)哈希(hash)函數(shù)來維護(hù)交易信息的完整性和抗抵賴性等功能.

表 5 共識(shí)機(jī)制測(cè)評(píng)Table 5 Consensus mechanism assessment

分布式賬本的測(cè)評(píng)是針對(duì)區(qū)塊鏈中所存儲(chǔ)信息的結(jié)構(gòu)、功能及安全機(jī)制展開的. 在表6中,我們將測(cè)評(píng)項(xiàng)劃分為軟件容錯(cuò)、訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)保密性和賬本功能等5個(gè)基本方面,同時(shí),還把分布式賬本特有的抵賴性、同步性、冪等性三個(gè)功能點(diǎn)作為賬本功能予以重點(diǎn)列出. 據(jù)此,分布式賬本的測(cè)評(píng)項(xiàng)包括:①賬本格式規(guī)范性,②賬本訪問控制,③存儲(chǔ)完整性,④存儲(chǔ)保密性,⑤數(shù)據(jù)抗抵賴,⑥賬本數(shù)據(jù)同步和⑦賬本數(shù)據(jù)冪等.

5.1 賬本格式規(guī)范性(測(cè)評(píng)項(xiàng)①)

區(qū)塊鏈具有嚴(yán)格的結(jié)構(gòu)定義,每個(gè)塊[45]由區(qū)塊頭和區(qū)塊體構(gòu)成,如表7所示,并且數(shù)據(jù)長(zhǎng)度有明確的數(shù)據(jù)格式規(guī)范. 區(qū)塊頭包含區(qū)塊版本V、難度D、前區(qū)塊哈希PreH、默克爾樹根M、隨機(jī)數(shù)N和時(shí)間戳T等信息,第個(gè) 區(qū)塊頭可表示為BlockHeadern:=(Vn||Dn||Mn||Tn||PreHn||Nn).

區(qū)塊體存儲(chǔ)了塊中的交易數(shù)量和交易列表.圖6表示了區(qū)塊鏈系統(tǒng)的交易結(jié)構(gòu),且結(jié)構(gòu)中信息大多有標(biāo)準(zhǔn)長(zhǎng)度限制. 交易由交易版本和若干個(gè)輸入段(Vin)與輸出段(Vout)構(gòu)成,每個(gè)輸入段與特定的一個(gè)“未花費(fèi)過的”交易輸出通過哈希函數(shù)(SHA256)和簽名腳本相銜接,這種結(jié)構(gòu)也被稱為UTXO(未花費(fèi)的交易輸出).

表 6 分布式賬本測(cè)評(píng)Table 6 Distributed ledger assessment

根據(jù)以上分析,區(qū)塊鏈中交易、區(qū)塊等結(jié)構(gòu)皆有嚴(yán)格的數(shù)據(jù)項(xiàng)要求和數(shù)據(jù)項(xiàng)長(zhǎng)度規(guī)定,能夠保證賬本格式規(guī)范性和全局一致性,測(cè)評(píng)項(xiàng)①達(dá)標(biāo).

5.2 賬本訪問控制(測(cè)評(píng)項(xiàng)②)

區(qū)塊鏈平臺(tái)的開放性使得所有用戶均可訪問賬本數(shù)據(jù),不存在具有監(jiān)管功能的節(jié)點(diǎn),因而測(cè)評(píng)項(xiàng)②未能達(dá)到標(biāo)準(zhǔn).

5.3 存儲(chǔ)完整性(測(cè)評(píng)項(xiàng)③)

區(qū)塊鏈中引入了完整的密碼學(xué)數(shù)據(jù)認(rèn)證機(jī)制和嚴(yán)格且規(guī)范化的數(shù)據(jù)結(jié)構(gòu)來保證交易、區(qū)塊數(shù)據(jù)的不可篡改性,列舉如下:

表 7 區(qū)塊鏈頭信息及長(zhǎng)度限制Table 7 Information and length limit of Blockchain Header

圖6 區(qū)塊鏈交易結(jié)構(gòu)Fig.6 Structure of blockchain transaction

(1)密碼學(xué)hash函數(shù)的使用:利用hash算法逆向求解困難、輸入的雪崩效應(yīng)、抗碰撞等特性,保證區(qū)塊數(shù)據(jù)永久存儲(chǔ)且不可篡改.

(2)鏈?zhǔn)焦=Y(jié)構(gòu)[46]:區(qū)塊頭之間通過密碼學(xué)哈希函數(shù)(嵌套SHA256)進(jìn)行銜接,保證了區(qū)塊間數(shù)據(jù)在時(shí)間軸上不可修改、插入、刪除等攻擊.

(3)樹狀哈希結(jié)構(gòu):采用默克爾樹結(jié)構(gòu)[47-48]對(duì)大量的交易進(jìn)行封裝,并在區(qū)塊頭中放置默克爾樹根[49],保證此區(qū)塊中交易內(nèi)容、順序均不可更改.

綜上,區(qū)塊鏈中利用大量密碼學(xué)機(jī)制和數(shù)據(jù)結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)保護(hù),可保證數(shù)據(jù)區(qū)塊存儲(chǔ)過程的完整性,測(cè)評(píng)項(xiàng)③達(dá)標(biāo).

5.4 存儲(chǔ)保密性(測(cè)評(píng)項(xiàng)④)

區(qū)塊鏈賬本采用16進(jìn)制編碼(未加密)方式存儲(chǔ)數(shù)據(jù)以方便用戶對(duì)數(shù)據(jù)進(jìn)行查詢驗(yàn)證和追溯,受限于目前公鑰加密技術(shù)在大規(guī)模動(dòng)態(tài)群組下密鑰協(xié)商、構(gòu)造、分發(fā)、更新、撤銷等技術(shù)上的不成熟,因此在存儲(chǔ)保密性(測(cè)評(píng)項(xiàng)④)上未能達(dá)到等級(jí)保護(hù)三級(jí)要求.

5.5 數(shù)據(jù)抗抵賴(測(cè)評(píng)項(xiàng)⑤)

在圖3所示交易結(jié)構(gòu)中,交易結(jié)構(gòu)Vin所含“交易輸出索引”字段是指前一交易中所使用輸出段Vout的序號(hào)(即索引號(hào)),“腳本簽名”[50]是解鎖腳本的不定長(zhǎng)數(shù)據(jù),只有解鎖腳本正確,才能對(duì)輸出進(jìn)行消費(fèi),“鎖定腳本”定義了支付輸出所需的條件(如認(rèn)證貨幣所有者身份的公鑰信息),在交易信息中,為驗(yàn)證貨幣的所屬關(guān)系,前一交易的“鎖定腳本”和當(dāng)前交易的“腳本簽名”可分別存儲(chǔ)貨幣所有者的“公鑰”與“簽名”信息,并可通過前者對(duì)后者簽名的有效性予以驗(yàn)證,使交易滿足測(cè)評(píng)項(xiàng)⑤中的數(shù)據(jù)抗抵賴.

5.6 賬本數(shù)據(jù)同步(測(cè)評(píng)項(xiàng)⑥)

在分布式賬本管理方面,區(qū)塊鏈系統(tǒng)依賴“完全節(jié)點(diǎn)”存儲(chǔ)賬本所有數(shù)據(jù),新加入節(jié)點(diǎn)可通過對(duì)完全節(jié)點(diǎn)克隆得到區(qū)塊鏈數(shù)據(jù)的完整備份,保證了賬本數(shù)據(jù)同步(測(cè)評(píng)項(xiàng)⑥). 此外,區(qū)塊鏈系統(tǒng)能對(duì)同步過程中發(fā)現(xiàn)的數(shù)據(jù)錯(cuò)誤予以檢測(cè)及確認(rèn),并標(biāo)注為確認(rèn)交易和未確認(rèn)交易兩種,圖7(a)給出了近3個(gè)月時(shí)間內(nèi)比特幣和以太坊確認(rèn)交易數(shù)量的變化情況,圖7(b)給出了比特幣近三月的未確認(rèn)交易增長(zhǎng)變化情況,可知,有大量的未確認(rèn)交易存在(約占20%),這表明區(qū)塊鏈能夠很好地檢測(cè)并區(qū)分惡意或無效的交易.

5.7 賬本數(shù)據(jù)冪等(測(cè)評(píng)項(xiàng)⑦)

針對(duì)賬本數(shù)據(jù)的查詢請(qǐng)求,賬本中數(shù)據(jù)完整性可經(jīng)過密碼學(xué)哈希函數(shù)驗(yàn)證,hash函數(shù)沖突避免的函數(shù)特性,保障了查詢結(jié)果在所有節(jié)點(diǎn)中的一致性,使檢索冪等性(測(cè)評(píng)項(xiàng)⑦)得以實(shí)現(xiàn).

綜上,在分布式賬本方面進(jìn)行評(píng)測(cè),得到最終結(jié)果如表6所示,賬本訪問控制(測(cè)評(píng)項(xiàng)②)和存儲(chǔ)保密性(測(cè)評(píng)項(xiàng)④)未能達(dá)到等級(jí)保護(hù)三級(jí)要求,其它評(píng)測(cè)項(xiàng)皆符合等保三級(jí)標(biāo)準(zhǔn).

6 合約層分析

智能合約是運(yùn)行在區(qū)塊鏈上的程序或腳本,區(qū)塊鏈作為數(shù)據(jù)的載體存儲(chǔ)著事件的關(guān)鍵信息,而智能合約就是在區(qū)塊鏈中操作這些數(shù)據(jù)的規(guī)則. 例如,比特幣交易使用比特幣腳本及簽名技術(shù)限定未花費(fèi)交易的所有者;以太坊等區(qū)塊鏈平臺(tái)以計(jì)算機(jī)程序的方式代替比特幣腳本,使得用戶可以更加靈活地制定規(guī)則.

智能合約被稱為運(yùn)行在區(qū)塊鏈上,是因?yàn)樗恢贡灰慌_(tái)計(jì)算機(jī)運(yùn)行,而且要被參與驗(yàn)證的節(jié)點(diǎn)執(zhí)行并驗(yàn)證. 智能合約運(yùn)行流程為:(1)執(zhí)行者發(fā)起運(yùn)行請(qǐng)求,在本地運(yùn)行并檢驗(yàn)可行性;(2)將運(yùn)行狀態(tài)廣播到區(qū)塊鏈網(wǎng)絡(luò)中,挖礦節(jié)點(diǎn)執(zhí)行智能合約并驗(yàn)證通過后打包到區(qū)塊中;(3)區(qū)塊廣播到所有節(jié)點(diǎn),參與驗(yàn)證的節(jié)點(diǎn)通過執(zhí)行區(qū)塊中交易所含有的合約來完成驗(yàn)證.

表8列舉了針對(duì)區(qū)塊鏈中智能合約層的測(cè)評(píng)標(biāo)準(zhǔn),并對(duì)身份鑒別、安全審計(jì)、惡意代碼防范、數(shù)據(jù)完整性、數(shù)據(jù)保密性5個(gè)類別逐項(xiàng)對(duì)智能合約層進(jìn)行了分析. 測(cè)評(píng)項(xiàng)包括:①執(zhí)行身份驗(yàn)證,②行為事件審計(jì),③審計(jì)記錄,④免受惡意代碼攻擊,⑤傳輸完整性和⑥傳輸保密性.

6.1 執(zhí)行身份驗(yàn)證(測(cè)評(píng)項(xiàng)①)

身份驗(yàn)證是智能合約最基礎(chǔ)的功能. 為實(shí)現(xiàn)身份驗(yàn)證,比特幣腳本被分為鎖定腳本和解鎖腳本,通過密碼學(xué)數(shù)字簽名技術(shù),解鎖“鎖定腳本”的用戶就是符合規(guī)定可以使用這筆交易的用戶. 最常用的腳本如圖8所示.

圖8中,解鎖腳本以簽名和公鑰作為輸入,通過鎖定腳本里設(shè)定的操作碼以及存儲(chǔ)的公鑰哈希驗(yàn)證了簽名的正確性,從而鑒別了用戶身份,測(cè)評(píng)項(xiàng)①達(dá)標(biāo).

6.2 安全審計(jì)(測(cè)評(píng)項(xiàng)②和③)

圖7 區(qū)塊鏈系統(tǒng)中已確認(rèn)和未確認(rèn)交易數(shù)量對(duì)比(近3個(gè)月). (a)比特幣與以太坊確認(rèn)交易量圖;(b)比特幣中未確認(rèn)交易增長(zhǎng)變化圖Fig.7 Comparison between confirmed and unconfirmed transactions in the blockchain systems: (a) diagram of confirmed transactions for Bitcoin and Ethereum; (b) growth chart of unconfirmed transactions for Bitcoin

表 8 區(qū)塊鏈合約計(jì)算層測(cè)評(píng)Table 8 Blockchain contract computing layer evaluation

圖8 常用腳本機(jī)制Fig.8 Common scripting mechanism

表 9 區(qū)塊鏈系統(tǒng)error審計(jì)分類Table 9 Blockchain error audit classification

審計(jì)[51]是指按照某種規(guī)范忠實(shí)地記錄下系統(tǒng)所發(fā)生的所有行為,方便管理員對(duì)系統(tǒng)安全進(jìn)行實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)異常違規(guī)行為并取證[52]. 通過對(duì)某區(qū)塊鏈系統(tǒng)開源代碼分析,表9列舉了其初始化、交易、區(qū)塊、共識(shí)、網(wǎng)絡(luò)和遠(yuǎn)程過程調(diào)用6個(gè)功能模塊輸出的錯(cuò)誤和涉及該錯(cuò)誤的接口函數(shù),可見系統(tǒng)關(guān)于審計(jì)信息的記錄是較為詳盡的.智能合約的每一次執(zhí)行都會(huì)被其他節(jié)點(diǎn)所驗(yàn)證,合約中的行為或事件都會(huì)被審核,因此行為事件審計(jì)(測(cè)評(píng)項(xiàng)②)達(dá)標(biāo).

圖9為系統(tǒng)日志生成流程,具體為:(1)給生成的日志信息添加規(guī)定格式的時(shí)間戳;(2)查看參數(shù)中是否要求輸出信息中附加IP地址;(3)將處理好的日志輸出到默認(rèn)的debug.log中,用戶也可自定義將日志信息打印到控制臺(tái). 日志文件debug.log容量最大值被系統(tǒng)設(shè)定,超出部分將會(huì)被丟棄,debug.log只存最新的審計(jì)信息,由此可知日志信息并不是永久保存、不可更改的.

系統(tǒng)的日志分為Debug、Warning、Error三個(gè)級(jí)別,目前沒有Fatal致命錯(cuò)誤,其中Debug級(jí)日志記錄了系統(tǒng)在開發(fā)調(diào)試和運(yùn)行時(shí)的狀態(tài)信息;Warning記錄了可能導(dǎo)致錯(cuò)誤的告警信息;Error記錄了系統(tǒng)運(yùn)行過程中的異常錯(cuò)誤.

圖9 區(qū)塊鏈日志生成流程圖Fig.9 Blockchain log workflow chart

區(qū)塊鏈系統(tǒng)中的審計(jì)記錄在審計(jì)格式上不符合等保要求,記錄的事件不夠具體. 其日志可以輸出也可以不輸出,輸出的文件內(nèi)容可以被篡改甚至清除,因此審計(jì)記錄(測(cè)評(píng)項(xiàng)③)未達(dá)到等保三級(jí)的要求. 針對(duì)系統(tǒng)審計(jì)情況,提出的改進(jìn)措施如下:

(1)建立分布式區(qū)塊鏈系統(tǒng)日志網(wǎng)絡(luò),日志作為交易上傳到區(qū)塊鏈上[53].

(2)細(xì)化日志記錄項(xiàng),審計(jì)內(nèi)容至少包含事件的日期和時(shí)間、用戶、事件類型、事件是否成功及其他與審計(jì)相關(guān)的信息.

(1)單節(jié)點(diǎn)函數(shù)調(diào)用及狀態(tài)日志應(yīng)以受保護(hù)的形式存于本機(jī),避免受到刪除、修改或覆蓋.

6.3 免受惡意代碼攻擊(測(cè)評(píng)項(xiàng)②)

智能合約需要由參與驗(yàn)證的節(jié)點(diǎn)執(zhí)行來保證合約執(zhí)行結(jié)果的正確性,這就需要將不同用戶編寫的智能合約部署和運(yùn)行在驗(yàn)證節(jié)點(diǎn)上,因此防范惡意代碼是非常有必要的.

智能合約的安全問題分為兩個(gè)方面:(1)智能合約程序本身的安全問題;(2)智能合約程序?qū)?zhí)行環(huán)境造成的安全問題. 根據(jù)等保標(biāo)準(zhǔn),本文僅討論第二種安全問題,即惡意智能合約代碼對(duì)驗(yàn)證節(jié)點(diǎn)所在的計(jì)算機(jī)、區(qū)塊鏈程序及其他智能合約造成的安全問題.

比特幣的腳本系統(tǒng)采用棧式運(yùn)行環(huán)境,尋址規(guī)則為直接尋址,且指令相對(duì)簡(jiǎn)單,沒有跳轉(zhuǎn)或循環(huán)等指令,因此不會(huì)對(duì)外部環(huán)境產(chǎn)生影響.

以太坊智能合約運(yùn)行在以太坊虛擬機(jī)(EVM)中. EVM是一種沙箱環(huán)境,與外界隔離,因此惡意代碼不會(huì)對(duì)外部產(chǎn)生影響. 同時(shí),以太坊設(shè)計(jì)了gas機(jī)制用來防止惡意代碼占用過多計(jì)算資源與區(qū)塊鏈存儲(chǔ)資源. 智能合約程序每運(yùn)行一步會(huì)花費(fèi)一定量的gas,每修改區(qū)塊鏈中的數(shù)據(jù),也會(huì)按照大小花費(fèi)一定量gas.

通過以上測(cè)評(píng),表8總結(jié)了智能合約計(jì)算層在每個(gè)測(cè)評(píng)項(xiàng)的達(dá)標(biāo)情況:區(qū)塊鏈可以滿足測(cè)評(píng)項(xiàng)①②④,測(cè)評(píng)項(xiàng)③未達(dá)標(biāo). 由于共識(shí)層可以達(dá)成共識(shí)結(jié)果一致性,因此共識(shí)層之上的合約層可以驗(yàn)證數(shù)據(jù)的完整性(測(cè)評(píng)項(xiàng)⑤達(dá)標(biāo)),但區(qū)塊鏈中沒有通過密碼技術(shù)對(duì)數(shù)據(jù)進(jìn)行加密,因此無法保證數(shù)據(jù)保密性(測(cè)評(píng)項(xiàng)⑥未達(dá)標(biāo)).

7 區(qū)塊鏈系統(tǒng)測(cè)評(píng)結(jié)果

本文結(jié)合網(wǎng)絡(luò)安全等級(jí)保護(hù)2.0版本三級(jí)通用要求中的應(yīng)用與數(shù)據(jù)安全層面控制點(diǎn),針對(duì)區(qū)塊鏈在對(duì)等網(wǎng)絡(luò)、分布式賬本、共識(shí)機(jī)制方面提出了評(píng)估要求,并結(jié)合評(píng)估項(xiàng)對(duì)三種區(qū)塊鏈系統(tǒng)(比特幣、以太坊、超級(jí)賬本)進(jìn)行了測(cè)評(píng),如表10所示. 由綜合測(cè)評(píng)結(jié)果可知,比特幣和以太坊的測(cè)評(píng)達(dá)標(biāo)項(xiàng)同為19項(xiàng),超級(jí)賬本則為22項(xiàng);超級(jí)賬本在節(jié)點(diǎn)接入控制、網(wǎng)絡(luò)節(jié)點(diǎn)動(dòng)態(tài)監(jiān)測(cè)、賬本訪問控制三項(xiàng)測(cè)評(píng)中更加優(yōu)秀.

綜上所述,區(qū)塊鏈系統(tǒng)在等保2.0三級(jí)應(yīng)用與數(shù)據(jù)層控制點(diǎn)的測(cè)評(píng)結(jié)果總結(jié)如下:

(1)達(dá)到等級(jí)保護(hù)三級(jí)要求的測(cè)評(píng)項(xiàng)為:軟件容錯(cuò)、備份與恢復(fù)、資源控制和惡意代碼防范;

(2)未達(dá)到等級(jí)保護(hù)三級(jí)要求的測(cè)評(píng)項(xiàng)有:身份鑒別、訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)保密性和安全審計(jì).

此外,本文對(duì)區(qū)塊鏈系統(tǒng)在分布式賬本的測(cè)評(píng)上新增了數(shù)據(jù)抗抵賴、賬本數(shù)據(jù)同步和賬本數(shù)據(jù)冪三個(gè)測(cè)評(píng)項(xiàng);在共識(shí)機(jī)制的測(cè)評(píng)中提出了共識(shí)容錯(cuò)性、共識(shí)有效性和共識(shí)結(jié)果一致性測(cè)評(píng)要求,區(qū)塊鏈系統(tǒng)均能達(dá)標(biāo). 由此可見,為滿足等級(jí)保護(hù)三級(jí)測(cè)評(píng)標(biāo)準(zhǔn),區(qū)塊鏈技術(shù)仍有待提高.

8 總結(jié)與展望

本文依據(jù)等保第三級(jí)的應(yīng)用和數(shù)據(jù)安全要求,給出了區(qū)塊鏈系統(tǒng)中對(duì)等網(wǎng)絡(luò)、分布式賬本、共識(shí)機(jī)制和智能合約等核心技術(shù)的具體測(cè)評(píng)要求及實(shí)施方案,并對(duì)比特幣、以太坊、超級(jí)賬本進(jìn)行了評(píng)估和對(duì)比,結(jié)果表明區(qū)塊鏈系統(tǒng)在軟件容錯(cuò)、資源控制和備份與恢復(fù)等方面滿足等保要求,而在安全審計(jì)、身份鑒別、數(shù)據(jù)完整性等方面則有待進(jìn)一步改進(jìn). 根據(jù)《中華人民共和國(guó)網(wǎng)絡(luò)安全法》、《GB/T 22239—2019 信息安全技術(shù) 網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求》等的要求,近年來很多關(guān)鍵性計(jì)算機(jī)技術(shù)都已經(jīng)進(jìn)行了等級(jí)保護(hù)測(cè)評(píng)標(biāo)準(zhǔn)的制定,而區(qū)塊鏈等級(jí)保護(hù)的測(cè)評(píng)也勢(shì)在必行,建設(shè)滿足我國(guó)現(xiàn)實(shí)需求和中國(guó)特色的區(qū)塊鏈技術(shù)是區(qū)塊鏈發(fā)展的必然要求,區(qū)塊鏈等級(jí)保護(hù)標(biāo)準(zhǔn)的制定也將為我國(guó)信息基礎(chǔ)構(gòu)架和社會(huì)信息系統(tǒng)合規(guī)管理提供支持.

猜你喜歡
挖礦賬本比特
合力攻堅(jiān) 全面治理高?!巴诘V”
多措并舉 全流程整治“挖礦”
數(shù)說:重慶70年“賬本”展示
挖礦木馬的攻擊手段及防御策略研究
丟失的紅色賬本
大樹爺爺?shù)馁~本
丟失的紅色賬本
比特幣還能投資嗎
比特幣分裂
比特幣一年漲135%重回5530元
隆昌县| 沂水县| 南丹县| 介休市| 禄劝| 鲁山县| 隆德县| 闵行区| 新兴县| 宜君县| 密云县| 鹤山市| 营山县| 景洪市| 萨嘎县| 侯马市| 开原市| 延吉市| 兰考县| 孙吴县| 新乐市| 西乡县| 时尚| 广元市| 长春市| 阳西县| 溧水县| 云安县| 宣武区| 神农架林区| 安远县| 陇西县| 确山县| 海林市| 双柏县| 庆城县| 延吉市| 卢湾区| 寿阳县| 都安| 腾冲县|