陳立全,李瀟,楊哲懿,錢思杰
基于區(qū)塊鏈的高透明度PKI認(rèn)證協(xié)議
陳立全1,2,李瀟1,楊哲懿1,錢思杰1
(1. 東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210096;2. 網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室,江蘇 南京 211111)
公鑰基礎(chǔ)設(shè)施(PKI)作為互聯(lián)網(wǎng)空間安全基礎(chǔ)設(shè)施的重要組成部分,為互聯(lián)網(wǎng)的信息傳輸提供必要的真實(shí)性、完整性、機(jī)密性和不可否認(rèn)性?,F(xiàn)有的公鑰基礎(chǔ)設(shè)施存在證書頒發(fā)機(jī)構(gòu)權(quán)力過大、吊銷查詢困難等問題。隨著區(qū)塊鏈技術(shù)的發(fā)展,可以利用區(qū)塊鏈技術(shù)去中心化、透明度高、結(jié)構(gòu)扁平等優(yōu)點(diǎn)來解決上述公鑰基礎(chǔ)設(shè)施存在的問題,提高整個(gè)互聯(lián)網(wǎng)建立信任關(guān)系的能力和效率。因此,提出基于區(qū)塊鏈的高透明度PKI認(rèn)證協(xié)議。該協(xié)議通過加入門限簽名技術(shù)提出了改進(jìn)的實(shí)用拜占庭容錯(cuò)共識(shí)算法(TS-PBFT)。TS-PBFT算法降低了原有實(shí)用拜占庭容錯(cuò)(PBFT,practical Byzantine fault tolerance)共識(shí)算法的通信復(fù)雜度,減少了通信開銷;TS-PBFT算法在視圖切換協(xié)議的主節(jié)點(diǎn)選舉引入了外界監(jiān)督機(jī)制,增加了可監(jiān)管性;TS-PBFT算法在快速一致性協(xié)議中引入了批處理機(jī)制,提升了共識(shí)過程的性能。該協(xié)議一方面在提出的PBFT算法的基礎(chǔ)上引入了區(qū)塊鏈技術(shù),提升了證書吊銷查詢的安全性,并引入了計(jì)數(shù)布隆過濾器,提升了證書查詢的效率;另一方面,該協(xié)議在證書的生命周期管理中增加了證書審計(jì)流程,對(duì)證書頒發(fā)機(jī)構(gòu)的行為做出監(jiān)管,促使其提高安全標(biāo)準(zhǔn),達(dá)到限制其權(quán)力的目的。安全性分析和效率實(shí)驗(yàn)分析表明,所提協(xié)議系統(tǒng)具有抵抗偽裝申請(qǐng)證書攻擊等安全屬性,與已有PKI協(xié)議相比在TLS/SSL握手耗時(shí)上具有優(yōu)勢(shì)。
區(qū)塊鏈;拜占庭容錯(cuò);公鑰基礎(chǔ)設(shè)施;認(rèn)證協(xié)議
公鑰基礎(chǔ)設(shè)施(PKI,public key infrastructure)是互聯(lián)網(wǎng)空間安全基礎(chǔ)設(shè)施的一個(gè)重要組成部分,是一種普適性的網(wǎng)絡(luò)安全基礎(chǔ)設(shè)施[1]。PKI的目的是在不可信網(wǎng)絡(luò)中,以公鑰密碼學(xué)為理論基礎(chǔ),以數(shù)字證書為溝通媒介建立安全可靠的信任關(guān)系,使用戶可以在互聯(lián)網(wǎng)中方便地驗(yàn)證對(duì)方用戶的身份,從而為互聯(lián)網(wǎng)上信息的傳輸提供必要的真實(shí)性、完整性、機(jī)密性和不可否認(rèn)性。
近30年以來,PKI 體系得到了快速的發(fā)展,尤其隨著電子商務(wù)的興起,PKI體系進(jìn)入了爆發(fā)性發(fā)展期。但是早期證書頒發(fā)機(jī)構(gòu)(CA,certificate authority)多只注重?cái)U(kuò)大市場(chǎng)份額,而未將安全列入其最高優(yōu)先級(jí)中,成為攻擊者最大的攻擊目標(biāo)[2]。2008年,有人利用StartCom網(wǎng)站的漏洞,繞過了認(rèn)證,申請(qǐng)并獲得了未經(jīng)授權(quán)域名的兩張證書[3]。2011年,DigiNotar成為第一家被完全入侵的CA,導(dǎo)致偽造的證書被大范圍使用,產(chǎn)生了非常嚴(yán)重的中間人攻擊[4]。
PKI 體系如今雖然已十分普遍和成熟,但一連串的事件說明其依舊存在缺陷。首先是CA權(quán)力過大,理論上CA 有能力不經(jīng)過域名擁有者的同意隨意簽發(fā)證書。其次是 PKI 體系中證書吊銷與查詢不關(guān)聯(lián),PKI 體系雖然提供了證書吊銷列表(CRL,certificate revocation list)和在線證書狀態(tài)協(xié)議(OCSP,online certificate status protocol)服務(wù)用于查詢證書吊銷狀態(tài),但用戶在查詢過程中無法確保查詢的證書就是CA查詢的證書,換言之,用戶無法脫離CA自行查詢證書狀態(tài)。最后是證書吊銷查詢服務(wù)的安全性和實(shí)用性極低,如CRL存在體積過大、更新慢和移動(dòng)客戶端不支持的缺點(diǎn),OCSP 存在易受重放攻擊和響應(yīng)壓制的問題。綜上,如何設(shè)計(jì)行之有效的CA監(jiān)管機(jī)制從而改善證書操作的透明度是當(dāng)前亟待解決的問題之一。
區(qū)塊鏈技術(shù)由中本聰提出,最早作為比特幣的底層技術(shù),其結(jié)合諸多現(xiàn)代的計(jì)算機(jī)技術(shù)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、交換和處理,是一種安全性極高的分布式存儲(chǔ)技術(shù)[5]。
區(qū)塊鏈技術(shù)的快速發(fā)展,使大量的研究學(xué)者越來越重視區(qū)塊鏈技術(shù)在PKI認(rèn)證領(lǐng)域的潛力。Fromknecht等[6]提出了第一個(gè)基于區(qū)塊鏈技術(shù)的 PKI 系統(tǒng)Certcoin,該系統(tǒng)以比特幣區(qū)塊鏈系統(tǒng)為底層基礎(chǔ),使用Certcoin代替CA提供密鑰查詢和跨域認(rèn)證功能,但區(qū)塊鏈賬本記錄了用戶身份從而造成隱私泄露問題。Axon等[7]改進(jìn)了Certcoin系統(tǒng),在其基礎(chǔ)上增加了隱私保護(hù)功能。Matsumoto等[8]基于以太坊區(qū)塊鏈架構(gòu)設(shè)計(jì)了一種新的分布式PKI認(rèn)證體系,該體系能夠很好地解決傳統(tǒng)PKI證書管理、撤銷和查詢通信量過大的問題。為了解決CA失責(zé)現(xiàn)象,Chen等[9]提出了基于區(qū)塊鏈的公開高效證書審核TLS連接方案CertChain,其核心思想是通過可靠性等級(jí)對(duì) CA 進(jìn)行分層。Kubilay等[10]在CertChain的基礎(chǔ)上提出了一種新的基于區(qū)塊鏈的帶有證書透明度的模型CertLedger,該模型增加了抵抗分裂世界攻擊的能力。馬曉婷等[11]基于聯(lián)盟鏈實(shí)現(xiàn)了異構(gòu)域之間的認(rèn)證協(xié)議和重認(rèn)證協(xié)議,卻未能提高證書吊銷查詢的安全性和證書查詢的效率,也未能對(duì)CA權(quán)力進(jìn)行監(jiān)管。
近年來,區(qū)塊鏈技術(shù)在其他領(lǐng)域的認(rèn)證方案引起了研究人員的關(guān)注。王昊等[12]設(shè)計(jì)了一種應(yīng)用于智能交通系統(tǒng)中交叉口場(chǎng)景下的匿名車輛身份認(rèn)證的方案,該方案使用區(qū)塊鏈記錄了基于身份和哈希消息認(rèn)證碼的混合密碼認(rèn)證結(jié)果,能夠以較少的通信開銷實(shí)現(xiàn)匿名車輛認(rèn)證。張勖等[13]設(shè)計(jì)了一種應(yīng)用于移動(dòng)自組織網(wǎng)的分布式認(rèn)證方案,該方案設(shè)計(jì)了具有輕量化的認(rèn)證賬本和共識(shí)算法的區(qū)塊鏈技術(shù),能夠應(yīng)用于移動(dòng)節(jié)點(diǎn)資源受限的場(chǎng)景。
從上述文獻(xiàn)可知,PKI體系中存在CA權(quán)力過大、證書吊銷查詢困難等問題,同時(shí)區(qū)塊鏈技術(shù)憑借其去中心化、透明度高、結(jié)構(gòu)扁平等優(yōu)點(diǎn)在認(rèn)證領(lǐng)域有廣闊的研究前景。本文提出了一種基于區(qū)塊鏈的高透明度PKI認(rèn)證協(xié)議,主要貢獻(xiàn)如下。
1) 提出了一種基于門限簽名的高效拜占庭容錯(cuò)共識(shí)機(jī)制。該機(jī)制有3點(diǎn)創(chuàng)新:一是引入門限簽名技術(shù),降低了通信復(fù)雜度;二是在視圖切換協(xié)議的主節(jié)點(diǎn)選舉中設(shè)計(jì)了可信度等級(jí)指標(biāo)用于衡量單個(gè)節(jié)點(diǎn)的可信度,增加了可監(jiān)管性;三是在快速一致性協(xié)議中引入了批處理機(jī)制,提升了共識(shí)過程的性能。
2) 提出了一種基于區(qū)塊鏈的高透明度的PKI認(rèn)證協(xié)議。該協(xié)議基于提出的高效共識(shí)機(jī)制,引入了區(qū)塊鏈技術(shù),在X.509證書格式的基礎(chǔ)上設(shè)計(jì)了新的BcCert證書,增加了證書的透明度,提升了證書吊銷查詢的安全性,并引入計(jì)數(shù)布隆過濾器提升了證書查詢效率。
3) 在提出的PKI認(rèn)證協(xié)議中引入了外界監(jiān)督機(jī)制,在證書的生命周期管理中增加了證書審計(jì)流程,對(duì)CA的行為做出監(jiān)管,促使CA提高其安全標(biāo)準(zhǔn),一定程度上限制了CA的權(quán)力。
本文提出的基于區(qū)塊鏈的高透明度PKI認(rèn)證協(xié)議,是建立在設(shè)計(jì)的基于門限簽名的高效拜占庭容錯(cuò)共識(shí)機(jī)制的基礎(chǔ)上,接下來闡述該共識(shí)機(jī)制的設(shè)計(jì)過程。
對(duì)拜占庭容錯(cuò)(BFT,Byzantine fault tolerant)算法的研究起源于Lamport等[14]在1982年研究發(fā)表的論文“Byzantine generals and transaction commit protocols”,最早是用來解決在通信可靠的條件下,網(wǎng)絡(luò)環(huán)境中若存在惡意節(jié)點(diǎn)或者故障節(jié)點(diǎn)時(shí)如何達(dá)成一致共識(shí)的問題。
真正使拜占庭容錯(cuò)算法在實(shí)際應(yīng)用中變得可用是在1999年,Castro和Liskov[15]提出了實(shí)用拜占庭容錯(cuò)(PBFT,practical Byzantine fault tolerance)共識(shí)算法,將算法復(fù)雜度從指數(shù)級(jí)別降為多項(xiàng)式級(jí)別。
原PBFT算法的設(shè)計(jì)初衷并不是針對(duì)區(qū)塊鏈設(shè)計(jì)的,因此將其直接應(yīng)用到區(qū)塊鏈相關(guān)應(yīng)用中,主要會(huì)存在以下缺點(diǎn)。
3) 不能實(shí)現(xiàn)共識(shí)請(qǐng)求的批量處理。原 PBFT 共識(shí)機(jī)制并不支持靈活的共識(shí)請(qǐng)求處理,只能逐個(gè)依次處理共識(shí)請(qǐng)求。若請(qǐng)求并發(fā)量較大,勢(shì)必導(dǎo)致共識(shí)過程效率低。
雖然目前有較多針對(duì)PBFT的改進(jìn)機(jī)制,但沒有徹底解決上述問題[16-17]。本文主要研究基于區(qū)塊鏈的高透明度PKI認(rèn)證協(xié)議,需要在區(qū)塊鏈中存儲(chǔ)身份認(rèn)證相關(guān)的信息和CA審計(jì)信息,便于在認(rèn)證時(shí)查詢區(qū)塊鏈賬本并使用相關(guān)信息,同時(shí)根據(jù)審計(jì)信息對(duì)CA的權(quán)力做出限制。針對(duì)上述問題,本文提出了一種基于門限簽名的高效拜占庭容錯(cuò)共識(shí)(TS-PBFT,threshold signature practical byzantine fault tolerant)機(jī)制。
1) 高擴(kuò)展性:能夠容納較大規(guī)模數(shù)量的節(jié)點(diǎn)同時(shí)參與共識(shí)過程。
2) 可監(jiān)管性:能夠通過接收外部審計(jì)的方式影響主節(jié)點(diǎn)選舉,若節(jié)點(diǎn)具有不良的審計(jì)記錄,在選舉時(shí)成為主節(jié)點(diǎn)的概率將大大降低。
3) 高效性:在面對(duì)大量客戶端請(qǐng)求時(shí),能夠盡量及時(shí)處理請(qǐng)求,不造成請(qǐng)求堆積。
本文提出的TS-PBFT機(jī)制主要在以下幾個(gè)協(xié)議方面進(jìn)行改進(jìn)。
本協(xié)議確保了單個(gè)數(shù)據(jù)區(qū)塊在唯一視圖下的一致性,具體流程如下。
(1)請(qǐng)求階段
(2)分發(fā)階段
(3)提交確認(rèn)階段
(4)執(zhí)行確認(rèn)階段
(5)回復(fù)階段
若上述所有流程都在客戶端定時(shí)器超時(shí)之前完成,則共識(shí)流程順利完成,否則客戶端重新發(fā)起共識(shí)請(qǐng)求。
(1)觸發(fā)條件
線性模式和快速模式的區(qū)別主要體現(xiàn)在分發(fā)階段和提交確認(rèn)階段,下面詳細(xì)描述線性模式下分發(fā)階段和提交確認(rèn)階段的實(shí)現(xiàn)原理。
(2)分發(fā)階段
(3)提交確認(rèn)階段
在本節(jié)的共識(shí)機(jī)制中,序列號(hào)為的事務(wù)組在區(qū)塊鏈中可能存在下列3種狀態(tài)。
①事務(wù)提交:指至少有一個(gè)非拜占庭錯(cuò)誤節(jié)點(diǎn)已經(jīng)提交事務(wù)。
(1)觸發(fā)條件
當(dāng)以下任何一種情況發(fā)生時(shí),共識(shí)機(jī)制進(jìn)入視圖切換階段:
①視圖切換定時(shí)器超時(shí);
②來自主節(jié)點(diǎn)的消息簽名驗(yàn)證失?。?/p>
(2)主節(jié)點(diǎn)選舉
本文設(shè)計(jì)了可信度等級(jí)(RL,reliability level)指標(biāo)來衡量單個(gè)節(jié)點(diǎn)的可信度,并以此作為參考選舉出主節(jié)點(diǎn)。
節(jié)點(diǎn)可信度等級(jí)指標(biāo)的迭代計(jì)算方式如下。
(3)發(fā)起新視圖
(4)接收新視圖
在該階段,需要滿足系統(tǒng)從老視圖到新視圖的安全切換。
在TS-PBFT機(jī)制的基礎(chǔ)上,本節(jié)設(shè)計(jì)了基于區(qū)塊鏈的可信透明PK(TB-PKI,transparent- advanced blockchain-based public key infrastructure)認(rèn)證協(xié)議。本協(xié)議的主要?jiǎng)?chuàng)新點(diǎn)如下。
2) 引入計(jì)數(shù)布隆過濾器,提升了證書查詢效率。
3) 將審計(jì)機(jī)制與共識(shí)機(jī)制相融合,促使CA提高其安全標(biāo)準(zhǔn),一定程度上限制了CA的權(quán)力。
本節(jié)TB-PKI認(rèn)證協(xié)議系統(tǒng)模型中,參與的實(shí)體包括用戶(U,user),證書申請(qǐng)者(CR,certification register),證書頒發(fā)機(jī)構(gòu)(CA,certification authority),聯(lián)盟區(qū)塊鏈系統(tǒng)(CBS,consortium blockchain system),如圖1所示。
圖1 TB-PKI認(rèn)證協(xié)議系統(tǒng)架構(gòu)
Figure 1 Framework of TB-PKI authentication protocol system
TB-PKI認(rèn)證協(xié)議設(shè)計(jì)了一種針對(duì)聯(lián)盟區(qū)塊鏈場(chǎng)景的證書,由區(qū)塊鏈各節(jié)點(diǎn)達(dá)成共識(shí)后記入?yún)^(qū)塊鏈賬本中,該證書可作為授權(quán)域不可篡改的可信憑證。傳統(tǒng)的X.509證書與本文區(qū)塊鏈證書的差別如圖2所示。
本文設(shè)計(jì)的BcCert證書保留了傳統(tǒng)X.509證書中的版本號(hào)、證書序列號(hào)、發(fā)行商名稱、證書主體名、證書主體公鑰信息和擴(kuò)展中大部分主要字段。在此基礎(chǔ)上,新增了與區(qū)塊鏈相關(guān)的請(qǐng)求類型、請(qǐng)求時(shí)間、證書哈希和上一區(qū)塊高度字段。與此同時(shí),去除了簽名、簽名算法和擴(kuò)展中的CRL分發(fā)點(diǎn)以及頒發(fā)機(jī)構(gòu)信息訪問字段。
圖2 X.509證書與BcCert證書
Figure 2 X.509 certificateand BcCert certificate
新增字段主要用于記錄與數(shù)字證書相關(guān)的信息,操作類型、修改時(shí)間、哈希值和上一次區(qū)塊高度。
刪除字段主要包含簽名、簽名算法、擴(kuò)展字段中的CRL分發(fā)點(diǎn)和擴(kuò)展字段中的頒發(fā)機(jī)構(gòu)信息訪問。刪除這些字段是因?yàn)楸竟?jié)模型中,用戶對(duì)證書的信任源于整個(gè)聯(lián)盟區(qū)塊鏈系統(tǒng)而不是單個(gè)CA,同時(shí)本節(jié)模型不需要額外借助第三方機(jī)構(gòu)即可完成證書狀態(tài)查詢。
在TB-PKI認(rèn)證協(xié)議中,區(qū)塊鏈存儲(chǔ)的數(shù)據(jù)有兩種。第一種是證書生命周期記錄,第二種是證書審計(jì)記錄。兩者的區(qū)塊頭基本相同,唯一的區(qū)別是證書生命周期記錄的區(qū)塊頭多了雙計(jì)數(shù)布隆過濾器字段,該字段用于證書的快速查詢。兩者的區(qū)塊體也不同,證書生命周期記錄的區(qū)塊體由多個(gè)X.509證書組成,而證書審計(jì)記錄的區(qū)塊體由多個(gè)審計(jì)報(bào)告組成,如圖3所示。
(1)證書注冊(cè)
圖3 TB-PKI協(xié)議區(qū)塊數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
Figure 3 Blockchain structures of TB-PKI protocol
(2)證書更新
(3)證書吊銷
(4)證書驗(yàn)證
(5)證書審計(jì)
(1)緩解偽裝申請(qǐng)證書
在TB-PKI認(rèn)證協(xié)議中,引入外界監(jiān)督機(jī)制。若域名的真正擁有者發(fā)現(xiàn)其證書被他人冒名申請(qǐng),則可以向CA發(fā)起證書審計(jì)請(qǐng)求,并要求其吊銷虛假證書。CA確認(rèn)后向聯(lián)盟區(qū)塊鏈系統(tǒng)發(fā)起請(qǐng)求,將該審計(jì)報(bào)告寫入?yún)^(qū)塊鏈賬本,同時(shí)將區(qū)塊鏈賬本中的虛假證書狀態(tài)修改為吊銷狀態(tài),最后通過算法降低頒發(fā)該虛假證書CA的可信度。
雖然該種攻擊無法從根源上避免,但通過該審計(jì)反饋機(jī)制,影響了失責(zé)CA在之后共識(shí)過程中的話語權(quán),也在區(qū)塊鏈賬本中留下了不可篡改的記錄??傮w來說,TB-PKI認(rèn)證協(xié)議能夠促使CA提高其安全性,進(jìn)而降低發(fā)生該類攻擊的可能性。
(2)抵抗惡意修改證書
(3)抵抗使用偽造證書
在TB-PKI認(rèn)證協(xié)議中,由于區(qū)塊鏈具備分布式多節(jié)點(diǎn)的特點(diǎn),即使惡意攻擊者使用響應(yīng)壓制的方式,也無法影響用戶獲取證書吊銷狀態(tài)。同時(shí)由于區(qū)塊鏈賬本上記錄了證書的整個(gè)頒發(fā)過程,可以通過查詢最新區(qū)塊的區(qū)塊頭快速判斷證書是否有效。若惡意攻擊者在SSL/TLS連接中使用了偽造證書,由于這些偽造證書并沒有被寫入聯(lián)盟區(qū)塊鏈系統(tǒng)中,用戶在檢查證書狀態(tài)時(shí)可以發(fā)現(xiàn)異常,進(jìn)而拒絕之后的SSL/TLS連接。因此,TB-PKI認(rèn)證協(xié)議在對(duì)抗偽造證書的安全性上也更勝一籌。
(4)抵抗分布式拒絕服務(wù)攻擊
在TB-PKI認(rèn)證協(xié)議中,多個(gè)成員組成了聯(lián)盟組織,可以將CA或者某個(gè)用戶的訪問請(qǐng)求轉(zhuǎn)發(fā)到聯(lián)盟平臺(tái)的其他成員上,從而減輕單個(gè)成員的訪問負(fù)擔(dān)。
在傳統(tǒng)的PKI體系中,可信第三方提供的CRL服務(wù)或者OCSP服務(wù)往往是單機(jī)服務(wù),分布式拒絕服務(wù)攻擊可以對(duì)系統(tǒng)造成嚴(yán)重的安全威脅。而TB-PKI認(rèn)證協(xié)議相比傳統(tǒng)的PKI體系,在分布式拒絕服務(wù)攻擊下可以提供可持續(xù)的服務(wù)。
TB-PKI認(rèn)證協(xié)議的區(qū)塊結(jié)構(gòu)與比特幣區(qū)塊結(jié)構(gòu)比較如表1所示。在安全方面,區(qū)塊頭中存在可信度列表字段,用于記錄聯(lián)盟區(qū)塊中各個(gè)CA的可信度,從而可以對(duì)CA行為進(jìn)行公平公正的審計(jì),此外,在區(qū)塊體部分設(shè)計(jì)了BcCert證書結(jié)構(gòu),使證書的狀態(tài)和頒發(fā)過程可以被完整記錄,提供透明的狀態(tài)查詢,具有更高的安全性;在效率方面,區(qū)塊頭中主要增加了可信度列表和雙計(jì)數(shù)布隆過濾器的字段,區(qū)塊頭結(jié)構(gòu)設(shè)計(jì)了雙計(jì)數(shù)布隆過濾器,分別用于記錄有效證書和記錄吊銷證書,提高了查詢效率。協(xié)議中設(shè)計(jì)的區(qū)塊結(jié)構(gòu)為了保證安全和效率增加了對(duì)應(yīng)字段,可能比比特幣區(qū)塊需要更多空間用于數(shù)據(jù)的存儲(chǔ)。
表1 TB-PKI認(rèn)證協(xié)議的區(qū)塊結(jié)構(gòu)與比特幣區(qū)塊結(jié)構(gòu)比較
接下來,通過實(shí)驗(yàn)對(duì)TB-PKI協(xié)議中證書注冊(cè)、證書更新和證書吊銷的耗時(shí)進(jìn)行測(cè)試。同時(shí)將TB-PKI認(rèn)證協(xié)議的單次完整握手時(shí)間和其他基于PKI認(rèn)證協(xié)議改進(jìn)方案進(jìn)行比較。
實(shí)驗(yàn)環(huán)境和參數(shù)設(shè)置如圖4所示,本次實(shí)驗(yàn)基于Docker虛擬化技術(shù)實(shí)現(xiàn),每個(gè)節(jié)點(diǎn)都獨(dú)立運(yùn)行在規(guī)格相同的Docker虛擬機(jī)中。區(qū)塊鏈系統(tǒng)節(jié)點(diǎn)為6個(gè),不設(shè)置故障節(jié)點(diǎn)。
圖4 實(shí)驗(yàn)環(huán)境和參數(shù)設(shè)置
Figure 4 Experiment environment and parameter setting
(1)證書生命周期耗時(shí)
每次實(shí)驗(yàn)設(shè)置1個(gè)客戶端,以1 000次/秒的頻率分別申請(qǐng)進(jìn)行證書注冊(cè)、證書更新和證書吊銷。取100次實(shí)驗(yàn)的平均值作為最終結(jié)果。
證書申請(qǐng)、更新、吊銷過程均以申請(qǐng)者發(fā)起請(qǐng)求為始,以最終在聯(lián)盟區(qū)塊鏈系統(tǒng)中查詢到最新證書狀態(tài)為止。其中,共識(shí)階段以CA發(fā)起共識(shí)請(qǐng)求為始,以聯(lián)盟區(qū)塊鏈系統(tǒng)生成新的區(qū)塊為止;查詢證書階段以證書申請(qǐng)者收到CA完成共識(shí)階段之后返回的證書和區(qū)塊位置為始,以在聯(lián)盟區(qū)塊鏈系統(tǒng)中查詢到證書最新狀態(tài)為止。上述證書申請(qǐng)過程耗時(shí)和起止時(shí)刻如表2所示,證書更新過程耗時(shí)和起止時(shí)刻如表3所示,證書吊銷過程耗時(shí)和起止時(shí)刻如表4所示,其中,時(shí)刻指時(shí)間刻度。
表2 證書申請(qǐng)過程耗時(shí)和起止時(shí)刻
表3 證書更新過程耗時(shí)和起止時(shí)刻
表4 證書吊銷過程耗時(shí)和起止時(shí)刻
從表2、表3和表4可以看出,在證書的申請(qǐng)、更新和吊銷過程中,共識(shí)過程需要的時(shí)間遠(yuǎn)多于查詢過程需要的時(shí)間。證書更新過程的耗時(shí)比證書申請(qǐng)過程的耗時(shí)需要的時(shí)間稍長,是因?yàn)樵谧C書更新過程中需要多查詢一次證書的狀態(tài)。證書吊銷過程中的查詢階段需要的時(shí)間較少,因?yàn)榇舜巫C書查詢只需要直接找到最新的區(qū)塊即可,不需要通過區(qū)塊高度定位區(qū)塊。
(2)單次握手時(shí)間
在一次完整的TLS/SSL握手中,用戶和證書申請(qǐng)者建立連接,證書申請(qǐng)者提供證書給用戶,用戶先在本地驗(yàn)證證書合法性,然后在聯(lián)盟區(qū)塊鏈系統(tǒng)中查詢證書的最新狀態(tài)是否有效,若有效,則建立連接。
本實(shí)驗(yàn)設(shè)置1個(gè)客戶端和1個(gè)服務(wù)端,使其建立TLS/SSL連接,并在連接建立后馬上斷開并清除緩存,為了不失一般性,取1 000次實(shí)驗(yàn)的平均值作為最終結(jié)果。與此同時(shí),將結(jié)果和CRL、OCSP、CCSP[18]、ARPKI[19]、TriPKI[20]做對(duì)比。需要注意的是,本實(shí)驗(yàn)設(shè)定每次TLS/SSL連接,CRL都需要重新下載最新的撤銷證書列表。
圖5 握手時(shí)間性能對(duì)比
Figure 5 Comparisonof handshake performance
從圖5可以看出,CRL方案耗時(shí)185 ms,OCSP方案耗時(shí)120 ms,CCSP方案耗時(shí)123 ms,ARPKI方案耗時(shí)155 ms,TriPKI認(rèn)證協(xié)議耗時(shí)103 ms,而本文方案耗時(shí)100 ms。由此可以看出,本文設(shè)計(jì)的TB-PKI認(rèn)證協(xié)議在TLS/SSL握手中相比其他方案具有一定的優(yōu)勢(shì)。
[1] MATHUR S, ARORA A. Internet of things (IoT) and PKI-based Security Architecture[M]//Industrial Internet of Things and Cyber-Physical Systems: Transforming the Conventional to Digital. 2020: 25-46.
[2] SERRANO N, HADAN H, CAMP L J. A complete study of PKI (PKI’s Known Incidents)[J]. SSRN Electronic Journal, 2019 (47).
[3] KAMINSKY D, PATTERSON M L, SASSAMAN L. PKI layer cake: new collision attacks against the global X. 509 infrastructure[C]//International Conference on Financial Cryptography and Data Security. 2010: 289-303.
[4] PRINS J R, CYBERCRIME B U. DigiNotar certificate authority breach “operation black tulip”[J]. Fox-IT, 2011, (11): 18.
[5] DAVIDSON S, DE FILIPPI P, POTTS J. Blockchains and the economic institutions of capitalism[J]. Journal of Institutional Economics, 2018, 14(4):639-658.
[6] FROMKNECHT C, VELICANU D, YAKOUBOV S. Certcoin: a namecoin based decentralized authentication system6.857 class project[J]. Unpublished Class Project, 2014.
[7] AXON L, GOLDSMITH M. PB-PKI: a privacy-aware blockchain-based PKI[C]//SECRYPT. 2017: 311-318.
[8] MATSUMOTO S, REISCHUK R M. IKP: turning a PKI around with decentralized automated incentives[C]//2017 IEEE Symposium on Security and Privacy (SP). 2017: 410-426.
[9] CHEN J, YAO S, YUAN Q, et al. Certchain: public and efficient certificate audit based on blockchain for tls connections[C]//IEEE INFOCOM 2018-IEEE Conference on Computer Communications. 2018: 2060-2068.
[10] KUBILAY M Y, KIRAZ M S, MANTAR H A. CertLedger: a new PKI model with certificate transparency based on blockchain[J]. Computers & Security, 2019, 85: 333-352.
[11] 馬曉婷,馬文平,劉小雪.基于區(qū)塊鏈技術(shù)的跨域認(rèn)證方案[J].電子學(xué)報(bào), 2018, 46( 11) : 2571-2579.
MA X T,MA W P,LIU X X. A cross domain authentication scheme based on blockchain technology[J]. Acta Electronica Sinica, 2018, 46(11):2571-2579.
[12] 王昊, 吳天昊, 朱孔林, 等. 交叉口場(chǎng)景下基于區(qū)塊鏈技術(shù)的匿名車輛身份認(rèn)證方案[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2020, 6(5): 27-35.
WANG H, WU T H, ZHU K L, et al. Anonymous vehicle authentication scheme based on blockchain technology in the intersection scenario[J]. Chinese Journal of Network and Information Security, 2020, 6(5): 27-35.
[13] 張勖, 馬欣. 基于區(qū)塊鏈的輕量化移動(dòng)自組網(wǎng)認(rèn)證方案[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2020, 6(4): 14-22.
ZHANG X, MA X. Lightweight mobile Ad Hoc network authentication scheme based on blockchain[J]. Chinese Journal of Network and Information Security, 2020, 6(4): 14-22.
[14] LAMPORT L, FISCHER M. Byzantine generals and transaction commit protocols[R]. Technical Report 6. 1982.
[15] CASTRO M, LISKOV B. Practical byzantine fault tolerance[C]// OSDI. 1999: 173-186.
[16] HAO X, YU L, ZHIQIANG L,et alDynamic practical byzantine fault tolerance[C]//2018 IEEE Conference on Communications and Network Security (CNS). 2018: 1-8.
[17] LI F, LIU K, LIU J, et al. DHBFT: Dynamic hierarchical byzantine fault-tolerant consensus mechanism based on credit[C]// Asia-Pacific Web (APWeb) and Web-Age Information Management (WAIM) Joint International Conference on Web and Big Data. 2020: 3-17.
[18] CHARITON A A, DEGKLERI E, PAPADOPOULOS P, et al. CCSP: a compressed certificate status protocol[C]//IEEE INFOCOM 2017-IEEE Conference on Computer Communications. 2017: 1-9.
[19] BASIN D, CREMERS C, KIM T H J, et al. ARPKI: Attack resilient public-key infrastructure[C]//Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. 2014: 382-393.
[20] CHEN J, YAO S, YUAN Qet al.Checks and balances: a tripartite public key infrastructure for secure Web-based connections[C]// IEEE INFOCOM 2017-IEEE Conference on Computer Communications. 2017: 1-9.
Blockchain-based high transparent PKI authentication protocol
CHEN Liquan1,2, LI Xiao1, YANG Zheyi1, QIAN Sijie1
1. School of Cyber Science and Engineering, Southeast University, Nanjing 210096, China 2. Purple Mountain Laboratories for Network and Communication Security, Nanjing 211111, China
The public key infrastructure (PKI), as an significant component of the current Internet security infrastructure, guarantees the information transmission with the necessary authenticity, integrity, confidentiality and non-repudiation. However, the existing PKI also has shortcomings of excessive power of certification authority and difficulties in revoking and querying. Blockchain can be used to solve those problems by leveraging its advantages, such as decentralization, high transparency and flat structure. Furthermore, the ability and efficiency of the entire Internet to establish trust relationships may be improved. The transparent public key infrastructure (PKI) certification protocol based on the blockchain was proposed. The TS-PBFT algorithm was designed in the proposed protocol by adopting the threshold signature technology to the Practical Byzantine fault tolerance (PBFT) algorithm. The TS-PBFT algorithm reduced the communication overhead via reducing the communication complexity, strengthened the supervision via introducing external monitoring mechanism in the master node election of the view change protocol, and also improved the performance of the consensus mechanism via adding a batch processing mechanism. Moreover, a transparent blockchain-based PKI certification protocol was designed. The proposed protocol increased the security of certificate revocation and query, it also improved the efficiency of the certificate query by the introduction of counting bloom filters. Besides, the proposed protocol added audit function into the certificate lifecycle management. Accordingly, it can supervise the behavior of the certificate authority (CA), prompt it to improve security standards, and then achieve the purpose of limiting its authority. According to the security analysis and efficiency experiments, the proposed protocol was equipped with security properties, such as the resistance to spoofing certificate application attacks, and it achieved the best performance on TLS/SSL handshake time compared with existing PKI protocols.
blockchain, Byzantine fault tolerant, public key infrastructure, authentication protocol
The National Key R&D Program of China(2020YFE0200600)
陳立全, 李瀟, 楊哲懿, 等. 基于區(qū)塊鏈的高透明度PKI認(rèn)證協(xié)議[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2022, 8(4): 1-11.
TP393
A
10.11959/j.issn.2096?109x.2022052
陳立全(1976?),男,廣西玉林人,東南大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)槊艽a與安全協(xié)議、區(qū)塊鏈技術(shù)。
李瀟(1996?),女,江蘇鎮(zhèn)江人,東南大學(xué)博士生,主要研究方向?yàn)槲锫?lián)網(wǎng)安全、區(qū)塊鏈。
楊哲懿(2005?),男,北京人,主要研究方向?yàn)閰^(qū)塊鏈、物聯(lián)網(wǎng)安全。
錢思杰(1995?),男,浙江紹興人,東南大學(xué)碩士生,主要研究方向?yàn)閰^(qū)塊鏈技術(shù)、數(shù)據(jù)安全技術(shù)。
2021?08?09;
2022?03?14
陳立全,lqchen@seu.edu.cn
國家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2020YFE0200600)
CHEN L Q, LI X, YANG Z Y, et al. Blockchain-based high transparent PKI authentication protocol[J]. Chinese Journal of Network and Information Security, 2022, 8(4): 1-11.