周正南,陸安江
(貴州大學(xué),貴州 貴陽(yáng) 550025)
新技術(shù)時(shí)代,區(qū)塊鏈技術(shù)是科技研究的前沿領(lǐng)域,具有獨(dú)特的技術(shù)特點(diǎn)和創(chuàng)新價(jià)值。事實(shí)上,很多專家認(rèn)為,區(qū)塊鏈技術(shù)是觸發(fā)蒸汽引擎、動(dòng)力、信息和互聯(lián)網(wǎng)技術(shù)帶來(lái)的下一輪反轉(zhuǎn)性革命的最大可能技術(shù)。
伴著信息技術(shù)和人類(lèi)生產(chǎn)的全球因特網(wǎng)的快速發(fā)展,大規(guī)模的人數(shù)產(chǎn)生了海量數(shù)據(jù),滲透入經(jīng)濟(jì)發(fā)展、社會(huì)治理、國(guó)家管理以及人民生活等方方面面。大部分國(guó)家認(rèn)為,經(jīng)濟(jì)數(shù)字化是創(chuàng)新和發(fā)展的重要驅(qū)動(dòng)因素。目前,大數(shù)據(jù)已經(jīng)成為我國(guó)的國(guó)家戰(zhàn)略[1]。我國(guó)應(yīng)當(dāng)加快數(shù)字基礎(chǔ)設(shè)施建設(shè),推進(jìn)數(shù)據(jù)資源的整合和開(kāi)放交換,實(shí)現(xiàn)數(shù)據(jù)安全,加快發(fā)展數(shù)字系統(tǒng),并改善我國(guó)的經(jīng)濟(jì)社會(huì)發(fā)展和人民生活。
數(shù)據(jù)和區(qū)塊鏈具有共生關(guān)系。區(qū)塊鏈可以保證數(shù)據(jù)的安全性和可信度,而其應(yīng)用和創(chuàng)新也起源于區(qū)塊鏈。區(qū)塊鏈一定會(huì)重建大數(shù)據(jù),也會(huì)成為重要數(shù)值的中心部分。區(qū)塊鏈技術(shù)與其他情景相結(jié)合,可使人們完成許多一直以來(lái)被視為無(wú)法完成的任務(wù),如把生產(chǎn)環(huán)節(jié)數(shù)字化、經(jīng)濟(jì)全息化,達(dá)到可標(biāo)度經(jīng)濟(jì)。區(qū)塊鏈能夠把之前的“面對(duì)面信任”關(guān)系用“背靠背信任”代替,減少了交易成本。運(yùn)用“鏈網(wǎng)”能夠把不同的架構(gòu)、場(chǎng)景的區(qū)塊鏈結(jié)合起來(lái),然后對(duì)生產(chǎn)點(diǎn)進(jìn)行數(shù)字化,記錄社會(huì)的生產(chǎn)形勢(shì)、鏈接以及利益支配的整個(gè)行為,建立統(tǒng)一、公開(kāi)以及多樣化的鏈網(wǎng)基礎(chǔ)設(shè)施。創(chuàng)建區(qū)塊鏈框架的關(guān)鍵在于確保不同格式以及來(lái)源所生成的數(shù)據(jù)的整合,并確保不同應(yīng)用程序能夠完美融入?yún)^(qū)塊鏈。
大數(shù)據(jù)正成為數(shù)字社會(huì)治理的重要戰(zhàn)略資源,但在此階段必須迎接數(shù)據(jù)開(kāi)放交流、數(shù)據(jù)安全與個(gè)人隱私的挑戰(zhàn)。區(qū)塊鏈?zhǔn)且环N動(dòng)態(tài)數(shù)據(jù)庫(kù)無(wú)法相互修改的版本。大規(guī)模凍結(jié)數(shù)據(jù)已經(jīng)記錄了每一次交易,當(dāng)電腦意外宕機(jī)時(shí),已經(jīng)完成的不同業(yè)務(wù)和封存的數(shù)據(jù)不會(huì)存在數(shù)據(jù)丟失問(wèn)題。但是,區(qū)塊鏈提供的是銀行賬號(hào)的完整性,且統(tǒng)計(jì)結(jié)果的分析能力很弱[2]。大數(shù)據(jù)擁有大規(guī)模數(shù)據(jù)存儲(chǔ)技術(shù)和靈活高效的分析技術(shù),大大改善了封條數(shù)據(jù)的價(jià)值和利用率。如上所述,區(qū)塊鏈技術(shù)的特點(diǎn)決定了如何促進(jìn)大量數(shù)據(jù)資源和個(gè)人隱私的擴(kuò)散,而大數(shù)據(jù)是減少和利用網(wǎng)絡(luò)數(shù)據(jù)價(jià)值的工具。區(qū)塊鏈+大數(shù)據(jù)有效整合區(qū)塊鏈技術(shù)和大數(shù)據(jù)共享、個(gè)人數(shù)據(jù)保密以及其他一些特性,可以真正破除大數(shù)據(jù)應(yīng)用帶來(lái)的痛,并增強(qiáng)大數(shù)據(jù)功能。
區(qū)塊鏈?zhǔn)且粋€(gè)新技術(shù)體系,把不同的技術(shù)結(jié)合起來(lái)。最早的定義來(lái)自于2009 年發(fā)布的比特幣。區(qū)塊鏈具有中心化和信任型的特點(diǎn),產(chǎn)生對(duì)同齡同伴之間的信任轉(zhuǎn)移功能,卻不依賴第三供應(yīng)商可信的機(jī)構(gòu),有助于降低交易成本并提高交易效率[3]。
正常來(lái)看,區(qū)塊鏈系統(tǒng)主要由數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層組成,如圖1 所示。其中,數(shù)據(jù)層包括相關(guān)數(shù)據(jù)塊、相關(guān)數(shù)據(jù)加密和時(shí)間標(biāo)記技術(shù);網(wǎng)絡(luò)層包括分布的網(wǎng)絡(luò)機(jī)制、數(shù)據(jù)共享機(jī)制和數(shù)據(jù)審計(jì)機(jī)制;共識(shí)層主要包括網(wǎng)結(jié)的共識(shí)算法;激勵(lì)層把經(jīng)濟(jì)集成到區(qū)塊鏈體系,一般涵蓋經(jīng)濟(jì)激勵(lì)的發(fā)行方式和支配方式;合約層用于封裝各個(gè)腳本、算法以及合約,是區(qū)塊鏈特點(diǎn)的基礎(chǔ);應(yīng)用層封裝了各個(gè)應(yīng)用環(huán)境和相關(guān)方案。在區(qū)塊鏈體系中,特別是在在以比特幣為首的密碼貨幣體系中,UTXO 交易模型在當(dāng)前最流行。
圖1 區(qū)塊鏈基礎(chǔ)架構(gòu)
如圖2 所示,UTXO 是沒(méi)有花費(fèi)的交易輸出,是比特幣交易創(chuàng)造和核查的核心理念,交易形成了一個(gè)連鎖結(jié)構(gòu)。全部合法的比特幣交易能夠返回到一個(gè)或多個(gè)交易之前的輸出[4]。它們的來(lái)源是有利可圖的交易方式,終點(diǎn)是目前未使用的交易記錄。所有未使用版本是整個(gè)比特幣網(wǎng)絡(luò)的UTXO 比特幣規(guī)定,是每個(gè)新交易的輸入、輸出。整個(gè)交易過(guò)程會(huì)消耗一部分時(shí)間,也需要每個(gè)人收到私人鑰匙,相當(dāng)于簽字的先前版本。每個(gè)節(jié)點(diǎn)的比特幣將整個(gè)區(qū)塊鏈保存的UTXO 和節(jié)點(diǎn)的整個(gè)網(wǎng)絡(luò)的新交易的合法性審查通過(guò)UTXO 和簽名算法來(lái)校驗(yàn),可以探究交易的合法性,而不用留心歷史。
圖2 UTXO 模式
同態(tài)加密是1974 年由Rivest 等人發(fā)起的。同態(tài)加密同意用戶直接對(duì)特殊的密文代數(shù)進(jìn)行相關(guān)的操作,然后獲得最后的結(jié)果,最后在相同的明文加密結(jié)果中運(yùn)行同樣的操作[5]。公鑰pk和私鑰sk生成安全參數(shù)λ。公鑰pk主要用來(lái)對(duì)明文進(jìn)行加密。私鑰sk專門(mén)用于解密密文。倘若有一個(gè)明文m∈Zn,當(dāng)中n是一個(gè)大正整數(shù),Zn是模n的整數(shù)集合,把m的加密表示為Epk(m),則同態(tài)加密會(huì)具有下面的屬性。
式中,m1、m2為要進(jìn)行加密的明文,a為一個(gè)常數(shù)。
Paillier Cryptosystem 是于1999 年提出的基于復(fù)合剩余類(lèi)的高級(jí)問(wèn)題。系統(tǒng)具有很好的一致性,能夠用來(lái)構(gòu)建很多實(shí)用高效的加密算法。本文主要致力于保護(hù)多方隱私,故在系統(tǒng)中運(yùn)用了部分Paillier加密系統(tǒng)的一些閾值。它除了具有加的同性本質(zhì),和數(shù)字加密系統(tǒng)的構(gòu)建完全一致[6]。
該文使用的是(p,t)-閡值的Paillier 密碼系統(tǒng)。私鑰sk被分為skl、sk2、…、skp,然后支配給p方。各方都存在不完整的私鑰,倘若其中一方希望能夠精確地解密密文c,一定要和最少t-1 個(gè)其他方合作[7]。在解密歷程中,各方i(1 ≤i≤p)都必須要使用ski計(jì)算相對(duì)的解密ci。
式中,?=p!。通過(guò)文獻(xiàn)中的有關(guān)算法易知,若要獲得明文m,最少要結(jié)合t方的解密結(jié)果。
一個(gè)安全的多方計(jì)算機(jī)系統(tǒng)是由中國(guó)的姚期智教授在百萬(wàn)富翁問(wèn)題中提出來(lái)的。安全多方計(jì)算(Secure Multi-party Computation,SMC)由參與者、安全定義、通信網(wǎng)絡(luò)模型及其他元素組成。SMC 應(yīng)能保證輸入的獨(dú)立性、計(jì)算無(wú)誤,并不應(yīng)交出參與計(jì)算的其他成員的全部投入[8]。它主要調(diào)查郵件中用戶間不相信互聯(lián)網(wǎng)的互創(chuàng)技術(shù)在線計(jì)算的參與者使用私人數(shù)據(jù)完成一種計(jì)算,不會(huì)披露私人數(shù)據(jù),因此人們可以在不侵犯數(shù)據(jù)隱私的情況下利用私人數(shù)據(jù)取得最好結(jié)果。
倘若在一個(gè)分布式網(wǎng)絡(luò)中存在n個(gè)都不彼此信任的P1,P2,…,Pn,任意一個(gè)參與者存在私鑰xi全部的P1,P2,…,Pn協(xié)同運(yùn)作函數(shù)F:(x1,x2,…,xn)→y。在計(jì)算歷程中,各個(gè)參與者Pi都無(wú)法獲得別的參與者Pj(j≠i)的相關(guān)輸入信息。目前,大數(shù)據(jù)處理特別是合作與交換,廣泛使用了一種安全的機(jī)制。
在Γ1和Γ2兩個(gè)都是素?cái)?shù)p的乘法循環(huán)群的前提下,g1和g2都是Γ1和Γ2的生成元,ψ是Γ1到Γ2的同構(gòu)映射,其中ψ(g2)=g1。一個(gè)雙線性對(duì)能夠被認(rèn)為是Γ=(n,Γ1,Γ2,ΓT,e,g1,g2),其 中G1=<g1>,G1=<g2>,ΓT是階為n的乘法群。映射e:Γ1×Γ2→ΓT是一個(gè)雙線性映射,具有如下特性。
(1)雙線性。?u∈G1,v∈G2,a,b∈Zn:e(ua,vb)=e(u,v)ab。
(2)非退化性。存在u∈Γ1、v∈Γ2,使得e(u,v)≠○,其中○是ΓT的單位元。
(3)可計(jì)算性。擁有有效的多項(xiàng)式時(shí)間算法來(lái)計(jì)算e(u,v),對(duì)任意的u∈Γ1、v∈Γ2。
雙線性映射給如今的大數(shù)據(jù)發(fā)展帶來(lái)了積極影響,特別是使用實(shí)物模型建立了數(shù)據(jù)合作關(guān)系和自由運(yùn)輸。合理運(yùn)輸和多級(jí)安全計(jì)算技術(shù)必須結(jié)合起來(lái),才能在數(shù)據(jù)共享和共享方面發(fā)揮重要作用。
隨著數(shù)字加密貨幣的普及,如比特幣,區(qū)塊鏈逐漸熱門(mén)。區(qū)塊鏈?zhǔn)且粋€(gè)能夠在無(wú)節(jié)點(diǎn)間信任的分散系統(tǒng)中進(jìn)行分散交易,可有效降低實(shí)體經(jīng)濟(jì)的信心成本。雖然區(qū)塊鏈對(duì)數(shù)據(jù)的安全性和可靠性有了明顯改善,但是區(qū)塊鏈可塑性差。比如,比特幣網(wǎng)絡(luò)現(xiàn)在的數(shù)據(jù)存儲(chǔ)總?cè)萘窟h(yuǎn)大于1×106GB,也就是說(shuō)有超過(guò)1×106GB 可以存儲(chǔ)數(shù)據(jù)包,實(shí)際存儲(chǔ)數(shù)據(jù)量遠(yuǎn)低于理論值,因此對(duì)空間的利用并不充分。此外,比特幣可為大量節(jié)點(diǎn)提供充足的內(nèi)存,因?yàn)楸忍貛诺娜萘亢蜏y(cè)試結(jié)果出現(xiàn)的節(jié)點(diǎn)數(shù)量也會(huì)快速增加。
由此可知,在區(qū)塊鏈上將大量的數(shù)據(jù)存儲(chǔ)起來(lái)是行不通的。但是,很多空間占用量大的數(shù)據(jù)在區(qū)塊鏈技術(shù)的支持下可以很好地進(jìn)行區(qū)塊鏈存儲(chǔ),這正是區(qū)塊鏈的特征所在。
本著進(jìn)一步使用區(qū)塊鏈的目的,本文發(fā)起了一種在區(qū)塊鏈中進(jìn)行可拓展存儲(chǔ)和對(duì)隱私進(jìn)行保護(hù)的方式。其中,擴(kuò)展區(qū)塊鏈存儲(chǔ)是關(guān)鍵的探索,通過(guò)多方進(jìn)行共享數(shù)據(jù)的隱私保護(hù)來(lái)實(shí)現(xiàn)??偟膩?lái)說(shuō),工作的貢獻(xiàn)形式分為3 種。
(1)為了解決大量數(shù)據(jù)無(wú)法被存儲(chǔ)在區(qū)塊鏈上的問(wèn)題,區(qū)塊鏈提出了數(shù)據(jù)加密并存儲(chǔ)在云端,鑰匙交由一個(gè)值得信任的第三方用來(lái)管理彼此的賬戶,付款會(huì)被電腦里的使用者加密,以保證信息的安全性和可靠性的解決方案。
(2)文章提出了一種保護(hù)各個(gè)方向數(shù)據(jù)的方式。這種新方法把(p,t)加密系統(tǒng)應(yīng)用在區(qū)塊鏈上。私密鑰匙被分離,如果一個(gè)方向想要破解密碼c,那么最少需要從t-1 個(gè)其他方合作才能實(shí)現(xiàn)。
(3)對(duì)Paillier 密碼系統(tǒng)的隱私特點(diǎn)分別進(jìn)行歸納剖析,經(jīng)過(guò)許多實(shí)驗(yàn)驗(yàn)證了這個(gè)方式是可以很好地對(duì)區(qū)塊鏈隱私進(jìn)行保護(hù)的,經(jīng)過(guò)交易有力驗(yàn)證了該方式的有效性。
本文給出了區(qū)塊鏈上存儲(chǔ)的可拓展性和隱私保護(hù)模型中的組成部件與操作。數(shù)據(jù)和加密數(shù)據(jù)提供信息,以保護(hù)和分享個(gè)人以及企業(yè)(銀行或保險(xiǎn)公司)數(shù)據(jù),實(shí)現(xiàn)信息的多方共享。
圖3 給出了系統(tǒng)模型,模型的部件包括:數(shù)據(jù)和加密數(shù)據(jù)、云存儲(chǔ)加密的數(shù)據(jù)、信用評(píng)分使用者和區(qū)塊鏈。系統(tǒng)給用戶帶來(lái)了一個(gè)更安全的空間來(lái)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),而沒(méi)有通過(guò)授權(quán)的形式不能獲得它,所以云不單單是一個(gè)存儲(chǔ)空間,也是一個(gè)公開(kāi)共享的空間。
圖3 系統(tǒng)模型
CA 處理核心的計(jì)算以及支配方式,同時(shí)各個(gè)方向同時(shí)開(kāi)始計(jì)算,須確保全部輸入私有。為確保任何一方都無(wú)法獲取對(duì)方的數(shù)據(jù),秘密數(shù)據(jù)要被拆分在兩個(gè)及以上不同的部分。CA 還依照使用者的信用評(píng)分對(duì)其進(jìn)行必要的信用評(píng)估,從而決定要不要把密鑰支配給用戶。
信用評(píng)分的用戶指的是提供信用的主要來(lái)源,如銀行。訪問(wèn)信用評(píng)級(jí)信息不影響公司以及自己本來(lái)就有的數(shù)據(jù),并在此基礎(chǔ)上進(jìn)行了各個(gè)算法的剖析,如用戶身份驗(yàn)證。
區(qū)塊鏈?zhǔn)枪餐墓步灰子涗洐C(jī)構(gòu),網(wǎng)絡(luò)的支柱。每一個(gè)確認(rèn)交易都在塊鏈中單獨(dú)包含,并在塊鏈中保存了加密支付、權(quán)限和用戶信息。為了避免數(shù)據(jù)受到惡意修改,提高安全保障,解密的前提是擁有密鑰。支付用戶驗(yàn)證密鑰可決定用戶訪問(wèn)數(shù)據(jù)的合法性和用戶數(shù)據(jù)的Hash 值。
2.2.1 隱私假設(shè)
大多數(shù)通信參與方t-1 在所提模式中是半臥底模式,這里倘若假設(shè)有t1個(gè)同路人,意味著他們無(wú)法解密協(xié)議以外的數(shù)據(jù)。半誠(chéng)實(shí)模式假定所有各方真誠(chéng)和好奇,顯示出嚴(yán)格遵守雙方的相關(guān)協(xié)議,但是各個(gè)方向都想要在協(xié)議中提前知道結(jié)果,想要推斷別人的信息。在很多區(qū)塊鏈交易環(huán)境里,這些推理都是合乎常理的。因此,本文中提出了以下兩個(gè)假設(shè):(1)雙方遵守共同協(xié)議,以實(shí)現(xiàn)各自的需求;(2)用戶之間不能彼此獲取私密信息。
在本文啟動(dòng)隱私規(guī)定之前,了解到保護(hù)隱私是區(qū)塊鏈的核心目的。個(gè)人隱私的定義如下。
定義1:(閡值)設(shè)定有k個(gè)使用者,記錄為k=1,2,…,K,CA 放置的M個(gè)對(duì)象指的是m=1,2,…,M。指的是第k個(gè)使用者提供給第m個(gè)對(duì)象的值。在這個(gè)歷程中,剔除提供這個(gè)值的使用者以外,各個(gè)值都要對(duì)別的人保持機(jī)密。
定義2:(數(shù)據(jù)隱私)數(shù)據(jù)的儲(chǔ)蓄分為兩種,一種是儲(chǔ)蓄在云中,一種是儲(chǔ)蓄在區(qū)塊鏈上。很多暫用存儲(chǔ)空間的使用者的數(shù)據(jù)儲(chǔ)蓄在前者,而相關(guān)數(shù)據(jù)的散列值則儲(chǔ)蓄在后者。通過(guò)Paillier 密碼體系加密存儲(chǔ)在前者的數(shù)據(jù)。為了保護(hù)使用者的隱私數(shù)據(jù),密鑰將被分給K個(gè)使用者。若要對(duì)數(shù)據(jù)進(jìn)行解密,則需要運(yùn)用一個(gè)閡值用戶密鑰。
定義3:(支付隱私)當(dāng)使用者想將部分錢(qián)幣發(fā)給另一個(gè)用戶Bob 時(shí),不想別人準(zhǔn)確了解傳遞給用戶Bob 的錢(qián)幣。為保證用戶支付信息的隱私不被其他用戶知道,可以使用Paillier 密碼體系加密支付信息。
2.2.2 設(shè)計(jì)目標(biāo)
該文不僅以保護(hù)數(shù)據(jù)隱私和支付隱私為目的,也把服務(wù)器在數(shù)據(jù)存儲(chǔ)歷程里依舊能夠提供高質(zhì)量的服務(wù)作為追求。這項(xiàng)設(shè)計(jì)不僅要確保個(gè)人隱私不泄漏,更應(yīng)該具有高精致、低反應(yīng)的服務(wù)。前者指的是高精密的密鑰分配及測(cè)試,后者指的是服務(wù)器承認(rèn)數(shù)據(jù)儲(chǔ)存、密鑰分配和驗(yàn)證在可以接受的時(shí)間內(nèi)停止。
本文指出,用戶以及用戶間支付往來(lái)信息等個(gè)人隱私是數(shù)據(jù)保護(hù)的主要目標(biāo)。本節(jié)給出兩個(gè)隱私安排根據(jù)用戶數(shù)據(jù)和支付信息的差異,關(guān)注實(shí)際情況,提供不同的解決辦法。
2.3.1 隱私保護(hù)方案簡(jiǎn)介
圖3 提出了區(qū)塊鏈里的隱私保護(hù)方式。假定(p,t)-Paillier 加密系統(tǒng)的閾值是安全的。其中,p指的是雙方的數(shù)目,包括CAS 用戶數(shù)和注冊(cè)用戶,即被要求完全解碼的最低年齡[9]。因此,在此模式中,公共密鑰pk=(g,n)對(duì)所有當(dāng)事人都是公開(kāi)的,所有相關(guān)當(dāng)事用戶都可擁有該公共賬戶的解密密鑰(即用戶本人可共享他人的私人密鑰)。
一系列的方案劃分為3 個(gè)階段。
第1 階段:用戶數(shù)據(jù)由Pallier 算法加密,也就是CA 負(fù)責(zé)散播私有鑰匙,而加密數(shù)據(jù)存在云端儲(chǔ)存。
第2 階段:根據(jù)用戶的信用,對(duì)應(yīng)密鑰得到評(píng)價(jià)和分配。用戶的信用分能夠生成一個(gè)分區(qū),且要在分區(qū)范圍內(nèi)運(yùn)行私人的密鑰是不可能的。
第3 階段:由Pallier 加密支付信息、信息鏈中存有用戶數(shù)據(jù)的Hash 值以及其支付的驗(yàn)證信息。
2.3.2 數(shù)據(jù)隱私保護(hù)協(xié)議
想要防止用戶個(gè)人數(shù)據(jù)信息泄露,提高保密和控制能力,有必要加密數(shù)據(jù),并將其保存在失效鏈中。加密數(shù)據(jù)可以防止非法用戶訪問(wèn)數(shù)據(jù),并在信息鏈中保存數(shù)據(jù)的Hash 級(jí)別,以防止信息被篡改。有些當(dāng)事人需要統(tǒng)一保存加密數(shù)據(jù)時(shí),一定數(shù)量的當(dāng)事人需要驗(yàn)證加密數(shù)據(jù)。本文中使用(p,t)-閡值Paillier 密碼系統(tǒng),被分離成p份私鑰sk,表示為skl,sk2,…,skp。這增加了解密的難度,倘若要解某密文,需要積累到至少t-1 個(gè)其他私鑰。
(2)按照這個(gè)加密系統(tǒng)的同態(tài)特點(diǎn),如下:
式中,m1、m2為要加密的明文,是隨機(jī)挑選的,且是一個(gè)常數(shù)。云計(jì)算:
云端隨機(jī)挑選t-1 個(gè)使用者,然后把C發(fā)送給他們。
(3)根據(jù)所有獲選的使用者k′計(jì)算C的部分密文,后將Ck′發(fā)送到云端。
(4)部分密文CDatacenter在云端計(jì)算,而后聚集t-1個(gè)從其他用戶處獲得的部分密文,得到和。
支持部分匿名性的元素即使用Paillier 密碼體的盲文屬性,試著想象著Alice 想給Bob 寄錢(qián)但他不想讓別人知道錢(qián)是給Bob 的,為此她還需要選擇數(shù)個(gè)賬戶(n個(gè)地址)組成非匿名句子。從非匿名句子中隨機(jī)找出n-1 個(gè)地址用于繼續(xù)傳送,將大量錢(qián)傳送到Bob 的地址,隨機(jī)選擇的n-1 個(gè)地址中余額改變,但這些地址中轉(zhuǎn)入Bob 的地址總金額不會(huì)改變,相當(dāng)于選擇n個(gè)中間賬戶,但是賬戶間匿名。通過(guò)若干次轉(zhuǎn)賬后,這n個(gè)賬戶之間由于也存在交易,余額會(huì)變化。每個(gè)賬戶的余額不會(huì)出現(xiàn)差錯(cuò),即Bob 的地址收到了錢(qián),但是不知道錢(qián)具體來(lái)自哪個(gè)賬戶[10]。
(1)為構(gòu)建密鑰對(duì),先要挑選兩個(gè)素?cái)?shù),條件是兩者等長(zhǎng)(這里為g和n)。加密密鑰pk將是N=g·n以及解密密鑰sk將是λ=(g-1)(n-1)。
(2)加密消息m∈Zn需要通過(guò)公鑰pk=(g,n)進(jìn)行,隨機(jī)選擇整數(shù),然后計(jì)算密文:
為了解密,計(jì)算原始消息:
文章提供的方案一樣能夠使用共識(shí)恢復(fù)給定密文中的隨機(jī)數(shù)r:
按照加密體系的同態(tài)特點(diǎn),可獲得:
Paillier 加密體系在其明文不發(fā)生變化的前提下,可以更改其密文能力。這是它的盲性質(zhì)。
在實(shí)際系統(tǒng)中,所有數(shù)據(jù)都會(huì)威脅到用戶隱私。該系統(tǒng)旨在保護(hù)個(gè)人用戶的數(shù)據(jù)不被傳輸?shù)狡渌脩?。?shù)據(jù)中心和用戶之間數(shù)據(jù)進(jìn)行著互相交換,是數(shù)據(jù)隱私相關(guān)協(xié)議中的規(guī)定。參與交換的數(shù)據(jù)為全密文,即使有些用戶得到的密文,他們也無(wú)法解開(kāi),因?yàn)槭褂昧?p,t)-閾值Paillie 密碼體系。倘若使用者間沒(méi)有串通,在運(yùn)行協(xié)議后,使用者將無(wú)法獲得有用的信息。另外,密文Epk(vk)無(wú)法通過(guò)數(shù)據(jù)中心進(jìn)行解密,但數(shù)據(jù)中心最后是可以了解到求和。針對(duì)這個(gè)因素,它無(wú)法推斷每個(gè)用戶的私鑰K。因此,每個(gè)用戶的私鑰的隱私性都在協(xié)議中得到了保障。
最后總結(jié)該方案的數(shù)據(jù)隱私保護(hù)目標(biāo)。設(shè)定K≤3 且針對(duì)各個(gè)部分m∈M,最少有兩個(gè)使用者k1,k2∈M給出不一樣的值。也設(shè)定雙方無(wú)溝通,可信度為50%,而后即可在數(shù)據(jù)隱私保護(hù)協(xié)議運(yùn)行后,令各個(gè)使用者的值都無(wú)法被泄露給別人。
然后,如果有人看到這筆錢(qián)的轉(zhuǎn)移,他將不能確定Alice 是否真的將錢(qián)轉(zhuǎn)移到指定的地址。錢(qián)的轉(zhuǎn)賬只有Alice 知道,原來(lái)Bob 都知道這筆錢(qián)已經(jīng)到了,但他不知道這筆錢(qián)具體由哪個(gè)地址轉(zhuǎn)入。但是,如果Alice 要將一些資金寄給Bob,她必須使用她在第一次交易中常用的匿名余額,否則攻擊者將會(huì)發(fā)現(xiàn)多個(gè)交易。Bob 的地址(或很少)和其他不再出現(xiàn)的地址相通,并假設(shè)Alice 使用不同的匿名地址將它們發(fā)送給Bob 的所在地。
通過(guò)Python 和MATLAB 實(shí)現(xiàn)該方法。用戶數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)是SQL Server。系統(tǒng)主要運(yùn)行在4臺(tái)服務(wù)器上,參數(shù)配置為2.4 GHz、Intel i7-55oom CPU 和8 GB RAM。
2.6.1 密鑰生成性能評(píng)估
在Paillie 密碼體制中,公鑰(g,n),n=p·q,私鑰λ=1cm((p-1),(q-1))。這個(gè)實(shí)驗(yàn)生成了64、128、256、512 和1 024 位元、組,召喚出相應(yīng)的g組數(shù)據(jù)來(lái)生成整個(gè)加密和解密過(guò)程所需的公共和私人密鑰。由于默認(rèn)的主機(jī)的長(zhǎng)度增加,發(fā)電所需的計(jì)算會(huì)增加,而速度會(huì)加快,如圖4 所示。
2.6.2 加解密性能評(píng)估
圖5 給出了公鑰長(zhǎng)度分別為64、128、256、512 和1 024 位的前提下,加密32 位數(shù)據(jù)的測(cè)試時(shí)間。如圖5 所示,加解密過(guò)程中,耗時(shí)隨著長(zhǎng)度的增加而增加。在加解密過(guò)程中,密鑰長(zhǎng)短變化不斷提升,與之相伴的是加密解密的用時(shí),這是由于它的計(jì)算量在增加。另外,可以看到Paillier 算法縮短了解密與加密時(shí)間的間距。
圖4 Paillier 密鑰生成時(shí)間
圖5 Paillier 加解密成時(shí)間
2.6.3 Paillier 密碼系統(tǒng)的同態(tài)性質(zhì)性能分析
在后續(xù)的實(shí)驗(yàn)中,公鑰的長(zhǎng)度分別為64、128、256、512 和1 024 位,數(shù)據(jù)M的大小為32位。設(shè)置相同的條件環(huán)境,估計(jì)Paillier 公鑰密碼系統(tǒng)中同態(tài)屬性的時(shí)間消耗分別為Epk(m,r)k、Epk(m1,r1)·Epk(m2,r2)、Epk(m,r1·r2)、Epk(a·m1)、Epk(m1+m2)。
將MATLAB 和Python 相融合,使用公式,測(cè)試結(jié)果如圖6 所示。可見(jiàn),在其他案例中,其他情況中得到其他補(bǔ)充的同性本質(zhì)主義的處理時(shí)間要比得到相關(guān)信息的其他信息的處理時(shí)間要長(zhǎng)。處理信件所需的時(shí)間呈現(xiàn)指數(shù)型增加,處理信件的不同公式之間的耗時(shí)差距不斷增加。
圖6 Paillier 同態(tài)性質(zhì)時(shí)間
本文敘述了若想增加區(qū)塊鏈的數(shù)據(jù)存儲(chǔ)量,可利用云內(nèi)存。Paillier 密碼系統(tǒng)想要有效保護(hù)敏感信息,需要提高其在區(qū)塊鏈中的應(yīng)用,還能處理區(qū)塊鏈系統(tǒng)的個(gè)人隱私。該密碼系統(tǒng)有利于數(shù)據(jù)共享和隱私保護(hù)。在密文操作中,Pallier 密碼體系的時(shí)間基本都很短,但是效率很高。這個(gè)方式的內(nèi)部安全分析顯示系統(tǒng)具有超強(qiáng)的安全性,但是如何提高項(xiàng)目的效率和如何使用Paillier 同態(tài)化密碼技術(shù),需要構(gòu)建一個(gè)更好的設(shè)計(jì)解決方案。