信息技術(shù)飛速發(fā)展,在不斷改變?nèi)藗兩a(chǎn)生活方式的同時,也帶來了日益嚴峻的網(wǎng)絡(luò)安全問題。如何在網(wǎng)絡(luò)實體間建立信任關(guān)系,是信息安全領(lǐng)域需要解決的重點問題。作為網(wǎng)絡(luò)安全的基石,網(wǎng)絡(luò)信任體系衍生出公鑰基礎(chǔ)設(shè)施、標識密碼等多種技術(shù)。當前,區(qū)塊鏈技術(shù)以不可篡改、不可偽造、可追溯等特點備受各界關(guān)注,在金融、政務(wù)、司法等領(lǐng)域廣泛應(yīng)用,也為網(wǎng)絡(luò)信任體系的構(gòu)建提供了新的思路。深入分析區(qū)塊鏈技術(shù)在網(wǎng)絡(luò)信任體系建設(shè)中的應(yīng)用潛力,有望為新一代網(wǎng)絡(luò)信任體系的建設(shè)提供參考借鑒,具有重要的研究價值與實踐意義。
0 引 言
隨著信息化和網(wǎng)絡(luò)化的深度融合,物聯(lián)網(wǎng)、移動互聯(lián)、工業(yè)互聯(lián)網(wǎng)等技術(shù)迅猛發(fā)展。人類社會已經(jīng)邁入“萬物互聯(lián)”的信息時代,信息系統(tǒng)也呈現(xiàn)出開放性、大規(guī)模性、復(fù)雜性等特征。高速發(fā)展的信息時代離不開網(wǎng)絡(luò)空間安全的支撐。大到國家安全戰(zhàn)略,小到個人數(shù)據(jù)安全,網(wǎng)絡(luò)安全的重要地位越發(fā)凸顯。網(wǎng)絡(luò)實體之間信任關(guān)系的建立,已成為維護網(wǎng)絡(luò)空間安全有序的基石。
所謂網(wǎng)絡(luò)信任,即以密碼技術(shù)為基礎(chǔ),以法律法規(guī)、技術(shù)標準和基礎(chǔ)設(shè)施為主要內(nèi)容,以解決網(wǎng)絡(luò)應(yīng)用中身份認證、授權(quán)管理和責(zé)任認定等為目的的完整體系,核心在于實現(xiàn)人、設(shè)備、應(yīng)用、服務(wù)等網(wǎng)絡(luò)空間中不同網(wǎng)絡(luò)實體之間信任關(guān)系的建立。
網(wǎng)絡(luò)信任體系建設(shè)首先要解決的問題就是如何保障網(wǎng)絡(luò)實體身份的可信。目前,網(wǎng)絡(luò)信任的常用構(gòu)建方法是基于密碼技術(shù)來實現(xiàn)。其中,基于公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)的建設(shè)方案已經(jīng)逐漸成熟。PKI主要依賴認證機構(gòu)(Certification Authority,CA),使用 X.509證書構(gòu)建身份認證框架,是一種普適的基礎(chǔ)設(shè)施,為各種網(wǎng)絡(luò)應(yīng)用提供全面的安全服務(wù)。然而,以認證機構(gòu)為核心的PKI體系還面臨CA單點故障、證書驗證和撤銷不透明以及跨CA認證復(fù)雜等問題。
區(qū)塊鏈技術(shù)的出現(xiàn),為網(wǎng)絡(luò)信任體系的建設(shè)提供了新的思路。大量基于區(qū)塊鏈實現(xiàn)網(wǎng)絡(luò)實體身份認證與管理的研究成果涌現(xiàn)。一方面,建立在 P2P 網(wǎng)絡(luò)上的區(qū)塊鏈具有去中心化、分布式的特征,可以擺脫依賴中心節(jié)點的身份管理弊端,在跨信任域的信任傳遞上,也展現(xiàn)出獨特優(yōu)勢。另一方面,基于哈希函數(shù)和 Merkle樹的塊鏈式結(jié)構(gòu)使得區(qū)塊鏈具備不可篡改性的安全特征,有助于實現(xiàn)網(wǎng)絡(luò)實體身份全生命周期管理,為身份信息的注冊、使用提供不可篡改、可追溯的安全基礎(chǔ)。
綜上所述,本文從網(wǎng)絡(luò)信任體系發(fā)展現(xiàn)狀出發(fā),對網(wǎng)絡(luò)信任體系建設(shè)的現(xiàn)有技術(shù)進行分析,總結(jié)了網(wǎng)絡(luò)信任體系面臨的安全問題,并結(jié)合區(qū)塊鏈的技術(shù)優(yōu)勢,分析其在構(gòu)建網(wǎng)絡(luò)信任體系過程中的適應(yīng)性和優(yōu)勢,對現(xiàn)有區(qū)塊鏈在構(gòu)建網(wǎng)絡(luò)信任體系中的應(yīng)用方案進行歸納分析,進一步提出區(qū)塊鏈技術(shù)需要重點解決的問題,以便更好地助力網(wǎng)絡(luò)信任體系的發(fā)展。
1 網(wǎng)絡(luò)信任發(fā)展現(xiàn)狀
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)信任問題已經(jīng)成為信息安全領(lǐng)域需要解決的核心問題。相比理世界實體信任關(guān)系的簡單建立,網(wǎng)絡(luò)中各個實體之間的關(guān)系呈現(xiàn)出規(guī)模大、復(fù)雜性高、變化快等特點。這就為網(wǎng)絡(luò)中實體之間的可信交互帶來了巨大挑戰(zhàn),亟需建立網(wǎng)絡(luò)信任體系來維護網(wǎng)絡(luò)空間中的秩序。
1.1 網(wǎng)絡(luò)信任概述
網(wǎng)絡(luò)信任體系作為實現(xiàn)網(wǎng)絡(luò)安全的重要因素,是保障網(wǎng)絡(luò)空間實體活動的核心基石。網(wǎng)絡(luò)信任體系的使命是在網(wǎng)絡(luò)空間的不同實體之間建立信任關(guān)系,不僅要確保網(wǎng)絡(luò)中各實體身份的有效分配,還需要保證身份的可信、可用,確保將人員、設(shè)備、應(yīng)用等所有網(wǎng)絡(luò)實體通過信任關(guān)系進行連接,最終形成面向不同應(yīng)用場景的網(wǎng)絡(luò)實體信任聯(lián)盟域和可信鏈。
基于公鑰密碼體制的認證技術(shù)是信任關(guān)系建立的重要手段之一。在1976年公鑰密碼體系問世前,消息傳輸依賴對稱密碼,需要通信雙方共享密鑰。此時,對于通信雙方身份的認證僅需要判斷其是否擁有共享密鑰。隨著網(wǎng)絡(luò)實體數(shù)量的增多,大規(guī)模網(wǎng)絡(luò)實體之間的兩兩通信給密鑰管理帶來較高的復(fù)雜性。公鑰密碼的誕生解決了這一問題,經(jīng)過多年發(fā)展,公鑰密碼已經(jīng)成為構(gòu)建網(wǎng)絡(luò)信任體系的重要技術(shù)。
目前,基于公鑰密碼的網(wǎng)絡(luò)信任框架主要包括兩種:一種是基于PKI的數(shù)字證書身份認證體系,已經(jīng)被廣泛應(yīng)用于各類網(wǎng)絡(luò)系統(tǒng)中,發(fā)展較為成熟;另一種是基于標識密碼(IdentityBased Cryptography,IBC)的身份認證體系,通過將網(wǎng)絡(luò)實體的身份標識信息與公鑰進行綁定,為網(wǎng)絡(luò)身份管理提供良好的基礎(chǔ)。
除基于公鑰密碼方案外,常見的身份認證方法還包括基于口令、智能卡、令牌、生物特征和多因素組合等多種方法。
1.2 基于公鑰密碼的網(wǎng)絡(luò)信任框架面臨的安全問題
盡管 PKI 體系已經(jīng)被成熟地應(yīng)用于網(wǎng)絡(luò)信任體系中,但并不是固若金湯。隨著網(wǎng)絡(luò)安全問題的升級,基于公鑰密碼的網(wǎng)絡(luò)信任框架仍然面臨諸多安全挑戰(zhàn)。
(1)C的單點故障問題:PKI證書的安全性依賴于根CA以及各級CA機構(gòu)的安全性。近10年來的安全事件表明,CA本身可能是不誠實的,可能會遭受攻擊、簽署欺詐性證書、誤操作、使用過期或有缺陷的密碼算法等。2011年7月,荷蘭DigiNotar公司的CA遭受黑客攻擊,至少頒發(fā)了531張欺詐性證書,其中涉及谷歌、微軟、雅虎等網(wǎng)站,此次事故直接DigiNotar公司于2011年9月宣告破產(chǎn)。
在當前的Web模型下,TLS PKI也是十分脆弱的。由于誤操作或者被攻陷,CA可能會頒發(fā)欺詐證書,不僅不易被發(fā)覺,還可能被用于實施竊取用戶敏感數(shù)據(jù)等惡意行為。典型的欺詐性證書將DNS域名與假冒的Web服務(wù)器密鑰對進行綁定。即使瀏覽器嚴格遵循證書驗證步驟,假冒的服務(wù)器也會發(fā)起中間人攻擊。
為了降低對CA的可信依賴程度,谷歌于2013年提出證書透明度的概念。實現(xiàn)對證書日志的管理。隨后,一些新的基于日志的PKI模型被提出,用于降低對于CA的信任程度。但是,如果攻擊者擁有可以向目標展示不同日志的能力,那么攻擊者就可以實施網(wǎng)絡(luò)分裂攻擊。
?。?)證書驗證和吊銷問題:證書依賴方不僅需要識別網(wǎng)絡(luò)實體的公鑰與證書之間的綁定關(guān)系,還要確認證書是否在有效期內(nèi),即證書是否已經(jīng)被吊銷。證書依賴方往往需要定期維護一個證書注銷列表(Certificate Revocation List,CRL),其中包含由CA頒發(fā)并且已經(jīng)被吊銷的證書。通過執(zhí)行 CRL 來檢查證書是否在吊銷狀態(tài),但CRL的更新不是實時的,這就給證書驗證帶來了風(fēng)險。
目前,常用在線證書狀態(tài)協(xié)議(Online Certificate Status Protocol,OCSP)代替?zhèn)鹘y(tǒng)的CRL協(xié)議。在證書驗證過程中,可實時訪問OCSP查驗證書狀態(tài),這也導(dǎo)致了OCSP成為中心節(jié)點,一旦被攻擊,將難以識別證書狀態(tài),甚至?xí)?dǎo)致隱私問題的出現(xiàn)。
(3)跨CA互信問題:在PKI體系下,面對實際應(yīng)用場景的復(fù)雜需求,需要解決跨CA互信的問題。通常采用交叉認證的方式,在不同的根CA之間通過互相簽發(fā)證書來建立信任關(guān)系。在認證階段,通過尋找終端實體證書到信任錨之間的信任鏈,從而實現(xiàn)對終端實體證書的驗證。當CA數(shù)量較多時,運用交叉認證方法會形成復(fù)雜的網(wǎng)狀結(jié)構(gòu),證書鏈的發(fā)現(xiàn)過程也隨之變得復(fù)雜。通過在多個信任域之間設(shè)置橋CA也可以實現(xiàn)跨CA認證,橋CA作為連接橋梁,通過互相頒發(fā)交叉認證證書的方法與多個信任域建立信任關(guān)系。相比多CA之間的交叉互認,建立橋CA的方式便于發(fā)現(xiàn)信任鏈路徑,但是需要維護大量不同結(jié)構(gòu)的證書,管理比較復(fù)雜。
(4)跨異構(gòu)信任域認證困難問題:除了PKI體系內(nèi)的跨CA互信問題,隨著IBC的應(yīng)用,如何實現(xiàn)PKI和IBC之間的跨異構(gòu)信任域認證也成為了網(wǎng)絡(luò)信任體系建設(shè)面臨的困難問題。目前,尚未出現(xiàn)實用、完善的PKI域與IBC域之間的跨異構(gòu)信任域認證協(xié)議。一些異構(gòu)跨域身份認證方案和密鑰協(xié)商協(xié)議還面臨計算效率、通信負擔、信任等級等方面的問題,無法完全實現(xiàn)PKI域與IBC域之間的互聯(lián)互通和無縫認證。
?。?)隱私性問題:基于公鑰密碼的身份認證體系將網(wǎng)絡(luò)實體身份與公鑰進行關(guān)聯(lián),缺乏隱私保護手段,在一定程度上泄露了網(wǎng)絡(luò)實體身份信息。如在車聯(lián)網(wǎng)、自組織網(wǎng)絡(luò)(ad-hoc networks)等需要防止網(wǎng)絡(luò)實體行為被追蹤的場景中,如何增強隱私性顯得尤為重要。
2 區(qū)塊鏈技術(shù)概述
區(qū)塊鏈是一種分布式賬本技術(shù),具有去中心化、不可篡改、不可偽造、全程可追溯的特點,最初應(yīng)用于以比特幣為代表的數(shù)字代幣場景中。隨著技術(shù)的發(fā)展,區(qū)塊鏈在全球?qū)W術(shù)界和產(chǎn)業(yè)界掀起了新一輪的研究熱潮,已在金融、政務(wù)、司法等領(lǐng)域廣泛應(yīng)用。
2.1 區(qū)塊鏈定義
2008年,區(qū)塊鏈技術(shù)首次出現(xiàn),隨后成功應(yīng)用于比特幣系統(tǒng)。歷經(jīng)十余年的發(fā)展,區(qū)塊鏈在不斷完善的技術(shù)演進過程中,已經(jīng)在政務(wù)、金融、司法等眾多領(lǐng)域中落地應(yīng)用。作為一種新興技術(shù),區(qū)塊鏈迄今為止尚沒有形成行業(yè)統(tǒng)一定義。本文對國內(nèi)外4個相關(guān)標準、技術(shù)白皮書有關(guān)區(qū)塊鏈技術(shù)的定義進行總結(jié),如表1所示。
2.2 區(qū)塊鏈工作原理
本質(zhì)上,區(qū)塊鏈核心目的是實現(xiàn)分布式網(wǎng)絡(luò)中的一致性,即確保網(wǎng)絡(luò)中所有節(jié)點保存一份相同的有效交易視圖,工作原理如圖1所示。
圖1 區(qū)塊鏈工作原理
流程1交易產(chǎn)生與傳播:在P2P網(wǎng)絡(luò)中,用戶將待寫入?yún)^(qū)塊鏈賬本中的數(shù)據(jù)以交易的形式發(fā)布到網(wǎng)絡(luò)中,通過Gossip協(xié)議傳播至全網(wǎng)。交易通常包括待寫入的數(shù)據(jù)、提交者身份、提交者的數(shù)字簽名以及時間戳等信息。網(wǎng)絡(luò)中的記賬節(jié)點收到待寫入?yún)^(qū)塊鏈的交易,對這些交易進行驗證,驗證內(nèi)容包括交易格式是否正確、簽名是否合法、是否與已經(jīng)寫入?yún)^(qū)塊鏈中的交易存在沖突等。
流程2區(qū)塊生成:區(qū)塊由區(qū)塊體和區(qū)塊頭兩部分組成。區(qū)塊體包含待提交的合法交易,以Merkle樹的結(jié)構(gòu)存儲。區(qū)塊頭包含記賬節(jié)點本地保存的區(qū)塊鏈中最末區(qū)塊的摘要值、待寫入交易Merkle樹的根、共識機制參數(shù)、時間戳、版本號以及區(qū)塊生成者對新區(qū)塊的簽名等信息。當前區(qū)塊鏈最末區(qū)塊的摘要值用以標定新區(qū)塊在區(qū)塊鏈中的唯一位置。根據(jù)區(qū)塊鏈采用的共識機制的不同,區(qū)塊生成過程可以分為兩類:流程2.a網(wǎng)絡(luò)中的記賬節(jié)點按一定共識策略選出一個主節(jié)點,將待寫入交易進行打包,生成新區(qū)塊,之后將新區(qū)塊廣播到網(wǎng)絡(luò)中;流程2.b網(wǎng)絡(luò)中的記賬節(jié)點各自均可生成區(qū)塊并廣播。網(wǎng)絡(luò)中的其他節(jié)點根據(jù)共識協(xié)議,選擇并確定唯一一個區(qū)塊添加到區(qū)塊鏈上。
流程3區(qū)塊確認:記賬節(jié)點收到新區(qū)塊后,對區(qū)塊的結(jié)構(gòu),包含的交易、簽名和時間戳等信息進行一一驗證。根據(jù)預(yù)設(shè)策略,判斷新區(qū)塊是否合法,并更新本地區(qū)塊鏈。一般記賬節(jié)點會選擇最長的、有效的區(qū)塊鏈。
2.3 區(qū)塊鏈技術(shù)特點
區(qū)塊鏈是分布式存儲、密碼學(xué)、共識機制等多種技術(shù)的創(chuàng)新型組合,在理論發(fā)展和實際應(yīng)用中,逐漸顯示出諸多技術(shù)優(yōu)勢。綜合區(qū)塊鏈技術(shù)定義和工作原理,區(qū)塊鏈技術(shù)特點總結(jié)如下。
(1)去中心化、分布式:去中心化是早期區(qū)塊鏈技術(shù)應(yīng)用最顯著的特點。不同于依賴中心節(jié)點構(gòu)建的系統(tǒng),區(qū)塊鏈系統(tǒng)依靠數(shù)據(jù)備份冗余保證安全性,不再受到單點故障的威脅,在多種應(yīng)用場景下解決了過度依賴可信第三方帶來的成本高的問題。隨著應(yīng)用模式的變化,區(qū)塊鏈逐漸從完全開放的公有鏈,發(fā)展出依賴授權(quán)的聯(lián)盟鏈,仍然具有分布式的特點。
?。?)不可篡改、不可偽造:區(qū)塊鏈技術(shù)巧妙地利用哈希函數(shù)、數(shù)字簽名等密碼技術(shù)構(gòu)造交易和鏈式結(jié)構(gòu),并結(jié)合共識機制,確保數(shù)據(jù)一經(jīng)驗證達成共識并被寫入?yún)^(qū)塊鏈后,任何人無法對數(shù)據(jù)進行修改和偽造。
?。?)全程留痕、可追溯:在區(qū)塊鏈中,交易的每次變更都會按照時間順序被記錄。全網(wǎng)所有節(jié)點共享交易記錄,可以查詢交易從發(fā)布源頭到最新狀態(tài)之間的整個變更流程。新老交易通過哈希函數(shù)前后關(guān)聯(lián),任意一條數(shù)據(jù)皆可通過鏈式結(jié)構(gòu),實現(xiàn)異常交易的精準定位和追蹤溯源。
2.4 區(qū)塊鏈應(yīng)用于網(wǎng)絡(luò)信任體系建設(shè)中的優(yōu)勢
?。?)分布式結(jié)構(gòu)防止單點故障:區(qū)塊鏈應(yīng)用于身份認證與管理領(lǐng)域,既可以采用聯(lián)盟鏈結(jié)構(gòu)實現(xiàn)多CA的協(xié)同管理,也可以以完全去中心的公有鏈為基礎(chǔ),實現(xiàn)完全自主的身份管理。兩者均通過共識機制完成身份證書或信息的賬本同步,從而規(guī)避傳統(tǒng)PKI面臨的單點故障問題,抵御中間人攻擊。
(2)可構(gòu)建多CA互信:在對等網(wǎng)絡(luò)基礎(chǔ)上,區(qū)塊鏈以區(qū)塊的鏈式結(jié)構(gòu)聚集數(shù)字證書,以區(qū)塊鏈數(shù)據(jù)同步的形式共享不同信任域的證書信息和證書路徑,為實現(xiàn)跨CA認證提供了便捷條件。同時,區(qū)塊鏈的不可篡改性和可追溯性可以保障認證記錄的安全可靠。區(qū)塊鏈也可以在多CA之間建立信任關(guān)系,對不同CA的認證記錄提供精確、可靠和不可篡改的存在性證明,保證證書的真實可信。
(3)一致性可抵御網(wǎng)絡(luò)分裂攻擊:區(qū)塊鏈技術(shù)通過共識機制保障多節(jié)點之間賬本的一致性,有助于實現(xiàn)證書日志在CA、證書依賴方、證書服務(wù)器等多節(jié)點之間共享和同步。一旦新提交的證書經(jīng)過多節(jié)點驗證并達成共識最終被記錄在區(qū)塊鏈上,證書就無法再被刪除或修改。
?。?)簡化證書驗證與撤銷流程:在每次建立TLS連接時都需要對證書進行驗證。這個驗證過程包括信任路徑的構(gòu)建和吊銷檢測兩個階段。目前,證書驗證主要負擔在客戶端。使用區(qū)塊鏈存儲證書,證書在提交和申請狀態(tài)變更的過程中,僅需要區(qū)塊鏈節(jié)點進行驗證并完成共識之后被記錄在區(qū)塊鏈上。當證書依賴方需要驗證證書時,就可以擺脫繁瑣的證書鏈構(gòu)建過程,直接查驗證書是否在區(qū)塊鏈上即可。區(qū)塊鏈同樣可以消除證書依賴方對于CRL和OCSP等服務(wù)的依賴,提供統(tǒng)一的證書吊銷和查驗方法,并可以保護證書依賴方的隱私。
?。?)結(jié)合密碼技術(shù)保護身份隱私:為了保障證書用戶和證書依賴方的隱私數(shù)據(jù),證書狀態(tài)數(shù)據(jù)和證書使用情況等日志記錄不應(yīng)該對所有參與方可見。但是,由于政策監(jiān)管和技術(shù)問題,證書數(shù)據(jù)可能對部分參與方可見。
3 區(qū)塊鏈在網(wǎng)絡(luò)信任體系中的應(yīng)用
作為一種新的“信任機器”,區(qū)塊鏈可以在多個互相不信任的節(jié)點之間構(gòu)建相互信任、相互協(xié)同的橋梁,也為解決網(wǎng)絡(luò)中的信任問題提供了新的技術(shù)思路。自2011年開始,各國學(xué)者開啟了利用區(qū)塊鏈技術(shù)構(gòu)建網(wǎng)絡(luò)信任的技術(shù)探索,先后將區(qū)塊鏈應(yīng)用于去中心化域名管理、去中心化PKI、證書日志管理以及跨域認證4個技術(shù)方向。
3.1 基于區(qū)塊鏈的去中心化域名管理
隨著以比特幣為首的區(qū)塊鏈應(yīng)用的全球推廣和大規(guī)模應(yīng)用落地,區(qū)塊鏈正在成為構(gòu)建去中心化系統(tǒng)和應(yīng)用程序的通用基礎(chǔ)架構(gòu)?;趨^(qū)塊鏈的域名管理系統(tǒng)成為區(qū)塊鏈技術(shù)在網(wǎng)絡(luò)信任體系的第一次探索。
早在2011年4月,Namecoin項目誕生,作為首個區(qū)塊鏈在網(wǎng)絡(luò)信任體系中的應(yīng)用項目,Namecoin 基于區(qū)塊鏈構(gòu)建全球范圍的去中心化DNS系統(tǒng),避免對單一實體的信任依賴。實質(zhì)上,Namecoin是比特幣的一條側(cè)鏈,它通過增加一些特殊的交易命令,完成域名注冊、更新和轉(zhuǎn)移等功能。用戶通過name_new命令將新域名的摘要值發(fā)布到區(qū)塊鏈上,作為對新域名的預(yù)訂。等待新域名預(yù)訂交易被記錄在區(qū)塊鏈上之后,與之對應(yīng)的name_firstupdate域名注冊命令在驗證通過后也會被記錄在區(qū)塊鏈上,從而完成域名注冊。
受到Namecoin的啟發(fā),普林斯頓大學(xué)的學(xué)者于2016年提出一種DNS與PKI融合的系統(tǒng)Blockstack,并在比特幣區(qū)塊鏈上部署實現(xiàn)。為了應(yīng)對區(qū)塊鏈的容量限制,Blockstack將控制層和數(shù)據(jù)層分開。區(qū)塊鏈上僅保存最小化的身份信息和狀態(tài)轉(zhuǎn)移的元數(shù)據(jù),完整的數(shù)據(jù)存儲在鏈下的數(shù)據(jù)庫中??刂茖影钥勺x性名字、創(chuàng)建名字與摘要的綁定信息、創(chuàng)建綁定信息與密鑰對的映射關(guān)系。
基于區(qū)塊鏈的去中心化域名管理方案的核心思想是將域名信息以“name-value”鍵值對的形式記錄在區(qū)塊鏈上,通過共識機制確保全網(wǎng)所有節(jié)點持有一致的域名狀態(tài)庫,并實現(xiàn)對域名全生命周期的維護和管理。盡管后續(xù)方案在數(shù)據(jù)存儲容量、安全性等角度進行了優(yōu)化,但是,基于區(qū)塊鏈的去中心化域名管理方案仍然面臨與傳統(tǒng)DNS系統(tǒng)難兼容等現(xiàn)實問題。
3.2 基于區(qū)塊鏈的去中心化 PKI
隨著應(yīng)用研究的深入,區(qū)塊鏈技術(shù)在網(wǎng)絡(luò)信任體系建設(shè)中的技術(shù)優(yōu)勢也初步顯現(xiàn)。繼DNS之后,PKI作為構(gòu)建網(wǎng)絡(luò)信任體系的重要技術(shù)基礎(chǔ)設(shè)施,逐漸成為學(xué)術(shù)界探索區(qū)塊鏈應(yīng)用的重要研究熱點,也出現(xiàn)了許多技術(shù)方案。
2014年5月,麻省理工學(xué)者在Namecoin的基礎(chǔ)上,提出了一種基于區(qū)塊鏈的分布式PKI方案——Certcoin。Certcoin 是區(qū)塊鏈在PKI領(lǐng)域的首次應(yīng)用,方案吸納了透明證書和信任網(wǎng)絡(luò)(Web of Trust,WoT)的優(yōu)勢,將區(qū)塊鏈作為一個公開的賬本,實現(xiàn)域名與公鑰之間的綁定,支持完全的公開審計,基本架構(gòu)如圖2所示。Certcoin包含線上和線下兩對密鑰對。線上密鑰對直接與身份綁定,用于證書認證,實現(xiàn)注冊密鑰、查詢、驗證和撤銷。線下密鑰用于撤銷線上密鑰對,通過舊私鑰對包含新公鑰的消息進行簽名來實現(xiàn)密鑰的更新。
圖2 Certcoin 區(qū)塊鏈基本架構(gòu)
隨后,基于區(qū)塊鏈進行隱私保護的PKI方案,即PB-PKI在Certcoin方案的基礎(chǔ)上用線下密鑰對線上密鑰進行保護,但沒有將身份與公鑰直接關(guān)聯(lián),從而提升隱私性。PB-PKI提供短期密鑰更新和用戶可控的公開功能,使用戶可以自行選擇公開公鑰或者由參與共識的大多數(shù)節(jié)點來公開。
但是,在不依賴于CA的完全去中心化的網(wǎng)絡(luò)信任框架下,對于首次加入系統(tǒng)注冊的網(wǎng)絡(luò)實體無法進行有效驗證,也沒有密鑰丟失、被竊取后的補救方案,無法進行身份回收。另外,每個網(wǎng)絡(luò)實體選擇信任錨的方式也非常主觀,存在一定安全風(fēng)險。因此,一些研究通過計算信譽函數(shù)來優(yōu)化基于區(qū)塊鏈的身份系統(tǒng),通過合理定義和選擇信譽函數(shù),保證信任評估的公平性和安全性。
3.3 基于區(qū)塊鏈的證書日志管理
為了更好地與現(xiàn)有的PKI體系相結(jié)合,一些研究也嘗試利用區(qū)塊鏈技術(shù)優(yōu)勢對以CA為核心的PKI體系進行優(yōu)化。其中一個重要的研究方向是將區(qū)塊鏈融入基于日志的PKI體系中,由信任單一日志節(jié)點轉(zhuǎn)向依靠分布式證書日志管理,從而優(yōu)化證書日志,強化PKI日志安全。一方面,在基于日志的PKI體系中,區(qū)塊鏈技術(shù)的引入可以解決證書日志服務(wù)器的單點故障問題;另一方面,借助區(qū)塊鏈技術(shù)構(gòu)建信任網(wǎng)絡(luò),可以降低對CA機構(gòu)的絕對依賴,增強證書日志服務(wù)的健壯性和可審計性。
在基于證書透明度的Web PKI方案基礎(chǔ)上,基于區(qū)塊鏈的證書/撤銷透明度方案被提出,可以兼容X.509證書。證書由CA簽名,證書的注銷狀態(tài)信息由網(wǎng)絡(luò)實體以交易的形式發(fā)布到區(qū)塊鏈上,記賬者將驗證通過的交易提交到一個全球證書區(qū)塊鏈中。證書區(qū)塊鏈作為一種只增不減的公共日志來監(jiān)視CA證書的簽發(fā)和注銷,并授予網(wǎng)絡(luò)實體對其證書的控制權(quán)限,以削弱CA機構(gòu)對證書的絕對控制。區(qū)塊鏈中的證書交易結(jié)構(gòu)如圖3所示。
圖3 基于區(qū)塊鏈的證書/撤銷透明度方案模型
網(wǎng)絡(luò)實體擁有兩對密鑰:一對是證書中包含的公私鑰對,記為證書密鑰;一對是用于發(fā)布證書的密鑰對,記為發(fā)布密鑰。方案包含兩種證書交易類型:一種是網(wǎng)絡(luò)實體用自己的發(fā)布密鑰對簽名的交易,用于定期發(fā)布證書;另一種是用于初始化和重置發(fā)布密鑰對的交易。具體的用戶注冊、證書頒發(fā)、證書更新、證書驗證、證書撤銷過程如下。
(1)用戶注冊:新用戶發(fā)布注冊交易Tx_0,聲明自己的發(fā)布密鑰。新用戶需要委托其信任的、一定數(shù)量的、已經(jīng)加入網(wǎng)絡(luò)的實體對自己的發(fā)布密鑰進行簽名。
?。?)證書頒發(fā):注冊完成后,用戶在鏈下向其信任的CA發(fā)送證書請求,經(jīng)CA審查后為其制作證書Cert_0。為了進一步削弱CA對于證書的控制權(quán),制作好的證書由網(wǎng)絡(luò)實體自己以交易的形式發(fā)布到區(qū)塊鏈上,附帶完整的證書鏈,并用其發(fā)布密鑰對交易進行簽名。
?。?)證書更新:同樣由CA在鏈下更新網(wǎng)絡(luò)實體的證書,再由網(wǎng)絡(luò)實體自己向區(qū)塊鏈提交證書更新交易Tx_2來完成。交易中需包含舊證書Cert_0摘要和新證書Cert_1。
?。?)證書撤銷:過期的證書或者因遭受攻擊而頒發(fā)的欺詐性證書需要進行證書撤銷,同樣由CA在鏈下進行撤銷,并由網(wǎng)絡(luò)實體以交易的形式發(fā)起。證書撤銷交易Tx_3需包含用戶ID、待撤銷的證書哈希值、最近一次該用戶證書日志交易的摘要以及交易的簽名。
?。?)證書驗證:在建立網(wǎng)絡(luò)通信連接時,證書依賴方需要驗證與其通信的網(wǎng)絡(luò)實體的證書是否合法,通過智能合約來實現(xiàn)。
此外,一些研究嘗試改造區(qū)塊鏈,更好地實現(xiàn)對PKI證書日志的優(yōu)化。CertChain采用Ouroboros區(qū)塊鏈中的共識協(xié)議,從而消除PoW共識的安全問題,并且利用激勵機制獎勵CA和記賬者的誠實行為,強化證書日志管理的安全性。KORGAN通過基于動態(tài)門限簽名優(yōu)化PBFT共識協(xié)議,進而簡化證書驗證過程。CertLedger是一種基于公有鏈的PKI證書透明度框架,所有的證書驗證、存儲、完整的撤銷過程均在CertLedger和可信CA證書管理系統(tǒng)中進行。CertLedger方案中設(shè)置了一個可信組織,通過門限機制來管理受信CA。
盡管多項研究成果提出采用區(qū)塊鏈技術(shù)優(yōu)化證書透明度、強化PKI證書日志的安全性,但是這一系列方案仍然面臨僅能被動查驗、審計惡意行為,誠實節(jié)點被污染或破壞后難以發(fā)現(xiàn)和處理,密鑰丟失、被竊取或遭到破壞后難以恢復(fù)和更新等問題。
3.4 基于區(qū)塊鏈的跨域認證
在大型網(wǎng)絡(luò)中通常采用PKI建立實體之間的信任關(guān)系。但是,不同終端實體的證書由不同的CA頒發(fā),這就為跨根CA信任互聯(lián)增加了難度。為了解決這一問題,基于聯(lián)盟鏈的跨域認證模型相繼出現(xiàn)。不同的根CA將各自信任域內(nèi)的證書狀態(tài)變更信息提交到區(qū)塊鏈上,經(jīng)共識節(jié)點驗證通過后被記錄在區(qū)塊鏈上,其一般框架如圖4所示。
圖4 基于聯(lián)盟鏈的跨域認證模型
在傳統(tǒng)模式下,實體A與實體B進行身份認證需要尋找一條證書鏈。若采用交叉互認方式,證書鏈包含7個證書;若采用橋CA方法,證書鏈包含9個證書。而采用聯(lián)盟鏈的方式,實體A請求驗證實體B的身份,只需要在聯(lián)盟鏈上查找實體B的當前證書狀態(tài),避免了復(fù)雜的證書路徑尋找過程,減少驗簽次數(shù),提高證書驗證效率。
除了在PKI體系內(nèi)的跨域認證,區(qū)塊鏈還為實現(xiàn)跨異構(gòu)域認證提供了解決思路。目前,這類方案尚處于理論階段,研究成果主要集中在將區(qū)塊鏈應(yīng)用于PKI域和IBC域之間的跨域認證,力求實現(xiàn)更加完全的跨域認證方案。
基于區(qū)塊鏈的跨異構(gòu)信任域認證方案由若干區(qū)塊鏈域代理服務(wù)器(Blockchain Domain Agent,BCDA)、區(qū)塊鏈證書服務(wù)器(Blockchain Certificate Authority,BCCA)、PKI域的證書驗證服務(wù)器(Certificate Authentication Server,CAS)和IBC域的身份驗證服務(wù)器(Authentication Server,AS)共同組成聯(lián)盟鏈,如圖5所示。
圖5 基于聯(lián)盟鏈的跨異構(gòu)信任域認證模型
其中,BCDA、BCCA 節(jié)點用于驗證新節(jié)點,并進行數(shù)據(jù)同步。BCDA參與IBC域中私鑰生成中心(Private Key Generation,PKG)的密鑰生成。BCCA用于生成自身證書和BCDA的域代理證書,每個信任域需要指定一個BCCA。
方案將PKI域和IBC域之間的跨域認證分為兩種情況:一種是PKI域內(nèi)實體驗證IBC域內(nèi)實體的身份,通過PKI域?qū)?yīng)的 BCCA,為IBC域內(nèi)的請求方生成臨時證書;另一種是IBC域內(nèi)實體驗證PKI內(nèi)實體身份,通過IBC域?qū)?yīng)的BCDA為PKI域內(nèi)的請求方生成臨時身份。臨時證書和臨時身份作為網(wǎng)絡(luò)中的認證憑證被保存在區(qū)塊鏈上,可支持重復(fù)認證,進而提高認證效率。
盡管該方案不依賴CA、密鑰分發(fā)中心(Key Distributed Center,KDC)等作為可信第三方,規(guī)避了中心節(jié)點帶來的單點故障問題,但是方案在認證過程中多次采用公鑰加密,帶來了計算量上的負擔。
區(qū)塊鏈還被嘗試應(yīng)用于實現(xiàn)更加完全的跨域認證方案。BTCAS(Blockchain-Based Thoroughly Cross-Domain Authentication Scheme)是一種基于區(qū)塊鏈的完全跨域認證方案,由每個信任域中的認證服務(wù)器(AS)組建聯(lián)盟鏈,記錄域、域內(nèi)AS和用戶的公鑰、身份狀態(tài)等信息,通過區(qū)塊鏈實現(xiàn)基于不同密碼體制信任域之間的身份信息共享和跨域認證。域信息包含域代理服務(wù)器公鑰的哈希值、選取的簽名算法和哈希算法。域?qū)嶓w的信息包括實體公鑰的哈希值、所在域代理服務(wù)器公鑰的哈希值以及身份狀態(tài)信息,其具體工作原理如圖6所示。
圖6 BTCAS 完全跨域認證模型
4 區(qū)塊鏈用于信任體系面臨的挑戰(zhàn)
區(qū)塊鏈在網(wǎng)絡(luò)信任體系中的應(yīng)用探索歷經(jīng)十余年發(fā)展,先后誕生了多種技術(shù)路線和研究方向。然而,區(qū)塊鏈作為一種新興技術(shù),應(yīng)用于大規(guī)模網(wǎng)絡(luò)下的信任體系構(gòu)建還面臨區(qū)塊鏈自身技術(shù)問題,現(xiàn)有研究成果具有應(yīng)用局限、技術(shù)標準滯后等問題。
4.1 區(qū)塊鏈自身的技術(shù)問題
在從數(shù)字貨幣向其他行業(yè)不斷探索的過程中,區(qū)塊鏈技術(shù)本身也在不斷發(fā)展和完善,但仍存在技術(shù)問題,有待解決。
(1)區(qū)塊鏈的安全問題:區(qū)塊鏈安全與否直接影響網(wǎng)絡(luò)信任體系以及其上建立的網(wǎng)絡(luò)系統(tǒng)的安全性。共識機制是決定區(qū)塊鏈安全與否的關(guān)鍵組件。部分區(qū)塊鏈中使用PoW、PoS等共識機制僅能實現(xiàn)弱一致性,存在軟分叉的情況。而PBFT、Algorand 等共識協(xié)議雖然能夠?qū)崿F(xiàn)強一致性,但是也會帶來較高的網(wǎng)絡(luò)通信代價和時延。一些方案通過智能合約實現(xiàn)用戶身份存儲、變更、驗證,但在實際開發(fā)過程中,智能合約因邏輯漏洞、代碼漏洞、混亂調(diào)用等原因也面臨安全問題。在完全去中心化的區(qū)塊鏈系統(tǒng)中,密鑰管理潛在安全風(fēng)險,一旦用戶的密鑰丟失或被竊取,將難以找回或重置,這將導(dǎo)致密鑰對應(yīng)的用戶身份被冒用、濫用。因此,區(qū)塊鏈還需要探索完善適用的密鑰管理方案。
?。?)區(qū)塊鏈效率問題:區(qū)塊鏈效率一直是制約區(qū)塊鏈技術(shù)大規(guī)模應(yīng)用的主要因素。一方面,區(qū)塊鏈的交易處理速度較慢,而且達成共識并確認交易的時延較長;另一方面,為實現(xiàn)可追溯性,區(qū)塊鏈上各主節(jié)點一般保存鏈上全量數(shù)據(jù)。特別是在PKI體系下,區(qū)塊鏈系統(tǒng)需要保存大量的X.509證書信息,將面臨嚴重的存儲負擔。同時,由于區(qū)塊鏈采用Key-Value存儲,支持的查詢條件單一,對于復(fù)雜條件查詢效率較低。
?。?)區(qū)塊鏈的互操作問題:與跨CA認證相似,如何實現(xiàn)跨區(qū)塊鏈網(wǎng)絡(luò)的身份認證與互聯(lián)互通,也將成為區(qū)塊鏈與網(wǎng)絡(luò)信任體系研究的重要問題??鐓^(qū)塊鏈通信還需要關(guān)注交易原子性、跨鏈信息驗證以及安全性等問題。
4.2 現(xiàn)有研究成果的應(yīng)用局限
綜合現(xiàn)有研究成果,區(qū)塊鏈在網(wǎng)絡(luò)信任體系中的應(yīng)用多集中于PKI體系、跨域認證等方面,對基于口令、智能卡、令牌、生物特征等多種認證方法的研究和支持相對較少。多數(shù)方案僅提供了單項認證機制,能否平凡地適用于雙向認證還有待研究。另外,盡管區(qū)塊鏈與PKI體系的結(jié)合可以增強用戶身份的可信性,實現(xiàn)全流程監(jiān)管。但是,在PKI體系中,CA作為中心節(jié)點,一旦受到攻擊,使虛假信息上鏈,將給區(qū)塊鏈系統(tǒng)的安全性帶來重大沖擊。多數(shù)方案基于Hyperledger Fabric、Bitcoin等開源區(qū)塊鏈架構(gòu)實現(xiàn),是否支持國產(chǎn)化環(huán)境,實現(xiàn)自主可控,適應(yīng)云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)等場景,還有待進一步的研究。
4.3 技術(shù)標準的滯后性
相比于傳統(tǒng)的身份認證技術(shù)標準,區(qū)塊鏈相關(guān)標準還處于體系建設(shè)的初步階段。區(qū)塊鏈應(yīng)用于網(wǎng)絡(luò)信任體系,特別是應(yīng)用于身份認證領(lǐng)域的技術(shù)標準更是處于萌芽階段。盡管W3C、ITU、IEEE等國際組織已經(jīng)著手制定分布式數(shù)字身份相關(guān)技術(shù)標準,但是國內(nèi)在這一領(lǐng)域的標準研究還留有空白。由于缺乏基礎(chǔ)性、技術(shù)性、指導(dǎo)性的技術(shù)要求規(guī)范、應(yīng)用指南和測評要求,難以指導(dǎo)區(qū)塊鏈在網(wǎng)絡(luò)信任體系中的應(yīng)用。形成一整套具有引導(dǎo)性的標準體系仍有待時日。
5 總結(jié)與展望
在國內(nèi)外安全形勢日益嚴峻的今天,網(wǎng)絡(luò)信任體系顯示出至關(guān)重要的基礎(chǔ)性地位。區(qū)塊鏈技術(shù)以其分布式、不可篡改、不可偽造、可追溯等技術(shù)特點,在網(wǎng)絡(luò)信任領(lǐng)域中的應(yīng)用優(yōu)勢愈發(fā)明顯,在建設(shè)去中心化域名管理系統(tǒng)、構(gòu)建去中心化PKI體系、增強PKI日志管理透明度、實現(xiàn)跨域認證等方面均有研究應(yīng)用。然而,任何新興技術(shù)的廣泛應(yīng)用都不是一蹴而就的,區(qū)塊鏈技術(shù)在網(wǎng)絡(luò)信任體系應(yīng)用過程中,還面臨安全、效率、國產(chǎn)化等諸多問題。隨著區(qū)塊鏈和身份認證技術(shù)的不斷發(fā)展,相應(yīng)的政策、標準將更加完善,區(qū)塊鏈應(yīng)用于網(wǎng)絡(luò)信任體系建設(shè)必將日趨完善。