陳麗莎, 李雪蓮, 高軍濤
(1. 西安電子科技大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 陜西 西安 710071; 2. 西安電子科技大學(xué)通信工程學(xué)院, 陜西 西安 710071)
當(dāng)前,互聯(lián)網(wǎng)快速普及,全球數(shù)據(jù)呈現(xiàn)爆發(fā)式增長(zhǎng)、海量集聚的特點(diǎn),數(shù)據(jù)的價(jià)值愈發(fā)凸顯。據(jù)國(guó)際權(quán)威機(jī)構(gòu)Statista統(tǒng)計(jì),2016年至2019年的全球數(shù)據(jù)量分別為18ZB、26ZB、33ZB、41ZB(1ZB=十萬(wàn)億億字節(jié))。國(guó)際數(shù)據(jù)公司IDC預(yù)計(jì)2025年全球數(shù)據(jù)量將是2016年的9倍,達(dá)到163ZB。數(shù)據(jù)作為一種新型生產(chǎn)要素,與傳統(tǒng)生產(chǎn)要素并列。隨著人工智能、數(shù)據(jù)挖掘等技術(shù)的發(fā)展,數(shù)據(jù)科學(xué)決策成為政府、企業(yè)的共識(shí),數(shù)據(jù)開放共享的迫切需要與日俱增。但數(shù)據(jù)卻以碎片割裂的方式分散在不同的地方,形成了“數(shù)據(jù)孤島”的窘境。數(shù)據(jù)交易市場(chǎng)應(yīng)運(yùn)而生,打破了存在的“數(shù)據(jù)孤島”問(wèn)題,驅(qū)動(dòng)數(shù)據(jù)互聯(lián)互通。然而數(shù)據(jù)與一般商品迥然有異,復(fù)制零成本使得數(shù)據(jù)在交易時(shí)不能以明文的方式進(jìn)行傳遞。一旦購(gòu)買者獲知該數(shù)據(jù),就可以復(fù)制,從而不會(huì)購(gòu)買,數(shù)據(jù)交易市場(chǎng)也因此仍停留在起步階段。Chen等描述了一種典型的數(shù)據(jù)交易模式,這種模式一般依賴于可信的數(shù)據(jù)交易平臺(tái)的中心化管理。數(shù)據(jù)銷售者將數(shù)據(jù)封裝后提交給交易平臺(tái),由交易平臺(tái)匹配購(gòu)買者的數(shù)據(jù)需求,數(shù)據(jù)銷售者與購(gòu)買者交互完成交易。雖然這種交易模式讓不存在信任關(guān)系的交易用戶能夠共享數(shù)據(jù),但該交易模式仍然存在許多問(wèn)題:① 賦予交易平臺(tái)過(guò)大的權(quán)利,導(dǎo)致系統(tǒng)易受到單點(diǎn)故障問(wèn)題的侵蝕以及密鑰泄露攻擊。② 交易系統(tǒng)的設(shè)計(jì)并不完善,缺乏對(duì)惡意用戶的問(wèn)責(zé)機(jī)制,且這種交易模式更傾向于保護(hù)數(shù)據(jù)購(gòu)買者的利益,一旦受到來(lái)自數(shù)據(jù)購(gòu)買者與第三方平臺(tái)的合謀攻擊,銷售者不得不受到懲罰,被迫為購(gòu)買者的惡意行為買單。
2008年,區(qū)塊鏈技術(shù)的興起,帶來(lái)了“去中心化”的福音,讓數(shù)據(jù)交易不再依賴于第三方可信平臺(tái),讓交易系統(tǒng)免受來(lái)自第三方可信平臺(tái)單點(diǎn)失敗問(wèn)題的洗禮。它通過(guò)鏈?zhǔn)綌?shù)據(jù)存儲(chǔ)結(jié)構(gòu)、共識(shí)機(jī)制、分布式點(diǎn)對(duì)點(diǎn)傳輸?shù)榷喾N技術(shù)實(shí)現(xiàn)了一種新型的共識(shí)網(wǎng)絡(luò)。其中,智能合約作為區(qū)塊鏈技術(shù)的應(yīng)用快速發(fā)展起來(lái),它以“一段能夠自動(dòng)執(zhí)行的代碼”聞名,為實(shí)現(xiàn)交易的原子性支付提供了技術(shù)支持。去中心化協(xié)議的確可以讓交易高效、平穩(wěn)地運(yùn)行起來(lái),但它卻無(wú)法像中心化協(xié)議解決用戶糾紛。因此,要實(shí)現(xiàn)公平完善的交易系統(tǒng),應(yīng)該考慮如何將二者結(jié)合起來(lái),在高效平穩(wěn)實(shí)現(xiàn)自動(dòng)交易解決用戶間不信任問(wèn)題的同時(shí)削弱第三方管理平臺(tái)權(quán)力,解決單點(diǎn)失敗問(wèn)題及合謀問(wèn)題,實(shí)現(xiàn)良好的折中。這將面臨如下挑戰(zhàn):① 數(shù)據(jù)的可靠性; ② 數(shù)據(jù)在交易過(guò)程中的隱私性; ③ 爭(zhēng)議出現(xiàn)時(shí)高效公平的問(wèn)責(zé)性。
本文的主要貢獻(xiàn)包括3個(gè)方面:
(1) 設(shè)計(jì)了一個(gè)原子性可問(wèn)責(zé)的數(shù)據(jù)交易方案。構(gòu)造了適用于交易場(chǎng)景的特殊的數(shù)據(jù)審計(jì)協(xié)議,將其與智能合約結(jié)合,既保障了交易的原子性,又確保了數(shù)據(jù)在共享過(guò)程中的完整性;
(2) 運(yùn)用自認(rèn)證公鑰密碼技術(shù)為用戶完成注冊(cè),確保除用戶自身以外,其他人包括市場(chǎng)管理者都無(wú)法獲得用戶私鑰。結(jié)合非交互式密鑰交換技術(shù)生成會(huì)話密鑰,解決了對(duì)稱密碼技術(shù)的密鑰分發(fā)問(wèn)題,使協(xié)議能夠高效地使用對(duì)稱加密技術(shù)確保通信安全;
(3) 設(shè)計(jì)了公平的問(wèn)責(zé)機(jī)制,當(dāng)交易出現(xiàn)爭(zhēng)議時(shí),市場(chǎng)管理者可以組織數(shù)據(jù)購(gòu)買者和數(shù)據(jù)銷售者進(jìn)行維權(quán)辯論。由于數(shù)據(jù)審計(jì)具備可公共審計(jì)性,所有人都可以參與驗(yàn)證,從而杜絕市場(chǎng)管理者與參與交易的任意一方的合謀現(xiàn)象發(fā)生。
近年來(lái),基于第三方是可信的假設(shè)下,針對(duì)數(shù)據(jù)交易系統(tǒng)的研究層出不窮。如,Juang等提出了一種可以在云計(jì)算環(huán)境中保護(hù)數(shù)據(jù)隱私性的數(shù)字商品交易方案。該方案確保云服務(wù)器可以在不知道商品內(nèi)容的情況下,幫助數(shù)據(jù)購(gòu)買者找到合適的關(guān)鍵字對(duì)應(yīng)的商品。但是,由于在整個(gè)交易過(guò)程中未對(duì)商品進(jìn)行驗(yàn)證,因此無(wú)法保障交易數(shù)據(jù)的完整性。Jung等針對(duì)數(shù)據(jù)交易過(guò)程中數(shù)據(jù)購(gòu)買者的惡意行為,設(shè)計(jì)了accounttrade協(xié)議來(lái)對(duì)惡意購(gòu)買者進(jìn)行問(wèn)責(zé)。研究發(fā)現(xiàn),第三方平臺(tái)作為交易系統(tǒng)中權(quán)威的管控中心,其帶來(lái)的資產(chǎn)控制權(quán)問(wèn)題、資產(chǎn)風(fēng)險(xiǎn)問(wèn)題、交易透明度問(wèn)題使得交易環(huán)境復(fù)雜化。為了避免第三方平臺(tái)惡意復(fù)制并在未授權(quán)的情況下出售數(shù)據(jù),Naor等提出將數(shù)據(jù)加密后直接發(fā)送給有意向購(gòu)買的數(shù)據(jù)購(gòu)買者,出售加密密鑰代替直接出售數(shù)據(jù)的方式來(lái)確保數(shù)據(jù)不會(huì)以明文形式被傳遞。但第三方平臺(tái)仍然可能在交易過(guò)程中獲得關(guān)于數(shù)據(jù)的信息,從而恢復(fù)數(shù)據(jù)。Dai等選擇將數(shù)據(jù)進(jìn)行隱藏,只將數(shù)據(jù)分析后的結(jié)果進(jìn)行出售,以確保數(shù)據(jù)的安全性,同時(shí)還能避免陷入數(shù)據(jù)所有權(quán)問(wèn)題的糾紛中。但由于現(xiàn)有的數(shù)據(jù)分析技術(shù)不夠先進(jìn),僅通過(guò)一次數(shù)據(jù)分析就得出精確的結(jié)論顯然是不可行的。Zhao等將防止雙重認(rèn)證的簽名(double authentication preventing signature,DAPS)技術(shù)與智能合約結(jié)合實(shí)現(xiàn)交易的原子性,通過(guò)對(duì)密鑰重建來(lái)避免密鑰泄露問(wèn)題。Delgado-Segura等也提出了類似的交易模式,將橢圓曲線數(shù)字簽名算法(elliptic curve digital signature algorithm,ECDSA)的漏洞原理靈活用于密鑰重建,再將密鑰重建與比特幣鎖時(shí)交易結(jié)合已實(shí)現(xiàn)原子性的數(shù)據(jù)交易方案,但由于比特幣交易中的操作碼OP_AND被禁止使用,因此方案難以部署。這種密鑰重建與自動(dòng)支付結(jié)合的系統(tǒng)雖然可以確保密鑰重建和付費(fèi)同時(shí)完成,保證任何人(包括第三方平臺(tái))只要未付費(fèi)就無(wú)法得到數(shù)據(jù)。但密鑰重建技術(shù)的使用也使得系統(tǒng)無(wú)法具備完善的問(wèn)責(zé)機(jī)制,面對(duì)惡意的購(gòu)買者無(wú)法實(shí)現(xiàn)公平的問(wèn)責(zé)。趙艷琦等提出了基于機(jī)器學(xué)習(xí)的公平的數(shù)據(jù)交易方案,方案結(jié)合抽樣技術(shù)與向量承諾,解決了數(shù)據(jù)來(lái)源可靠性問(wèn)題以及交易原子公平性問(wèn)題,但密鑰在未作任何保護(hù)措施的情況下,直接在區(qū)塊鏈環(huán)境中暴露顯然是不妥的。Hu等提出了一種差異隱私數(shù)據(jù)交易機(jī)制,通過(guò)生成一個(gè)私有的合成數(shù)據(jù)集來(lái)平衡數(shù)據(jù)的可用性和隱私性。實(shí)現(xiàn)保護(hù)隱私的同時(shí),滿足數(shù)據(jù)消費(fèi)者對(duì)已發(fā)布數(shù)據(jù)集的實(shí)際使用需求。黃小紅等基于多目標(biāo)協(xié)作式帶精英策略的非支配排序的遺傳算法(non-dominated sorting genetic algorithm, NSGAII)提出了一種基于聯(lián)盟區(qū)塊鏈的分布式數(shù)據(jù)交易模型,該模型在用戶效用方面取得較好的性能。這類基于區(qū)塊鏈實(shí)現(xiàn)的去中心化協(xié)議雖然讓用戶能在不信任的情況下進(jìn)行交易,但對(duì)于交易結(jié)束后的糾紛問(wèn)題卻無(wú)能為力。而由第三方平臺(tái)管理的交易卻能夠高效解決用戶糾紛。因此,只有將兩種方式結(jié)合起來(lái),揚(yáng)長(zhǎng)避短,才能夠讓用戶在公平的環(huán)境中安全地共享數(shù)據(jù)。
在本節(jié)中,首先介紹了構(gòu)造方案的基礎(chǔ)離散對(duì)數(shù)困難問(wèn)題以及雙線性映射的定義。其次介紹了數(shù)據(jù)審計(jì)技術(shù)的功能,它能夠檢測(cè)數(shù)據(jù)在共享過(guò)程中的完整性,為方案支持?jǐn)?shù)據(jù)完整性驗(yàn)證提供了技術(shù)支持。最后介紹自認(rèn)證公鑰密碼技術(shù)的應(yīng)用以及特性,該技術(shù)為方案削弱第三方權(quán)利、解決單點(diǎn)故障問(wèn)題提供了解決方案。
離散對(duì)數(shù)(discrete logarithm, DL)問(wèn)題。設(shè)是一個(gè)階為大素?cái)?shù)的乘法循環(huán)群,(,)∈,其中是乘法循環(huán)群的生成元,對(duì)?∈,計(jì)算。
雙線性映射。假設(shè),是兩個(gè)階為大素?cái)?shù)的乘法循環(huán)群,,為的兩個(gè)生成元,是×→的一個(gè)映射,稱滿足下列3個(gè)性質(zhì)的為雙線性映射。
(2) 非退化性:(,)≠1。
(3) 可計(jì)算性:對(duì)?,∈,存在一個(gè)有效算法計(jì)算(,)。
2007年,Ateniese首次提出可證明數(shù)據(jù)擁有的PDP方案,將同態(tài)可驗(yàn)證標(biāo)簽(homomorphic verifiable tags,HVTs)技術(shù)與隨機(jī)抽樣技術(shù)結(jié)合,為被挑戰(zhàn)的數(shù)據(jù)塊生成聚合簽名作為數(shù)據(jù)完整性的證明,由審計(jì)者驗(yàn)證該證明的正確性來(lái)概率性評(píng)估存儲(chǔ)在云上數(shù)據(jù)的完整性。這項(xiàng)技術(shù)對(duì)于失去數(shù)據(jù)物理控制權(quán)的用戶來(lái)說(shuō),是限制云存儲(chǔ)服務(wù)提供商惡意刪除數(shù)據(jù)、破壞數(shù)據(jù)的必要技術(shù)。本文基于HVTs的可聚合性也為數(shù)據(jù)生成完整性證明標(biāo)簽,通過(guò)驗(yàn)證聚合標(biāo)簽的正確性來(lái)檢測(cè)交易數(shù)據(jù)的完整性。
自認(rèn)證公鑰密碼(self-certified public keys,SCPK)技術(shù)是基于身份的密碼系統(tǒng),能有效減輕傳統(tǒng)證書管理的負(fù)擔(dān)。該技術(shù)生成的私鑰由用戶自己選擇,除用戶外,其他人甚至注冊(cè)中心均無(wú)法計(jì)算用戶的私鑰,而其他用戶可以通過(guò)該用戶提供的簽名來(lái)計(jì)算用戶的公鑰,這樣一來(lái)即使注冊(cè)中心泄露了用戶的信息,用戶的私鑰依舊是安全的。
本節(jié)介紹支持?jǐn)?shù)據(jù)完整性驗(yàn)證的可問(wèn)責(zé)數(shù)據(jù)交易方案的系統(tǒng)模型、系統(tǒng)安全目標(biāo)以及支持?jǐn)?shù)據(jù)完整性驗(yàn)證的可問(wèn)責(zé)數(shù)據(jù)交易方案的具體構(gòu)造。
如圖1所示,數(shù)據(jù)交易方案系統(tǒng)中包含3個(gè)實(shí)體,包括市場(chǎng)管理者(manager,M)、數(shù)據(jù)銷售者(data seller,DS)、數(shù)據(jù)購(gòu)買者(data buyer,DB)。
M:M的主要職責(zé)是維護(hù)整個(gè)系統(tǒng)的正常運(yùn)行。采用SCPK為用戶注冊(cè),維護(hù)用戶密鑰信息列表(identity key list,IKL),并在問(wèn)責(zé)階段處理用戶爭(zhēng)議,通過(guò)查詢IKL揭露惡意用戶身份。
DS:DS擁有數(shù)據(jù),通過(guò)出售數(shù)據(jù)獲利,使用數(shù)據(jù)購(gòu)買者選定的密鑰加密數(shù)據(jù),為數(shù)據(jù)生成數(shù)據(jù)完整性證明,觸發(fā)智能合約獲取付費(fèi)。
圖1 系統(tǒng)模型Fig.1 System model
DB:DB通過(guò)機(jī)器學(xué)習(xí)來(lái)決定是否購(gòu)買數(shù)據(jù)。它與DS交互,并部署智能合約,對(duì)滿足需求的數(shù)據(jù)進(jìn)行付費(fèi)。
可靠的數(shù)據(jù)交易方案應(yīng)具備以下安全要求:
(1) 完備性:如果方案正確運(yùn)行且交易雙方誠(chéng)實(shí)執(zhí)行,那么DS能獲得酬金,DB能得到正確的數(shù)據(jù)。
(2) 機(jī)密性:未進(jìn)行付費(fèi)的DB無(wú)法獲得有效數(shù)據(jù)。
(3) 公平性:交易結(jié)束之后,要么DB獲得有效數(shù)據(jù),DS獲得酬金;要么任何一方都得不到任何有利的東西。
(4) 可問(wèn)責(zé)性:對(duì)于不誠(chéng)實(shí)的用戶,M可以揭露其身份并沒收其押金。
在系統(tǒng)初始化階段,初始化系統(tǒng)參數(shù)PP。在用戶注冊(cè)階段,DS與DB在M處進(jìn)行注冊(cè),獲得假名以及相應(yīng)的公私鑰對(duì){ID,,PK}, {ID,,PK},M維護(hù)用戶身份信息登記表IKL列表。DS與DB分別使用對(duì)方的公鑰以及自己的私鑰生成會(huì)話密鑰用于加密消息。DS將數(shù)據(jù)分塊并加密,并將加密文件發(fā)送給DB,將簽名信息{,,}發(fā)送到區(qū)塊鏈。在查詢階段,DB對(duì)加密文件進(jìn)行抽樣,DS生成相關(guān)證明{,}∈發(fā)送給DB。DB得到相應(yīng)數(shù)據(jù)塊后采用相似性學(xué)習(xí)來(lái)決定是否購(gòu)買數(shù)據(jù)。在支付階段,DB將生成的密鑰發(fā)送給DS并發(fā)表智能合約到區(qū)塊鏈。DS用{}∈加密數(shù)據(jù)后,上傳數(shù)據(jù)完整性證明{{}∈,} 以調(diào)用智能合約獲得付費(fèi),DB解密{}∈得到數(shù)據(jù)。在問(wèn)責(zé)階段,未獲得正確數(shù)據(jù)的DB可上傳{}∈向M上訴。由M組織維權(quán)辯論,對(duì)于惡意的用戶,M可通過(guò)查詢IKL揭露其身份并將其押金的一部分作為補(bǔ)償交給交易另一方(見圖2),具體方案如下。
圖2 交易流程Fig.2 Transaction process
331 系統(tǒng)初始化階段
332 用戶注冊(cè)階段
=·H(ID||)+
(1)
(2) DS和DB分別采用上述SCPK進(jìn)行身份注冊(cè),其中DS擁有假名ID和公私鑰對(duì)(,PK=),相應(yīng)地,DB擁有假名ID和公私鑰對(duì)(,PK=)。DS用DB的公鑰和自己的私鑰計(jì)算會(huì)話密鑰=(PK),DB用DS的公鑰和自己的私鑰計(jì)算會(huì)話密鑰=(PK)。則
=(PK)=()=()=(PK)=
DB與DS的交互均通過(guò)該會(huì)話密鑰對(duì)稱加密后進(jìn)行傳輸以確保通信安全,而其他人沒有會(huì)話密鑰無(wú)法解密獲得消息,后續(xù)描述交互消息均為用會(huì)話密鑰加密后再進(jìn)行傳輸,收到信息后采用會(huì)話密鑰解密即可獲得。
(2)
(3)
DS將簽名文件{,,}發(fā)送到區(qū)塊鏈。
333 查詢階段
334 支付階段
(3) 當(dāng)DS收到{}∈后,首先使用驗(yàn)證{}∈的正確性,即驗(yàn)證等式:
(4)
(4) DS通過(guò)上傳數(shù)據(jù)完整性證明運(yùn)行智能合約。如果數(shù)據(jù)完整性證明驗(yàn)證通過(guò),則DS能得到酬金,而DB能使用{}∈解密{}∈得到原始數(shù)據(jù)。否則,他們兩者都得不到任何有利的東西。
Transfer算法
輸入:數(shù)據(jù)完整性證明{{}∈,},簽名文件{,,}, 轉(zhuǎn)化值, DS公鑰PK,公鑰PK, 當(dāng)前時(shí)間;
輸出:result。
① if<
③ transfer $ to PK;
④ end if
⑤ else
⑥ withdraw $ to PK;
⑦ end if
3.3.5 問(wèn)責(zé)階段
如果DB解密的數(shù)據(jù)中包含無(wú)效數(shù)據(jù)塊,它將向M申述,并揭露{}∈。所有人使用和DB的公鑰PK驗(yàn)證DB提供的{}∈的正確性,即驗(yàn)證
(5)
驗(yàn)證過(guò)程如下:
驗(yàn)證通過(guò)后,M和DS使用{}∈解密DS提供的加密數(shù)據(jù){}∈得到數(shù)據(jù),確認(rèn)數(shù)據(jù)中是否含有無(wú)效數(shù)據(jù)。如果包含無(wú)效數(shù)據(jù),M將從IKL中找到DS的身份信息,揭露DS的身份并將其押金交給DB。
3.3.6 正確性分析
完備性。支持?jǐn)?shù)據(jù)完整性驗(yàn)證的可問(wèn)責(zé)數(shù)據(jù)交易方案滿足完備性。
DS與DB誠(chéng)實(shí)地執(zhí)行本文所提數(shù)據(jù)交易方案,初始化系統(tǒng)參數(shù),DB部署智能合約,DS上傳用DB選擇的私鑰加密的數(shù)據(jù)密文,智能合約驗(yàn)證數(shù)據(jù)的完整性后轉(zhuǎn)賬至DS持有的公鑰地址,同時(shí)DB獲得使用自己選擇的密鑰加密的數(shù)據(jù)密文,對(duì)密文進(jìn)行解密,獲得數(shù)據(jù)。
證畢
公平性。支持?jǐn)?shù)據(jù)完整性驗(yàn)證的可問(wèn)責(zé)數(shù)據(jù)交易方案滿足公平性。
下面分兩種情況進(jìn)行討論:
(1) DS是惡意的,DB是誠(chéng)實(shí)的。假設(shè)存在惡意的DS,它能夠?yàn)殄e(cuò)誤的數(shù)據(jù)塊偽造數(shù)據(jù)完整性證明以通過(guò)智能合約的驗(yàn)證獲得報(bào)酬,則一定能夠以不可忽略的優(yōu)勢(shì)解決DL問(wèn)題。
通過(guò)構(gòu)造一個(gè)挑戰(zhàn)者與敵手之間的游戲來(lái)證明。
(6)
Δ =()Δ =Δ ·Δ =1
(7)
根據(jù)=,則
(8)
因?yàn)棣ぁ?,故Pr[Δ=0]=1。因此該方案能以1-1的概率解決離散對(duì)數(shù)問(wèn)題。由于是非常大的,所以解決離散對(duì)數(shù)問(wèn)題的概率不可忽略。故基于離散對(duì)數(shù)問(wèn)題的困難性,任何惡意的DS都無(wú)法偽造數(shù)據(jù)完整性證明來(lái)通過(guò)智能合約的驗(yàn)證。
(2) DB是惡意的,DS是誠(chéng)實(shí)的。DB想在不付費(fèi)的情況下獲得全部數(shù)據(jù)。在查詢階段,DB通過(guò)部分?jǐn)?shù)據(jù)來(lái)決策是否購(gòu)買數(shù)據(jù),但這部分?jǐn)?shù)據(jù)是通過(guò)數(shù)據(jù)進(jìn)行隨機(jī)抽樣獲得的,僅代表數(shù)據(jù)的局部特征,對(duì)DB來(lái)說(shuō)是無(wú)價(jià)值的。如果DB不部署智能合約,則DB只能得到DS加密的數(shù)據(jù)密文,無(wú)法解密得到數(shù)據(jù),因此DB不進(jìn)行支付是無(wú)法得到數(shù)據(jù)的。
(3) DS與DB均為惡意的。雙方根據(jù)方案執(zhí)行,DB部署錯(cuò)誤的智能合約,讓DS無(wú)法通過(guò)智能合約的驗(yàn)證,它也無(wú)法獲得正確的數(shù)據(jù)。而DS不發(fā)送或發(fā)送錯(cuò)誤的數(shù)據(jù)完整性證明都無(wú)法通過(guò)智能合約的驗(yàn)證獲得轉(zhuǎn)賬。因此,惡意的雙方均無(wú)法獲得更多有益的信息。且理性的交易用戶會(huì)誠(chéng)實(shí)有效地執(zhí)行方案,避免浪費(fèi)自身資源,因此本文所提方案滿足公平性。
證畢
機(jī)密性。任何DB都不能在未進(jìn)行支付的情況下得到數(shù)據(jù)。
DS需要上傳數(shù)據(jù)完整性證明運(yùn)行智能合約,所以DB的惡意行為主要有兩種:
(1) DB在智能合約運(yùn)行前就得到了數(shù)據(jù)。如果DB想在支付階段之前獲得數(shù)據(jù),就只能通過(guò)計(jì)算出{}∈解密數(shù)據(jù),但基于離散對(duì)數(shù)問(wèn)題的困難性,這是非常困難的。
因此,方案能確保對(duì)任何DB,如果不進(jìn)行支付就無(wú)法得到數(shù)據(jù)。
證畢
本節(jié)對(duì)方案的功能和效率進(jìn)行評(píng)估,實(shí)驗(yàn)對(duì)比表明,本文方案能夠以理想的效率實(shí)現(xiàn)安全高效的數(shù)據(jù)交易。
表1顯示了本文方案與其他相關(guān)文獻(xiàn)之間的功能比較。觀察比較發(fā)現(xiàn),本文設(shè)計(jì)的數(shù)據(jù)交易方案能實(shí)現(xiàn)交易的原子性、隱私保護(hù)、可問(wèn)責(zé)性,這比其他方案在功能上更健全,并且能抵抗合謀攻擊。表中“√”代表滿足;“×”代表不滿足;“—”代表不涉及。
表1 功能性對(duì)比Table 1 Functional comparison
在CPU為Intel core i5處理器,四核控制系統(tǒng)主頻為1.8 GHz(最小)至3.39 GHz(最大),8 GB運(yùn)行內(nèi)存,64 位Windows10操作系統(tǒng)下,對(duì)幾種公鑰加密算法RSA、2-key pair、切片遞歸神經(jīng)網(wǎng)絡(luò)(sliced recurrent neural network, SRNN)(見圖3)以及對(duì)稱加密算法Blowfish、高級(jí)加密標(biāo)準(zhǔn)(advanced encryption standard, AES)、DES3(見圖4),各加解密用時(shí)進(jìn)行對(duì)比。實(shí)驗(yàn)表明,公鑰加密算法的解密時(shí)間是其加密時(shí)間的兩倍以上,而對(duì)稱加密和其解密時(shí)間基本相同。其中,使用公鑰加密算法加密50 KB文件至少需要300 ms,解密至少需要2 500 ms。而使用對(duì)稱加密算法加密1 MB文件最多需要 100 ms,且解密最多需要100 ms。顯然,相比于公鑰加密算法,對(duì)稱加密算法更加高效。但對(duì)稱加密算法卻一直被其密鑰分發(fā)問(wèn)題所困擾,一旦對(duì)稱密鑰在分發(fā)給用戶的過(guò)程中泄露,則整個(gè)系統(tǒng)的安全將隨之崩潰瓦解。而公鑰加密技術(shù)卻不存在密鑰分發(fā)的問(wèn)題,因此,數(shù)據(jù)交易方案多采用公鑰加密技術(shù),通過(guò)犧牲方案的效率維護(hù)系統(tǒng)安全。而本文所提方案采用SCPK為用戶生成密鑰從產(chǎn)生密鑰的源頭解決了密鑰泄露問(wèn)題,并借助于非交互式密鑰交換技術(shù),為系統(tǒng)生成會(huì)話密鑰來(lái)加密通信消息,解決了對(duì)稱密鑰的分發(fā)問(wèn)題。因此,本文所提方案使用對(duì)稱加密算法以理想的效率維護(hù)通信安全。
圖3 公鑰加密算法用時(shí)Fig.3 Time cost of public key encryption algorithm
圖4 對(duì)稱加密算法用時(shí)Fig.4 Time cost of symmetric encryption algorithm
在CPU為高通驍龍801(主頻2.5 GHz),運(yùn)行內(nèi)存為2 GB,使用密碼學(xué)庫(kù) Miracl,選取Tate雙線性對(duì),其嵌入?yún)?shù)為=2。對(duì)本文所提方案和文獻(xiàn)[20]的各階段用時(shí)進(jìn)行對(duì)比測(cè)試。由圖5可知,本文所提方案在用戶注冊(cè)階段和查詢階段比文獻(xiàn)[20]所提方案更加高效。實(shí)際上,文獻(xiàn)[20]中的方案在注冊(cè)階段使用環(huán)簽名來(lái)保護(hù)用戶隱私,而購(gòu)買者需要在查詢階段驗(yàn)證環(huán)簽名的有效性,這會(huì)花費(fèi)大量時(shí)間。在支付階段,本文所提方案需要驗(yàn)證數(shù)據(jù)的完整性證明,而文獻(xiàn)[20]僅需驗(yàn)證DAPS簽名的有效性,本文所提方案犧牲少量時(shí)間換取對(duì)數(shù)據(jù)完整性的保障,這是文獻(xiàn)[20]無(wú)法實(shí)現(xiàn)的。
圖5 各階段用時(shí)Fig.5 Time cost in each stage
圖6描述了本文所提方案中M維護(hù)IKL需要的存儲(chǔ)開銷。假設(shè)IKL列表中的每條記錄占內(nèi)存20字節(jié),當(dāng)記錄從1條增加到10條時(shí),內(nèi)存僅從幾個(gè)字節(jié)增加到2 MB。而文獻(xiàn)[20]采用環(huán)簽名技術(shù)來(lái)實(shí)現(xiàn)隱私保護(hù)和追責(zé),不僅要消耗大量時(shí)間為環(huán)中成員生成簽名,且一旦環(huán)中某個(gè)成員撤銷或更新都將對(duì)整個(gè)系統(tǒng)的正常運(yùn)行造成影響。而在本文中,M僅需占用少量?jī)?nèi)存維護(hù)IKL,就能實(shí)現(xiàn)對(duì)用戶身份的隱私保護(hù)和對(duì)惡意用戶的高效問(wèn)責(zé)。
圖6 IKL存儲(chǔ)開銷Fig.6 Storage overhead of IKL
本文提出了一種基于完整性驗(yàn)證的數(shù)據(jù)交易方案。該方案將數(shù)據(jù)審計(jì)與智能合約結(jié)合解決了線上交易固有的不信任問(wèn)題,不僅可以抵抗合謀攻擊還能保證數(shù)據(jù)的完整性。并設(shè)計(jì)了問(wèn)責(zé)機(jī)制,對(duì)不誠(chéng)實(shí)的用戶進(jìn)行問(wèn)責(zé),同時(shí)該方案還保護(hù)了身份隱私、數(shù)據(jù)隱私。實(shí)驗(yàn)結(jié)果表明文中提出的數(shù)據(jù)交易方案更加安全高效。