玄佳興,石 欣,王合建,李國民
(1. 國網(wǎng)雄安金融科技集團(tuán)有限公司,北京 100053;2. 國網(wǎng)數(shù)字科技控股有限公司,北京 100053;3. 國網(wǎng)區(qū)塊鏈科技(北京)有限公司,北京 100053;4. 國家電網(wǎng)公司區(qū)塊鏈技術(shù)實驗室,北京 100053)
近年來,區(qū)塊鏈[1]技術(shù)受到廣泛關(guān)注、廣泛應(yīng)用,其原因在于其具有透明性、不可篡改性、分布式等特性。區(qū)塊鏈透明性受到極大關(guān)注,任意用戶能夠在區(qū)塊鏈上進(jìn)行相對平等的交易,而不會因為買賣雙方信息不對稱導(dǎo)致巨大的經(jīng)濟(jì)損失[2]。當(dāng)前,以比特幣和以太坊[3]為代表的區(qū)塊鏈系統(tǒng)在金融領(lǐng)域是最成功的落地應(yīng)用。在金融交易系統(tǒng)中,交易額隱私保護(hù)至關(guān)重要。隱藏交易額,對普通用戶而言,是基本的交易需求[4]。如果用戶的交易額被黑客盜取,則用戶的財產(chǎn)安全、甚至生命安全會收到巨大的威脅;對公司而言,如果公司的交易額被對手獲取,則不利于公司的發(fā)展,對手能夠在公司最艱難的時候公布公司的資產(chǎn),導(dǎo)致公司快速破產(chǎn);對國家而言,如果國家的經(jīng)濟(jì)能力被敵對國獲取,則國家可能受到金融危機(jī),甚至直接遭受軍事打擊。因此,個人,集體,國家等均需要交易額隱私保護(hù)[5]。
但是,僅有隱私保護(hù)不利于國家的經(jīng)濟(jì)發(fā)展。較好的隱私保護(hù)為非法融資、非法交易等創(chuàng)造了生存空間。因此,需要在保護(hù)隱私的前提下,實現(xiàn)嚴(yán)格監(jiān)管。在區(qū)塊鏈交易系統(tǒng)中,如果發(fā)生非法交易行為,則交易記錄永久記錄且不可更改,則國家能夠發(fā)現(xiàn)非法交易行為并進(jìn)行對應(yīng)的懲罰,有效降低非法交易行為。在嚴(yán)格監(jiān)管下,國家能夠快速發(fā)現(xiàn)非法金融行為。因此,區(qū)塊鏈交易系統(tǒng)嚴(yán)格監(jiān)管功能至關(guān)重要。
在公有鏈系統(tǒng)中,實現(xiàn)較好的隱私保護(hù)是非常合理的,但是在聯(lián)盟鏈交易系統(tǒng)中,不能缺乏監(jiān)管。區(qū)塊鏈監(jiān)管分為宏觀層面監(jiān)管和技術(shù)層面監(jiān)管。在宏觀層面,2015年英國提出金融管理局沙盒機(jī)制。“監(jiān)管沙盒”是指在規(guī)定的空間內(nèi),金融科技企業(yè)可以測試其創(chuàng)新的金融產(chǎn)品、服務(wù)、商業(yè)模式和營銷方式等等,在測試的過程中,給予企業(yè)一定的空間和自由度,遇到問題時不會立即受到監(jiān)管規(guī)則的約束。2017年7月25日,美國證券交易委員會在其發(fā)布的一份調(diào)查報告中認(rèn)為ICO(首次數(shù)字貨幣公開眾籌)可能適用于該國證券法律監(jiān)管范圍。宏觀層面監(jiān)管只能在宏觀層面對區(qū)塊鏈公司的主要行為進(jìn)行約束,而無法對區(qū)塊鏈公司或區(qū)塊鏈系統(tǒng)中的用戶進(jìn)行準(zhǔn)確約束。需要從技術(shù)層面對區(qū)塊鏈公司和用戶進(jìn)行監(jiān)管。
目前,從技術(shù)上對區(qū)塊鏈進(jìn)行監(jiān)管,主要有以下4中方法:區(qū)塊鏈交易溯源機(jī)制[6]、區(qū)塊鏈地址聚類機(jī)制[7]、區(qū)塊鏈證書管理機(jī)制[8]和基于陷門技術(shù)進(jìn)行監(jiān)管。1)區(qū)塊鏈交易溯源機(jī)制是在網(wǎng)絡(luò)層部署探針節(jié)點,通過探針節(jié)點來搜集區(qū)塊鏈網(wǎng)絡(luò)層中的傳輸信息,分析判斷交易的傳播路徑,從而推測出交易的始發(fā)節(jié)點,實現(xiàn)身份監(jiān)管。該監(jiān)管技術(shù)是從網(wǎng)絡(luò)層面進(jìn)行的。2)區(qū)塊鏈地址聚類機(jī)制是分析區(qū)塊鏈交易數(shù)據(jù)特征,獲得不同地址之間的關(guān)聯(lián)關(guān)系,通過發(fā)現(xiàn)聚類集合中一個地址的身份信息,推測出隸屬于同一交易者的不同交易地址。該監(jiān)管方式是在數(shù)據(jù)層進(jìn)行的。3)區(qū)塊鏈證書管理機(jī)制是在區(qū)塊鏈的運(yùn)行機(jī)制中加入可信的證書管理機(jī)構(gòu),則監(jiān)管方能夠根據(jù)證書中的信息對用戶進(jìn)行監(jiān)管。該監(jiān)管方式是在算法層實現(xiàn)的。4)基于陷門技術(shù)進(jìn)行監(jiān)管,如:可追蹤的環(huán)簽名[9]即實現(xiàn)簽名方隱藏,又實現(xiàn)監(jiān)管方可追蹤;該監(jiān)管方式是在密碼算法層實現(xiàn)的。對區(qū)塊鏈公司和用戶,需要實現(xiàn)細(xì)粒度監(jiān)管,從密碼算法層面進(jìn)行是最可靠的。
因此,針對金融系統(tǒng)需要同時實現(xiàn)隱私保護(hù)與監(jiān)管需求,本文創(chuàng)新性地設(shè)計出同態(tài)加密方案以同時實現(xiàn)這兩項關(guān)鍵功能。
比特幣[1]是一種分布式記賬電子貨幣系統(tǒng),而不需要任意可信第三方。比特幣通過共識機(jī)制,即工作量證明機(jī)制,吸引用戶參與維護(hù)比特幣系統(tǒng),通過橢圓曲線數(shù)字簽名算法和哈希函數(shù)實現(xiàn)交易功能。由于比特幣使用明文進(jìn)行交易,泄露了用戶的交易額隱私信息,使得黑客能夠進(jìn)行統(tǒng)計分析攻擊。為解決用戶隱私問題,2014年Bonneau 等提出混幣機(jī)制[10],用于解決用戶隱私保護(hù)?;鞄艡C(jī)制需要可信第三方將多個用戶的輸入與多個用戶的輸出進(jìn)行混合,實現(xiàn)用戶交易隱私。因此,混幣機(jī)制的安全性完全取決于第三方的行為是否可信,而不是取決于技術(shù)特征。隨后,Maxwell提出的 Coinjoin 混幣技術(shù)[11],以去中心化的方式實現(xiàn)多個用戶的輸入與輸出混合,但是該技術(shù)要求各參與方進(jìn)行交互。這增大了用戶信息泄露的概率,且各個用戶互不信任,交互難度極大。
門羅幣[12]和零幣[13]的出現(xiàn),是目前隱私保護(hù)的最高水平。門羅幣實現(xiàn)環(huán)簽名算法保護(hù)交易發(fā)起方身份隱私,使用同態(tài)加密方案保護(hù)交易金額,使用一次性地址技術(shù)保護(hù)接收方的身份。門羅幣中交易發(fā)起方使用環(huán)簽名實現(xiàn)隱私保護(hù)是自主的,而不依賴于任意管理員,且每筆交易具有不可鏈接性和不可追蹤性。同態(tài)加密使得共識節(jié)點能夠驗證交易額的輸入輸出正確性,卻不知道其它任意信息,而一次性地址技術(shù)是每個地址首次出現(xiàn),僅接收方能夠計算對應(yīng)的私鑰,實現(xiàn)對一筆費(fèi)用的花費(fèi)。零幣將交易雙方身份和交易金額加密,使用零知識簡潔非交互證明zk-SNARKs,證明交易雙方身份和交易額是合法的。
因此,現(xiàn)有方案僅通過交易溯源機(jī)制、地址聚類機(jī)制、證書管理機(jī)制和陷門機(jī)制實現(xiàn)監(jiān)管功能;通過混幣機(jī)制、環(huán)簽名技術(shù)、零知識證明技術(shù)實現(xiàn)金融隱私保護(hù)功能。但是,缺乏同時實現(xiàn)隱私保護(hù)與監(jiān)管功能的金融系統(tǒng),而同時實現(xiàn)隱私保護(hù)與監(jiān)管在金融系統(tǒng)中是至關(guān)重要的。因此,本文提出聯(lián)盟鏈金融隱私保護(hù)與監(jiān)管系統(tǒng)以解決該問題。
聯(lián)盟鏈金融隱私保護(hù)與監(jiān)管系統(tǒng)模型能夠?qū)崿F(xiàn)金融隱私保護(hù)與兩個監(jiān)管方獨(dú)立監(jiān)管的功能。如圖1所示,系統(tǒng)包含5種參與方,分別為交易發(fā)起方、接收方、共識節(jié)點、兩個獨(dú)立的監(jiān)管方。該系統(tǒng)包含以下9個步驟:1)初始化,建立聯(lián)盟鏈系統(tǒng)所需公共參數(shù);2)交易發(fā)起方、接收方和兩個監(jiān)管方根據(jù)系統(tǒng)公共參數(shù)生成各自的私鑰和公鑰;3)交易發(fā)起方分別對支付金額和找零金額進(jìn)行同態(tài)加密,并采用非交互式零知識證明協(xié)議[14]證明密態(tài)金額的輸入之和等于輸出之和、采用Bulletproofs范圍證明協(xié)議[15]證明支付金額和找零金額均大于零,從而實現(xiàn)交易金額隱私保護(hù)。4)交易發(fā)起方采用SM2簽名算法進(jìn)行交易簽名并提交到聯(lián)盟鏈交易系統(tǒng)中;5)共識節(jié)點驗證用戶SM2簽名的一致性、驗證密態(tài)金額的一致性和支付金額與找零金額Bulletproofs范圍證明的正確性;如果均正確,則接受并存儲到聯(lián)盟鏈系統(tǒng)中,否則拒絕;6)接收方從聯(lián)盟鏈讀取交易單數(shù)據(jù)并解密收款金額同態(tài)密文,獲得收款金額明文并實現(xiàn)收款金額統(tǒng)計。7)交易發(fā)起方從聯(lián)盟鏈讀取交易單數(shù)據(jù)并解密支付金額同態(tài)密文,獲得支付金額明文并實現(xiàn)支付金額統(tǒng)計。8)和9)兩個監(jiān)管方均能夠獨(dú)立解密聯(lián)盟鏈所有密態(tài)金額,實現(xiàn)交易金額的獨(dú)立統(tǒng)計與監(jiān)管,實現(xiàn)對國家經(jīng)濟(jì)活力的準(zhǔn)確掌控,且對洗錢等非法行為進(jìn)行嚴(yán)格打擊。
該系統(tǒng)創(chuàng)新點與難點在于第3步需要構(gòu)造特殊的同態(tài)加密方案,實現(xiàn)金融隱私保護(hù)的功能,且使得第6/7/8/9步中的接收方、發(fā)送方和兩個監(jiān)管方均能夠獨(dú)立解密,實現(xiàn)獨(dú)立的支付/接收金額統(tǒng)計和金融監(jiān)管的功能。
圖1 聯(lián)盟鏈金融隱私保護(hù)與監(jiān)管系統(tǒng)
本節(jié)提出的具體構(gòu)造方案基于文獻(xiàn)[16]提出的雙接收方公鑰加密方案和SM2橢圓曲線數(shù)字簽名[17]。基于聯(lián)盟鏈的金融隱私保護(hù)與監(jiān)管方案具體構(gòu)造包括以下9個算法:
初始化Init:橢圓曲線基域為Fq,橢圓曲線方程為y2=x3+ax+b。橢圓曲線上群G的生成元為P,其階為大素數(shù)n,其中n>2191;e為對稱雙線性映射e:G×G→GT;哈希函數(shù)H:{0,1}*→Zn,則系統(tǒng)公共參數(shù)為SP
SP=(a,b,e,G,GT,P,n,H)
(1)
密鑰生成KeyGen:交易發(fā)起方輸入系統(tǒng)公共參數(shù)SP,選擇隨機(jī)數(shù)x1∈Zn,如下計算
X1←x1P∈G
(2)
則交易發(fā)起方的私鑰和公鑰為(x1,X1);類似地,接收方的私鑰和公鑰為(x2,X2),監(jiān)管方1的私鑰和公鑰為(x3,X3),監(jiān)管方2的私鑰和公鑰為(x4,X4)。
金額同態(tài)加密HEnc:交易發(fā)起方選擇隨機(jī)數(shù)r1∈Zn,輸入交易發(fā)起方私鑰x1、支付金額v1、交易接收方公鑰X2和兩個監(jiān)管方的公鑰X3,X4,如下計算支付金額同態(tài)密文C1
C1=(U1,U2,U3)
(3)
類似地,交易發(fā)起方選擇隨機(jī)數(shù)r2∈Zn,輸入交易發(fā)起方私鑰x1、找零金額v2、交易發(fā)起方公鑰X1和兩個監(jiān)管方的公鑰X3,X4,如下計算找零金額同態(tài)密文C2
C2=(V1,V2,V3)
(4)
注意:支付金額同態(tài)密文C1生成過程中嵌入了接收方公鑰X2,但是找零金同態(tài)額密文C2生成過程中嵌入的是交易發(fā)起方公鑰X1(因為找零金額同態(tài)密文C2的接收方就是交易發(fā)起方本人)。
類似地,交易發(fā)起方從聯(lián)盟鏈讀取需要花費(fèi)的金額同態(tài)密文C0,有以下表達(dá)式
C0=(W1,W2,W3)
(5)
其中,x0對應(yīng)上一交易單的發(fā)起方私鑰,而X1對應(yīng)上一交易單的接收方公鑰。
交易發(fā)起方生成零知識證據(jù)π1表明其知道密態(tài)金額的輸入之和等于輸出之和v0=v1+v2。具體而言,交易發(fā)起方采用零知識證明協(xié)議證明其知道H(r0,x0·X1)-H(r1,x1·X2)-H(r2,x1·X1),即滿足以下離散對數(shù)關(guān)系
W3/(U3·V3)
=e(X3,X4)(H(r0,x0·X1)-H(r1,x1·X2)-H(r2,x1·X1))
(6)
該離散對數(shù)等式中,交易發(fā)起方無法知道上一交易單中交易發(fā)起方的私鑰x0,但是,上述等式等價于以下等式
W3/(U3·V3)
=e(X3,X4)(H(r0,x1·X0)-H(r1,x1·X2)-H(r2,x1·X1))
(7)
因此,交易發(fā)起方能夠輸入其私鑰x1和公鑰X1、上一交易單中交易發(fā)起方的公鑰X0、接收方的公鑰X2、U1,V1,W1,輸出零知識證據(jù)。具體而言,交易發(fā)起方可用非交互式Sigma協(xié)議進(jìn)行證明。
此外,交易發(fā)起方還需采用Bulletproofs范圍證明協(xié)議π2證明密態(tài)支付金額v1和密態(tài)找零金額v2均大于零v1≥0,v2≥0,即支付金額和找零金額范圍均屬于[0,264-1]范圍。
簽名算法Sig:交易發(fā)起方選擇隨機(jī)數(shù)k←Zn,輸入私鑰x1、需要花費(fèi)的金額同態(tài)密文C0及其對應(yīng)公鑰PK1、支付金額同態(tài)密文C1及其對應(yīng)公鑰PK2、找零金額同態(tài)密文C2及其對應(yīng)公鑰PK1,如下計算
(a1,b1)←kP∈G,
σ1←a1+SM3(m)modn,
σ2←(1+x1)-1·(k-σ1x1)modn
(8)
其中,m=(C0,PK1)‖(C1,PK2)‖(C2,PK1)。
如果σ1=0或σ2=0,則重新選擇隨機(jī)數(shù)k并重新計算σ1,σ2,否則簽名為σ=(σ1,σ2)。交易發(fā)起方將消息簽名對(m,σ)提交到聯(lián)盟鏈系統(tǒng)中。
驗證算法Verify:共識節(jié)點檢查σ1,σ2是否屬于[1,n-1];如果否,則拒絕,否則以σ1、σ2和公鑰X1為輸入,如下計算
(a1,b1)←σ2P+(σ1+σ2)X1
(9)
如果σ1=a1+SM3(m)modn,無雙重花費(fèi),且密態(tài)金額的輸入之和等于輸出之和的零知識證據(jù)π1以及Bulletproofs范圍證明證據(jù)π2均驗證成功,則接受并存儲到聯(lián)盟鏈,否則拒絕。
接收方收款金額解密Dec1:接收方根據(jù)對應(yīng)公鑰PK2,從聯(lián)盟鏈系統(tǒng)讀取密態(tài)交易金額C1,采用解密算法Dec1,輸入系統(tǒng)公共參數(shù)SP、其私鑰x2、交易發(fā)起方的公鑰X1、兩個監(jiān)管方的公鑰X3,X4和支付金額同態(tài)密文C1,如下計算
e(P,P)v1←U3/e(X3,X4)H(U1,x2·X1)
(10)
交易發(fā)起方和接收方通常會事先或事后協(xié)商交易金額v1′,則接收方驗證協(xié)商金額v1′是否與收款金額v1一致
e(P,P)v1=e(P,P)v1′
(11)
如果一致,則接受,否則拒絕。如果交易發(fā)起方和接收方?jīng)]協(xié)商過交易金額v1′,交易金額范圍較小,則接收方能夠采用查找法快速查找出金額v1′使得等式e(P,P)v1=e(P,P)v1′成立,從而實現(xiàn)收款。
因此,接收方能夠解密所有收款金額,實現(xiàn)對收款金額的統(tǒng)計,并用于規(guī)劃下一階段的收款。
類似地,對于找零金額v2,交易發(fā)起方就是接收方,采用解密算法Dec1,輸入系統(tǒng)公共參數(shù)SP、其私鑰x1、交易發(fā)起方公鑰X1、兩個監(jiān)管方的公鑰X3,X4和找零金額同態(tài)密文C2,如下計算
e(P,P)v2←V3/e(X3,X4)H(V1,x1·X1)
(12)
交易發(fā)起方知道找零金額v2′,則直接驗證找零金額解密等式e(P,P)v2=e(P,P)v2′的正確性。
因此,交易發(fā)起方能夠解密所有找零金額,實現(xiàn)對找零金額的統(tǒng)計,并用于下一輪的支付。
交易發(fā)起方支付金額解密Dec2:交易發(fā)起方根據(jù)對應(yīng)公鑰X2,從聯(lián)盟鏈系統(tǒng)讀取交易數(shù)據(jù)C1,采用解密算法Dec2,輸入系統(tǒng)公共參數(shù)SP、私鑰x1、接收方的公鑰X2、兩個監(jiān)管方的公鑰X3,X4和支付金額同態(tài)密文C1,如下計算明文支付金額v1
(13)
交易發(fā)起方知道支付金額v1′,則直接驗證支付金額解密等式e(P,P)v1=e(P,P)v1′的正確性。
因此,交易發(fā)起方能夠解密所有的支付金額,查看所有支付金額記錄,實現(xiàn)對支付金額的統(tǒng)計,并用于規(guī)劃下一階段的支付。
類似地,交易發(fā)起方根據(jù)對應(yīng)公鑰X1,從聯(lián)盟鏈系統(tǒng)讀取交易數(shù)據(jù)C2,采用解密算法Dec2,輸入系統(tǒng)公共參數(shù)SP、私鑰x1、交易發(fā)起方的公鑰X1、兩個監(jiān)管方的公鑰X3,X4和找零金額同態(tài)密文C2,如下計算明文找零金額v2
e(P,P)v2←V3/e(X3,X4)H(V1,x1·X1)
(14)
因此,交易發(fā)起方能夠解密所有的找零金額,查看所有找零金額,并用于規(guī)劃下一階段的支付。
監(jiān)管方1解密Dec3:采用解密算法Dec3,輸入系統(tǒng)公共參數(shù)SP、私鑰x3、監(jiān)管方2的公鑰X4和支付金額同態(tài)密文C1,如下計算明文金額v1
e(P,P)v1←U3/e(U2,X4)x3
(15)
采用查找法快速查找出金額v1′使得等式e(P,P)v1=e(P,P)v1′成立,實現(xiàn)交易金額v1的嚴(yán)格監(jiān)管。
類似地,采用解密算法Dec3,輸入系統(tǒng)公共參數(shù)SP、私鑰x3、監(jiān)管方2的公鑰X4和支付金額同態(tài)密文C2,如下計算明文金額v2
e(P,P)v2←V3/e(V2,X4)x3
(16)
采用查找法快速查找出找零金額v2′使得等式e(P,P)v2=e(P,P)v2′成立,實現(xiàn)找零金額v2的嚴(yán)格監(jiān)管。因此,監(jiān)管方1能夠?qū)崿F(xiàn)對所有交易金額的解密,準(zhǔn)確掌握國家經(jīng)濟(jì)活力并嚴(yán)格打擊非法金融行為。
監(jiān)管方2解密Dec4:采用解密算法Dec4,輸入系統(tǒng)公共參數(shù)SP、私鑰x4、監(jiān)管方1的公鑰X3和支付金額同態(tài)密文C1,如下計算明文金額v1
e(P,P)v1←U3/e(U2,X3)x4
(17)
采用查找法快速查找出金額v1′使得等式e(P,P)v1=e(P,P)v1′成立,實現(xiàn)交易金額v1的嚴(yán)格監(jiān)管。
類似地,采用解密算法Dec4,輸入系統(tǒng)公共參數(shù)SP、私鑰x4、監(jiān)管方1的公鑰X3和支付金額同態(tài)密文C2,如下計算明文金額v2
e(P,P)v2←V3/e(V2,X3)x4
(18)
采用查找法快速查找出找零金額v2′使得等式e(P,P)v2=e(P,P)v2′成立,實現(xiàn)找零金額v2的嚴(yán)格監(jiān)管。因此,監(jiān)管方2能夠?qū)崿F(xiàn)對所有交易金額的解密,準(zhǔn)確掌握國家經(jīng)濟(jì)活力并嚴(yán)格打擊非法金融行為。
隱私保護(hù):采用同態(tài)加密對交易金額進(jìn)行加密,并使用零知識證明協(xié)議證明密態(tài)情況下需要支付的金額等于支付給接收方的金額和找零金額之和,使用Bulletproofs范圍證明協(xié)議證明涉及的所有金額均大于零。因此,共識節(jié)點能夠驗證支付金額的正確性,但是不知道具體的明文金額,從而實現(xiàn)金融隱私保護(hù)。
接收方可解密性:接收方能夠解密收款金額,則能夠定期統(tǒng)計所有的收款金額,并用于規(guī)劃金融事務(wù)。
發(fā)送方可解密性:交易發(fā)起方能夠解密所有支付金額,則能夠定期統(tǒng)計所有的支付金額,并用于規(guī)劃金融事務(wù)。
監(jiān)管方1和2可解密性:兩個監(jiān)管方能夠獨(dú)立解密用戶之間的交易,能夠獨(dú)立準(zhǔn)確掌控國家經(jīng)濟(jì)活力,并發(fā)現(xiàn)非法金融行為。該過程實現(xiàn)了分權(quán)監(jiān)管,能夠進(jìn)一步防止腐敗行為。因此,本方案的監(jiān)管能夠具有較大的實用性。
將本系統(tǒng)中的加密方案與文獻(xiàn)[16]中的方案進(jìn)行對比。文獻(xiàn)[16]中的兩個接收方對應(yīng)與本文同態(tài)加密方案中的兩個監(jiān)管方;此外,本文同態(tài)加密方案中,發(fā)送方和接收方均能夠獨(dú)立解密密文。因此,本文方案相比文獻(xiàn)[16]中的方案具有更大的應(yīng)用范圍。本文方案與文獻(xiàn)[16]加密方案私鑰和公鑰長度相等。令κ為私鑰或隨機(jī)數(shù)的長度,|G|為群G的元素長度,|GT|為雙線性群GT的元素長度,e為群G上指數(shù)計算復(fù)雜度,eT為雙線性群GT上的指數(shù)計算復(fù)雜度,哈希函數(shù)H的計算復(fù)雜度可忽略,群G和雙線性群GT的內(nèi)部橢圓曲線點計算復(fù)雜度可忽略。文獻(xiàn)[16]的構(gòu)造方案中,從密文中刪除接收方1的公鑰u=yP,則與本文的構(gòu)造方案具有對應(yīng)關(guān)系。
如表1所示,本系統(tǒng)中的加密方案比文獻(xiàn)[16]的加密方案多了一個接收方。此外,發(fā)送方可解密是本加密方案的一大亮點:發(fā)送方解密密文,則能夠用于定期統(tǒng)計所有的支付金額,并用于規(guī)劃金融活動,具有較好的應(yīng)用前景。
表1 算法對比
表2 算法測試(單位:毫秒ms)
對本文方案進(jìn)行實驗測試。實驗設(shè)備信息:內(nèi)核x86_64操作系統(tǒng)Linux 4.17.6-1-ARCH,運(yùn)算芯片Intel i5-8550U 1.60GHz,內(nèi)存8GB。實驗選擇SM3作為哈希函數(shù)的具體實現(xiàn),加密算法采用SM9算法推薦的橢圓曲線,橢圓曲線群的階為191bit。如圖表1所示,橫向表示運(yùn)行時間(單位毫秒),縱向表示關(guān)鍵算法。
本方案加密部分比文獻(xiàn)[16]加密時間長0.32ms,主要原因是金額在雙線性群上進(jìn)行計算e(P,P)v。該計算完全取決于金額的取值。如果金額較大,則雙線性群上的計算較慢。如果金額較小,則計算較快。因為文獻(xiàn)[16]的方案沒有實現(xiàn)同態(tài)加密,所以計算速度較快。同樣原因,由于本加密方案實現(xiàn)了同態(tài)加密功能,所以監(jiān)管方1和監(jiān)管方2的解密時間僅比文獻(xiàn)[16]慢0.32ms和0.33ms。
本文提出一種聯(lián)盟鏈金融隱私保護(hù)與監(jiān)管系統(tǒng),使用同態(tài)加密實現(xiàn)交易額隱私保護(hù)與監(jiān)管。方案中的交易發(fā)起方、接收方、監(jiān)管方1和監(jiān)管方2均能夠解密,從而實現(xiàn)交易發(fā)起方支付金額統(tǒng)計、接收方收款金額統(tǒng)計,兩個監(jiān)管方進(jìn)行獨(dú)立監(jiān)管。給出金額隱私保護(hù)與監(jiān)管交易系統(tǒng)的形式化模型,定義了加密方案的安全模型,并在安全模型下證明加密方案是安全的。最后,對本文的加密方案和文獻(xiàn)16進(jìn)行理論對比和實驗測試,結(jié)果表明本方案效率較高,具有較好的應(yīng)用前景。