一直在電子認(rèn)證領(lǐng)域做證書應(yīng)用研究,一聽說有某個(gè)技術(shù)和密碼或者證書有關(guān)系就非常感興趣,希望深入的了解了解看看有沒有結(jié)合點(diǎn)。比特幣老早就聽過是因?yàn)樾侣剤?bào)道有投資者在上面栽跟頭,后來被央行叫停。到了2016年中,參加了一個(gè)支付行業(yè)的講座,里面有關(guān)區(qū)塊鏈的講座,聽了之后發(fā)現(xiàn)其實(shí)區(qū)塊鏈底層是密碼技術(shù)比如非對(duì)稱算法,散列算法,時(shí)間戳等,不過是將其創(chuàng)造性的應(yīng)用在了一個(gè)去中心化的分布式環(huán)境中非常有意思。下面從安全可信這個(gè)角度與PKI對(duì)比來進(jìn)行理解。
注:其中有些名詞比如PKI、CA機(jī)構(gòu)、數(shù)字證書等不再解釋,如不理解請(qǐng)查看我之前的相關(guān)文章論述。
安全性
網(wǎng)絡(luò)安全:
網(wǎng)絡(luò)安全主要從獲取內(nèi)容以及攻擊防護(hù)思路來說明。
區(qū)塊鏈?zhǔn)怯砂灰仔畔⒌膮^(qū)塊從后向前有序鏈接起來的數(shù)據(jù)結(jié)構(gòu),它是存儲(chǔ)在分布式數(shù)據(jù)庫(kù)中的。對(duì)于攻擊者來說用常規(guī)的攻擊手段是沒有意義的,目前最擔(dān)心的問題是51%的算力攻擊,也就是說算力達(dá)到全網(wǎng)的51%就可以發(fā)生雙花也就是兩次支付,從而控制自己的交易,完成對(duì)自己有利的做法就是騙取交易接收方的利益。攻擊的手段是不斷增加自己的算力。但是對(duì)于維護(hù)者來說確很好防護(hù)就是可以增加難度或者改變共識(shí)機(jī)制。
對(duì)于一個(gè)PKI它在國(guó)內(nèi)是通過CA機(jī)構(gòu)來對(duì)外提供的,CA機(jī)構(gòu)的機(jī)房是完全按照工信部的要求,形成7層防護(hù)體系建設(shè),物理的和邏輯的防護(hù)設(shè)備要達(dá)到要求才可以正式投產(chǎn)。對(duì)于攻擊者來說,最有價(jià)值的是攻破防護(hù)體系,拿到CA機(jī)構(gòu)的簽發(fā)證書的密鑰,進(jìn)行證書的簽發(fā)。攻擊手段就是黑客的通用手段,比如嗅探、入侵、提權(quán)等等,防護(hù)手段也是常用的手段,比如防火墻、IDS、WAF、VPN、抗DDOS等等。
所以從網(wǎng)絡(luò)安全的角度看,由于一個(gè)是中心化(PKI)的一個(gè)是去中心化(區(qū)塊鏈)的,所以兩種防護(hù)的思路是完全不同的。
信息安全:
信息安全主要從密碼的種類以及應(yīng)用場(chǎng)景來對(duì)比說明。
區(qū)塊鏈的密碼類型和用途如下:
1、非對(duì)稱算法是采用橢圓曲線算法,比特幣是基于secp256k1。交易發(fā)出方用私鑰進(jìn)行簽名,將簽名與原文發(fā)給整個(gè)網(wǎng)絡(luò),網(wǎng)絡(luò)的所有節(jié)點(diǎn)用公鑰對(duì)交易的有效性進(jìn)行驗(yàn)證。
2、哈希算法是SHA-256算法,在比特幣中主要是地址生成和工作量證明。
3、對(duì)稱加密算法是AES-256-CBC算法,比特幣官方客戶端使用該算法來加密錢包文件,用戶設(shè)置密碼后,采用用戶設(shè)置的密碼通過AES算法對(duì)錢包私鑰進(jìn)行加密,確??蛻舳怂借€的安全。
4、編碼格式為BASE58編碼,是比特幣使用的一種獨(dú)特的編碼方式,對(duì)公鑰的Hash160以及私鑰進(jìn)行編碼,生成以1或者3開頭的比特幣地址及WIF格式的私鑰。
國(guó)內(nèi)CA機(jī)構(gòu)使用的密碼如下:
為了保證商用密碼安全,由國(guó)家商用密碼管理辦公室制定了一系列標(biāo)準(zhǔn)密碼標(biāo)準(zhǔn),目前已經(jīng)算法公開以及應(yīng)用最廣的是SM2、SM3、SM4算法。
1、非對(duì)稱算法是SM2算法,主要是身份認(rèn)證和對(duì)文件、文檔的電子簽名。
2、哈希算法是SM3算法,主要是保護(hù)內(nèi)容的完整性。
3、對(duì)稱加密算法是SM4算法,主要是保護(hù)內(nèi)容的安全。
4、編碼格式為BASE64編碼,是CA系統(tǒng)內(nèi)的一種標(biāo)準(zhǔn)的編碼格式。
對(duì)于CA機(jī)構(gòu)來說,發(fā)放數(shù)字證書是它的核心業(yè)務(wù),而證書的主要應(yīng)用場(chǎng)景就是身份認(rèn)證和簽名,那么它的重點(diǎn)保護(hù)對(duì)象就是如何保證非對(duì)稱算法中的私鑰的安全性,比如放在硬件的安全存儲(chǔ)單元中。
從上面的描述來看,區(qū)塊鏈?zhǔn)菍⑦@幾種密碼綜合應(yīng)用形成一個(gè)有機(jī)整體,而PKI是一套基礎(chǔ)設(shè)置可以根據(jù)應(yīng)用的場(chǎng)景將密碼進(jìn)行組合和拆分來應(yīng)用。
信任體系
區(qū)塊鏈應(yīng)用和PKI的最大的區(qū)別是信任體系不同。一般網(wǎng)絡(luò)的信任體系由身份認(rèn)證、授權(quán)和責(zé)任認(rèn)定幾個(gè)部分組成。
區(qū)塊鏈?zhǔn)侨ブ行幕⒆钚⌒湃位捏w系,它的信任基礎(chǔ)是數(shù)學(xué)而不是國(guó)家或者某種機(jī)構(gòu),它將共識(shí)機(jī)制、密碼學(xué)、分布式結(jié)構(gòu)有機(jī)的結(jié)合在一起。而PKI是通過CA機(jī)構(gòu)去應(yīng)用和推廣的,而CA機(jī)構(gòu)是一種中心化的需要國(guó)家權(quán)威機(jī)構(gòu)授權(quán)的第三方機(jī)構(gòu),在中國(guó)由工信部頒發(fā)電子認(rèn)證牌照才可以合法運(yùn)營(yíng)的。
身份認(rèn)證
區(qū)塊鏈的身份認(rèn)證是可以用匿名,它的交易用的是區(qū)塊鏈的地址進(jìn)行轉(zhuǎn)賬而不是現(xiàn)在的賬戶,所以可以做到強(qiáng)的隱私性。
PKI的身份認(rèn)證是一般經(jīng)過實(shí)名認(rèn)證后頒發(fā)數(shù)字證書,通過數(shù)字證書進(jìn)行網(wǎng)絡(luò)的身份認(rèn)證。
責(zé)任認(rèn)定
區(qū)塊鏈的責(zé)任認(rèn)定,因?yàn)槿W(wǎng)的每一個(gè)節(jié)點(diǎn)都有記錄和驗(yàn)證,所以一旦信息進(jìn)入?yún)^(qū)塊鏈就無法篡改,從而是一個(gè)強(qiáng)有力的證明存在性的工具。當(dāng)發(fā)生糾紛是上區(qū)塊鏈進(jìn)行查詢記錄即可。
PKI的責(zé)任認(rèn)定,在中國(guó)是有《電子簽名法》依據(jù)的,通過對(duì)數(shù)據(jù)的、對(duì)文檔等網(wǎng)絡(luò)傳播的數(shù)據(jù)進(jìn)行電子簽名,形成簽名結(jié)果之后保存在第三方,當(dāng)發(fā)生糾紛時(shí),使用第三方提供的簽名結(jié)果記錄驗(yàn)證,第三方或者第三方聯(lián)合國(guó)家公信力機(jī)構(gòu)出示證據(jù),形成有效證據(jù)鏈。
展望
通過從安全可行的角度簡(jiǎn)單對(duì)比,發(fā)現(xiàn)區(qū)塊鏈確實(shí)是一場(chǎng)互聯(lián)網(wǎng)的技術(shù)革命,但是不能一味的說某種方式不好或者很好,這兩者是可以優(yōu)勢(shì)互補(bǔ)一起利用的。就看在中國(guó)的現(xiàn)行法律和監(jiān)管體系下如何形成落地應(yīng)用,還需要同行們大膽嘗試。我目前能看到的幾個(gè)馬上能應(yīng)用的地方:
1、通過CA機(jī)構(gòu)頒發(fā)的數(shù)字證書來保護(hù)區(qū)塊鏈中的身份安全,
2、通過U盾來保護(hù)區(qū)塊鏈客戶端私鑰的安全
3、區(qū)塊鏈天然的存在性證明特性來保存簽名結(jié)果
4、區(qū)塊鏈與國(guó)產(chǎn)密碼算法的結(jié)合
以上屬于現(xiàn)階段個(gè)人的理解,如有不到之處還請(qǐng)各位專家指正。