本發(fā)明涉及一種第三方可監(jiān)管的隱身地址實現(xiàn)方法。
背景技術(shù):
現(xiàn)有基于區(qū)塊鏈技術(shù)的應(yīng)用,由于具有集體維護(hù)、公開透明等特性,因此建立在該應(yīng)用之上用戶的隱私將無法保證,區(qū)塊鏈上用戶隱私中最核心的是用戶地址的隱私,因為只要能夠?qū)⒁粋€地址與某個用戶對應(yīng)起來,那么所有有權(quán)訪問區(qū)塊鏈數(shù)據(jù)的用戶都能夠知道該用戶數(shù)據(jù)的隱私。現(xiàn)有保護(hù)用戶隱私的方式大都是通過隨機(jī)地址和零知識證明來實現(xiàn),但是隨機(jī)地址本質(zhì)上是偽匿名,而零知識證明由于其證明比較繁瑣,不具有實用性。CryptoNote采用的一次性地址生成技術(shù)雖然解決了偽匿名性問題,但是存在一定程度的安全隱患,因為當(dāng)用戶某一次交易的私鑰泄露時,通過聯(lián)合該用戶的追蹤密鑰,敵手有可能獲得用戶的完全私鑰,進(jìn)而敵手獲得涉及該用戶全部交易的知悉權(quán)限。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的上述缺點(diǎn),本發(fā)明提供了一種第三方可監(jiān)管的隱身地址實現(xiàn)方法,結(jié)合現(xiàn)有的以區(qū)塊鏈為基礎(chǔ)的用戶隱私保護(hù)和隱身地址技術(shù),設(shè)計一種更加安全、同時既能實現(xiàn)用戶的隱私保護(hù),又允許特權(quán)監(jiān)管部門對用戶的非法行為進(jìn)行監(jiān)管與審計的隱身地址實現(xiàn)方法。具體來講,特權(quán)監(jiān)管機(jī)構(gòu)只需要自己掌握的一份秘密,就可以實現(xiàn)對所有用戶的交易歷史進(jìn)行審查與監(jiān)管;同時還保證,即使用戶某一筆交易的私鑰泄露,也不會對其他交易的安全構(gòu)成威脅。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種第三方可監(jiān)管的隱身地址實現(xiàn)方法,包括如下步驟:
步驟一、當(dāng)發(fā)送方向接收方發(fā)起一筆交易的時候,發(fā)送方通過選擇一個隨機(jī)數(shù)、使用監(jiān)管方的公鑰和接收方的公鑰計算接收方的最終公鑰,然后從最終公鑰生成相應(yīng)地址,在向該接收方地址發(fā)起交易請求時,隨機(jī)參數(shù)與交易數(shù)據(jù)一并發(fā)送給接收方;
步驟二、當(dāng)接收方接收到發(fā)送方發(fā)起的交易時,接收方利用接收到的交易中的隨機(jī)值、自己的私鑰和監(jiān)管方的公鑰計算含有隨機(jī)值的交易地址對應(yīng)的私鑰;
步驟三、當(dāng)監(jiān)管方審計接收方接收到的交易是否合規(guī)合法時,監(jiān)管方利用自己的私鑰、被審計的交易中的隨機(jī)值、被審計方的公鑰計算含有隨機(jī)值的交易地址對應(yīng)的公鑰,然后根據(jù)用戶地址生成規(guī)則,判斷該交易是否是接收方所有,進(jìn)而實現(xiàn)對被審計方參與的交易的審計與監(jiān)管。
與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:
1)同一用戶接收到的不同交易地址具有無條件不可鏈接性;
2)監(jiān)管方只需保存一個主私鑰就能夠?qū)崿F(xiàn)對所有交易的審計與監(jiān)督;
3)對接收方而言,該地址隱身技術(shù)實現(xiàn)了在開放透明的區(qū)塊鏈上實現(xiàn)無條件匿名性,間接地實現(xiàn)了對用戶隱私的保護(hù)。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1為本發(fā)明的技術(shù)原理圖。
具體實施方式
本發(fā)明的核心是一次性地址生成技術(shù),由于區(qū)塊鏈上標(biāo)識用戶的是用戶地址,而地址是由公鑰產(chǎn)生,因此,為用戶生成與某筆交易對應(yīng)的一次性公鑰就是本發(fā)明的核心。
具體而言,本發(fā)明:
(1)利用雙線性配對的性質(zhì),設(shè)計了既能讓第三方監(jiān)管機(jī)構(gòu)僅需一個密鑰就可實現(xiàn)監(jiān)督與審計的功能,同時又能保障用戶的地址對第三方觀察者來說不可見(間接的保障了用戶的隱私)。
(2)基于循環(huán)群中加法同態(tài)的特性,交易接收方利用交易中包含的隨機(jī)中間值、自己掌握的私鑰、以及監(jiān)管者的公鑰進(jìn)行代數(shù)運(yùn)算可以恢復(fù)出該隱身地址對應(yīng)的私鑰,進(jìn)而獲得該地址對應(yīng)交易的所有權(quán)。
本發(fā)明的適用模型是基于區(qū)塊鏈技術(shù)的各種應(yīng)用,為實現(xiàn)用戶的非法行為可被特權(quán)部門監(jiān)管,同時又能實現(xiàn)保護(hù)合法行為的用戶的隱私,本發(fā)明以雙線性配對為工具設(shè)計了如下技術(shù)方案。在詳細(xì)描述本發(fā)明之前,這里首先給出雙線性配對的性質(zhì)。
一、雙線性配對的性質(zhì)
雙線性配對也稱代數(shù)曲線上的Weil對和Tate對,是研究代數(shù)幾何的重要工具。雙線性配對的性質(zhì)以及它能夠在本專利中得到應(yīng)用的困難問題如下:
A、雙線性配對的性質(zhì)
假設(shè)G1是由P生成的循環(huán)加法群,階為p,G2是具有相同階p的循環(huán)乘法群,a,b是中的元素。假設(shè)G1和G2這兩個群中的離散對數(shù)問題都是困難問題。雙線性配對是指滿足下列性質(zhì)的一個映射
①雙線性性:對于任意的P,Q∈G1和成立。
②非退化性:存在P,Q∈G1,使得
③可計算性:對所有的P,Q∈G1,存在有效的算法計算
雙線性映射可以通過有限域上的超奇異橢圓曲線或超奇異超橢圓曲線中的Weil對或Tate對推導(dǎo)出來,它的這種性質(zhì),是構(gòu)造基于身份的密碼體制的不可或缺的工具。
B、本發(fā)明的安全性基礎(chǔ)
本發(fā)明的安全性依賴于計算Diffie-Hellman(CDH)數(shù)學(xué)難題:給定一個階為p的循環(huán)加法群G1和一個生成元P,G1中的CDH問題是給定(P,aP,bP),計算abP∈G1。這里的是未知的整數(shù)。
如果A=aP,B=bP,s是第三方自己掌握的一個秘密值且S=sP,其中分別是由Alice、Bob和Carl獨(dú)自掌握的私鑰。則結(jié)合雙線性配對的性質(zhì)和CDH難題可以知道,任何人只要知道三個私鑰a,b,s中的一個就能夠計算的值,這是因為
二、具體技術(shù)方案
如圖1所示,假設(shè)該技術(shù)方案中含有三個參與方:發(fā)送方Alice、接收方Bob以及監(jiān)管方Carl。其中監(jiān)管方的私鑰為s,公鑰為S=sP,私鑰由Carl秘密保存。對于發(fā)送方和接收方來說,他們的私鑰由兩部分組成,這里以接收方Bob的私鑰為例來說明。
假設(shè)Bob的私鑰為(a,b)公鑰為(A,B),其中A=aP,B=bP。私鑰(a,b)由Bob秘密保管,而公鑰可以任意公開。當(dāng)發(fā)送方Alice需要向接收方Bob發(fā)起一筆交易的時候,Alice執(zhí)行如下步驟:
(1)系統(tǒng)參數(shù)初始化階段
現(xiàn)有的基于區(qū)塊鏈的應(yīng)用都是使用的橢圓曲線密碼學(xué)ECC,比如比特幣中使用的數(shù)字簽名算法就是基于橢圓曲線的ECDSA。這里我們將現(xiàn)有區(qū)塊鏈系統(tǒng)中的循環(huán)加法群記為G1,此外,本方案還需要另一個循環(huán)乘法群G2并且為一個雙線性映射。為一個安全的Hash函數(shù)。
(2)隱身地址生成階段
發(fā)送方Alice操作:為了生成Bob的隱身地址,Alice執(zhí)行如下操作:
①選擇一個隨機(jī)數(shù)并計算R=rP。
②使用監(jiān)管者的公鑰S、隨機(jī)數(shù)r以及Bob的公鑰(A,B)計算
③計算Bob的最終公鑰
④按照區(qū)塊鏈地址的生成規(guī)則,從公鑰Q生成相應(yīng)地址,并向該地址發(fā)起交易,其中交易中除了含有正常的交易信息,還包含隨機(jī)值R。
接收方Bob操作:當(dāng)接收方Bob接收到該交易時,Bob執(zhí)行如下步驟:
①Bob利用接收到的交易中的隨機(jī)值R、自己的私鑰(a,b)、監(jiān)管者的公鑰S計算
②Bob計算含有R的交易地址對應(yīng)的私鑰
由雙線性配對的性質(zhì)以及同態(tài)性質(zhì)不難得出q是Q對應(yīng)的私鑰,Q是q的公鑰。因此,接收方利用自己的私鑰獲得了該交易所含信息的所有權(quán),此外,由于每一筆發(fā)送給Bob的交易都含有一個隨機(jī)數(shù)R,因此每筆交易的接收地址都是不同的,也就是說每筆支付交易具有無條件不可鏈接性。
監(jiān)管方Carl操作:當(dāng)Carl想要審計接收方Bob接收到的交易是否合規(guī)合法時,它執(zhí)行如下步驟:
①Carl利用自己的私鑰s、將要審計的交易中的隨機(jī)值R、被審計人Bob的公鑰(A,B)計算
②Carl計算含有R的交易對應(yīng)的公鑰
然后,根據(jù)用戶地址生成規(guī)則,Carl就可以判斷該交易是否是接收方Bob所有,進(jìn)而實現(xiàn)了對Bob參與的交易的審計與監(jiān)管。
Alice、Bob和Carl之所以能夠分別實現(xiàn)自己的功能,主要在于以下等式成立:其中Alice由于知道隨機(jī)值r,因此他能夠計算而Bob由于知道a+b,因而他能夠計算而監(jiān)管方Carl由于掌握主私鑰s,因此他能夠計算
值得注意的是,理想狀態(tài)下,監(jiān)管方無需掌握任何用戶的秘密信息,只需要在公開透明的區(qū)塊鏈上使用自己的監(jiān)管密鑰和他想要審查的用戶的公鑰即可實現(xiàn)對該用戶所有賬戶的審計。但是在實際應(yīng)用中,如果不對監(jiān)管者的權(quán)利進(jìn)行一定意義上的限制,容易導(dǎo)致過度監(jiān)管。而本專利中監(jiān)管方的監(jiān)管,需要其對整個區(qū)塊鏈內(nèi)容進(jìn)行遍歷,需要很大的計算資源,因此這種限制保證了監(jiān)管方在實現(xiàn)監(jiān)管目的的同時,不會濫用其監(jiān)管特權(quán)。