王晨旭 程加成 桑新欣 李國棟 管曉宏
1(西安交通大學(xué)軟件學(xué)院 西安 710049) 2(西安交通大學(xué)網(wǎng)絡(luò)信息中心 西安 710049) 3(智能網(wǎng)絡(luò)與網(wǎng)絡(luò)安全教育部重點(diǎn)實(shí)驗(yàn)室(西安交通大學(xué)) 西安 710049)
區(qū)塊鏈作為一種分布式賬本技術(shù),實(shí)現(xiàn)了“去中心化”的信任,其核心思想及技術(shù)體系最早見于中本聰2008年發(fā)表的比特幣白皮書[1].隨著區(qū)塊鏈技術(shù)不斷演進(jìn),逐步集成了分布式數(shù)據(jù)庫[2]、共識(shí)機(jī)制[3]、P2P網(wǎng)絡(luò)[4]、智能合約[5]及密碼學(xué)[6]等技術(shù).區(qū)塊鏈技術(shù)憑借其不可篡改、分布式容錯(cuò)、去中心化等特性,迅速得到學(xué)術(shù)界和工業(yè)界的關(guān)注,被認(rèn)為是繼移動(dòng)互聯(lián)網(wǎng)后的第5代互聯(lián)網(wǎng)顛覆性技術(shù)[7],對(duì)社會(huì)各個(gè)領(lǐng)域產(chǎn)生了深遠(yuǎn)影響.如今,數(shù)據(jù)已成為寶貴的資源,企業(yè)可以基于收集的數(shù)據(jù)預(yù)測(cè)未來趨勢(shì)、優(yōu)化決策過程、為用戶提供個(gè)性化服務(wù)等[8],但同時(shí)帶來了數(shù)據(jù)隱私泄露的問題.隨著區(qū)塊鏈技術(shù)應(yīng)用領(lǐng)域的不斷擴(kuò)展,其面臨的數(shù)據(jù)隱私泄露問題逐漸成為大家的關(guān)注重點(diǎn).
2009年比特幣創(chuàng)世區(qū)塊的誕生標(biāo)志著催生區(qū)塊鏈技術(shù)的比特幣項(xiàng)目正式落地,隨后區(qū)塊鏈在金融領(lǐng)域以數(shù)字貨幣的形式迅速發(fā)展,衍生出類似比特幣的萊特幣[9]、夸克幣[10]、無限幣[11]等幣種,主要應(yīng)用于貨幣支付.區(qū)塊鏈技術(shù)在數(shù)字貨幣領(lǐng)域的應(yīng)用階段稱為區(qū)塊鏈1.0階段,此時(shí)區(qū)塊鏈架構(gòu)主要圍繞數(shù)字貨幣的發(fā)行與交易支付等需求而設(shè)計(jì),在區(qū)塊鏈技術(shù)的實(shí)際應(yīng)用中,由于需要保證賬本內(nèi)容的一致性、可溯源、可驗(yàn)證性,賬本內(nèi)容需要對(duì)區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點(diǎn)公開.因此,比特幣賬本透明性導(dǎo)致的數(shù)據(jù)隱私泄露問題最初并未得到廣泛關(guān)注.區(qū)塊鏈技術(shù)為保證系統(tǒng)安全性及可驗(yàn)證性需要公開賬本內(nèi)容,導(dǎo)致惡意節(jié)點(diǎn)能夠獲取所有賬本信息,通過聚類技術(shù)分析賬本信息可以窺探區(qū)塊鏈匿名賬戶與現(xiàn)實(shí)用戶之間的身份關(guān)聯(lián)關(guān)系.目前,數(shù)據(jù)隱私泄露已成為比特幣及其延伸項(xiàng)目面臨的重要潛在問題.
智能合約概念的引入極大增強(qiáng)了區(qū)塊鏈技術(shù)的靈活性,拓展了其應(yīng)用的范圍,標(biāo)志著區(qū)塊鏈技術(shù)進(jìn)入了2.0階段.智能合約與數(shù)字貨幣的緊密結(jié)合在金融領(lǐng)域產(chǎn)生了更加廣泛的應(yīng)用前景,同時(shí)帶來了一定程度的數(shù)據(jù)隱私泄露問題,例如惡意攻擊者可以通過網(wǎng)絡(luò)中安全性較為薄弱的節(jié)點(diǎn)監(jiān)聽智能合約的執(zhí)行情況,竊取用戶隱私信息等.通道技術(shù)及零知識(shí)證明技術(shù)[12]為實(shí)現(xiàn)區(qū)塊鏈數(shù)據(jù)隱私保護(hù)提供了可行的解決方案.2014年Zerocoin協(xié)議[13]演進(jìn)為Zerocash系統(tǒng)[14],并于2016年構(gòu)建成Zcash加密貨幣系統(tǒng)[15].一系列側(cè)重隱私保護(hù)的加密貨幣的不斷改進(jìn),側(cè)面反映了區(qū)塊鏈社區(qū)對(duì)數(shù)據(jù)隱私泄露問題的重視程度不斷提高.簡潔非交互式零知識(shí)證明(zero-knowledge succinct non-interactive argument of knowledge, ZK-SNARK)[16]、環(huán)簽名[17]等密碼學(xué)技術(shù)實(shí)現(xiàn)了一定程度上的數(shù)據(jù)隱私保護(hù),但仍存在數(shù)據(jù)隱私泄露的風(fēng)險(xiǎn),如采用遠(yuǎn)程旁道攻擊可探測(cè)Zcash等加密貨幣系統(tǒng)的交易金額、用戶IP地址等隱私信息[18].智能合約的應(yīng)用及區(qū)塊鏈相關(guān)技術(shù)導(dǎo)致的數(shù)據(jù)隱私問題已經(jīng)引起業(yè)內(nèi)研究與開發(fā)人員的廣泛關(guān)注,數(shù)據(jù)隱私泄露問題成為區(qū)塊鏈系統(tǒng)應(yīng)用開發(fā)面臨的主要問題之一.
區(qū)塊鏈技術(shù)是具有普適性的底層技術(shù)框架,可以為金融、經(jīng)濟(jì)、科技甚至政務(wù)等各領(lǐng)域帶來深刻變革[19].區(qū)塊鏈在金融行業(yè)之外其他領(lǐng)域的應(yīng)用標(biāo)志著區(qū)塊鏈發(fā)展進(jìn)入3.0階段,該階段需要區(qū)塊鏈平臺(tái)能夠滿足更加復(fù)雜的商業(yè)邏輯及企業(yè)間合作時(shí)的數(shù)據(jù)隱私保護(hù)需求.數(shù)據(jù)隱私泄露極有可能給企業(yè)和個(gè)人帶來致命性打擊.因此,在區(qū)塊鏈系統(tǒng)實(shí)際落地前,提出合適的方案解決數(shù)據(jù)隱私泄露問題是必不可少的一環(huán).為滿足更高程度數(shù)據(jù)隱私保護(hù)需求,Hyperledger Fabric[20]采用通道隔離機(jī)制提供一定程度的數(shù)據(jù)隱私保護(hù)功能,F(xiàn)ISCO BCOS[21]則通過配置環(huán)簽名、群簽名、同態(tài)加密等密碼學(xué)工具實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù).目前針對(duì)鏈上數(shù)據(jù)及智能合約的攻擊方法也在逐步增加,區(qū)塊鏈數(shù)據(jù)隱私泄露的問題已經(jīng)成為區(qū)塊鏈架構(gòu)設(shè)計(jì)人員及開發(fā)人員的重要考慮因素.
區(qū)塊鏈在不同發(fā)展階段的成果相互影響促進(jìn)了區(qū)塊鏈技術(shù)的發(fā)展,同時(shí)區(qū)塊鏈技術(shù)與社會(huì)各個(gè)領(lǐng)域的結(jié)合越發(fā)緊密,諸多傳統(tǒng)數(shù)據(jù)隱私保護(hù)方案在區(qū)塊鏈應(yīng)用中的不適用性和源于區(qū)塊鏈技術(shù)自身體系結(jié)構(gòu)所導(dǎo)致的數(shù)據(jù)隱私泄露問題已經(jīng)逐步暴露出來.為此,本文系統(tǒng)整理了區(qū)塊鏈歷史發(fā)展中遇到的數(shù)據(jù)隱私泄露問題及解決方案,提出針對(duì)區(qū)塊鏈系統(tǒng)應(yīng)用需求的隱私定義及分類,期望為當(dāng)前及未來區(qū)塊鏈技術(shù)數(shù)據(jù)隱私保護(hù)方向的發(fā)展研究提供參考.
區(qū)塊鏈技術(shù)最初應(yīng)用于互聯(lián)網(wǎng)金融領(lǐng)域,旨在解決第三方中心機(jī)構(gòu)的信任問題,為去中心化的交易提供一種信任機(jī)制.區(qū)塊鏈技術(shù)的核心思想源于2009年發(fā)布實(shí)施的比特幣項(xiàng)目,該項(xiàng)目涉及的核心技術(shù)主要有密碼學(xué)、激勵(lì)機(jī)制、工作量證明機(jī)制、P2P網(wǎng)絡(luò)、分布式數(shù)據(jù)庫[1]等技術(shù).該項(xiàng)目簡化了交易流程,達(dá)到降低交易成本的目的,實(shí)現(xiàn)去中心化的交易體系.
近年來,區(qū)塊鏈數(shù)據(jù)隱私泄露問題已經(jīng)引起相關(guān)研究者的廣泛關(guān)注,關(guān)于技術(shù)和隱私的關(guān)系理論可以追溯到19世紀(jì)90年代[22].根據(jù)中國區(qū)塊鏈技術(shù)產(chǎn)業(yè)和發(fā)展論壇對(duì)區(qū)塊鏈隱私的標(biāo)準(zhǔn)定義,隱私指僅與個(gè)人利益相關(guān)且不需要強(qiáng)制公開的個(gè)人信息及個(gè)人領(lǐng)域.隱私的主體是自然人,客體是個(gè)人信息和個(gè)人領(lǐng)域,內(nèi)容指特定個(gè)人對(duì)信息和領(lǐng)域的秘而不宣,不愿第三方探知和干涉的事實(shí)和行為[23].根據(jù)隱私定義,用戶的隱私數(shù)據(jù)內(nèi)容可分為2類:
1) 個(gè)人信息.直接與用戶真實(shí)身份信息相關(guān),例如用戶的真實(shí)姓名、電話、年齡、實(shí)際住址等隱私信息.
2) 個(gè)人領(lǐng)域.間接與用戶真實(shí)身份信息相關(guān),例如用戶的公私鑰對(duì)、IP地址、交易內(nèi)容、節(jié)點(diǎn)位置及網(wǎng)絡(luò)中用戶收款地址與現(xiàn)實(shí)中用戶身份的關(guān)聯(lián)關(guān)系等隱私信息.
保護(hù)以上2類用戶信息的機(jī)密性是區(qū)塊鏈數(shù)據(jù)隱私保護(hù)技術(shù)的首要目標(biāo),區(qū)塊鏈的技術(shù)要點(diǎn)中存在一定程度的數(shù)據(jù)隱私泄露問題,目前針對(duì)各技術(shù)的數(shù)據(jù)隱私泄露問題研究者陸續(xù)提出了相應(yīng)的解決方案.
分布式數(shù)據(jù)庫技術(shù)是區(qū)塊鏈核心技術(shù)之一,是一種實(shí)現(xiàn)數(shù)據(jù)庫在邏輯上統(tǒng)一但物理上分散的技術(shù)[24],具有數(shù)據(jù)透明性、一致性、冗余性等特性.對(duì)于比特幣及其延伸項(xiàng)目,分布式數(shù)據(jù)庫中存儲(chǔ)的交易內(nèi)容公開透明,可由整個(gè)系統(tǒng)中的用戶訪問,該特性能夠保證此類區(qū)塊鏈系統(tǒng)具有良好監(jiān)管性.但這一技術(shù)也導(dǎo)致了比特幣系統(tǒng)的匿名性不能真正意義上實(shí)現(xiàn)用戶身份的匿名化,攻擊者利用賬本的公開透明性可以侵犯用戶的賬戶隱私及交易隱私,如針對(duì)賬戶交易模型可通過賬戶聚類技術(shù)統(tǒng)計(jì)出網(wǎng)絡(luò)中的賬號(hào)地址和現(xiàn)實(shí)生活中用戶的身份信息之間的關(guān)聯(lián),針對(duì)UTXO交易模型可通過交易聚類、交易溯源等技術(shù)統(tǒng)計(jì)出交易之間的關(guān)聯(lián)性以及交易和地址之間的關(guān)聯(lián)性.
P2P技術(shù)為去中心化系統(tǒng)中各對(duì)等節(jié)點(diǎn)對(duì)賬本內(nèi)容達(dá)成共識(shí)提供了橋梁,由對(duì)等節(jié)點(diǎn)組成的P2P網(wǎng)絡(luò)有其獨(dú)特優(yōu)勢(shì),網(wǎng)絡(luò)中的節(jié)點(diǎn)功能及地位對(duì)等,可以同時(shí)處于服務(wù)者與被服務(wù)者2種角色狀態(tài).集成了P2P技術(shù)的區(qū)塊鏈系統(tǒng)實(shí)現(xiàn)了去中心化的信任,具有很強(qiáng)的健壯性和可擴(kuò)展性,但由于其去中心化的架構(gòu)體系,P2P網(wǎng)絡(luò)中存在節(jié)點(diǎn)自身信息隱私泄露及節(jié)點(diǎn)之間通信信息隱私泄露兩大問題.P2P網(wǎng)絡(luò)中用戶節(jié)點(diǎn)的性能及安全性通常很難保持一致,因此攻擊者可以通過攻擊網(wǎng)絡(luò)中安全性較為薄弱的節(jié)點(diǎn)獲取網(wǎng)絡(luò)中的敏感信息從而窺探用戶隱私.攻擊者可以通過在P2P網(wǎng)絡(luò)中設(shè)置惡意監(jiān)聽節(jié)點(diǎn)、監(jiān)聽及分析節(jié)點(diǎn)之間的通信信息,進(jìn)一步分析出節(jié)點(diǎn)之間的通信數(shù)據(jù)內(nèi)容,從而損害整個(gè)區(qū)塊鏈網(wǎng)絡(luò)的隱私性.
以太坊智能合約的出現(xiàn)對(duì)區(qū)塊鏈應(yīng)用場(chǎng)景的擴(kuò)展具有劃時(shí)代意義,其應(yīng)用范圍從數(shù)字貨幣領(lǐng)域拓展到了通用計(jì)算領(lǐng)域,開發(fā)者已經(jīng)可以使用編程語言設(shè)計(jì)一些復(fù)雜的業(yè)務(wù)邏輯滿足場(chǎng)景需求.在某些應(yīng)用場(chǎng)景下智能合約本身需要一定的隱私性,例如借貸應(yīng)用場(chǎng)景中智能合約需要確保自身的保密性,其對(duì)數(shù)據(jù)的操作有可能被攻擊者觀察分析并利用統(tǒng)計(jì)學(xué)方法推測(cè)出交易內(nèi)容[25],因此智能合約本身的泄露也可能導(dǎo)致攻擊者掌握用戶交易的隱私情況.密碼學(xué)的安全技術(shù)與智能合約結(jié)合構(gòu)成了隱私智能合約的概念,例如將密碼學(xué)中的零知識(shí)證明、同態(tài)加密[26]等技術(shù)結(jié)合智能合約可以有效實(shí)現(xiàn)隱私保護(hù),隱私智能合約能夠極大增強(qiáng)用戶交易數(shù)據(jù)的匿名性.此外,智能合約是一種特殊的計(jì)算機(jī)程序,可能自身存在漏洞,這些漏洞也可能導(dǎo)致隱私數(shù)據(jù)的泄露.
密碼學(xué)安全技術(shù)為人類社會(huì)進(jìn)入信息化時(shí)代奠定了基礎(chǔ),在整個(gè)信息技術(shù)領(lǐng)域有著舉足輕重的地位.區(qū)塊鏈體系中融合了大量密碼學(xué)安全技術(shù)的研究成果,例如比特幣系統(tǒng)中區(qū)塊的哈希鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)提供了防篡改的特性,公私鑰對(duì)密碼體系為比特幣系統(tǒng)提供了用戶匿名性,公鑰基礎(chǔ)設(shè)施(public key infrastructure, PKI)系為用戶身份認(rèn)證提供了保障,數(shù)字簽名技術(shù)保證了交易內(nèi)容的不可篡改性和不可抵賴性.比特幣借助于密碼學(xué)相關(guān)技術(shù)利用“去信任化”的交易模型代替了傳統(tǒng)的基于信任的交易模型,實(shí)現(xiàn)了不需要第三方中介參與的電子交易系統(tǒng).密碼學(xué)安全技術(shù)是區(qū)塊鏈系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)的關(guān)鍵,但密碼學(xué)技術(shù)存在被破解的可能,如果區(qū)塊鏈系統(tǒng)所使用的密碼學(xué)技術(shù)被破解,建立在被破解密碼學(xué)技術(shù)上的區(qū)塊鏈系統(tǒng)的安全性和隱私性將不復(fù)存在,例如Shor算法[27]及Grover算法[28]對(duì)區(qū)塊鏈體系的威脅性.此外,未來商用量子計(jì)算機(jī)對(duì)基于密集計(jì)算型算法的區(qū)塊鏈系統(tǒng)也將帶來一定的沖擊.目前,基于誘騙態(tài)BB84算法[29]的量子秘鑰分發(fā)技術(shù)[30]已經(jīng)走向商用,未來更安全的基于量子糾纏進(jìn)行量子秘鑰分發(fā)的技術(shù)也已出現(xiàn),區(qū)塊鏈技術(shù)應(yīng)逐步融入針對(duì)抗量子計(jì)算型的密碼學(xué)安全技術(shù)以保證區(qū)塊鏈系統(tǒng)的安全性.
區(qū)塊鏈層次結(jié)構(gòu)自上而下依次為:應(yīng)用層、合約層、激勵(lì)層、網(wǎng)絡(luò)層、數(shù)據(jù)層,其中數(shù)據(jù)層、網(wǎng)絡(luò)層和共識(shí)層為區(qū)塊鏈技術(shù)的核心元素.數(shù)據(jù)層、網(wǎng)絡(luò)層及應(yīng)用層與區(qū)塊鏈數(shù)據(jù)隱私威脅問題緊密相連,祝烈煌等人[31]從數(shù)據(jù)層、網(wǎng)絡(luò)層及應(yīng)用層角度出發(fā)對(duì)數(shù)據(jù)隱私威脅進(jìn)行分析并總結(jié)出相應(yīng)的數(shù)據(jù)隱私保護(hù)解決方案.本文針對(duì)區(qū)塊鏈技術(shù)要點(diǎn)及應(yīng)用場(chǎng)景,對(duì)區(qū)塊鏈技術(shù)的隱私內(nèi)容進(jìn)行了細(xì)致的分類,依次為鏈上數(shù)據(jù)隱私、針對(duì)智能合約的鏈碼隱私、針對(duì)P2P網(wǎng)絡(luò)的網(wǎng)絡(luò)隱私、針對(duì)跨鏈技術(shù)的跨鏈隱私、針對(duì)實(shí)際應(yīng)用場(chǎng)景的區(qū)塊鏈應(yīng)用隱私,基于以上分類提出了相應(yīng)的隱私威脅及挑戰(zhàn)并給出相應(yīng)解決方案,表1總結(jié)了區(qū)塊鏈技術(shù)面臨的隱私問題分類及相關(guān)解決方案.最后,結(jié)合區(qū)塊鏈技術(shù)的發(fā)展趨勢(shì),本文討論了區(qū)塊鏈數(shù)據(jù)隱私保護(hù)未來可能的研究方向.
Table 1 Categories of Blockchain Privacy Issues and Related Technologies for Privacy Preserving表1 區(qū)塊鏈隱私分類及實(shí)現(xiàn)隱私保護(hù)的相關(guān)技術(shù)
鏈上數(shù)據(jù)隱私包括區(qū)塊鏈網(wǎng)絡(luò)中任何與用戶個(gè)人信息及個(gè)人領(lǐng)域相關(guān)的數(shù)據(jù)信息,共分為3類:
1) 交易隱私.交易發(fā)起方、接收方、交易金額、用戶交易特征等隱私信息.
2) 賬戶地址隱私.賬戶地址余額、賬戶之間交易聯(lián)系等隱私信息.
3) 用戶身份信息.用戶真實(shí)姓名、年齡、住址、身份證號(hào)等隱私信息.
比特幣采用基于未花費(fèi)交易輸出集(unspent transaction outputs, UTXO)的交易模型,交易的公開透明性及開放性允許任何加入?yún)^(qū)塊鏈網(wǎng)絡(luò)的用戶能夠輕易獲取詳細(xì)交易內(nèi)容,同時(shí)區(qū)塊鏈的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)以及Merkle樹結(jié)構(gòu)可以保證系統(tǒng)中發(fā)生的每一筆交易都可以輕松溯源.盡管比特幣憑借假名機(jī)制保證了一定的匿名性,但它仍然存在許多隱私問題.
Fig. 1 An example sub-network from the transaction network[32]圖1 交易網(wǎng)絡(luò)中子網(wǎng)絡(luò)示例[32]
Reid等人[32]于2013年下載了2009-01—2011-07比特幣系統(tǒng)的公開賬本數(shù)據(jù),局部交易網(wǎng)絡(luò)如圖1所示,網(wǎng)絡(luò)中的節(jié)點(diǎn)表示一次交易,有向邊表示交易之間的輸出-輸入對(duì),每條邊同時(shí)標(biāo)記了交易金額以及時(shí)間戳,從而構(gòu)建了比特幣的交易網(wǎng)絡(luò).假設(shè)一個(gè)交易的多個(gè)輸入地址屬于同一個(gè)用戶,基于該假設(shè),可以聚合同一用戶的所有地址并構(gòu)建如圖2所示的用戶網(wǎng)絡(luò),菱形表示公鑰(地址),圓圈表示不同用戶,從而揭示出用戶的比特幣資金余額及流向.
Fig. 2 An example sub-network from the user network[32]圖2 用戶網(wǎng)絡(luò)局部示例[32]
Androulaki等人[33]基于真實(shí)的比特幣系統(tǒng)和一個(gè)模擬器模擬大學(xué)環(huán)境中比特幣使用情況,對(duì)比特幣系統(tǒng)的匿名性進(jìn)行了評(píng)估.該實(shí)驗(yàn)有2個(gè)假設(shè),假設(shè)1:一個(gè)交易的多個(gè)輸入地址屬于同一用戶;假設(shè)2:找零地址與輸入地址屬于同一個(gè)用戶.基于假設(shè)1與假設(shè)2對(duì)模擬器輸出的交易信息進(jìn)行預(yù)處理,將結(jié)果提交至聚類算法,實(shí)驗(yàn)結(jié)果表明近40%的用戶數(shù)據(jù)信息可以被揭露出來.Ron等人[34]下載了比特幣的完整歷史,通過研究用戶行為、比特幣輸入輸出情況,得出其關(guān)聯(lián)交易圖的許多統(tǒng)計(jì)特性,結(jié)果表明用戶采取資產(chǎn)轉(zhuǎn)移以保護(hù)自身資產(chǎn)隱私的方法不能有效保護(hù)個(gè)人隱私.此外,論文還分析了系統(tǒng)中所有的大型交易,并發(fā)現(xiàn)了一個(gè)被人使用長鏈和分叉操作來精心隱藏的事實(shí)——幾乎所有交易都與2010年11月發(fā)生的一個(gè)大型交易密切相關(guān).
此類假設(shè)及攻擊方法基于比特幣系統(tǒng)自身設(shè)計(jì)缺陷,通過分析賬本內(nèi)容對(duì)比特幣系統(tǒng)去匿名化從而獲得地址之間關(guān)聯(lián),從而削弱比特幣系統(tǒng)的匿名性.Meiklejohn等人[35]進(jìn)一步研究了比特幣系統(tǒng)的匿名性,通過使用啟發(fā)式聚類分析算法對(duì)比特幣錢包進(jìn)行分組,然后對(duì)用戶進(jìn)行分類,從而識(shí)別出同一個(gè)用戶的不同地址.作者對(duì)一些公開地址以及違法犯罪相關(guān)案件進(jìn)行了分析,發(fā)現(xiàn)了許多與案件涉及與交易地址相關(guān)聯(lián)的其他地址.2015年,Monaco等人[36]基于對(duì)比特幣長期交易行為的觀察,基于行為生物統(tǒng)計(jì)學(xué)思想和動(dòng)態(tài)網(wǎng)絡(luò)特征提出了一種識(shí)別和驗(yàn)證比特幣用戶的新方法,實(shí)驗(yàn)結(jié)果表明隨著時(shí)間推移用戶的匿名性無法得到保證.
智能合約概念的提出為區(qū)塊鏈提供了更廣闊的應(yīng)用場(chǎng)景,但智能合約技術(shù)在實(shí)際應(yīng)用時(shí)有可能導(dǎo)致數(shù)據(jù)隱私的泄露.用戶發(fā)起函數(shù)調(diào)用后系統(tǒng)會(huì)構(gòu)建智能合約交易,區(qū)塊鏈系統(tǒng)中的許多節(jié)點(diǎn)會(huì)對(duì)該交易進(jìn)行處理,這要求與交易相關(guān)的操作和數(shù)據(jù)需要對(duì)所有節(jié)點(diǎn)開放,在處理敏感數(shù)據(jù)的應(yīng)用場(chǎng)景時(shí)會(huì)存在隱私泄露的問題,如投票方案、醫(yī)療數(shù)據(jù)收集等[37].如何處理敏感數(shù)據(jù)與智能合約的關(guān)系需要進(jìn)一步研究.以拍賣合同為例,實(shí)現(xiàn)一個(gè)基于以太坊的拍賣合同系統(tǒng)并不困難,但是建立一個(gè)密封投標(biāo)機(jī)制的拍賣系統(tǒng)并不容易.密封投標(biāo)拍賣的工作原理大致為:在投標(biāo)階段,投標(biāo)人向拍賣人提交密封投標(biāo),每個(gè)投標(biāo)人的投標(biāo)金額對(duì)其他投標(biāo)人不可見,隨后投標(biāo)被解封,通過比較投標(biāo)金額選擇獲勝者.但是以太坊的所有交易金額都是公開的,如何結(jié)合智能合約實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)是目前面臨的一個(gè)挑戰(zhàn)[38].
如果智能合約代碼編寫不當(dāng),則其在執(zhí)行過程中會(huì)引發(fā)漏洞[39],進(jìn)而導(dǎo)致數(shù)據(jù)隱私的泄露.智能合約作為計(jì)算機(jī)系統(tǒng)程序的一種特殊形式,本身難以擺脫漏洞[40].智能合約在執(zhí)行前需要編譯成二進(jìn)制字節(jié)碼,利用智能合約分析工具,如Oyente[41]等開源工具,可以對(duì)智能合約的漏洞進(jìn)行分析.雖然某些系統(tǒng)在設(shè)計(jì)保護(hù)隱私的加密貨幣方面取得了一定的成果,如Zerocash[14],Zerocoin[13]和其他加密貨幣系統(tǒng),但這些系統(tǒng)放棄了可編程性,并且尚不清楚如何在不向礦工公開明文中交易和數(shù)據(jù)的前提下實(shí)現(xiàn)可編程性.
智能合約在執(zhí)行前需要被部署到區(qū)塊鏈節(jié)點(diǎn)上,由于區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)的物理分散性,部分節(jié)點(diǎn)可能存在性能差、安全性差等情況[27].通過入侵區(qū)塊鏈網(wǎng)絡(luò)中安全較為薄弱的節(jié)點(diǎn),節(jié)點(diǎn)上部署過的所有智能合約存在被攻擊者非法竊取的可能.智能合約本身的泄露對(duì)借貸等需要合約隱私性的應(yīng)用場(chǎng)景來說是致命的,攻擊者可以利用獲取的智能合約分析合約的關(guān)聯(lián)賬戶,進(jìn)而推測(cè)出現(xiàn)實(shí)生活中與合約內(nèi)容相關(guān)的用戶行為,與現(xiàn)實(shí)生活中的用戶進(jìn)行身份綁定.此外,攻擊者可以利用獲取的智能合約進(jìn)行漏洞分析,進(jìn)而利用漏洞對(duì)整個(gè)系統(tǒng)進(jìn)行攻擊和系統(tǒng)隱私數(shù)據(jù)的竊取,其結(jié)果可能導(dǎo)致災(zāi)難性的系統(tǒng)安全問題及數(shù)據(jù)隱私泄露.
2.3.1 針對(duì)網(wǎng)絡(luò)通信的隱私及威脅
相較于比特幣項(xiàng)目提供的假匿名性,以目前市值最大的Zcash和Monero[42]為代表的加密貨幣系統(tǒng)在設(shè)計(jì)之初,通過使用ZK-SNARK和環(huán)簽名等先進(jìn)的密碼學(xué)技術(shù)實(shí)現(xiàn)了數(shù)據(jù)隱私保護(hù)核心功能[18].盡管Zcash中應(yīng)用的ZK-SNARK技術(shù)為交易信息機(jī)密性提供了良好保護(hù)、環(huán)簽名技術(shù)為交易用戶的身份匿名性提供了良好支持,但在遠(yuǎn)程環(huán)境下利用遠(yuǎn)程旁道攻擊仍然可以窺探交易內(nèi)容及用戶身份信息,破壞交易機(jī)密性、不可追溯性、不可鏈接性及用戶匿名性.攻擊者利用在實(shí)現(xiàn)不同系統(tǒng)組件時(shí)泄露的旁道信息,可以將用戶的所有交易鏈接起來,破壞交易的不可鏈接性,如對(duì)交易發(fā)送方和接收方的流量進(jìn)行分析實(shí)施計(jì)時(shí)攻擊,通過監(jiān)聽證明者與錢包之間的流量信息利用生成證明的時(shí)間間隔判斷交易金額,破壞交易機(jī)密性;通過交易和錢包收匯款人地址之間的驗(yàn)證時(shí)間間隔,推斷出交易與錢包地址之間的關(guān)聯(lián)從而破壞交易的不可追溯性;將用戶IP與用戶的P2P節(jié)點(diǎn)鏈接起來從而推斷用戶的實(shí)際物理位置破壞用戶匿名性.
2.3.2 針對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的隱私及威脅
由于任意節(jié)點(diǎn)均可接入比特幣系統(tǒng),因此攻擊者可以利用掃描技術(shù)、拓?fù)浣Y(jié)構(gòu)探測(cè)等信息收集技術(shù)對(duì)比特幣網(wǎng)絡(luò)進(jìn)行探測(cè)攻擊.2013年,Reid等人[33]首次在小范圍內(nèi)通過模擬和分析比特幣系統(tǒng)中用戶的使用情況,對(duì)比特幣項(xiàng)目隱私安全進(jìn)行了較為全面的分析,實(shí)驗(yàn)結(jié)果表明:即使采用比特幣建議的隱私保護(hù)方法,用戶的隱私也無法得到保證,攻擊者利用探測(cè)攻擊可大量掃描區(qū)塊鏈系統(tǒng)中的節(jié)點(diǎn),獲取節(jié)點(diǎn)的IP地址信息并分析網(wǎng)絡(luò)規(guī)模,通過主動(dòng)和被動(dòng)監(jiān)聽的方式繪制整個(gè)系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋄31].Bitnodes[43]通過在大范圍內(nèi)部署探測(cè)節(jié)點(diǎn)獲取其他比特幣節(jié)點(diǎn)信息,進(jìn)而繪制出整個(gè)比特幣系統(tǒng)的網(wǎng)絡(luò)拓?fù)?,甚至暴露?jié)點(diǎn)的物理位置信息.當(dāng)系統(tǒng)的網(wǎng)絡(luò)拓?fù)渑c一些溯源技術(shù)相結(jié)合時(shí)就會(huì)嚴(yán)重危害用戶的數(shù)據(jù)隱私安全.
此外,由于網(wǎng)絡(luò)中的節(jié)點(diǎn)通常是個(gè)人電腦,在性能和安全性方面較為薄弱,因此容易受到攻擊者的攻擊和入侵.區(qū)塊鏈網(wǎng)絡(luò)是對(duì)等網(wǎng)絡(luò),物理位置較為分散,因此想要對(duì)整個(gè)網(wǎng)絡(luò)采取相同的安全措施較為困難.由于區(qū)塊鏈對(duì)等網(wǎng)絡(luò)中的數(shù)據(jù)冗余性,入侵者可以找到一些安全較為薄弱的節(jié)點(diǎn)實(shí)施入侵,造成數(shù)據(jù)隱私的泄露[31].
區(qū)塊鏈應(yīng)用落地過程中正在形成新的“數(shù)據(jù)孤島”,跨鏈技術(shù)作為未來的發(fā)展方向,能夠?qū)崿F(xiàn)不同鏈之間的價(jià)值傳遞.聯(lián)盟鏈及其落地應(yīng)用更需要跨鏈技術(shù)來突破“圍墻花園”,在不同聯(lián)盟鏈中進(jìn)行跨鏈操作時(shí)通常需要保證數(shù)據(jù)及賬戶地址的隱私性,而利用跨鏈技術(shù)在同構(gòu)鏈或異構(gòu)鏈之間進(jìn)行數(shù)據(jù)交換時(shí),跨鏈數(shù)據(jù)往往面臨數(shù)據(jù)隱私泄露的問題,不同鏈之間的系統(tǒng)架構(gòu)及實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù)的方式可能存在差異,這將導(dǎo)致跨鏈數(shù)據(jù)隱私保護(hù)面臨進(jìn)一步的挑戰(zhàn).
在保障跨鏈數(shù)據(jù)隱私的前提下,各參與跨鏈的區(qū)塊鏈系統(tǒng)需要保證其系統(tǒng)的安全性和數(shù)據(jù)隱私性,任何一方的系統(tǒng)安全性或數(shù)據(jù)隱私性存在問題都將導(dǎo)致跨鏈數(shù)據(jù)及相關(guān)賬戶地址的隱私泄露.此外,一些跨鏈技術(shù)在實(shí)現(xiàn)的過程中可能需要跨鏈橋,例如Raze網(wǎng)絡(luò)[44]在實(shí)現(xiàn)不同鏈之間跨鏈隱私時(shí)需要Raze橋作為數(shù)據(jù)交換時(shí)的中間件,攻擊者通過部署監(jiān)聽節(jié)點(diǎn)收集跨鏈橋上的通信數(shù)據(jù),可能進(jìn)一步分析出傳輸?shù)木唧w內(nèi)容,跨鏈橋的安全性及數(shù)據(jù)隱私性將直接影響到跨鏈過程中能否保障數(shù)據(jù)的隱私性.
區(qū)塊鏈技術(shù)在實(shí)際應(yīng)用場(chǎng)景中存在隱私泄露問題,這類隱私泄露問題通常并非來源于區(qū)塊鏈技術(shù)本身,而是由其他涉及區(qū)塊鏈應(yīng)用隱私泄露的主體造成,主要為區(qū)塊鏈系統(tǒng)的用戶及服務(wù)商.
許多用戶的隱私及安全觀念較為淡薄,在系統(tǒng)權(quán)限申請(qǐng)時(shí)很有可能會(huì)采取默認(rèn)同意授權(quán)的方式,這為攻擊者獲取用戶與區(qū)塊鏈之間的交互數(shù)據(jù)提供了可乘之機(jī).第三方對(duì)用戶數(shù)據(jù)進(jìn)行收集分析的情況并不少見,Englehardt等人[45]使用開源隱私測(cè)量工具OpenWPM1[46]對(duì)100多萬個(gè)網(wǎng)站進(jìn)行了測(cè)試,實(shí)驗(yàn)結(jié)果表明以購物網(wǎng)站為代表的許多網(wǎng)站上充斥著第三方數(shù)據(jù)隱私追蹤工具.追蹤者可以在匿名貨幣交易時(shí)獲取支付流等敏感信息,如商品標(biāo)識(shí)及價(jià)格等信息,通過收集足夠的購買信息并將其與區(qū)塊鏈上的交易形成一對(duì)一的對(duì)應(yīng)關(guān)系,再與用戶的cookie進(jìn)行關(guān)聯(lián),進(jìn)而綁定用戶身份.攻擊者可以進(jìn)一步將多個(gè)交易與區(qū)塊鏈交易信息聯(lián)系起來,從而識(shí)別用戶在整個(gè)區(qū)塊鏈網(wǎng)絡(luò)中的交易群及地址群.此外,用戶自身對(duì)賬戶地址和密鑰的保存方式不當(dāng)也將導(dǎo)致嚴(yán)重的隱私問題,例如在論壇公開自身賬戶地址,攻擊者可以利用論壇上用戶的相關(guān)身份信息關(guān)聯(lián)到實(shí)際生活中用戶的身份信息,進(jìn)而關(guān)聯(lián)到區(qū)塊鏈網(wǎng)絡(luò)中的賬戶地址.由于用戶自身密鑰保存不當(dāng),攻擊者獲取密鑰后即可獲取該用戶在區(qū)塊鏈網(wǎng)絡(luò)中所有的用戶信息,造成嚴(yán)重的隱私泄露問題.
服務(wù)商同樣存在因操作不當(dāng)或服務(wù)漏洞而導(dǎo)致隱私泄露的可能,例如進(jìn)行權(quán)限管理操作時(shí)為權(quán)限較低的用戶授予了較高的權(quán)限,導(dǎo)致低權(quán)限用戶能夠獲取權(quán)限之外的信息.2018年,IOTA[47]重大盜幣事件的發(fā)生為區(qū)塊鏈應(yīng)用層的隱私性及安全性敲響了警鐘,此次事件造成了1 140萬美元的損失.盜幣事件發(fā)生的原因并非是IOTA區(qū)塊鏈協(xié)議存在漏洞,而是攻擊者利用IOTA為用戶在線生成密鑰的Trinity錢包插件的漏洞,通過攻擊Trinity錢包插件不斷收集用戶生成的密鑰種子,結(jié)合分布式拒絕服務(wù)攻擊攻擊(distributed denial of service, DDOS)阻止受害者收回資金,從而完成整個(gè)盜幣過程.與此同時(shí),被攻擊者的身份信息及交易信息也可以被攻擊者輕松獲得,利用這些敏感信息,攻擊者可以將區(qū)塊鏈系統(tǒng)中的賬戶信息與現(xiàn)實(shí)生活中的用戶身份信息進(jìn)行關(guān)聯(lián),從而導(dǎo)致嚴(yán)重的隱私泄露問題.
區(qū)塊鏈?zhǔn)潜忍貛诺燃用茈娮迂泿诺暮诵募夹g(shù),對(duì)于實(shí)現(xiàn)安全、分散和開放的物聯(lián)網(wǎng)革命至關(guān)重要.傳統(tǒng)的集中式服務(wù)商可以非法使用物聯(lián)網(wǎng)數(shù)據(jù)實(shí)施大規(guī)模的監(jiān)控項(xiàng)目,如2017年美國國家安全局利用蘋果用戶的私人數(shù)據(jù)實(shí)施了棱鏡項(xiàng)目.區(qū)塊鏈技術(shù)結(jié)合物聯(lián)網(wǎng)可有效避免第三方中心機(jī)構(gòu)掌控用戶私人數(shù)據(jù),進(jìn)而避免發(fā)生損害用戶數(shù)據(jù)隱私的行為.物聯(lián)網(wǎng)是一種新的范式,它對(duì)工作、家庭、自動(dòng)化及制造等領(lǐng)域產(chǎn)生了巨大的影響,有著巨大的發(fā)展?jié)摿48].在物聯(lián)網(wǎng)場(chǎng)景中,區(qū)塊鏈與物聯(lián)網(wǎng)結(jié)合盡管可以提供諸多好處,通過系統(tǒng)設(shè)計(jì)將隱私內(nèi)置于物聯(lián)網(wǎng)設(shè)備中,分散的物聯(lián)網(wǎng)設(shè)備將為用戶提供新的選擇.在沒有第三方中心機(jī)構(gòu)的情況下,用戶可以自己決定是否與第三方共享私人數(shù)據(jù)或出售傳感器數(shù)據(jù),私人數(shù)據(jù)將成為用戶自己的財(cái)產(chǎn).但在實(shí)際物聯(lián)網(wǎng)應(yīng)用場(chǎng)景中,由于智能物聯(lián)網(wǎng)設(shè)備通常會(huì)在沒有用戶實(shí)際控制的情況下運(yùn)行,因此隱私泄露問題依然嚴(yán)峻.
針對(duì)區(qū)塊鏈數(shù)據(jù)隱私泄露問題,本節(jié)從信息混淆機(jī)制、信息加密機(jī)制、通道隔離機(jī)制和權(quán)限限制機(jī)制4個(gè)方面詳細(xì)介紹目前區(qū)塊鏈數(shù)據(jù)隱私保護(hù)的解決方案.
信息混淆機(jī)制將交易方的地址信息、交易內(nèi)容、交易方的身份信息進(jìn)行混淆,解決鏈上交易隱私、用戶身份隱私、賬戶地址隱私等問題;信息加密機(jī)制通過零知識(shí)證明、同態(tài)加密等加密技術(shù)對(duì)鏈上交易數(shù)據(jù)進(jìn)行加密實(shí)現(xiàn)真實(shí)數(shù)據(jù)的隱藏,抵抗交易溯源、賬戶溯源等攻擊,將加密機(jī)制與智能合約結(jié)合形成隱私智能合約可以解決交易數(shù)據(jù)隱私和跨鏈隱私問題;此外,信息加密機(jī)制通過洋蔥路由、大蒜路由等技術(shù)抵御部署節(jié)點(diǎn)監(jiān)聽網(wǎng)絡(luò)的攻擊,實(shí)現(xiàn)網(wǎng)絡(luò)信息隱藏;通道隔離機(jī)制通過閃電網(wǎng)絡(luò)、雷電網(wǎng)絡(luò)技術(shù)將用戶間的交易移至鏈下進(jìn)行,詳細(xì)的交易信息不記錄在區(qū)塊鏈上,解決了區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)監(jiān)聽的問題.鏈上通道隔離技術(shù)將節(jié)點(diǎn)劃分到不同的通道,每個(gè)節(jié)點(diǎn)只能訪問所屬通道內(nèi)的信息,解決了節(jié)點(diǎn)間的隱私威脅;權(quán)限限制機(jī)制通過限制節(jié)點(diǎn)接入和限制信息發(fā)布解決用戶端隱私、服務(wù)器端隱私和節(jié)點(diǎn)接入的隱私問題.
混幣機(jī)制的核心思想最早源于1981年Chaum[49]發(fā)表的文章,利用第三方機(jī)構(gòu)中轉(zhuǎn)信息,對(duì)交易的輸入輸出進(jìn)行混淆,從而隱藏通信雙方的實(shí)際身份,實(shí)現(xiàn)匿名通信.混幣機(jī)制是一種改變交易過程但不改變交易結(jié)果的解決方案,可歸類為信息安全中的數(shù)據(jù)失真隱私保護(hù)技術(shù).攻擊者通過溯源技術(shù)可以揭露多個(gè)交易地址之間的關(guān)聯(lián)性,混幣機(jī)制在交易輸入方及輸出方之間進(jìn)行交易混淆,使攻擊者無法有效區(qū)分交易輸入方及交易輸出方,實(shí)現(xiàn)對(duì)交易地址之間關(guān)聯(lián)性的隱藏,從而保證鏈上交易數(shù)據(jù)的隱私安全.在數(shù)字貨幣領(lǐng)域,根據(jù)有無第三方節(jié)點(diǎn)參與混幣過程,可將混幣機(jī)制分為中心化混幣和去中心化混幣2類.
3.1.1 中心化混幣
中心化混幣需要第三方服務(wù)商提供混幣服務(wù),混幣過程由第三方服務(wù)執(zhí)行.混幣交易將多個(gè)交易用戶的資金進(jìn)行混合,將混合之后的資金輸出至用戶提供的輸出地址,混幣服務(wù)的過程中需要收取一定額度的手續(xù)費(fèi).中心化混幣協(xié)議交易過程有4個(gè)階段:
1) 協(xié)商階段.交易用戶與第三方混幣服務(wù)商協(xié)定交易細(xì)節(jié),如混幣的金額、約定用戶的輸入地址、輸出地址、混幣輸入輸出時(shí)間、第三方混幣服務(wù)商的接收地址和輸出地址、混幣服務(wù)手續(xù)費(fèi)等.
2) 輸入階段.交易用戶將約定的混幣金額從輸入地址發(fā)送到第三方混幣服務(wù)商接收地址.
3) 輸出階段.第三方混幣服務(wù)商扣除約定的手續(xù)費(fèi),然后將資產(chǎn)輸出至交易用戶的輸出地址.
4) 結(jié)束階段.混幣協(xié)議正常結(jié)束后,為保護(hù)用戶的隱私,所有交易用戶和第三方混幣服務(wù)商需要?jiǎng)h除本次混幣的協(xié)商記錄.
中心化混幣協(xié)議簡單可行,目前已有許多第三方服務(wù)商提供混幣服務(wù).但中心化混幣需要第三方節(jié)點(diǎn)作為中介,因此存在2個(gè)問題:
1) 信任問題.中心化混幣協(xié)議缺乏對(duì)第三方混幣服務(wù)商的問責(zé)機(jī)制,存在內(nèi)部作惡的可能性.參與混幣的用戶無法確定自己的資產(chǎn)是否被盜刷,以及第三方混幣服務(wù)提供商是否真正刪除了協(xié)商記錄等.
2) 第三方混幣服務(wù)商提供混幣服務(wù)時(shí)可能在交易時(shí)間、交易地址等方面存在規(guī)律,導(dǎo)致攻擊者可以通過這些規(guī)律分析混幣交易,進(jìn)而對(duì)交易用戶的輸入輸出地址進(jìn)行關(guān)聯(lián).
Bonneau等人[50]提出了基于中心化混幣的Mixcoin協(xié)議,增加了獨(dú)立的加密問責(zé)機(jī)制保障用戶的交易隱私,當(dāng)用戶隱私被竊取時(shí),用戶可以通過發(fā)布服務(wù)商的簽名來降低服務(wù)商的信譽(yù).該協(xié)議采取隨機(jī)混合費(fèi)用的方案避免了攻擊者通過固定混合費(fèi)用分析交易隱私的可能性,并將所有用戶的任意組合交互放入匿名集,實(shí)現(xiàn)了混淆的不可區(qū)分性.Mixcoin借助匿名通信網(wǎng)絡(luò)將多個(gè)混合交易鏈接在一起形成比特幣混合網(wǎng)絡(luò)從而增加了攻擊難度,此方案已應(yīng)用于比特幣交易.
Mixcoin存在內(nèi)部作惡的可能,用戶的輸入輸出地址之間的映射對(duì)于混合服務(wù)提供商是可見的.Valenta等人[51]在Blindcoin中修改了Mixcoin協(xié)議,利用盲簽名和公共日志技術(shù)保證用戶輸入輸出地址間的映射對(duì)于混合服務(wù)提供商是不可見的.即使遭受惡意攻擊,Blindcoin協(xié)議也能保證用戶的強(qiáng)匿名性,且該協(xié)議可以抵御拒絕服務(wù)攻擊.目前,該協(xié)議已應(yīng)用于比特幣交易.
3.1.2 去中心化混幣
中心化混幣通過第三方混幣服務(wù)商實(shí)現(xiàn)交易信息的隱藏,但存在第三方泄露隱私的風(fēng)險(xiǎn).為了徹底解決潛在的風(fēng)險(xiǎn),Maxwell[52]最早在比特幣論壇提出了基于去中心化思想的混幣機(jī)制,利用用戶約定的多方協(xié)議實(shí)現(xiàn)混幣,從根本上解決了中心化混幣的潛在風(fēng)險(xiǎn).去中心化混幣的交易流程分為4個(gè)階段:
1) 協(xié)商階段.參與混幣的用戶共同協(xié)商混幣協(xié)議的參數(shù).主要參數(shù)包括各個(gè)用戶混幣的金額、混幣的輸入地址、輸出地址等.
2) 混淆階段.根據(jù)去中心化混幣協(xié)議對(duì)所有協(xié)商的輸出地址進(jìn)行混淆,同時(shí)隱藏用戶的輸入輸出地址間的聯(lián)系,保證用戶的匿名性.
3) 確認(rèn)階段.經(jīng)過混淆階段得到交易的輸出地址,根據(jù)交易輸出地址進(jìn)行交易,確認(rèn)輸出地址和交易無誤后廣播交易信息,將資產(chǎn)發(fā)送到對(duì)應(yīng)的輸出地址.
4) 結(jié)束階段.若混合過程無錯(cuò)誤信息,且去中心化混幣協(xié)議正常結(jié)束,則所有參與此次混合的用戶刪除此次交易記錄,混合交易結(jié)束;若混合過程出現(xiàn)錯(cuò)誤,去中心化混幣協(xié)議出現(xiàn)異常,則需要所有參與用戶找出并排除惡意用戶,剩余的用戶重新進(jìn)行混合交易.
去中心化混幣不需要第三方的參與,節(jié)省了服務(wù)費(fèi)用.但是去中心化混幣易受到惡意攻擊,通常需要對(duì)去中心化混幣協(xié)議進(jìn)行改進(jìn)以增強(qiáng)其安全性,解決方案主要分為2類:
1) 改進(jìn)虛擬貨幣協(xié)議
2013年,Maxwell[52]提出了基于去中心化思想的Coinjoin協(xié)議,該協(xié)議將來自各個(gè)參與者的多個(gè)交易合并為一個(gè)交易,通過隱藏交易輸入方及輸出方之間的對(duì)應(yīng)關(guān)系,構(gòu)造混幣交易,使攻擊者無法通過交易信息得到輸入和輸出之間的關(guān)系[31].該協(xié)議雖然提高了用戶的隱私保護(hù)能力,但對(duì)于行為不端的用戶缺乏彈性.如果參與混合的單個(gè)用戶在確認(rèn)階段拒絕簽名,則整個(gè)交易就會(huì)失敗,因此Coinjoin協(xié)議易遭受DOS攻擊.
2014年,Ruffing等人[53]在Coinjoin協(xié)議基礎(chǔ)上提出了一個(gè)完全去中心化的混合協(xié)議:CoinShuffle協(xié)議,該協(xié)議規(guī)定至少有2個(gè)誠實(shí)的參與者,允許用戶以完全匿名的方式使用比特幣及其他數(shù)字貨幣.首先,每個(gè)參與者需要生成一個(gè)臨時(shí)的加解密密鑰對(duì)并對(duì)公鑰進(jìn)行廣播;隨后,參與者按照一定順序進(jìn)行排列,每個(gè)用戶使用其他所有參與者的公鑰對(duì)自己的輸出地址進(jìn)行多層加密得到新的輸出地址,然后將新的輸出地址發(fā)送給下一用戶,混合過程保障了數(shù)據(jù)的隱私性.CoinShuffle通過問責(zé)制確保交易完成.如果協(xié)議失敗,則進(jìn)入責(zé)備階段.
2017年,Ruffling等人[54]在Coinjoin和Coin-Shuffle++協(xié)議的基礎(chǔ)上提出了ValueShuffle協(xié)議.該協(xié)議集成了保密交易、隱形地址和混合技術(shù)實(shí)現(xiàn)了全面隱私保護(hù),包括付款人匿名、收款人匿名和支付價(jià)值隱藏,任何攻擊者都不能鏈接到事務(wù)的輸入和輸出.ValueShuffle可以在同一筆交易中混合不同價(jià)值的資金,Dos攻擊只能延遲但無法阻止協(xié)議的執(zhí)行.為了避免攻擊者將事務(wù)的輸入與網(wǎng)絡(luò)級(jí)標(biāo)識(shí)符聯(lián)系起來,建議使用外部匿名通信方式.
2) 引入新的虛擬貨幣
2013年,Miers等人[13]在比特幣中加入了去中心化的加密匿名電子現(xiàn)金協(xié)議Zerocoin,通過解除交易與支付來源的鏈接關(guān)系解決隱私泄露問題.基于數(shù)字承諾新型架構(gòu)的Zerocoin利用零知識(shí)證明實(shí)現(xiàn)了強(qiáng)匿名性,有效防止了雙重支付攻擊,但Zerocoin實(shí)現(xiàn)隱私所需的成本較高.Garman等人[55]在Rational Zero中改進(jìn)了Zerocoin協(xié)議,加強(qiáng)Zerocoin匿名性的同時(shí)降低了零知識(shí)證明的資源消耗,并且確保偽造一個(gè)零幣比挖礦的代價(jià)更大.但在Zerocoin交易過程中,會(huì)顯示交易的目的地址和交易金額.Ben-Sasson[16]等利用ZK-SNARKs的最新技術(shù)構(gòu)建了一個(gè)基于分類賬且隱私保護(hù)能力更強(qiáng)的數(shù)字貨幣——Zerocash.該協(xié)議制定并構(gòu)建了分散匿名支付方案,隱藏交易的支付來源、目的地址和交易金額,用戶可以直接進(jìn)行私下交易;Zerocash交易效率比匿名性較低的Zerocoin高出多個(gè)數(shù)量級(jí),具有較強(qiáng)的可用性.
3.2.1 鏈上信息隱藏
傳統(tǒng)的區(qū)塊鏈交易過程中,交易信息被記錄在賬本中,攻擊者通過賬本信息獲取用戶賬戶地址、交易的金額等隱私信息.為了隱藏交易過程中相關(guān)信息,研究者們提出了同態(tài)加密、差分隱私、零知識(shí)證明、環(huán)簽名、承諾方案、安全多方計(jì)算、基于屬性的加密、可信硬件執(zhí)行環(huán)境等技術(shù)實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù).安全多方計(jì)算的輸入隱私特性和隱私數(shù)據(jù)聯(lián)合計(jì)算功能結(jié)合隱私智能合約,保證用戶輸入數(shù)據(jù)的隱私.
1) 零知識(shí)證明(zero-knowledge proof)
20世紀(jì)80年代,Goldwasser等人[56]提出了零知識(shí)證明,其核心思想是證明者在不需要向驗(yàn)證者提供任何額外信息的前提下,使驗(yàn)證者相信某個(gè)論斷是正確的.零知識(shí)證明分為交互式零知識(shí)證明(又稱“基礎(chǔ)零知識(shí)證明”)和非交互式零知識(shí)證明.交互式零知識(shí)證明通過證明者和驗(yàn)證者之間不斷論述,且在論述過程中不提供任何與隱私相關(guān)信息的前提下,使驗(yàn)證者相信證明者論斷的正確性.但是交互式零知識(shí)證明無法對(duì)證明方和驗(yàn)證方提前串通的行為作出判斷,需要額外工作使可信第三方信服.非交互式零知識(shí)證明通過機(jī)器或程序進(jìn)行試驗(yàn)且試驗(yàn)序列是保密的,不需要證明者與驗(yàn)證者之間的交互,完全隱藏了賬本中有關(guān)交易的信息,只記錄交易的存在性,解決了交互式零知識(shí)證明存在的隱患.
在區(qū)塊鏈應(yīng)用中,Zerocash和Zerocoin分別通過ZK-SNARKS技術(shù)、零知識(shí)證明技術(shù)隱藏了交易過程中的賬本信息.2016年Kosba等人[57]提出了一種去中心化且能保證隱私性的智能合約框架Hawk,區(qū)塊鏈系統(tǒng)不記錄交易的明文信息,以此保護(hù)交易數(shù)據(jù)的隱私安全.Hawk的編譯器可以對(duì)未加密的智能合約自動(dòng)生成高效的密碼協(xié)議,交易參與者使用零知識(shí)證明等密碼原語與區(qū)塊鏈進(jìn)行交互,確保智能合約正確執(zhí)行.Hawk不僅能夠保證鏈上隱私,而且能夠保證同一智能合約中各方彼此之間的隱私.
2020年,基于零知識(shí)證明的以太坊智能合約隱私協(xié)議Zether被Bünz等人[38]提出.該協(xié)議以Zether智能合約(zether smart contract, ZSC)的形式部署在以太坊區(qū)塊鏈上,交易過程中的交易地址、賬戶余額和交易信息始終保持加密狀態(tài)從而確保數(shù)據(jù)隱私安全,實(shí)現(xiàn)了匿名支付.學(xué)者們利用Bulletproofs和Σ協(xié)議的特性提出了新的零知識(shí)證明機(jī)制:Σ-Bullets,并且創(chuàng)建了隱私賬戶體系,進(jìn)一步增加了協(xié)議的安全性和可用性.Zether協(xié)議主要應(yīng)用場(chǎng)景包括保密支付、私密權(quán)益證明、保密支付、保密權(quán)益投票、保密競(jìng)拍等.Zether隱私協(xié)議存在成本高、網(wǎng)絡(luò)狀況對(duì)交易結(jié)果影響較大等問題.類似Zether的其他隱私協(xié)議包括AZTEC[58],Flyclient[59],PGC[60]等.
2) 同態(tài)加密(homomorphic encryption)
20世紀(jì)70年代,Rivest等人[61]首次提出同態(tài)加密的概念,數(shù)據(jù)經(jīng)過同態(tài)加密之后再進(jìn)行運(yùn)算得到的結(jié)果解密后,與對(duì)明文直接進(jìn)行同樣運(yùn)算得到的結(jié)果一致.同態(tài)加密技術(shù)隱藏了真實(shí)的賬本信息,具有較高的安全性.即使同態(tài)加密結(jié)果被成功解密,攻擊者仍無法知道加密前具體的數(shù)據(jù)信息,提高了信息的安全性和隱蔽性.
在區(qū)塊鏈應(yīng)用中,同態(tài)加密技術(shù)與智能合約的結(jié)合能夠?qū)崿F(xiàn)數(shù)據(jù)隱私保護(hù).交易數(shù)據(jù)經(jīng)過同態(tài)加密后發(fā)送至智能合約,智能合約對(duì)加密之后的數(shù)據(jù)進(jìn)行處理,且只記錄加密后的數(shù)據(jù).攻擊者無法得知加密前的數(shù)據(jù),保證了賬本信息的隱藏.2009年,Gentry[26]提出了全同態(tài)加密算法,加密后的數(shù)據(jù)可以通過全同態(tài)加密算法可以得到與原始數(shù)據(jù)的任意運(yùn)算規(guī)則相對(duì)應(yīng)的運(yùn)算規(guī)則,從而保證數(shù)據(jù)的同態(tài)性.但是全同態(tài)加密算法效率低,無法被大規(guī)模的使用.2011年,Brakerski等人[62]對(duì)Gentry提出的全同態(tài)加密算法進(jìn)行改進(jìn),提出了基于錯(cuò)誤學(xué)習(xí)和環(huán)錯(cuò)誤學(xué)習(xí)假設(shè)的同態(tài)加密算法:BGV算法.為了降低解密的復(fù)雜度、減小密文的尺寸,BGV算法使用了新的模型轉(zhuǎn)換和維數(shù)約化方法,提高了全同態(tài)加密的效率.為了突破全同態(tài)加密密鑰計(jì)算的瓶頸,Gentry等人[63]在2013年提出了GSW13算法,設(shè)計(jì)了基于屬性和身份的全同態(tài)加密方案.GSW13算法的加密密鑰由每個(gè)用戶的公鑰組成,用戶生成自己的公鑰和私鑰,不需要額外資源進(jìn)行密鑰計(jì)算從而提高了全同態(tài)加密的效率,得到了廣泛的應(yīng)用.
然而,利用公鑰全同態(tài)加密技術(shù)實(shí)現(xiàn)區(qū)塊鏈中的數(shù)據(jù)隱私保護(hù),計(jì)算開銷與通信開銷巨大.為了解決公鑰全同態(tài)加密開銷大的問題,Zhou和Cao等人[64]提出了輕量級(jí)的全同態(tài)映射數(shù)據(jù)封裝機(jī)制,實(shí)現(xiàn)了高效的密態(tài)計(jì)算.該機(jī)制通過減少公鑰加密、解密的使用次數(shù),不依賴公鑰全同態(tài)加密.該機(jī)制,利用離線狀態(tài)下常數(shù)次單向陷門置換運(yùn)算加密對(duì)稱密鑰,在線狀態(tài)下僅包含乘法運(yùn)算、簡單加法的帶密鑰的對(duì)稱全同態(tài)映射加密數(shù)據(jù)本身,依據(jù)混合加密基本原則,實(shí)現(xiàn)了“一次加密、多次使用”的目標(biāo).用戶的數(shù)據(jù)集的大小不會(huì)對(duì)公鑰加密的使用次數(shù)復(fù)雜度產(chǎn)生影響,該機(jī)制的公鑰加密的使用次數(shù)復(fù)雜度為O(1).針對(duì)多用戶場(chǎng)景,Zhou和Cao等人[65]進(jìn)一步構(gòu)建了多密鑰全同態(tài)映射數(shù)據(jù)封裝機(jī)制,利用重加密的思想,在合作不合謀的雙服務(wù)器模型下將不同密鑰加密下的密文數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一密鑰加密下的密文數(shù)據(jù),從而提出了高效的密態(tài)計(jì)算協(xié)議,可以為區(qū)塊鏈系統(tǒng)中實(shí)現(xiàn)加密賬本與密文交易數(shù)據(jù)的統(tǒng)計(jì)分析及各類云計(jì)算和邊緣計(jì)算中的輕量級(jí)數(shù)據(jù)隱私保護(hù)應(yīng)用提供有力工具.
3) 安全多方計(jì)算(secure multi-party computation, MPC)
1982年,為了解決百萬富翁問題,姚期智基于混淆電路思想提出了兩方安全計(jì)算[66].為了保護(hù)隱私安全,密碼學(xué)家們經(jīng)過不斷研究提出了安全多方計(jì)算技術(shù).2004年,Malkhi等人[67]通過支持安全兩方計(jì)算的Fairplay系統(tǒng)證明了安全多方計(jì)算的可行性.2008年,Ben-David等人[68]提出了支持安全多方計(jì)算的FairplayMP系統(tǒng),解決了多個(gè)互不信任的用戶進(jìn)行協(xié)同計(jì)算的難題.在去中心化系統(tǒng)中,安全多方計(jì)算能夠保護(hù)輸入隱私,在保證數(shù)據(jù)隱私的前提下可以進(jìn)行函數(shù)計(jì)算并保證計(jì)算的準(zhǔn)確性.
安全多方計(jì)算具有去中心化、輸入隱私保護(hù)以及互不信任個(gè)體之間協(xié)同計(jì)算的特性,與區(qū)塊鏈系統(tǒng)具有天然互補(bǔ)性.安全多方計(jì)算可以隱蔽地進(jìn)行隱私數(shù)據(jù)的聯(lián)合計(jì)算,將其應(yīng)用于智能合約可以保證運(yùn)算數(shù)據(jù)的隱私安全,實(shí)現(xiàn)隱私智能合約.目前已經(jīng)有許多項(xiàng)目利用安全多方計(jì)算實(shí)現(xiàn)隱私智能合約保護(hù)數(shù)據(jù)的隱私安全.2015年,Zyskind等人[69]提出了基于安全多方計(jì)算的Enigma計(jì)算模型,實(shí)現(xiàn)了多方同時(shí)存儲(chǔ)數(shù)據(jù)、對(duì)數(shù)據(jù)進(jìn)行運(yùn)算并且保持?jǐn)?shù)據(jù)的完全私有.Enigma的隱私智能合約一部分運(yùn)行在公鏈上,用于存儲(chǔ)智能合約正確執(zhí)行的證明,另一部分運(yùn)行在去中心化的鏈外隱私計(jì)算網(wǎng)絡(luò),用于執(zhí)行安全多方計(jì)算.其中MIT Enigma應(yīng)用了安全多方計(jì)算和智能合約實(shí)現(xiàn)了醫(yī)療數(shù)據(jù)的隱私保護(hù).2019年,朱巖等人[70]提出了一個(gè)基于安全多方計(jì)算的智能合約框架,利用安全多方計(jì)算、SMPC算法和非阻塞信息傳遞接口技術(shù)保證了智能合約執(zhí)行過程中輸入隱私性和計(jì)算的正確性,并提供了強(qiáng)容錯(cuò)機(jī)制,在計(jì)算節(jié)點(diǎn)錯(cuò)誤的情況下仍然可以保證群組安全通信,確保了區(qū)塊鏈系統(tǒng)中的數(shù)據(jù)隱私安全.值得注意的是,目前的安全多方計(jì)算模型的效率較低,且需要保證輸入數(shù)據(jù)的真實(shí)性.
4) 承諾方案(commitment scheme)
承諾方案[71]是密碼學(xué)領(lǐng)域中一種重要的基本協(xié)議,密碼學(xué)領(lǐng)域中的零知識(shí)證明吸取了承諾方案的思想.此外,其對(duì)安全多方計(jì)算等加密技術(shù)也有著十分重要的地位.承諾方案是一個(gè)涉及兩方的兩階段交互式協(xié)議,涉及的雙方分別指承諾方和接收方.第1階段為承諾階段,承諾方選擇一個(gè)消息m,以密文的形式發(fā)送給接收方,意味著承諾方不會(huì)更改m.第2階段為打開階段,承諾方公開消息m與盲化因子(相當(dāng)于秘鑰),接收方以此來驗(yàn)證其與承諾階段所接收的消息是否一致.承諾方案有2個(gè)基本性質(zhì):隱藏性和綁定性.隱藏性指承諾值不會(huì)泄露任何關(guān)于消息m的信息;綁定性指任何惡意的承諾方若將承諾如果打開為非m的消息則不予驗(yàn)證通過,即接收方可以確信m是和該承諾對(duì)應(yīng)的消息.承諾方案在分布式計(jì)算領(lǐng)域有廣泛應(yīng)用,在區(qū)塊鏈領(lǐng)域可用于隱藏交易過程中的交易內(nèi)容,同時(shí)可將隱藏的內(nèi)容與內(nèi)容所有者綁定,目前已被應(yīng)用于Zerocoin和Zcash協(xié)議.
5) 環(huán)簽名(ring signature)
2001年,Rivest等人[72]提出環(huán)簽名的概念.在群簽名的基礎(chǔ)上進(jìn)行簡化后衍生出了環(huán)簽名技術(shù),環(huán)簽名在簽名過程中不需要成員之間進(jìn)行合作,也不需要管理者,簽名者使用自身私鑰和公鑰池中的部分公鑰即可獨(dú)立進(jìn)行簽名.環(huán)簽名具有無條件匿名性,其簽名過程能夠保證攻擊者哪怕得到所有的公私鑰后也無法得知真正的簽名者是誰,同時(shí)環(huán)中成員無法偽造其他成員的簽名,保證了匿名性和安全性.梁秀波等人[73]在2016年發(fā)布了一種基于環(huán)簽名的區(qū)塊鏈匿名交易方法,解決了交易雙方地址暴露的問題,實(shí)現(xiàn)了匿名交易功能.QURAS區(qū)塊鏈系統(tǒng)通過結(jié)合環(huán)簽名技術(shù)和零知識(shí)證明技術(shù)實(shí)現(xiàn)用戶隱私保護(hù),環(huán)簽名技術(shù)使用戶無法獲取簽名的目的地址和發(fā)送者,隱藏了用戶的身份信息[63].
6) 差分隱私(differential privacy)
差分隱私[74]用來防止差分攻擊,差分攻擊指攻擊者通過樣本數(shù)據(jù)發(fā)生的新變化進(jìn)行數(shù)據(jù)分析以此推斷出樣本數(shù)據(jù)的某些詳細(xì)信息.差分隱私通過在數(shù)據(jù)中引入一定量的隨機(jī)噪聲,在對(duì)數(shù)據(jù)集合整體進(jìn)行分析時(shí)非常接近真實(shí)結(jié)果,但攻擊者無法對(duì)任何個(gè)體信息進(jìn)行推斷.在區(qū)塊鏈領(lǐng)域,差分隱私可用于抵抗針對(duì)用戶行為特征分析的攻擊,在保證區(qū)塊鏈數(shù)據(jù)整體特征保持不變的前提下,攻擊者無法推測(cè)出個(gè)體用戶的信息.差分隱私無法使數(shù)據(jù)完全匿名化,但可以對(duì)抗數(shù)據(jù)分析類攻擊算法.
7) 基于屬性加密(attribute-based encryption, ABE)
基于屬性加密技術(shù)[75]有2個(gè)基本概念:屬性和策略,屬性指與個(gè)體相關(guān)的信息集合,策略指屬性及它們之間關(guān)系所組成的邏輯表達(dá)式.合理策略后能夠?qū)崿F(xiàn)對(duì)加密數(shù)據(jù)的細(xì)粒度訪問控制.此外,基于屬性加密可以解決對(duì)稱加密密鑰傳輸帶來的密鑰泄露問題,保護(hù)了數(shù)據(jù)擁有者和數(shù)據(jù)使用者的信息.目前,基于屬性加密的數(shù)據(jù)隱私保護(hù)系統(tǒng)已經(jīng)有多個(gè)實(shí)現(xiàn)應(yīng)用.由于基于屬性加密僅從“信道安全”上部分解決了密文訪問控制問題,因此從實(shí)際應(yīng)用安全角度出發(fā),Cao等人[76]提出了“信道安全+X”安全模型,構(gòu)建了可追蹤、可撤銷、多機(jī)構(gòu)的基于屬性加密方案,真正實(shí)現(xiàn)了高效的密文訪問控制.具體而言,在可追蹤方面,Liu和Cao等人[77]提出了黑盒可追蹤C(jī)P-ABE系統(tǒng),首次同時(shí)達(dá)到了適應(yīng)性安全和高表達(dá)力,而且該系統(tǒng)獲得可追蹤性的代價(jià)達(dá)到了目前的最佳水平.在多機(jī)構(gòu)屬性基加密方面,Lin和Cao等人[78]提出了無中央機(jī)構(gòu)的門限多機(jī)構(gòu)ABE,弱化單一屬性機(jī)構(gòu)被攻擊帶來的威脅,解決了Sahai和Waters[79]在歐洲密碼會(huì)議EUROCRYPT 2005上提出的一個(gè)公開問題.該成果被著名密碼學(xué)家Waters在其論文[80]中作為基礎(chǔ)文獻(xiàn)引用,并由此提出一個(gè)新概念“Decentralizing ABE”,發(fā)表在歐洲密碼會(huì)議EUROCRYPT 2011上.但Waters的這項(xiàng)工作仍然具有“每個(gè)機(jī)構(gòu)都能獨(dú)立解開部分密文”的弱點(diǎn).同在2011年,給出了一個(gè)標(biāo)準(zhǔn)模型下適應(yīng)性安全的多機(jī)構(gòu)密文策略屬性基加密方案[81].在該方案中,任何機(jī)構(gòu)都不能獨(dú)立的解開任何密文,降低了對(duì)機(jī)構(gòu)的可信性依賴,解決了屬性基加密系統(tǒng)中固有的密鑰托管問題.此外,Zhou和Cao等人[82]實(shí)現(xiàn)了加密電子病歷的多級(jí)隱私保護(hù),給出了同時(shí)滿足白盒可追蹤和可撤銷性質(zhì)的多機(jī)構(gòu)屬性基加密方案.
近年來,Cao等人[83]提出了針對(duì)代理路徑的高效細(xì)粒度密文訪問控制方法,即自治路徑代理重加密算法.在自治路徑代理重加密中,被代理者被賦予一定的優(yōu)先級(jí),按照優(yōu)先級(jí)分配任務(wù),且代理者可以自定義代理過程和路徑.
8) 可信硬件執(zhí)行環(huán)境
安全多方計(jì)算等復(fù)雜的密碼學(xué)技術(shù)會(huì)導(dǎo)致區(qū)塊鏈系統(tǒng)性能降低,可信執(zhí)行環(huán)境(trusted execution environment, TEE)適用于高安全需求操作、保護(hù)敏感數(shù)據(jù)和保護(hù)高價(jià)值數(shù)據(jù)等場(chǎng)景[84],為解決區(qū)塊鏈性能瓶頸提供了解決方案.張凡等人[85]提出了一種經(jīng)過認(rèn)證的數(shù)據(jù)饋送系統(tǒng)TC(town crier),TC結(jié)合了以太坊智能合約和可信硬件,保證了與智能合約相關(guān)的數(shù)據(jù)隱私安全.由于公鏈的共識(shí)機(jī)制屬于隨機(jī)性協(xié)議,無法保證節(jié)點(diǎn)間信息傳輸一致,導(dǎo)致智能合約易受到回滾攻擊,僅依賴TEE無法完全保證公鏈系統(tǒng)的數(shù)據(jù)隱私安全,因此TEE更適應(yīng)于共識(shí)機(jī)制較為確定的聯(lián)盟鏈.2019年10月,Hyperledger Fabric發(fā)布的Avalon項(xiàng)目結(jié)合了可信執(zhí)行環(huán)境、安全多方計(jì)算和零知識(shí)證明等技術(shù)在保證數(shù)據(jù)正確性的前提下實(shí)現(xiàn)了數(shù)據(jù)隱私保護(hù)[86].TEE與區(qū)塊鏈的結(jié)合可以更好地滿足區(qū)塊鏈系統(tǒng)中對(duì)數(shù)據(jù)安全性和隱私性的要求,并且提供盡可能高的執(zhí)行效率,提高系統(tǒng)可用性.
3.2.2 網(wǎng)絡(luò)信息隱藏
傳統(tǒng)區(qū)塊鏈節(jié)點(diǎn)之間的交易信息通過假名傳播,保證了一定的匿名性,但在遭受去匿名化攻擊時(shí)假名仍存在泄露的風(fēng)險(xiǎn).攻擊者通過假名與IP地址的關(guān)聯(lián)關(guān)系可以推測(cè)出IP地址對(duì)應(yīng)的真實(shí)用戶,進(jìn)而對(duì)區(qū)塊鏈節(jié)點(diǎn)進(jìn)行審查、流量分析、服務(wù)阻斷等,影響交易的正常進(jìn)行.因此,網(wǎng)絡(luò)層信息的匿名性和隱蔽性至關(guān)重要.區(qū)塊鏈基于P2P網(wǎng)絡(luò)進(jìn)行消息的廣播,惡意攻擊者通過監(jiān)聽區(qū)塊鏈的網(wǎng)絡(luò)廣播信息并將IP地址和鏈上交易信息進(jìn)行鏈接.為防止此類攻擊,需要對(duì)區(qū)塊鏈的網(wǎng)絡(luò)層數(shù)據(jù)進(jìn)行隱藏.目前有5種解決方案:
1) 可信第三方轉(zhuǎn)發(fā)
區(qū)塊鏈節(jié)點(diǎn)間的交易需要發(fā)送者和接收者的地址信息.區(qū)塊鏈網(wǎng)絡(luò)層中信息的匿名傳輸需要保證接收方無法得知發(fā)送方的相關(guān)信息,簡單可行的方法是利用可信第三方代替發(fā)送者發(fā)送信息,即發(fā)送方將信息發(fā)給可信第三方,再由可信第三方轉(zhuǎn)發(fā)至接收方.目前可行的技術(shù)包括代理、虛擬私人網(wǎng)絡(luò)等,但這類解決方案不能保證可信第三方不泄露信息,無法保證交易匿名性.
2) 混合網(wǎng)絡(luò)
1981年,Chaum[49]發(fā)明了混合網(wǎng)絡(luò).混合網(wǎng)絡(luò)不僅混合線路節(jié)點(diǎn),而且混合來自不同節(jié)點(diǎn)的信息.混合網(wǎng)絡(luò)可以承受互聯(lián)網(wǎng)服務(wù)提供商(Internet service provider, ISP)的流量分析攻擊,保證了強(qiáng)匿名性.但混合網(wǎng)絡(luò)延遲高,無法被大規(guī)模使用.
3) 洋蔥路由
受混合網(wǎng)絡(luò)的啟發(fā),1998年P(guān)aul等人[87]發(fā)明了洋蔥路由.洋蔥路由通過使攻擊者無法獲得全局信息來保證隱私安全.為了解決高延遲的問題,洋蔥路由在安全性方面做出了妥協(xié).2004年上線了基于洋蔥路由和中繼覆蓋網(wǎng)絡(luò)的強(qiáng)大匿名工具—Tor網(wǎng)絡(luò),Tor節(jié)點(diǎn)是指使用洋蔥服務(wù)的洋蔥路由器,能夠隱藏請(qǐng)求端和響應(yīng)端的IP信息,以此保證了匿名性.Tor采用伸縮策略建立通信線路,具體流程分為3步.
① 節(jié)點(diǎn)選擇階段.請(qǐng)求端向目錄服務(wù)器發(fā)起請(qǐng)求,然后通過目錄服務(wù)器中的節(jié)點(diǎn)信息隨機(jī)選擇3個(gè)可用節(jié)點(diǎn)分別作為線路的入口節(jié)點(diǎn)、線路的中繼節(jié)點(diǎn)和線路的出口節(jié)點(diǎn).
② 線路建立階段.請(qǐng)求端與入口節(jié)點(diǎn)建立TLS/LLS類型的TCP鏈接,并通過橢圓曲線密鑰交換協(xié)議交換密鑰;入口節(jié)點(diǎn)與中繼節(jié)點(diǎn)建立TLS/LLS類型的TCP鏈接,請(qǐng)求端通過入口節(jié)點(diǎn)與中繼節(jié)點(diǎn)交換密鑰;最后,中繼節(jié)點(diǎn)與出口節(jié)點(diǎn)建立TLS/LLS類型的TCP鏈接,請(qǐng)求端通過入口節(jié)點(diǎn)和中繼節(jié)點(diǎn)與出口節(jié)點(diǎn)進(jìn)行密鑰交換.線路建立完成之后,請(qǐng)求端便可通過線路傳輸交易信息.
③ 信息傳輸階段.首先,請(qǐng)求端需要對(duì)發(fā)送的信息進(jìn)行3層加密,最內(nèi)層的密文用出口節(jié)點(diǎn)密鑰加密,最外層的密文用入口節(jié)點(diǎn)密鑰加密,中間層的密文用中繼節(jié)點(diǎn)密鑰加密.然后,對(duì)信息進(jìn)行傳輸,確保線路上的每個(gè)節(jié)點(diǎn)只能解開屬于自己密鑰加密的密文.最后,出口節(jié)點(diǎn)解密信息后發(fā)送給響應(yīng)端.如果響應(yīng)端有返回信息,則會(huì)按原路返回.
為了增強(qiáng)區(qū)塊鏈系統(tǒng)的隱私保護(hù),有研究者建議將Tor網(wǎng)絡(luò)集成在區(qū)塊鏈服務(wù)中.以太坊研究會(huì)也提議使用洋蔥路由改進(jìn)輕節(jié)點(diǎn)的資料可得性等.但Tor網(wǎng)絡(luò)也存在一定的安全問題,攻擊者通過監(jiān)控多個(gè)ISP流量可以獲取鏈路的組成,從而找到真正的請(qǐng)求端和響應(yīng)端,無法確保隱私安全;如果目錄服務(wù)器被破壞,洋蔥路由將無法繼續(xù)工作.
4) 第二代洋蔥路由
Dingledine等人[88]提出了異步、松散聯(lián)合、基于電路低延遲匿名通信服務(wù)的第二代洋蔥路由協(xié)議.它提供了擁塞控制服務(wù)、可配置的退出策略、目錄服務(wù)器、前向保密性服務(wù)、位置隱藏服務(wù)、更好地平衡服務(wù)、完整性檢查服務(wù)等,使用增量式或伸縮式路徑構(gòu)建方法,不再使用單一的多重信息加密.第二代洋蔥路由具有良好的可用性.
5) 大蒜路由
為了解決洋蔥路由存在的ISP流量攻擊和目錄服務(wù)器被破壞的問題,F(xiàn)reedman[89]提出大蒜路由,該協(xié)議具有分層加密、捆綁多份信息文件、使用EIGamal/AES加密3個(gè)主要特性.大蒜路由的典型應(yīng)用是隱身互聯(lián)網(wǎng)工程(invisible internet project, I2P),通過KAD算法獲取網(wǎng)絡(luò)節(jié)點(diǎn)信息生成網(wǎng)絡(luò)數(shù)據(jù)庫,由EIGamal/AES發(fā)布網(wǎng)絡(luò)數(shù)據(jù)庫條目,無需目錄服務(wù)器.I2P網(wǎng)絡(luò)使用分層加密實(shí)現(xiàn)隧道構(gòu)建和節(jié)點(diǎn)路由,保證隧道中每一跳節(jié)點(diǎn)只知道自身相鄰節(jié)點(diǎn)的信息.原始信息通過I2P網(wǎng)絡(luò)被拆分為多個(gè)加密數(shù)據(jù)包,數(shù)據(jù)包上傳下載相互獨(dú)立的多條隧道交叉疏散傳輸.通過捆綁多份信息文件確定端到端間信息傳遞是否成功.ISP流量攻擊難以追蹤真實(shí)的發(fā)送端IP和接收端IP,降低了流量分析攻擊成功的可能性.基于大蒜路由的I2P網(wǎng)絡(luò)主要工作流程有2個(gè)步驟.
① 隧道構(gòu)建階段.由于隧道是單向的,因此發(fā)送端和接收端需要分別建立屬于自己的輸入輸出隧道.通信隧道的默認(rèn)長度為3跳,完成一次完整的通信需要4條隧道[90].
② 數(shù)據(jù)加密和傳輸階段.首先待處理的信息由發(fā)送端進(jìn)行3次層疊式加密,將處理得到的密文傳輸?shù)桨l(fā)送端通信輸出隧道的Gateway節(jié)點(diǎn),其次需要在隧道中各個(gè)節(jié)點(diǎn)上依次解密,然后將解密后的結(jié)果轉(zhuǎn)發(fā)到接收端輸入隧道的Gateway節(jié)點(diǎn)[90].由接收端Gateway節(jié)點(diǎn)加密轉(zhuǎn)發(fā)到接收端,最后接收端經(jīng)過解密得到信息.從接收端到發(fā)送端的消息傳輸原理一致.
為保證網(wǎng)絡(luò)層的數(shù)據(jù)隱私安全,研究者提出了區(qū)塊鏈通道機(jī)制實(shí)現(xiàn)賬本數(shù)據(jù)的隔離.非許可鏈中需要實(shí)現(xiàn)鏈下通道隔離,即將區(qū)塊鏈上的交易移至鏈下進(jìn)行.對(duì)于許可鏈來說,通道隔離主要應(yīng)用于聯(lián)盟鏈中,不同聯(lián)盟成員屬于不同通道,通道隔離技術(shù)使數(shù)據(jù)僅對(duì)通道內(nèi)的節(jié)點(diǎn)可見.
3.3.1 鏈下通道隔離
為了減少區(qū)塊鏈上的交易壓力、提高運(yùn)行效率,狀態(tài)通道技術(shù)應(yīng)運(yùn)而生.狀態(tài)通道的核心思想是將區(qū)塊鏈上的一些交易移到鏈下進(jìn)行,經(jīng)典的狀態(tài)通道技術(shù)有閃電網(wǎng)絡(luò)和雷電網(wǎng)絡(luò)2種,目前主要應(yīng)用于資產(chǎn)交易.隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,人們對(duì)隱私的要求不斷提高,研究人員將閃電網(wǎng)絡(luò)和雷電網(wǎng)絡(luò)用于保護(hù)交易過程中用戶的隱私安全.閃電網(wǎng)絡(luò)技術(shù)主要應(yīng)用于比特幣,雷電網(wǎng)絡(luò)技術(shù)主要應(yīng)用于以太坊.
1) 閃電網(wǎng)絡(luò)技術(shù)
傳統(tǒng)比特幣交易需要較高的交易費(fèi)用和較長的交易時(shí)間,不適用于高頻小額支付,且易造成用戶交易信息泄露.為了實(shí)現(xiàn)高頻小額支付、提高用戶交易信息隱私安全性,2015年閃電網(wǎng)絡(luò)的概念由Poon和Dryja[91]首次提出,并在2016年發(fā)表了對(duì)閃電網(wǎng)絡(luò)詳細(xì)描述的論文.
閃電網(wǎng)絡(luò)運(yùn)行在區(qū)塊鏈的鏈下,通過鏈下通道實(shí)現(xiàn)高頻小額支付,交易費(fèi)用低,交易信息不記錄在區(qū)塊鏈上.用戶間使用閃電網(wǎng)絡(luò)進(jìn)行鏈下交易時(shí),首先在區(qū)塊鏈上新建交易,然后打開雙向支付通道,交易雙方記錄通道上的賬本,發(fā)生資產(chǎn)變化時(shí)及時(shí)更新賬本;交易雙方的資產(chǎn)被保存在多重簽名錢包中,多重簽名錢包指多人共同管理同一筆資金的錢包,交易的一組私鑰可以查看交易雙方的資金.當(dāng)交易雙方對(duì)最終交易簽名或者交易到達(dá)了設(shè)置時(shí)間就結(jié)束交易,交易結(jié)束后多重簽名錢包會(huì)將資金返還給交易雙方;根據(jù)交易雙方對(duì)于資產(chǎn)劃分的規(guī)則生成承諾交易并進(jìn)行簽名,通過承諾交易進(jìn)行資產(chǎn)轉(zhuǎn)移,然后更新支付通道賬本中各自的余額信息;鏈下交易結(jié)束后,交易雙方需要用私鑰簽署交易,將雙方余額發(fā)送到區(qū)塊鏈上.此過程屬于單通道支付,交易雙方直接通過通道交易.如果交易雙方A和B不能直接建立支付通道,但存在中間方C,且A和C、B和C之間都存在支付通道,則A和B可以通過C進(jìn)行交易.閃電網(wǎng)絡(luò)通過哈希時(shí)間鎖定合約(hash time lock contract, HTLC)保證了交易的安全性.
閃電網(wǎng)絡(luò)技術(shù)的鏈下交易方案實(shí)現(xiàn)了高頻小額交易.鏈下交易不僅保證了用戶的隱私,而且減少了區(qū)塊鏈的交易壓力,增強(qiáng)了區(qū)塊鏈的可擴(kuò)展性.
2) 雷電網(wǎng)絡(luò)技術(shù)
雷電網(wǎng)絡(luò)主要應(yīng)用于以太坊,其通道技術(shù)以及鏈下交易流程與閃電網(wǎng)絡(luò)類似.雷電網(wǎng)絡(luò)基于智能合約制定了鏈下通道中交易雙方共識(shí)的資產(chǎn)劃分規(guī)則.鏈下交易通道關(guān)閉時(shí),由智能合約對(duì)交易進(jìn)行清算并將交易雙方的余額發(fā)到區(qū)塊鏈上.雷電網(wǎng)絡(luò)以托管形式持有代幣,用于鏈下交易,不需要多重簽名錢包.雷電網(wǎng)絡(luò)在鏈下交易過程中實(shí)現(xiàn)了智能轉(zhuǎn)賬.閃電網(wǎng)絡(luò)中的HTLC可能存在A不想通過C向B轉(zhuǎn)賬的情況,若A想改變路徑與B交易,則需要等待HTLC到期,A不能單方面結(jié)束交易.在這個(gè)時(shí)間間隙,B和C可能會(huì)串通導(dǎo)致A在原來路徑中的資金遭到損失.雷電網(wǎng)絡(luò)利用重試哈希鎖、收據(jù)哈希鎖和時(shí)間鎖構(gòu)成組合鎖,保證在多支付通道中交易雙方的資產(chǎn)不受損失.
雷電網(wǎng)絡(luò)技術(shù)相對(duì)于閃電網(wǎng)絡(luò)技術(shù)來說,通過智能合約為交易雙方制定交易規(guī)則,使用代幣用于鏈下交易,實(shí)現(xiàn)了智能轉(zhuǎn)賬,利用組合鎖保證用戶的資金不受損失,交易的隱私性和安全性得到保證.
3.3.2 多鏈通道隔離
實(shí)際應(yīng)用場(chǎng)景中,存在多個(gè)組織之間用戶進(jìn)行交互的情況,每個(gè)組織內(nèi)部的信息需要通過通道機(jī)制實(shí)現(xiàn)隱私保護(hù).多鏈通道隔離技術(shù)將一個(gè)區(qū)塊鏈系統(tǒng)內(nèi)的節(jié)點(diǎn)劃分到多個(gè)通道,每個(gè)通道內(nèi)維護(hù)1個(gè)子賬本,通道與通道之間相互隔離,通過身份認(rèn)證、訪問控制機(jī)制保護(hù)通道內(nèi)節(jié)點(diǎn)的數(shù)據(jù)隱私.多通道技術(shù)首先要嚴(yán)格進(jìn)行節(jié)點(diǎn)身份管理,對(duì)通道內(nèi)的節(jié)點(diǎn)進(jìn)行授權(quán),節(jié)點(diǎn)加入通道時(shí)進(jìn)行身份認(rèn)證,不同身份的節(jié)點(diǎn)其權(quán)限可能不同.其次,多通道技術(shù)要嚴(yán)格進(jìn)行通道管理,主要體現(xiàn)在通道的建立、運(yùn)行維護(hù)和銷毀等.最后,多通道技術(shù)要嚴(yán)格進(jìn)行事務(wù)管理.
2017年Hyperledger Fabric提出的通道機(jī)制是區(qū)塊鏈中多鏈通道技術(shù)最成熟的應(yīng)用.Fabric的主要應(yīng)用場(chǎng)景是聯(lián)盟鏈,各個(gè)聯(lián)盟內(nèi)部形成一個(gè)通道,通過成員身份管理維護(hù)通道內(nèi)的賬本,F(xiàn)abric網(wǎng)絡(luò)中的通道隔離機(jī)制如圖3所示.假設(shè)一個(gè)Fabric聯(lián)盟網(wǎng)絡(luò)N有4個(gè)組織R1,R2,R3,R4,組織對(duì)應(yīng)的證書頒發(fā)機(jī)構(gòu)為CA1,CA2,CA3,CA4.組織R1與R4根據(jù)網(wǎng)絡(luò)配置文件NC4的內(nèi)容對(duì)聯(lián)盟網(wǎng)絡(luò)N進(jìn)行管理.通道C1,C2的通道配置文件分別是CC1,CC2,通道C1由組織R1與R2管理,通道C2由組織R2與R3管理.建立網(wǎng)絡(luò)時(shí),證書頒發(fā)機(jī)構(gòu)CA4先對(duì)組織R4授權(quán),組織R4的排序節(jié)點(diǎn)O4作為網(wǎng)絡(luò)的初始化管理者,有權(quán)設(shè)置網(wǎng)絡(luò)的初始版本.組織R1與R2、R2與R3需要在網(wǎng)絡(luò)中正常通信.R1,R2,R3的客戶端應(yīng)用A1,A2,A3分別在通道C1,C1與C2,C3中進(jìn)行業(yè)務(wù)交易.節(jié)點(diǎn)P1維護(hù)C1通道內(nèi)的賬本信息,節(jié)點(diǎn)P2同時(shí)維護(hù)C1,C2通道的賬本信息,節(jié)點(diǎn)P3維護(hù)通道C2的賬本信息.如果通道C1,C2之間需要通信,則需要通過節(jié)點(diǎn)P2實(shí)現(xiàn)2個(gè)通道間的交易.
Fig. 3 Fabric muti-channel network[92]圖3 Fabric多通道網(wǎng)絡(luò)[92]
鏈下通道隔離主要應(yīng)用于非許可鏈,多鏈通道隔離主要應(yīng)用于許可鏈.對(duì)于非許可鏈,賬本信息由所有節(jié)點(diǎn)進(jìn)行維護(hù).因此為了保護(hù)節(jié)點(diǎn)的數(shù)據(jù)隱私安全,將節(jié)點(diǎn)之間的交易移至鏈下進(jìn)行.對(duì)于許可鏈,通過節(jié)點(diǎn)間的身份認(rèn)證對(duì)節(jié)點(diǎn)進(jìn)行分類和管理,通過通道技術(shù)保護(hù)各個(gè)通道內(nèi)節(jié)點(diǎn)的隱私安全.
如果區(qū)塊鏈系統(tǒng)允許任意節(jié)點(diǎn)加入,則惡意節(jié)點(diǎn)可能會(huì)加入到區(qū)塊鏈系統(tǒng)中竊取賬本信息和其他節(jié)點(diǎn)的隱私數(shù)據(jù)等,導(dǎo)致區(qū)塊鏈系統(tǒng)的隱私泄露.為了保護(hù)區(qū)塊鏈的數(shù)據(jù)隱私安全,需要對(duì)節(jié)點(diǎn)的接入進(jìn)行身份認(rèn)證,限制惡意節(jié)點(diǎn)和不符合系統(tǒng)要求的節(jié)點(diǎn)接入?yún)^(qū)塊鏈系統(tǒng).另外,用戶身份管理機(jī)制也可以保護(hù)用戶的隱私安全.
3.4.1 限制節(jié)點(diǎn)接入
許可鏈指參與到區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn)都是經(jīng)過許可的,私有鏈和聯(lián)盟鏈都屬于許可鏈.非許可鏈對(duì)加入節(jié)點(diǎn)不設(shè)置限制條件,是完全去中心化的區(qū)塊鏈系統(tǒng).許可鏈和非許可鏈的身份認(rèn)證機(jī)制不同,因此分為非許可鏈節(jié)點(diǎn)身份認(rèn)證和許可鏈節(jié)點(diǎn)身份認(rèn)證2方面介紹.
1) 非許可鏈節(jié)點(diǎn)身份認(rèn)證.對(duì)于非許可鏈來說,節(jié)點(diǎn)接入不需要通過第三方認(rèn)證,因此只能通過P2P網(wǎng)絡(luò)層對(duì)節(jié)點(diǎn)接入進(jìn)行限制.目前主要從節(jié)點(diǎn)行為檢測(cè)和信任關(guān)系建立2方面對(duì)非許可鏈的節(jié)點(diǎn)進(jìn)行身份認(rèn)證[93].研究者提出了多種解決方案來識(shí)別異常節(jié)點(diǎn).2013年,You等人[94]提出通過N-gram算法對(duì)節(jié)點(diǎn)的歷史行為進(jìn)行分析,識(shí)別異常節(jié)點(diǎn)并對(duì)節(jié)點(diǎn)的可用性進(jìn)行評(píng)估.2016年,Epishkina等人[95]通過T模式對(duì)節(jié)點(diǎn)進(jìn)行隱藏事件模式聚類,該模式為了找到隱藏的事件模式,要求對(duì)每個(gè)事件的重復(fù)次數(shù)大于等于2次.2017年,行為模式聚類算法由Huang等人[96]提出,其利用行為模式聚類進(jìn)行惡意節(jié)點(diǎn)檢測(cè),與其他方法相比,該方案可以檢測(cè)出區(qū)塊鏈上較多的惡意節(jié)點(diǎn).楊保華等人[56]利用共識(shí)機(jī)制檢測(cè)并排除惡意節(jié)點(diǎn),該機(jī)制簡單易用,因此被廣泛運(yùn)用于一些開源的區(qū)塊鏈項(xiàng)目.通過識(shí)別并且限制惡意節(jié)點(diǎn)加入?yún)^(qū)塊鏈,在一定程度上保證非許可區(qū)塊鏈中節(jié)點(diǎn)的數(shù)據(jù)隱私安全.
建立信任關(guān)系指想要接入?yún)^(qū)塊鏈系統(tǒng)的節(jié)點(diǎn)與已存在于區(qū)塊鏈系統(tǒng)中的節(jié)點(diǎn)之間構(gòu)建信任關(guān)系,通過節(jié)點(diǎn)之間互相認(rèn)證確保新加入的節(jié)點(diǎn)不是惡意節(jié)點(diǎn).為了抵御Sybil攻擊(Sybil攻擊是指多節(jié)點(diǎn)、多身份的攻擊),2006年,王鵬等人[97]提出了限制節(jié)點(diǎn)加入的認(rèn)證方案,通過提高節(jié)點(diǎn)加入網(wǎng)絡(luò)的代價(jià),從而提高攻擊者進(jìn)行大規(guī)模攻擊的代價(jià).網(wǎng)絡(luò)規(guī)模越大,對(duì)新節(jié)點(diǎn)驗(yàn)證需要的資源越多,操作越困難.2008年,Yu等人[98]提出了SybilGuard協(xié)議,減小了Sybil攻擊的破壞性.SybilGuard協(xié)議建立節(jié)點(diǎn)之間的信任網(wǎng)絡(luò),惡意節(jié)點(diǎn)雖然可以創(chuàng)建很多身份,但是這些節(jié)點(diǎn)間的信任關(guān)系很少.通過隨機(jī)游走將惡意節(jié)點(diǎn)與誠實(shí)節(jié)點(diǎn)進(jìn)行分割,并過濾惡意節(jié)點(diǎn)從而限制惡意節(jié)點(diǎn)創(chuàng)建身份的數(shù)量.2017年,F(xiàn)ang等人[99]利用趨勢(shì)分析和差異判斷識(shí)別節(jié)點(diǎn)信譽(yù)值的差異,設(shè)置信任閾值和累積信譽(yù)度.如果信任度累積達(dá)到了閾值則可以建立信任關(guān)系.與其他方法相比,該方案易于實(shí)現(xiàn).
2) 許可鏈節(jié)點(diǎn)身份認(rèn)證.為了保證許可鏈上節(jié)點(diǎn)的隱私安全,新的節(jié)點(diǎn)加入?yún)^(qū)塊鏈系統(tǒng)時(shí),應(yīng)避免無身份節(jié)點(diǎn)或惡意節(jié)點(diǎn)的加入.因此,需要對(duì)節(jié)點(diǎn)進(jìn)行身份認(rèn)證.許可鏈通過可信第三方簽發(fā)的數(shù)字證書對(duì)節(jié)點(diǎn)進(jìn)行身份認(rèn)證.
Hyperledge Fabric 1.3中提出了Fabric-CA用于對(duì)入網(wǎng)節(jié)點(diǎn)的身份進(jìn)行認(rèn)證[92].節(jié)點(diǎn)加入Fabric網(wǎng)絡(luò)需要先向CA發(fā)起請(qǐng)求,如果節(jié)點(diǎn)符合Fabric鏈的要求,則為節(jié)點(diǎn)頒發(fā)數(shù)字證書,包括發(fā)行擔(dān)保證書和發(fā)行交易證書.最后節(jié)點(diǎn)經(jīng)過身份認(rèn)證接入?yún)^(qū)塊鏈系統(tǒng),避免節(jié)點(diǎn)的數(shù)據(jù)隱私被惡意節(jié)點(diǎn)泄露,保證了區(qū)塊鏈系統(tǒng)的安全.遠(yuǎn)程證明是可信計(jì)算的重要功能[100],但遠(yuǎn)程證明模型是面向中心化網(wǎng)絡(luò)設(shè)計(jì)的.2018年劉明達(dá)等人[101]將區(qū)塊鏈技術(shù)與遠(yuǎn)程證明結(jié)合,提出了基于區(qū)塊鏈的遠(yuǎn)程證明模型(remote attestation model based on blockchain, RABBC).節(jié)點(diǎn)不僅需要擁有可信平臺(tái)模塊(trusted platform module, TPM)標(biāo)識(shí)證明身份,同時(shí)也要證明自身處于可信狀態(tài).該模型底層采用直接匿名證明(direct anonymous attestation, DAA)認(rèn)證協(xié)議實(shí)現(xiàn)了節(jié)點(diǎn)身份認(rèn)證并保證了匿名性.
對(duì)許可鏈和非許可鏈的節(jié)點(diǎn)權(quán)限控制都是為了防止惡意節(jié)點(diǎn)接入?yún)^(qū)塊鏈系統(tǒng),從而避免惡意攻擊和節(jié)點(diǎn)數(shù)據(jù)隱私泄露.為了保護(hù)數(shù)據(jù)隱私安全,非許可鏈節(jié)點(diǎn)權(quán)限控制主要是通過對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)的行為分析預(yù)測(cè)惡意節(jié)點(diǎn),或通過節(jié)點(diǎn)之間的信任關(guān)系辨別出惡意節(jié)點(diǎn);許可鏈節(jié)點(diǎn)權(quán)限控制主要是通過為節(jié)點(diǎn)頒發(fā)數(shù)字證書進(jìn)行身份認(rèn)證.
3.4.2 限制數(shù)據(jù)發(fā)布
為了實(shí)現(xiàn)區(qū)塊鏈上的數(shù)據(jù)隱私保護(hù),可以對(duì)上鏈前的數(shù)據(jù)進(jìn)行篩選過濾.從源頭上限制數(shù)據(jù)的發(fā)布,從而實(shí)現(xiàn)數(shù)據(jù)隱私保護(hù).2020年Yong等人[102]提出了可編輯區(qū)塊鏈框架,在保證區(qū)塊鏈安全可信的前提下實(shí)現(xiàn)鏈上數(shù)據(jù)的可編輯操作.該框架可以對(duì)上鏈前的數(shù)據(jù)進(jìn)行過濾,限制一些數(shù)據(jù)的發(fā)布,從而保證數(shù)據(jù)的隱私安全.
3.4.3 自我主權(quán)身份模型
隱私保護(hù)身份管理(identity management, IdM)模式加強(qiáng)了區(qū)塊鏈的隱私保護(hù),但需要第三方機(jī)構(gòu)集中式對(duì)用戶身份進(jìn)行管理.基于自我主權(quán)身份(self-sovereign identity, SSI)[103]概念的身份管理模式能夠?qū)崿F(xiàn)SSI用戶對(duì)自身所有個(gè)人信息和相關(guān)活動(dòng)數(shù)據(jù)擁有完全的自主權(quán),同時(shí)保證行駛自主權(quán)時(shí)的安全性和效率.SSI指區(qū)塊鏈系統(tǒng)中的用戶在任何時(shí)間、任何地點(diǎn)、任何在線情況下都可以自主的控制個(gè)人隱私數(shù)據(jù).用戶之外的第三方服務(wù)所擁有的的數(shù)據(jù)都不是原始的,保證了用戶的隱私數(shù)據(jù)不被第三方泄露.自我主權(quán)身份模式為用戶提供了匿名機(jī)制,在用戶進(jìn)行交易時(shí)控制他們的隱私數(shù)據(jù),保證隱私安全[104].SSI概念的主要過程和相關(guān)實(shí)體如圖4所示.用戶以自己為中心使用手機(jī)從發(fā)行機(jī)構(gòu)獲取證書、ZK憑證和可驗(yàn)證的聲明,其中用戶的私鑰被保護(hù)在錢包中.發(fā)行人向區(qū)塊鏈發(fā)送用戶的身份哈希、證書哈希和可驗(yàn)證的聲明,然后用戶向區(qū)塊鏈進(jìn)行SSI身份認(rèn)證.為了提高SSI模型的隱私保護(hù)功能,用戶需要向服務(wù)提供者提供零知識(shí)加密證明,服務(wù)提供者在區(qū)塊鏈上對(duì)用戶簽名、身份進(jìn)行檢查.
Fig. 4 Self-sovereign identity management model in blockchain[105]圖4 區(qū)塊鏈自我主權(quán)身份管理模型[105]
密碼學(xué)安全技術(shù)為區(qū)塊鏈技術(shù)的誕生提供了必要的前提,但密碼學(xué)安全技術(shù)可能存在漏洞及未來被破解的可能性,這將對(duì)區(qū)塊鏈系統(tǒng)造成毀滅性打擊.1981年費(fèi)曼提出量子計(jì)算的概念,即利用量子比特可以同時(shí)處于多個(gè)相干疊加態(tài)的特性,通過并行處理來提高計(jì)算的速度[56].在量子計(jì)算條件下,1994年提出的基于量子計(jì)算的Shor算法對(duì)DES等算法具有很大的威脅.若區(qū)塊鏈系統(tǒng)所使用的密碼學(xué)技術(shù)被破解,則建立于被破解密碼學(xué)技術(shù)之上的區(qū)塊鏈系統(tǒng)的安全性和隱私性將受到嚴(yán)峻挑戰(zhàn).因此,如何實(shí)現(xiàn)量子計(jì)算條件下安全可靠的密碼學(xué)安全技術(shù)將直接影響區(qū)塊鏈技術(shù)的未來發(fā)展,必將成為未來區(qū)塊鏈技術(shù)研究的熱點(diǎn).
區(qū)塊鏈技術(shù)要實(shí)現(xiàn)廣領(lǐng)域大規(guī)模應(yīng)用需要成熟的跨鏈技術(shù)作為不同區(qū)塊鏈平臺(tái)之間的橋梁,同時(shí)需要更高效的隱私保護(hù)算法.跨鏈技術(shù)是實(shí)現(xiàn)各個(gè)區(qū)塊鏈之間數(shù)據(jù)交互和價(jià)值傳遞的關(guān)鍵.目前,利用跨鏈原子交換協(xié)議實(shí)現(xiàn)了區(qū)塊鏈之間的資產(chǎn)轉(zhuǎn)移,進(jìn)行跨鏈交易時(shí)任意交易雙方的身份信息及交易內(nèi)容都是公開的,對(duì)于跨鏈交易數(shù)據(jù)隱私保護(hù)問題的解決方案還較為稀缺,仍需要進(jìn)一步研究.區(qū)塊鏈大規(guī)模應(yīng)用場(chǎng)景中,如電子商務(wù)[106]和智慧城市[107]等,不同應(yīng)用對(duì)隱私保護(hù)的要求標(biāo)準(zhǔn)有所不同,具體實(shí)現(xiàn)隱私保護(hù)的技術(shù)也有所區(qū)分,導(dǎo)致了不同區(qū)塊鏈系統(tǒng)隱私保護(hù)技術(shù)的碎片化和多樣化,使得區(qū)塊鏈系統(tǒng)之間彼此很難集成到一起.在實(shí)現(xiàn)區(qū)塊鏈跨鏈隱私保護(hù)方面,W3C正在對(duì)一些涉及隱私保護(hù)模型和技術(shù)相關(guān)的構(gòu)件進(jìn)行標(biāo)準(zhǔn)化,如聲明驗(yàn)證[108]和去中心化身份識(shí)別器[109]等.目前,一些含隱私保護(hù)功能的區(qū)塊鏈系統(tǒng),如Uport[110]和Sovrin[111]正計(jì)劃采用這些標(biāo)準(zhǔn)實(shí)現(xiàn)對(duì)應(yīng)的隱私功能.區(qū)塊鏈行業(yè)應(yīng)盡早對(duì)數(shù)據(jù)隱私保護(hù)問題制定相應(yīng)的標(biāo)準(zhǔn),在隱私保護(hù)基準(zhǔn)的前提下實(shí)現(xiàn)跨鏈連接.標(biāo)準(zhǔn)的制定需要整個(gè)區(qū)塊鏈行業(yè)研究人員的共同參與,并且得到區(qū)塊鏈行業(yè)的廣泛認(rèn)可,如何制定標(biāo)準(zhǔn)、制定什么樣的標(biāo)準(zhǔn)是實(shí)現(xiàn)跨鏈數(shù)據(jù)隱私保護(hù)需要面對(duì)的挑戰(zhàn).
數(shù)字貨幣的匿名性極易成為洗錢組織、毒品交易組織及恐怖組織等不法分子的犯罪工具.針對(duì)反洗錢、反恐怖等社會(huì)安全需求,數(shù)字貨幣的頒發(fā)機(jī)構(gòu)需要與監(jiān)管機(jī)構(gòu)相互協(xié)調(diào),滿足數(shù)字貨幣匿名性的同時(shí),也能滿足執(zhí)法機(jī)構(gòu)對(duì)犯罪分子的追蹤.當(dāng)區(qū)塊鏈技術(shù)與數(shù)字貨幣領(lǐng)域結(jié)合時(shí),相關(guān)的數(shù)據(jù)隱私信息除了貨幣的使用者及政府監(jiān)管部門之外,應(yīng)保證其他人無法獲得貨幣的任何相關(guān)隱私信息如貨幣的歷史擁有者、歷史參與的交易等,確保交易過程的匿名性.如何讓政府監(jiān)管部門理解區(qū)塊鏈技術(shù)并適度監(jiān)管是目前區(qū)塊鏈應(yīng)用面臨的一個(gè)重要挑戰(zhàn).區(qū)塊鏈技術(shù)本身的去中心化特性與匿名性容易將區(qū)塊鏈的應(yīng)用場(chǎng)景導(dǎo)向一些不易監(jiān)管的領(lǐng)域,與此同時(shí),政府部門對(duì)區(qū)塊鏈技術(shù)的監(jiān)管程度也將直接影響區(qū)塊鏈技術(shù)的發(fā)展前景,只有在區(qū)塊鏈技術(shù)與政府監(jiān)管標(biāo)準(zhǔn)之間找到合適的平衡點(diǎn)才能促進(jìn)區(qū)塊鏈應(yīng)用的技術(shù)發(fā)展和實(shí)際落地.例如通用數(shù)據(jù)保護(hù)條例(general data protection regulation, GDPR)[112]等規(guī)定有可能與區(qū)塊鏈技術(shù)存在沖突,區(qū)塊鏈本身的不可篡改性、持久性與該規(guī)定中用戶擁有更改和刪除自身隱私的權(quán)利相沖突.此外,2019年中國國家互聯(lián)網(wǎng)信息辦公室室務(wù)會(huì)議審議通過了《區(qū)塊鏈信息管理服務(wù)規(guī)定》[113],其對(duì)中國區(qū)塊鏈信息服務(wù)提出了一系列標(biāo)準(zhǔn)和規(guī)定,開發(fā)者在區(qū)塊鏈實(shí)際應(yīng)用設(shè)計(jì)和開發(fā)過程中應(yīng)遵循相應(yīng)的規(guī)定.
隨著業(yè)內(nèi)關(guān)于區(qū)塊鏈技術(shù)的認(rèn)知不斷深入以及各場(chǎng)景下區(qū)塊鏈系統(tǒng)落地?cái)?shù)量的逐步增長,數(shù)據(jù)隱私保護(hù)問題將成為專家學(xué)者的重點(diǎn)研究方向.本文結(jié)合區(qū)塊鏈技術(shù)的歷史發(fā)展進(jìn)程,介紹了各發(fā)展階段中的數(shù)據(jù)隱私泄露問題,提出了針對(duì)區(qū)塊鏈技術(shù)的數(shù)據(jù)隱私定義,并根據(jù)區(qū)塊鏈相關(guān)技術(shù)要點(diǎn)詳細(xì)介紹了相應(yīng)隱私泄露問題及數(shù)據(jù)隱私保護(hù)所面臨的挑戰(zhàn).本文從信息混淆機(jī)制、信息加密機(jī)制、權(quán)限限制機(jī)制、通道隔離機(jī)制的角度總結(jié)了相應(yīng)的解決方案,最后根據(jù)區(qū)塊鏈數(shù)據(jù)隱私保護(hù)的研究現(xiàn)狀,對(duì)未來區(qū)塊鏈數(shù)據(jù)隱私保護(hù)的研究方向進(jìn)行了展望.