葉岳洋,張興蘭
Fabric中的匿名身份認(rèn)證技術(shù)研究
葉岳洋,張興蘭
北京工業(yè)大學(xué)信息學(xué)部,北京 100124
解決聯(lián)盟鏈上用戶的隱私問題成為加速區(qū)塊鏈實際應(yīng)用落地的關(guān)鍵。基于聯(lián)盟鏈的典型代表Hyperledger Fabric平臺設(shè)計了一套基于公鑰基礎(chǔ)設(shè)施的匿名身份認(rèn)證方案。通過將私鑰分解為兩部分,由不同的角色使用各自私鑰對匿名證書生成聯(lián)合簽名的方式實現(xiàn)證書生成過程中的權(quán)限分離,并解決匿名證書追蹤過程中的單點攻擊問題。分析表明,改進(jìn)后的方案能夠以更低的計算和存儲開銷,實現(xiàn)比原有方案更高的安全性。
聯(lián)盟鏈;超級賬本;公鑰基礎(chǔ)設(shè)施;匿名身份認(rèn)證;非對稱加密
區(qū)塊鏈作為一種新興存儲技術(shù),以其去中心化和不可篡改等特性而受到很多行業(yè)的廣泛應(yīng)用[1]。但作為一種公共賬本,其存儲在鏈上的數(shù)據(jù)能夠直接被任何在該系統(tǒng)網(wǎng)絡(luò)下的其他節(jié)點所查看,因此帶來了嚴(yán)重的隱私泄露問題。例如,攻擊者可以對區(qū)塊鏈上的公開數(shù)據(jù)進(jìn)行分析,由于鏈上數(shù)據(jù)保存了大量的交易樣本,通過對輸入輸出地址建立映射關(guān)系并結(jié)合交易內(nèi)容不難推斷出交易賬戶背后對應(yīng)的實體身份;還可以追蹤交易數(shù)據(jù)在P2P組網(wǎng)的傳播路徑,分析交易賬戶對應(yīng)的IP地址,從而確定賬戶對應(yīng)的實體身份[2-4]。
相較于公有鏈,聯(lián)盟鏈的特點在于它是由多個機(jī)構(gòu)共同參與管理的區(qū)塊鏈,網(wǎng)絡(luò)節(jié)點的加入需要經(jīng)過組織機(jī)構(gòu)的準(zhǔn)許,每個組織機(jī)構(gòu)管理一個或多個節(jié)點,鏈上的數(shù)據(jù)只允許系統(tǒng)內(nèi)部節(jié)點進(jìn)行讀寫和發(fā)送。這種輕量級、可管理的區(qū)塊鏈能夠更好地落實在實際商業(yè)應(yīng)用場景中,由于其鏈上往往會保存非公開的商業(yè)機(jī)密數(shù)據(jù),數(shù)據(jù)隱私保護(hù)對于聯(lián)盟鏈更為重要。因此,分析并解決區(qū)塊鏈尤其是聯(lián)盟鏈的安全隱私問題是推動區(qū)塊鏈技術(shù)廣泛應(yīng)用于實際業(yè)務(wù)場景的關(guān)鍵。
目前,大部分聯(lián)盟鏈通過公鑰基礎(chǔ)設(shè)施(PKI)體系完成系統(tǒng)內(nèi)部成員身份的互相認(rèn)證。用戶將自己的真實身份與PKI系統(tǒng)內(nèi)的CA(certificate Authority)頒發(fā)的自簽名證書相互綁定,由于系統(tǒng)內(nèi)的所有用戶對CA是信任的,因此數(shù)字證書上用戶的身份信息也是可信的[5-6]。這種認(rèn)證體系的優(yōu)點在于完成驗證只需要驗證證書上保存的CA自簽名的有效性,證書的監(jiān)管也由第三方CA來承擔(dān),無須給系統(tǒng)帶來額外負(fù)擔(dān),但這樣做的缺點也很明顯,用戶在網(wǎng)絡(luò)上的行為都是實名制的,無法匿名化。
為解決這一問題,當(dāng)前應(yīng)用范圍最廣、落地項目最多的聯(lián)盟鏈Fabric 構(gòu)建了身份證書和交易證書這樣的二級證書體系。對于一般可公開的交易,用戶可以直接使用基于傳統(tǒng)PKI的身份認(rèn)證體系,而當(dāng)需要執(zhí)行匿名交易時,用戶可以使用由身份證書派生出的匿名證書實現(xiàn)認(rèn)證節(jié)點的匿名化[7]。并且,在必要時,交易證書頒發(fā)機(jī)構(gòu)和區(qū)塊鏈的監(jiān)管節(jié)點可以對交易去匿名化,降低用戶濫用匿名證書的風(fēng)險,從而實現(xiàn)前臺可匿名、后臺可監(jiān)管的功能[8-9]。但通過分析發(fā)現(xiàn),F(xiàn)abric這種二級證書體系存在一些缺陷。首先,在交易證書的生成方案中使用了大量的HMAC運算,計算量比較大。其次,交易證書結(jié)構(gòu)復(fù)雜,其擴(kuò)展域中保存了大量用于生成交易證書的私鑰的密文,但這在匿名認(rèn)證的過程中是用不到的。最后,在監(jiān)管方面,TCA和監(jiān)管節(jié)點都可以利用自己保存的密鑰揭露交易證書持有者的真實身份,在功能上重疊,沒有實現(xiàn)權(quán)限分離,因此其中一方不誠實或遭受單點攻擊,匿名證書就失去了安全性[10]。針對上述問題,本文在Fabric已構(gòu)建好的二級證書體系的基礎(chǔ)上,通過改進(jìn)交易證書生成算法,降低了證書生成過程中的計算量,優(yōu)化了證書結(jié)構(gòu),實現(xiàn)了權(quán)限分離和解決了單點攻擊問題并增強(qiáng)證書的匿名性,為Fabric提供了更為靈活、高效的匿名身份認(rèn)證方案。
表1 Fabric中的Tcert證書結(jié)構(gòu)
當(dāng)用戶需要申請匿名證書時,首先要向TCA提交申請,TCA接收到用戶提交的申請后,為了生成匿名證書,TCA執(zhí)行生成公鑰、擴(kuò)展域和私鑰3個步驟,分別如圖1~圖3所示。
(1)TCA生成匿名證書公鑰。
①TCA選取隨機(jī)數(shù)種子1計算后續(xù)用于派生的密鑰。
②計算擴(kuò)展密鑰。
圖1 匿名證書公鑰生成步驟
Figure 1 Anonymous certificate public key generation step
圖2 匿名證書擴(kuò)展域生成步驟
Figure 2 Anonymous certificates extend the domain generation step
圖3 匿名證書私鑰生成步驟
Figure 3 Anonymous certificate private key generation step
(2)TCA生成匿名證書擴(kuò)展域。
②加密Index。
(3)用戶生成匿名證書私鑰。
③用戶計算擴(kuò)展密鑰。
④用戶計算擴(kuò)展值。
通過分析上述流程可以發(fā)現(xiàn)原始方案滿足了匿名證書應(yīng)具備的匿名性、無關(guān)聯(lián)性以及可追蹤性,但仍然存在以下幾個問題。
②存儲結(jié)構(gòu)復(fù)雜:匿名證書中存儲了身份證書標(biāo)識的密文以及匿名證書索引的密文,因此證書的數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜。
為了在實現(xiàn)現(xiàn)有方案功能的基礎(chǔ)上,解決2.3節(jié)中提出的問題,本文設(shè)計了一個可以實現(xiàn)權(quán)限分離的匿名證書解決方案。
圖4為改進(jìn)方案匿名證書生成步驟,該方案模型中主要角色為監(jiān)管者、TCA、CA以及用戶。其中TCA和監(jiān)管者均由CA的授權(quán)機(jī)構(gòu)擔(dān)任,CA負(fù)責(zé)為監(jiān)管者和TCA分別頒發(fā)身份證書,且監(jiān)管者、TCA以及CA各自具有獨立數(shù)據(jù)庫以便對匿名證書進(jìn)行追蹤和存儲時所使用加密數(shù)據(jù)。
圖4 改進(jìn)方案匿名證書生成步驟
Figure 4 Anonymous certificate generation steps in improved scheme
匿名證書生成步驟如下。
表2 符號說明
當(dāng)發(fā)現(xiàn)匿名證書被濫用或私鑰泄露時,服務(wù)提供者(SP)可以向TCA提交匿名身份追蹤請求,具體追蹤步驟如下。
由于匿名證書是由用戶的實名證書構(gòu)造得出,因此如果發(fā)現(xiàn)存在匿名證書私鑰泄露、被他人私自使用以及時間過期的情況,則需要撤銷該證書,撤銷的具體步驟如下。
①用戶需要向TCA發(fā)出撤銷匿名證書的請求,并且附帶個人相關(guān)信息。
②利用追蹤功能,提交需要撤銷證書的序列號確定到個人ID。
③ TCA會將用戶的個人ID以及撤銷證書的申請一起發(fā)送給CA。
④ CA會在庫中通過提交的用戶ID,查找出實名證書,并驗證用戶提交的信息,待驗證無誤后準(zhǔn)許證書撤銷請求,同時將實名證書加入CRL撤銷數(shù)據(jù)中,并向TCA回復(fù)應(yīng)答信息。
⑤撤銷匿名證書,TCA會將匿名證書計入CRL撤銷數(shù)據(jù)中,同時將撤銷的結(jié)果回傳給用戶。
本文方案中發(fā)布的匿名證書雖然是由用戶的實名證書派生,但用戶的匿名證書標(biāo)識是通過組合用戶實名公鑰以及隨機(jī)生成的機(jī)密數(shù)并利用哈希運算方法得到的,同時在生成的匿名證書中不會存在用戶的相關(guān)信息數(shù)據(jù),所以匿名證書可以有效保護(hù)用戶的個人信息,實現(xiàn)匿名性。
表3 兩種方案計算復(fù)雜度的對比
通過改進(jìn)前后的對比,能夠清晰地看到改進(jìn)后的方案比原有方案哈希運算次數(shù)減少6次,解密運算次數(shù)減少2次。
圖5 改進(jìn)方案匿名證書結(jié)構(gòu)
Figure 5 Anonymous certificate structure in improved scheme
與原有方案相比,改進(jìn)后的方案在匿名證書的生成過程中實現(xiàn)了TCA對證書內(nèi)容可見,用戶身份不可見。監(jiān)管者對用戶身份可見、對證書內(nèi)容不可見的特性,增強(qiáng)了用戶的匿名性。而且在用戶真實身份追蹤的過程中,需要TCA和監(jiān)管者分別提供各自掌握的關(guān)鍵信息,解決了TCA和監(jiān)管者單方不誠實以及單點攻擊對匿名證書安全性造成的威脅。
本文提出了一種基于Hyperledger Fabric平臺的權(quán)限分離的匿名認(rèn)證體系。與原有方案相比,在安全性上,改進(jìn)后的方案不僅實現(xiàn)了前臺可匿名、后臺可追蹤的功能,還對監(jiān)管者和TCA進(jìn)行了權(quán)限分離,解決了TCA與監(jiān)管者單方不誠信以及單點攻擊等問題。在存儲效率方面,改進(jìn)后的方案在證書結(jié)構(gòu)上無須保存在匿名證書生成階段使用的密文,節(jié)省了系統(tǒng)對于匿名證書的存儲開銷。在證書生成效率方面,改進(jìn)后的方案大幅減少了哈希以及解密的運算次數(shù),節(jié)省了系統(tǒng)的計算開銷。
[1] 工業(yè)和信息化部. 中國區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書[R]. 2016.
The Ministry of Information Industry. White paper on blockchain technology and application development in China[R].2016.
[2] 張奧, 白曉穎. 區(qū)塊鏈隱私保護(hù)研究與實踐綜述[J]. 軟件學(xué)報, 2020, 31(5): 1406-1434.
ZHANG A, BAI X Y. Review of blockchain privacy protection research and practice[J]. Journal of Software, 2020, 31(5): 1406-1434.
[3] 沈鑫, 裴慶祺, 劉雪峰. 區(qū)塊鏈技術(shù)綜述[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2016, 2(11): 11-20.
SHEN X, PEI Q Q, LIU X F. An overview of blockchain technology[J]. Journal of Network and Information Security, 2016, 2(11): 11-20.
[4] 劉九良, 付章杰, 孫星明. 區(qū)塊鏈安全綜述[J]. 南京信息工程大學(xué)學(xué)報(自然科學(xué)版), 2019, 11(5): 513-522.
LIU J L, FU Z J, SUN X M. Blockchain security review [J]. Journal of Nanjing University of Information Science & Technology (Natural Science Edition), 2019, 11(5): 513-522.
[5] 侍偉敏. PKI、IBE關(guān)鍵技術(shù)的研究及應(yīng)用[D]. 北京: 北京郵電大學(xué), 2006.
SHI W M. Research and application of PKI and IBE key technologies[D]. Beijing: Beijing University of Posts and Telecommunications, 2006.
[6] 趙偉, 張問銀, 王九如, 等. 基于區(qū)塊鏈的企業(yè)管理系統(tǒng)框架設(shè)計與分析[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2019, 5(2): 13-22.
ZHAO W, ZHANG W Y, WANG J R, et. Design and analysis of enterprise management system framework based on blockchain. Journal of Network and Information Security, 2019, 5(2): 13-22.
[7] WANG R, HE J, LIU C, et al. A privacy-aware PKI system based on permissioned blockchains[C]//2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS). 2018: 928-931.
[8] Membership service providers (MSP) [EB].
[9] 張青禾. 區(qū)塊鏈中的身份識別和訪問控制技術(shù)研究[D]. 北京: 北京交通大學(xué), 2018.
ZHANG Q H. Research on identity recognition and access control technology in blockchain[D]. Beijing: Beijing Jiaotong University, 2018.
[10] 郭青霄. Fabric中的身份隱私和數(shù)據(jù)隱私保護(hù)技術(shù)研究[D]. 北京: 北京交通大學(xué), 2019.
GUO Q X. Research on identity privacy and data privacy protection technology in Fabric [D]. Beijing: Beijing Jiaotong University, 2019.
[11] Hyperledger fabric documentation, getting started and developer guides[EB].
Research on anonymous identity authentication technology in Fabric
YE Yueyang, ZHANG Xinglan
Faculty of Information Technology, Beijing University of Technology, Beijing 100124
Solving the privacy problem of users in the consortium blockchain becomes the key to accelerate the implementation of the practical application of blockchain. A set of anonymous identity authentication scheme based on PKI is designed based on Hyperledger Fabric platform, a typical representative of the consortium blockchain. By splitting the private keyinto two parts, different roles use each private key to generate the joint signature of the anonymous certificate to achieve the separation of permissions in the process of certificate generation and solve the single point attack problem in the process of anonymous certificate tracking. The analysis shows that the improved scheme can achieve higher security than the original scheme with lower computing and storage overhead.
consortium blockchain, Hyperledger Fabric, PKI, anonymous identity authentication, asymmetric encryption
TP309
A
10.11959/j.issn.2096?109x.2021036
2020?11?26;
2021?01?07
葉岳洋,739541460@qq.com
國家自然科學(xué)基金(61801008)
The National Natural Science Foundation of China(61801008)
葉岳洋, 張興蘭. Fabric中的匿名身份認(rèn)證技術(shù)研究[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2021, 7(3): 134-140.
YE Y Y, ZHANG X L. Research on anonymous identity authentication technology in Fabric[J]. Chinese Journal of Network and Information Security, 2021, 7(3): 134-140.
葉岳洋(1992?),男,北京人,北京工業(yè)大學(xué)碩士生,主要研究方向為區(qū)塊鏈和信息安全。
張興蘭(1970?),女,山西呂梁人,博士,北京工業(yè)大學(xué)教授,主要研究方向為區(qū)塊鏈和經(jīng)典密碼學(xué)。