郭曉涵,姚中原,張勇,郭尚坤,王超,斯雪明
基于改進公證人機制的聯(lián)盟鏈跨鏈隱私保護方案
郭曉涵1,2,3*,姚中原1,2,3,張勇1,2,3,郭尚坤1,2,3,王超1,2,3,斯雪明1,3
(1.中原工學院 前沿信息技術(shù)研究院,鄭州 450007; 2.河南省網(wǎng)絡密碼技術(shù)重點實驗室(信息工程大學),鄭州 450001; 3.河南省區(qū)塊鏈與數(shù)據(jù)共享國際聯(lián)合實驗室(中原工學院),鄭州 450007)( ? 通信作者電子郵箱thebestguoxh@163.com)
聯(lián)盟鏈跨鏈交互既增強了聯(lián)盟鏈應用的功能,又擴展了應用的使用范圍,因此對促進聯(lián)盟鏈應用推廣和產(chǎn)業(yè)發(fā)展意義重大。然而,目前聯(lián)盟鏈跨鏈交互依然存在著用戶身份和資產(chǎn)交易信息隱私泄露的問題,進而阻礙了聯(lián)盟鏈跨鏈交互技術(shù)的廣泛應用。針對以上問題,提出一個基于改進公證人機制的聯(lián)盟鏈資產(chǎn)跨鏈隱私保護方案。首先,在合約層引入哈希鎖定機制來改進傳統(tǒng)的單簽名公證人跨鏈方式,從而降低傳統(tǒng)公證人機制中心化作惡的風險;其次,利用同態(tài)加密的特性在保證交易合法的前提下,實現(xiàn)對交易資產(chǎn)的可用不可見;同時,利用多密鑰生成中心(KGC)模式的標識密碼算法實現(xiàn)在網(wǎng)絡層上的用戶身份隱私保護。理論分析和實驗結(jié)果表明,所提方案對聯(lián)盟鏈跨鏈交互時交易中的用戶身份信息和資產(chǎn)信息具有良好的隱私保護效果,且相較于其他同類方案在簽名和驗證方面的開銷更低。
區(qū)塊鏈;公證人;哈希鎖定;同態(tài)加密;標識密碼;隱私保護
區(qū)塊鏈是一種鏈式數(shù)據(jù)結(jié)構(gòu),它將數(shù)據(jù)以區(qū)塊的形式保存,每個區(qū)塊大小相同,再以時間順序連接形成鏈。區(qū)塊鏈具備去中心化、不可篡改和不可偽造等優(yōu)勢[1],是國內(nèi)外公認的未來金融服務基礎設施[2]。目前,區(qū)塊鏈在金融[3]、醫(yī)療[4]和物流監(jiān)管[5]等方面得到了廣泛的應用。隨著區(qū)塊鏈行業(yè)的不斷發(fā)展,區(qū)塊鏈開始融入更多行業(yè),應用場景日漸豐富,使得不同的聯(lián)盟鏈之間數(shù)據(jù)流通[6]、應用協(xié)同等需求也日益增加,使用區(qū)塊鏈跨鏈技術(shù)[7-9]成為擴展聯(lián)盟鏈應用的功能及其使用范圍的主要途徑。然而,跨鏈的過程中會出現(xiàn)如用戶的身份信息、重要交易數(shù)據(jù)等隱私泄露的問題,攻擊者能夠從用戶的交易記錄中推出用戶賬戶之間的關聯(lián)等一系列信息,這將會給用戶帶來一定的財產(chǎn)損失,嚴重時可能會威脅到用戶的人身安全;而且多種聯(lián)盟鏈系統(tǒng)架構(gòu)及其各自隱私保護方法實現(xiàn)之間的差異性也進一步增加了跨鏈隱私保護這一問題的復雜程度。
作為當前普遍使用的跨鏈技術(shù),公證人機制實現(xiàn)簡單,執(zhí)行效率較高。然而在該機制中,公證人需要獨自承擔所有業(yè)務,包括數(shù)據(jù)的搜集、驗證以及交易的確認,存在過度中心化的風險,極易出現(xiàn)如單點故障、主觀作惡、系統(tǒng)性能受限于中間人能力等一系列問題。一旦公證人遭受攻擊或出現(xiàn)故障變得不可信,公證人手中的用戶信息和交易信息可能泄漏,給用戶帶來無窮的隱患與風險,這也給跨鏈隱私保護帶來新的挑戰(zhàn)。
針對以上問題,本文面向基于賬戶模型的聯(lián)盟鏈,通過引入標識密碼(Identity-Based Cryptography, IBC)和同態(tài)加密技術(shù),結(jié)合公證人機制和哈希鎖定技術(shù)實現(xiàn)跨鏈交易的隱私保護,實現(xiàn)對用戶的身份和交易隱私保護。
本文的主要工作包括:
1)設計了一個跨鏈模型。該模型能夠通過公證人機制實現(xiàn)跨鏈資產(chǎn)交易,同時通過哈希鎖定技術(shù)減少公證人中心化作惡的風險,模型中包含密鑰生成中心(Key Generation Center, KGC)聯(lián)盟、公證人和交易用戶三方實體,其中KGC聯(lián)盟負責聯(lián)盟鏈的維護和節(jié)點的身份審核,公證人負責跨鏈交易。
2)基于上述跨鏈模型提出一種隱私保護方案。通過結(jié)合標識密碼和同態(tài)加密技術(shù),保護用戶交易和身份信息的隱私安全。
3)通過仿真實現(xiàn)所提方案,分析它的安全性,與其他方案模型進行隱私保護能力的對比,并測試它的性能。
根據(jù)祝烈煌等[10]的研究,區(qū)塊鏈的隱私大致可以分為兩類:一類是身份隱私,指用戶身份信息和區(qū)塊鏈賬戶地址之間的關聯(lián);另一類是交易隱私,指存儲在區(qū)塊鏈的交易記錄和相關信息,包括交易金額和交易雙方的信息等。在區(qū)塊鏈系統(tǒng)中,這兩類隱私的泄漏問題一直存在,并且在區(qū)塊鏈跨鏈系統(tǒng)中更加嚴重。
目前針對區(qū)塊鏈的隱私保護[11-13]研究已經(jīng)相對成熟,如Maxwell[14]提出的Coinjoin方案,該方案采用混幣的方式隱藏了輸入輸出地址的映射,保證供給者無法獲取精確信息,保護用戶的隱私。Zerocash[15]為保護交易雙方的賬戶地址和交易金額,引入了非交互式零知識證明,該方法得到了廣泛的認同。Maxwell[16]在同態(tài)加密中加入盲化因子,提出了機密交易技術(shù)。Noether等[17]提出了環(huán)機密交易技術(shù),能夠在隱藏區(qū)塊鏈賬本數(shù)據(jù)中交易金額的同時隱藏交易的輸入輸出地址。楊亞濤等[18]提出了基于身份認證的多KGC群簽名方案,通過改進的SM9標識密碼方案,實現(xiàn)在節(jié)點間驗證身份的同時保護節(jié)點隱私。刁一晴等[19]結(jié)合群簽名中群的概念和聯(lián)盟鏈,加入同態(tài)加密,實現(xiàn)對區(qū)塊鏈交易和身份隱私保護。郭陽楠等[20]通過結(jié)合標識密碼和無證書公鑰密碼體制的優(yōu)點,從網(wǎng)絡層和應用層的雙層簽名認證,保護了交易和身份隱私安全。但這些方案明顯不適用于跨鏈間的隱私泄露問題。
針對跨鏈的隱私保護,戴波等[21]提出一種基于多角色節(jié)點的區(qū)塊鏈跨鏈方案,該方案通過不同角色的權(quán)限控制可以實現(xiàn)節(jié)點間的隱私保護;但是該方案需要兼顧區(qū)塊鏈擴展、跨鏈和監(jiān)管方面的性能,隱私保護方面的功能完全由節(jié)點權(quán)限控制完成,身份隱私保護效果不佳。郭佳程等[22]針對分布式能源調(diào)度等問題,結(jié)合區(qū)塊鏈,通過側(cè)鏈技術(shù)構(gòu)建3層網(wǎng)絡,設計了一種分布式能源共享網(wǎng)絡,提升能源利用率的同時實現(xiàn)隱私保護;但是該方案通過側(cè)鏈將資產(chǎn)與能源儲備信息隔離的方式實現(xiàn)隱私保護的方法并沒有保護用戶的身份隱私。唐榆程[23]設計了滿足隱私保護需求的交易智能合約,結(jié)合相關隱私保護算法實現(xiàn)一個跨鏈平臺,完成了跨鏈數(shù)據(jù)的可控共享,完成對交易賬戶金額的隱私保護;但是該方案沒有做到真正的匿名,沒有實現(xiàn)用戶的身份隱私保護。王宇[24]針對電子健康記錄,提出了一種基于跨區(qū)塊鏈技術(shù)的電子健康記錄隱私保護方案,該方案將電子健康記錄脫敏處理后生成索引上傳至區(qū)塊鏈,通過區(qū)塊鏈實現(xiàn)對電子健康記錄的隱私保護;但是該方案并沒有實現(xiàn)對醫(yī)生身份的隱私保護。
以上方案在區(qū)塊鏈跨鏈隱私保護方面作出了一些成果,但是這些方案大都只做數(shù)據(jù)隱私(交易隱私)保護,忽視了身份隱私的保護,并不是完善的隱私保護方案。
鄭建輝等[25]針對跨鏈操作難的問題提出了一種聯(lián)盟自治的跨鏈機制,通過以鏈治鏈的方法解決不同區(qū)塊鏈之間的數(shù)據(jù)共享、價值流通等問題;然而該方案通過通道隔離和私有數(shù)據(jù)等方法實現(xiàn)的隱私保護雖然實現(xiàn)了身份和交易隱私保護,但是保護性能完全取決于通道,保護效果有限。萬哲驛[26]結(jié)合零證明技術(shù),通過智能合約替代交易雙方的信息交換,改進了現(xiàn)有的原子交換協(xié)議[27-28],保護跨鏈原子交換中雙方的隱私;但是該方案的實現(xiàn)條件比較苛刻,方案實現(xiàn)難度較大。這些方案同時做到身份和交易隱私的保護,但是在實現(xiàn)效果或者實現(xiàn)難度方面略有缺陷。
區(qū)塊鏈[29]是一種將數(shù)據(jù)區(qū)塊按照時間順序以鏈的形式組合而成的數(shù)據(jù)結(jié)構(gòu),結(jié)合了分布式存儲、點對點(Peer-to-Peer, P2P)傳輸、共識機制和智能合約等技術(shù),具有防篡改、可追溯、公開透明等特點。區(qū)塊鏈系統(tǒng)架構(gòu)自下而上依次是數(shù)據(jù)層、網(wǎng)絡層、共識層、激勵層、合約層和應用層,架構(gòu)模型如圖1所示。
圖1 區(qū)塊鏈的架構(gòu)模型
其中,數(shù)據(jù)層包括底層數(shù)據(jù)區(qū)塊、相關的哈希值、隨機數(shù)、交易信息和公私鑰等,是區(qū)塊鏈結(jié)構(gòu)中的最底層數(shù)據(jù)結(jié)構(gòu);網(wǎng)絡層的P2P和數(shù)據(jù)驗證機制等保證了數(shù)據(jù)的傳輸;共識層則主要封裝了區(qū)塊鏈核心技術(shù)中的共識機制。以上3層結(jié)構(gòu)是區(qū)塊鏈底層基礎結(jié)構(gòu)。激勵層主要是經(jīng)濟激勵機制,一般通過挖礦獎勵數(shù)字資產(chǎn)維持區(qū)塊鏈賬本的更新;合約層主要構(gòu)建了區(qū)塊鏈可編程特性的基礎,在合約層運行著眾多腳本和智能合約;應用層則包含了區(qū)塊鏈的應用場景和案例[30]。
區(qū)塊鏈根據(jù)它的開放程度可以分為公有鏈、私有鏈和聯(lián)盟鏈3類。聯(lián)盟鏈具有一定的中心化,且區(qū)塊的產(chǎn)生和交易是可以控制的,具有一定的隱私性。
同態(tài)加密技術(shù)可以對密文進行計算,并且可以保證計算后的結(jié)果經(jīng)過解密與對應明文數(shù)據(jù)進行相同計算得到的結(jié)果相同?;诖颂匦?,同態(tài)加密技術(shù)保證了在處理密文時操作者無法獲知真實的數(shù)據(jù),大幅提高了數(shù)據(jù)安全性。
根據(jù)算法對支持的計算類型的不同,同態(tài)加密可以分為全同態(tài)加密方案和部分同態(tài)加密方案。其中,全同態(tài)加密方案功能強大,支持對密文進行任意形式的計算,即同時滿足密文加法和乘法的混合且不限制次數(shù)的運算;但目前全同態(tài)加密仍處于方案探索發(fā)展階段,現(xiàn)有算法存在著一些問題,如密鑰過大、效率低等。部分同態(tài)加密方案僅支持對密文進行有限的計算,如僅支持加法、僅支持乘法或支持有限次加法和乘法。部分加密方案構(gòu)造簡單、執(zhí)行效率較高,因此常用于特定場景。
目前較為常見的部分同態(tài)加密設計包括RSA、ElGamal和Paillier[31]。其中,RSA與ElGamal支持乘法同態(tài),Paillier算法則具備加法同態(tài)特性。在區(qū)塊鏈的交易中,賬本金額的變化一般僅通過加減完成,因此Paillier算法常用于區(qū)塊鏈中驗證賬本交易金額、賬戶金額和交易后余額的合法性等方面。
1)密鑰生成。
2)數(shù)據(jù)加密。
3)密文解密。
4)密文加法同態(tài)。
當用戶進行跨鏈交易[32-33]時,交易雙方是互不信任且信息不對稱,最簡單的交易方式是引入一方或多方可信實體作信用背書,由可信實體承擔數(shù)據(jù)收集、交易確認和驗證的任務,這樣的跨鏈機制就被稱為公證人機制[34-35]。
公證人機制是目前應用最為廣泛的一種跨鏈機制,并且較易實現(xiàn),其中最大的公證人就是交易所。
公證人機制分為單簽名公證人機制和多簽名公證人機制。單簽名公證人機制運行處理效率較高,但是中心化嚴重,公證人的可信是系統(tǒng)正常運行的基礎,公證人一旦遭受攻擊,系統(tǒng)將非常危險。多簽名公證人機制有多個公證人,在每次交易驗證時從公證人群體中隨機選出一部分公證人,共同完成簽名,而這就需要鏈上支持多重簽名機制。因此本文選擇在單簽名公證人機制上進行改進。
單簽名公證人模式下的以太坊和比特幣(Bitcoin)通過交易所進行資產(chǎn)交換的過程如下:
1)用戶U1發(fā)起一筆交易,交易金額為1個比特幣,輸出地址為交易所賬戶地址;
2)用戶U1向交易所提出用比特幣兌換以太幣(Ether)的請求,兌換比例1∶10;
3)用戶U2向交易所賬戶地址轉(zhuǎn)入10個以太幣;
4)用戶U2向交易所提出用以太幣兌換比特幣的請求,兌換比例10∶1;
5)交易所匹配兌換請求,作為第三方達成交易共識;
6)交易所將相應的比特幣和以太幣分別轉(zhuǎn)入U2和U1的賬戶地址,交易結(jié)束[36]。
通過哈希鎖定完成跨鏈交易的基本流程如圖2所示。
哈希鎖定通過哈希鎖和時間鎖保障了跨鏈交易的原子性,是原子交易的基本框架。但是,哈希鎖定無法完成資產(chǎn)的鏈間轉(zhuǎn)移,只能實現(xiàn)跨鏈的資產(chǎn)兌換,即各鏈資產(chǎn)總量不變,只是將資產(chǎn)轉(zhuǎn)移至對方賬戶下。對于資產(chǎn)轉(zhuǎn)移,還需要配合其他跨鏈技術(shù)方可實現(xiàn)。
圖2 哈希鎖定流程
標識密碼(IBC)由Shamir[36]提出,它最主要的特點是不需要由證書授權(quán)中心(Certificate Authority, CA)生成公私鑰對,公鑰的傳遞也無須使用證書;在IBC中,用戶使用如網(wǎng)際互連協(xié)議(Internet Protocol, IP)地址、手機號和電子郵箱等唯一標識信息作為公鑰,私鑰則由KGC根據(jù)系統(tǒng)主密鑰和用戶標識計算得出。Boneh等[37]和Sakai等[38]都獨立提出使用橢圓曲線配對構(gòu)造標識公鑰密碼。與傳統(tǒng)的公鑰基礎設施(Public Key Infrastructure, PKI)體系相比,除了上述特點外,IBC還有成本低和效率高等優(yōu)點。
SM9標識密碼算法[39]包含總則、數(shù)字簽名算法、密鑰交換協(xié)議、密鑰封裝機制和公鑰加密算法,涉及有限域、橢圓曲線、雙線性對及安全曲線、橢圓曲線上雙線性對的運算等基本知識和技能。本文方案主要使用數(shù)字簽名算法為消息簽名,公鑰加密算法為數(shù)據(jù)加密。
本文方案針對跨鏈資產(chǎn)交易實現(xiàn)身份和交易的隱私保護,在網(wǎng)絡層通過KGC聯(lián)盟模式下的標識密碼,完成對用戶真實信息和鏈上賬戶的分離,實現(xiàn)用戶身份隱私的保護;在合約層以公證人技術(shù)為跨鏈基礎,通過使用哈希鎖定機制完成交易,降低公證人機制中心化的作惡風險的同時,為了確??珂溋鬓D(zhuǎn)時的隱私,使用同態(tài)加密技術(shù)保護哈希鎖定交易,由于Paillier同態(tài)加密的加同態(tài)特性,保證加密后的交易可驗證。以此為核心,設計了如圖3所示的架構(gòu)模型。
圖3 本文方案的系統(tǒng)架構(gòu)模型
在本文構(gòu)建的方案中,兩條區(qū)塊鏈的基本架構(gòu)一致,都采用基本的區(qū)塊鏈六層架構(gòu),且合約層都支持哈希鎖定機制。由KGC聯(lián)盟負責兩條鏈區(qū)塊的生成、維護和加入?yún)^(qū)塊鏈的用戶審核和后續(xù)的用戶地址及私鑰分配。普通交易節(jié)點一般情況下是兩個賬戶屬于不同的用戶,本文為了方便展示及簡化流程,設定本文中的交易需求用戶同時擁有兩條鏈上的賬戶。
本文方案基于聯(lián)盟鏈[40]設計,節(jié)點主要由KGC節(jié)點、公證人節(jié)點和普通節(jié)點構(gòu)成,如圖4所示。
1)KGC節(jié)點。聯(lián)盟鏈的管理者。主要負責維護區(qū)塊鏈參數(shù)和歷史數(shù)據(jù)和密鑰的生成和發(fā)放,根據(jù)用戶身份標識號(Identity Document, ID)及其身份信息為加入?yún)^(qū)塊鏈的節(jié)點分配地址及對應密鑰。
2)公證人節(jié)點。公證人節(jié)點加入?yún)^(qū)塊鏈時需要經(jīng)過KGC聯(lián)盟的認證,檢查它是否具有公證人資質(zhì)后根據(jù)它的ID為它分配交易地址和私鑰。主要負責與普通節(jié)點進行交易,收到普通節(jié)點的交易請求后發(fā)起哈希鎖定合約并驗證普通節(jié)點的合約是否正確。
3)普通節(jié)點。參與交易的普通用戶。交易過程中需要向公證人節(jié)點發(fā)起交易請求,并驗證公證人發(fā)起的哈希鎖定合約以完成交易。普通節(jié)點加入?yún)^(qū)塊鏈時需要向KGC聯(lián)盟提供它的ID等身份信息[41],KGC聯(lián)盟驗證身份信息后為使用哈希函數(shù)為它生成交易地址,再根據(jù)SM9標識密碼算法生成對應私鑰,地址作為公鑰使用。身份信息只有KGC聯(lián)盟知道,其余用戶無法查看,在網(wǎng)絡層面隱藏身份信息和交易地址的聯(lián)系。
圖4 本文方案的節(jié)點構(gòu)成
本文借鑒基于SM9的可證明安全的隱私保護方案[17],該方案通過多KGC群簽名機制隱藏了交易雙方的身份信息。在本文方案中,同樣使用多KGC的模式,采用多KGC的模式可以降低單一KGC被攻擊后中心化的風險,通過KGC聯(lián)盟使用哈希函數(shù)為用戶ID等身份信息生成鏈上賬戶地址,再根據(jù)主私鑰和鏈上賬戶地址生成與賬戶地址配套的私鑰,實現(xiàn)用戶ID與賬戶的分離,保護用戶隱私。私鑰生成過程如圖5所示。
圖5 KGC聯(lián)盟分配賬戶地址和私鑰
用戶私鑰生成過程如下:
本文方案基于原始的單簽公證人機制,在公證人接收驗證消息的過程中引入哈希時間鎖定機制,使得公證人想要完成某筆跨鏈交易時,需要先將交易中需要交易的資產(chǎn)鎖定在目標鏈上,待與公證人交易的用戶對鎖定的資產(chǎn)金額驗證成功后,公證人才能從原鏈上的哈希鎖定交易中拿到自己應得的那份資產(chǎn)。通過這樣的機制,降低單簽公證人的中心化的風險。
如圖6所示,具體的公證人哈希鎖定機制如下。
2)用戶驗證鏈A的哈希鎖定交易金額,若驗證通過,則繼續(xù)執(zhí)行下一步;若驗證未通過,則交易結(jié)束。
4)公證人驗證鏈B的哈希鎖定交易金額,若驗證通過,則繼續(xù)執(zhí)行下一步;若驗證未通過,則交易結(jié)束。
圖6 基于哈希鎖定的公證人機制
與原有公證人機制相比,本文方案通過結(jié)合哈希鎖定機制完成交易,需要公證人事先在兩條鏈上都有賬戶,并且賬戶中需要有一定的資金,而不是單純地匹配兩條鏈上的交易促使交易的完成。本文方案的公證人需要切實地參與交易,成為交易方,并且按照規(guī)則需要先支付一定的資金將交易鎖定,可以有效地降低公證人中心化的風險。
本文面向聯(lián)盟鏈跨鏈交易,通過哈希鎖定機制限制公證人的行動,降低中心化的風險,再加上同態(tài)加密和KGC聯(lián)盟下的標識密碼,實現(xiàn)對用戶的隱私保護。方案流程如圖7所示,大致可分為以下3個過程。
1)信息生成階段。生成交易階段需要的信息,包括KGC聯(lián)盟需要的主密鑰、系統(tǒng)參數(shù)、用戶的賬戶地址和私鑰等。
2)交易階段。這是交易的主體階段,在此階段完成整個交易,包括用戶和公證人的信息交換和合約交易等。
3)驗證階段。驗證交易階段的一些數(shù)據(jù),保證交易的正常進行。
圖7 本文方案的具體流程
本文方案中算法使用的函數(shù)符號含義如表1所示。
表1 函數(shù)符號及其含義
在本文方案中需要使用的密鑰如下。
在交易階段,需求用戶需要和公證人產(chǎn)生信息交流,該部分信息包括兩個部分:第一部分是交易需求部分,用戶和公證人之間需要點對點的網(wǎng)絡層交流,因此對這部分信息使用標識密碼加密,保護用戶的隱私;第二部分是交易階段的金額等信息,體現(xiàn)在哈希鎖定交易中,由于這部分信息在驗證過程中需要使用,所以需要對這部分信息使用同態(tài)加密保護,同時便于后續(xù)驗證。
算法1 消息傳遞Transmit。
算法2 哈希傳遞HTransmit。
交易流程如圖8所示。
在整個交易階段,一共需要如下驗證。
1)驗證簽名。收到信息的用戶先使用本人加解密私鑰對消息解密,之后對消息簽名驗證,驗證通過后方可進行下一步操作。
簽名驗證算法Verify_sign(以公證人驗證用戶消息為例)。
算法3 簽名驗證算法Verify_sign。
輸出 消息驗證結(jié)果。
2)驗證交易正確性。對與用戶相關的哈希鎖定交易,用戶需要獲取其中的使用同態(tài)加密之后的交易金額,與自己的賬戶余額做相關運算,檢驗該交易是否正確。驗證通過則表明該交易是正確的,符合自己預期的交易,之后進行下一步操作。
交易正確性驗證算法Verify_trx(以需求用戶驗證鏈B哈希交易為例)。
算法4 交易正確性驗證算法Verify_trx。
輸出 判斷結(jié)果。
在整個交易階段,用戶與公證人之間的交流信息分為以下兩個方面:
一是在鏈上網(wǎng)絡層傳遞的非交易信息,用于傳遞用戶的交易意愿或者與哈希鎖定交易相關的重要信息。由于區(qū)塊鏈鏈上賬本公開透明的特性,所有的鏈上消息都可能被攻擊者獲取,為了防止被攻擊者獲取與用戶相關的信息,本文方案使用標識密碼加密這些消息,保護用戶的身份隱私。
本文方案在網(wǎng)絡層采用多KGC的SM9標識密碼算法,通過多個KGC節(jié)點共同生成維護整個區(qū)塊鏈,區(qū)塊鏈中的用戶也都由KGC聯(lián)盟審核后方可加入?yún)^(qū)塊鏈,根據(jù)標識密碼的特性及性質(zhì),對用戶在網(wǎng)絡層的身份信息通過KGC聯(lián)盟使用哈希函數(shù)轉(zhuǎn)換為鏈上賬戶地址,實現(xiàn)用戶的身份信息和鏈上賬號的不可逆轉(zhuǎn)換,從而保護用戶的身份隱私;在合約層使用改進后的公證人機制,通過引入哈希鎖定交易,使用Paillier同態(tài)加密對交易金額進行加密,從而保護用戶的交易隱私。
攻擊者類型1 普通攻擊者通過偽裝成被攻擊者(需求用戶)U獲取信息或私鑰。
對于攻擊類型1的普通攻擊者,根據(jù)本文模型,攻擊者能夠偽裝成需求用戶只需要攻擊者能夠使用需求用戶對應的私鑰簽名信息即可,即攻擊者能夠計算出用戶私鑰,而用戶的私鑰由KGC聯(lián)盟使用標識密碼主密鑰對計算得出,即攻擊者要在多項式時間內(nèi)求解橢圓曲線上的離散對數(shù)問題。顯然離散對數(shù)問題是困難問題,故本文方案被普通攻擊者獲取信息或者私鑰的概率可以忽略不計。
對本文方案,單一的惡意節(jié)點無法獲取攻擊者私鑰,而能夠獲取用戶私鑰的情況需要攻擊者掌握超過一半的KGC節(jié)點,代價較高且該問題存在于所有同結(jié)構(gòu)的去中心化機構(gòu)中;由于本文方案采用哈希鎖定進行交易,惡意節(jié)點需要自己先付出代價鎖定部分代幣,風險較高,一旦進入哈希交易步驟,便無法作惡。因此本文方案可以抵抗惡意KGC的攻擊。
本文方案中使用的標識密碼由KGC聯(lián)盟生成,可以很好地避免中心化CA機構(gòu)遭到攻擊或者信息泄露而帶來的安全隱患。若存在攻擊者想要獲取用戶的身份信息,則存在如下博弈。
類型Ⅰ博弈 此類攻擊者為區(qū)塊鏈上某個普通節(jié)點。試圖通過鏈上公開的賬戶地址獲取用戶的真實ID或它的關聯(lián)信息。
由于網(wǎng)絡層使用的賬戶地址是由KGC聯(lián)盟根據(jù)用戶的ID等身份信息使用哈希生成的,所以如果該攻擊者想要獲取用戶的身份信息就必須攻擊KGC聯(lián)盟,直至攻擊者擁有超過一半的節(jié)點;或者通過賬戶地址逆推出它的身份信息,則KGC聯(lián)盟使用的哈希函數(shù)將不具備單向性,與哈希函數(shù)的定義不符。因此,在此類博弈中,攻擊者優(yōu)勢極小,即本文方案能夠保護此類博弈下的用戶身份隱私。
類型Ⅱ博弈 此類攻擊者為KGC聯(lián)盟中某個惡意節(jié)點。
由于本文方案使用的KGC聯(lián)盟具有去中心化的特性,此類攻擊者在掌握單一節(jié)點的情況下無法獲取用戶身份信息,而能夠獲取用戶身份信息則需要掌握超過一半的KGC節(jié)點,需要消耗巨大的代價,并且此類問題存在于同結(jié)構(gòu)的所有去中心化機構(gòu)中。因此,在此類博弈中,攻擊者優(yōu)勢極小,換言之,本文方案能夠保護此類博弈下的用戶身份隱私。
從表2可以看出,在開銷方面,與其他對比方案相比,本文方案的簽名開銷要低于文獻[20]方案,而驗證開銷低于文獻[19]方案,略高于文獻[18,20]方案的模型。相較于文獻[18,20]方案,本文方案增加了加密,開銷稍高,并且相較于文獻[18]方案,本文方案能夠做到交易隱私的保護。
綜上所述,本文方案通過使用同態(tài)加密和標識密碼在公證人哈希鎖定機制中實現(xiàn)了跨鏈交易的隱私保護,并且根據(jù)Paillier同態(tài)加密的加同態(tài)特性,可以實現(xiàn)交易的正確性驗證;在保證交易的安全性的同時,又在一定程度上保證了效率,滿足區(qū)塊鏈跨鏈交易時的隱私保護需求。
表2 本文方案與同類隱私保護方案在效率和隱私保護上的對比
本文的仿真實驗環(huán)境為Intel Core i7-5500U CPU @ 2.40 GHz處理器,8 GB內(nèi)存的Windows10系統(tǒng),主機系統(tǒng)下的IntelliJ IDEA 做鏈下Paillier同態(tài)加密及解密,區(qū)塊鏈搭建在Ubuntu on Windows中的Ubuntu 20.04.4 LTS,配置和主機一致,搭建的區(qū)塊鏈為Fisco Bcos單群組四節(jié)點聯(lián)盟鏈,版本2.8.0,兩條區(qū)塊鏈同樣的配置,在區(qū)塊鏈上通過智能合約進行同態(tài)運算驗證交易金額的正確性。
本次實驗測試用戶ID為201508020116,通過KGC聯(lián)盟驗證后為它分配鏈上地址和對應私鑰,如表3所示。
表3 賬戶信息
本文方案的模型包括SM9的加密(SM9_Encrypt)、解密(SM9_Decrypt)、簽名(SM9_Sign)、驗簽(SM9_Verify)和Paillier同態(tài)加密的加密(Paillier_Encrypt)和解密(Paillier_Decrypt)。經(jīng)過對各算法的多次測試,測試結(jié)果和平均消耗時間如圖9~10、表4所示。
表4 各算法平均耗時 單位:ms
圖9 同態(tài)加解密耗時
從表4可知,SM9部分算法占據(jù)大部分的時間,與SM9部分算法相比,同態(tài)加密的耗時較短,即在本文方案中交易的正確性驗證可以很流暢地進行,但是在用戶和公證人做驗證和加解密信息的過程將占據(jù)交易的大部分時間。
圖10 SM9算法耗時
本次實驗還驗證了交易的正確性,同態(tài)加密交易金額和用戶當前賬戶余額,并且將加密后的金額在智能合約中運行,結(jié)果圖11所示。
鏈上調(diào)用智能合約計算同態(tài)加密后結(jié)果與鏈下計算結(jié)果對比如圖12所示。
圖11 同態(tài)加密結(jié)果
圖12 鏈上鏈下結(jié)果對比
對比結(jié)果顯示結(jié)果一致,表明哈希鎖定交易中確為目標金額,交易的正確性得到驗證,表明本文方案確實可以保證交易的正確性。同時因為該消息是使用Paillier同態(tài)加密算法加密的,消息的隱私性得到算法的保護,即保護了用戶的交易隱私。
本文提出一種基于哈希鎖定的公證人機制跨鏈資產(chǎn)交換隱私保護方案。方案改進了公證人機制,通過結(jié)合哈希鎖定機制加大公證人中心化作業(yè)的難度,降低隱私泄露的風險。在網(wǎng)絡層中通過哈希函數(shù)切斷用戶身份與區(qū)塊鏈的聯(lián)系,保護用戶的身份隱私;在合約層交易時實現(xiàn)交易信息的加密可驗證,保護用戶交易隱私。實驗結(jié)果表明,本文方案在兼顧身份隱私保護和交易隱私保護的同時并沒有損失太多的效率,并且在保護隱私的同時能夠保證交易的正確性,在跨鏈隱私保護方面具有一定優(yōu)勢;但是具有一定的限制,未來的工作將會在本文方案的基礎上進一步研究減少限制。
[1] 邵奇峰,金澈清,張召,等. 區(qū)塊鏈技術(shù):架構(gòu)及進展[J]. 計算機學報, 2018, 41(5): 969-988.(SHAO Q F, JIN C Q, ZHANG Z, et al. Blockchain: architecture and research progress[J]. Chinese Journal of Computers, 2018, 41(5): 969-988.)
[2] 黃征,李祥學,來學嘉,等. 區(qū)塊鏈技術(shù)及其應用[J]. 信息安全研究, 2017, 3(3):237-245.(HUANG Z, LI X X, LAI X J, et al. Blockchain technology and its application[J]. Journal of Information Security Research, 2017, 3(3):237-245.)
[3] TRELEAVEN P, GENDAL BROWN R, YANG D. Blockchain technology in finance[J]. Computer, 2017, 50(9):14-17.
[4] SHAHNAZ A, QAMAR U, KHALID A. Using blockchain for electronic health records[J]. IEEE Access, 2019, 7:147782-147795.
[5] PAL A, KANT K. Using blockchain for provenance and traceability in internet of things-integrated food logistics[J]. Computer, 2019, 52(12): 94-98.
[6] 張志威,王國仁,徐建良,等. 區(qū)塊鏈的數(shù)據(jù)管理技術(shù)綜述[J]. 軟件學報, 2020, 31(9):2903-2925.(ZHANG Z W, WANG G R, XU J L, et al. Survey on data management in blockchain systems[J]. Journal of Software, 2020, 31(9):2903-2925.)
[7] 何帥,黃襄念,陳曉亮. 區(qū)塊鏈跨鏈技術(shù)發(fā)展及應用研究綜述[J]. 西華大學學報(自然科學版), 2021, 40(3):1-14.(HE S, HUANG X N, CHEN X L. The research summary of the development and application of blockchain cross-chain technology[J]. Journal of Xihua University (Natural Science Edition), 2021, 40(3):1-14.)
[8] 李芳,李卓然,趙赫. 區(qū)塊鏈跨鏈技術(shù)進展研究[J]. 軟件學報, 2019, 30(6):1649-1660.(LI F, LI Z R, ZHAO H. Research on the progress in cross-chain technology of blockchains[J]. Journal of Software, 2019, 30(6):1649-1660.)
[9] ROBINSON P. Survey of crosschain communications protocols[J]. Computer Networks, 2021, 200: No.108488.
[10] 祝烈煌,高峰,沈蒙,等. 區(qū)塊鏈隱私保護研究綜述[J]. 計算機研究與發(fā)展, 2017, 54(10):2170-2186.(ZHU L H, GAO F, SHEN M, et al. Survey on privacy preserving techniques for blockchain technology[J]. Journal of Computer Research and Development, 2017, 54(10): 2170-2186.)
[11] 王晨旭,程加成,桑新欣,等. 區(qū)塊鏈數(shù)據(jù)隱私保護:研究現(xiàn)狀與展望[J]. 計算機研究與發(fā)展, 2021, 58(10):2099-2119.(WANG C X, CHENG J C, SANG X X, et al. Data privacy-preserving for blockchain: state of the art and trends[J]. Journal of Computer Research and Development, 2021, 58(10):2099-2119.)
[12] 張奧,白曉穎. 區(qū)塊鏈隱私保護研究與實踐綜述[J]. 軟件學報, 2020, 31(5):1406-1434.(ZHANG A, BAI X Y. Survey of research and practices on blockchain privacy protection[J]. Journal of Software, 2020, 31(5):1406-1434.)
[13] 劉彥松,夏琦,李柱,等. 基于區(qū)塊鏈的鏈上數(shù)據(jù)安全共享體系研究[J]. 大數(shù)據(jù), 2020, 6(5):92-105.(LIU Y S, XIA Q, LI Z, et al. Research on secure data sharing system based on blockchain[J]. Big Data Research, 2020, 6(5):92-105.)
[14] MAXWELL G. CoinJoin: Bitcoin privacy for the real world[EB/OL]. (2013-08-22) [2022-05-03].https://bitcointalk.org/?topic=279249.
[15] BEN SASSON E, CHIESA A, GARMAN C, et al. Zerocash: decentralized anonymous payments from Bitcoin[C]// Proceedings of the 2014 IEEE Symposium on Security and Privacy. Piscataway: IEEE, 2014:459-474.
[16] MAXWELL G. Confidential transactions[EB/OL]. [2022-09-15].https://elementsproject.org/features/confidential-transactions.
[17] NOETHER S, MACKENZIE A, Monero Research Lab. Ring confidential transactions[J]. Ledger, 2016, 1:1-18.
[18] 楊亞濤,蔡居良,張筱薇,等. 基于SM9算法可證明安全的區(qū)塊鏈隱私保護方案[J]. 軟件學報, 2019, 30(6):1692-1704.(YANG Y T, CAI J L, ZHANG X W, et al. Privacy preserving scheme in block chain with provably secure based on SM9 algorithm[J]. Journal of Software, 2019, 30(6): 1692-1704.)
[19] 刁一晴,葉阿勇,張嬌美,等. 基于群簽名和同態(tài)加密的聯(lián)盟鏈雙重隱私保護方法[J]. 計算機研究與發(fā)展, 2022, 59(1):172-181.(DIAO Y Q, YE A Y, ZHANG J M, et al. A dual privacy protection method based on group signature and homomorphic encryption for alliance blockchain[J]. Journal of Computer Research and Development, 2022, 59(1):172-181.)
[20] 郭陽楠,蔣文保,葉帥. 可監(jiān)管的區(qū)塊鏈匿名交易系統(tǒng)模型[J]. 計算機應用, 2022, 42(9):2757-2764.(GUO Y N, JIANG W B, YE S. Supervisable blockchain anonymous transaction system model[J]. Journal of Computer Applications, 2022, 42(9):2757-2764.)
[21] 戴波,賴旬陽,胡凱,等. 基于多角色節(jié)點的區(qū)塊鏈可擴展方案研究與設計[J]. 浙江工業(yè)大學學報, 2021, 49(5):487-493.(DAI B, LAI X Y, HU K, et al. Research and design of scalable blockchain scheme based on multi-role nodes[J]. Journal of Zhejiang University of Technology, 2021, 49(5):487-493.)
[22] 郭佳程,寧德軍,李泱丞,等. 基于區(qū)塊鏈的可信分布式能源共享網(wǎng)絡研究[J]. 計算機工程, 2021, 47(3):17-28.(GUO J C, NING D J, LI Y C, et al. Research on trusted distributed energy sharing network based on blockchain[J]. Computer Engineering, 2021, 47(3):17-28.)
[23] 唐榆程. 基于區(qū)塊鏈的隱私保護技術(shù)的研究與應用[D]. 成都:電子科技大學, 2021:15-41.(TANG Y C. Research and application of privacy protection technology based on blockchain[D]. Chengdu: University of Electronic Science and Technology of China, 2021:15-41.)
[24] 王宇. 基于跨區(qū)塊鏈的電子健康記錄隱私保護方案研究[D]. 成都:西華大學, 2021:15-40.(WANG Y. Research on privacy-preserving scheme of electronic health records based on cross-blockchain[D]. Chengdu: Xihua University, 2021:15-40.)
[25] 鄭建輝,林飛龍,陳中育,等. 基于聯(lián)盟自治的區(qū)塊鏈跨鏈機制[J]. 計算機應用, 2022, 42(11):3444-3457.(ZHENG J H, LIN F L, CHEN Z Y, et al. Federated-autonomy-based cross-chain scheme for blockchain[J]. Journal of Computer Applications, 2022, 42(11):3444-3457.)
[26] 萬哲驛. 基于零知識證明的區(qū)塊鏈數(shù)據(jù)隱私保護方法研究[D]. 重慶:重慶郵電大學, 2020:17-41.(WAN Z Y. Research on blockchain data privacy protection method based on zero knowledge proof[D]. Chongqing: Chongqing University of Posts and Telecommunications, 2020:17-41.)
[27] IMOTO S, SUDO Y, KAKUGAWA H, et al. Atomic cross-chain swaps with improved space and local time complexity[C]// Proceedings of the 2019 International Symposium on Stabilization, Safety, and Security of Distributed Systems, LNCS 11914. Cham: Springer, 2019:194-208.
[28] HERLIHY M. Atomic cross-chain swaps[C]// Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing. New York: ACM, 2018:245-254.
[29] 蔡曉晴,鄧堯,張亮,等. 區(qū)塊鏈原理及其核心技術(shù)[J]. 計算機學報, 2021, 44(1):84-131.(CAI X Q, DENG Y, ZHANG L, et al. The principle and core technology of blockchain[J]. Chinese Journal of Computers, 2021, 44(1):84-131.)
[30] 袁勇,王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 自動化學報, 2016, 42(4):481-494.(YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4):481-494.)
[31] PAILLIER P. Public-key cryptosystems based on composite degree residuosity classes[C]// Proceedings of the 1999 International Conference on the Theory and Applications of Cryptographic Techniques, LNCS 1592. Berlin: Springer, 1999: 223-238.
[32] HERLIHY M, LISKOV B, SHRIRA L. Cross-chain deals and adversarial commerce[J]. The VLDB Journal, 2022, 31(6):1291-1039.
[33] ROBINSON P, RAMESH R, JOHNSON S. Atomic cross-chain transactions for Ethereum private sidechains[J]. Blockchain: Research and Applications, 2022, 3(1):100030.
[34] 郭朝,郭帥印,張勝利,等. 區(qū)塊鏈跨鏈技術(shù)分析[J]. 物聯(lián)網(wǎng)學報, 2020, 4(2):35-48.(GUO Z, GUO S Y, ZHANG S L, et al. Analysis of cross-chain technology of blockchain[J]. Chinese Journal on Internet of Things, 2020, 4(2):35-48.)
[35] 路愛同,趙闊,楊晶瑩,等. 區(qū)塊鏈跨鏈技術(shù)研究[J]. 信息網(wǎng)絡安全, 2019(8):83-90.(LU A T, ZHAO K, YANG J Y, et al. Research on cross-chain technology of blockchain[J]. Netinfo Security, 2019(8):83-90.)
[36] SHAMIR A. Identity-based cryptosystems and signature schemes[C]// Proceedings of the 1984 Workshop on the Theory and Application of Cryptographic Techniques, LNCS 196. Berlin: Springer, 1985:47-53.
[37] BONEH D, FRANKLIN M. Identity-based encryption from the Weil pairing[C]// Proceedings of the 2001 Annual International Cryptology Conference LNCS 2139. Berlin: Springer, 2001:213-229.
[38] SAKAI R. Cryptosystems based on pairing[C]// Proceedings of the 2000 Symposium on Cryptography and Information Security. Okinawa, Japan: [S.n.], 2000:26-28.
[39] 袁峰,程朝輝. SM9標識密碼算法綜述[J]. 信息安全研究, 2016, 2(11):1008-1027.(YUAN F, CHENG Z H. Overview on SM9 identity-based cryptographic algorithm[J]. Journal of Information Security Research, 2016, 2(11):1008-1027.)
[40] WANG Q, WANG S, ZHANG P, et al. An achieving data exchange cross-chain alliance protocol[J]. Journal of Physics: Conference Series, 2019, 1213(4): No.042037.
[41] WANG H, CEN Y, LI X. Blockchain router: a cross-chain communication protocol[C]// Proceedings of the 6th International Conference on Informatics, Environment, Energy and Applications. New York: ACM, 2017:94-97.
Cross-chain privacy protection scheme of consortium blockchain based on improved notary mechanism
GUO Xiaohan1,2,3*,YAO Zhongyuan1,2,3,ZHANG Yong1,2,3,GUO Shangkun1,2,3,WANG Chao1,2,3,SI Xueming1,3
(1,,450007,;2(),450001,;3(),450007,)
Cross-chain interaction of consortium blockchain not only enhances the function of the application of consortium blockchain, but also expands the scope of usage of the application, so that it is of great significance to the application promotion and industrial development of consortium blockchain. However, the cross-chain interaction of consortium blockchain still has the privacy disclosure problems of user identity and asset transaction information at present, which has become a major factor hindering the wide application of the cross-chain interaction technology of consortium blockchain. In view of the above problems, a cross-chain privacy protection scheme for consortium blockchain assets based on improved notary mechanism was proposed. In the scheme, a hash locking mechanism was introduced at the contract layer to improve the traditional single-signature notary cross-chain method at first, so as to reduce the risk of the traditional notary mechanism centralizing and doing evil. Then, the characteristics of homomorphic encryption were used to realize the usability and invisibility of transaction assets under the premise of ensuring the legitimacy of transactions. At the same time, the identity-based cryptographic algorithm of multi-Key Generation Center (KGC) mode was used to protect the user identity privacy at the network layer. The theoretical analysis and experimental results show that the proposed scheme has a good privacy protection effect on the user identity information and asset information in the cross-chain interaction of consortium blockchain, and this scheme has lower overhead in signature and verification than other similar schemes.
blockchain; notary; hash locking; homomorphic encryption; Identity-Based Cryptography (IBC); privacy protection
1001-9081(2023)10-3028-10
10.11772/j.issn.1001-9081.2022111641
2022?11?02;
2022?12?02;
河南省重大公益專項(201300210300);河南省網(wǎng)絡密碼技術(shù)重點實驗室研究課題(LNCT2021?A14);河南省科技攻關項目(222102210168)。
郭曉涵(1996—),男,河南鄭州人,碩士研究生,CCF會員,主要研究方向:區(qū)塊鏈; 姚中原(1988—),男,河南固始人,講師,博士,CCF會員,主要研究方向:密碼學、區(qū)塊鏈; 張勇(1995—),男,四川內(nèi)江人,碩士研究生,CCF會員,主要研究方向:區(qū)塊鏈; 郭尚坤(1998—),男,山東菏澤人,碩士研究生,CCF會員,主要研究方向:區(qū)塊鏈; 王超(1998—),男,河南林州人,碩士研究生,CCF會員,主要研究方向:區(qū)塊鏈; 斯雪明(1966—),男,浙江諸暨人,教授,CCF會員,主要研究方向:區(qū)塊鏈、網(wǎng)絡安全。
TP309; TP311.13
A
2022?12?13。
This work is partially supported by Major Public Welfare Project of Henan Province (201300210300), Research Project of Henan Key Laboratory of Network Cryptography Technology (LNCT2021-A14), Key Science and Technology Project of Henan Province (222102210168).
GUO Xiaohan, born in 1996, M. S. candidate. His research interests include blockchain.
YAO Zhongyuan, born in 1988, Ph. D., lecturer. His research interests include cryptology, blockchain.
ZHANG Yong, born in 1995, M. S. candidate. His research interests include blockchain.
GUO Shangkun, born in 1998, M. S. candidate. His research interests include blockchain.
WANG Chao, born in 1998, M. S. candidate. His research interests include blockchain.
SI Xueming, born in 1966, professor. His research interests include blockchain, cybersecurity.