国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

可控、可追責的敏感數(shù)據(jù)共享方案

2022-12-16 02:41:58張正昊張振江
計算機研究與發(fā)展 2022年12期
關(guān)鍵詞:累加器訪問控制密鑰

張正昊 李 勇 張振江

(北京交通大學電子信息工程學院 北京 100044)(19120172@bjtu.edu.cn)

在當今大數(shù)據(jù)時代,人們的日常生活中會產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)代表著一個人的日常習慣、行為動態(tài)、生活軌跡等,是極其重要的隱私數(shù)據(jù).數(shù)據(jù)產(chǎn)生的源頭可能多種多樣,不同的公司、企業(yè)、部門之間都持有用戶數(shù)據(jù).在大數(shù)據(jù)背景下,這些蘊涵著巨大價值的數(shù)據(jù)必然走向共享、開放[1],即數(shù)據(jù)只有流動起來才能發(fā)揮其最大效能,進一步挖掘出數(shù)據(jù)背后的隱藏信息,為企業(yè)和個人提供更好的服務質(zhì)量[2-3].如果不同數(shù)據(jù)只存放于獨立的機構(gòu)內(nèi)部,就會形成“數(shù)據(jù)孤島”,數(shù)據(jù)得不到充分利用,造成數(shù)據(jù)浪費.

然而,數(shù)據(jù)共享過程中存在的突出問題是,數(shù)據(jù)擁有方往往難以控制數(shù)據(jù)的流向,數(shù)據(jù)是否能得到合法使用也難以保證.例如2020年11月,國內(nèi)某快遞公司的40余萬條客戶個人信息被內(nèi)部用戶獲取之后倒賣,被泄露的信息包括客戶的收發(fā)件地址、姓名、電話等,這是一起嚴重的數(shù)據(jù)泄露事件.因此有必要研究隱私數(shù)據(jù)在各方之間共享時的安全性,實現(xiàn)數(shù)據(jù)的可控共享.另外,許多信息泄露事件都是內(nèi)部人員所為,因此數(shù)據(jù)共享也需要設置監(jiān)管方對數(shù)據(jù)共享進行監(jiān)管,確保所有的數(shù)據(jù)獲取請求和數(shù)據(jù)響應合規(guī)合法,最大程度避免數(shù)據(jù)泄露情況的發(fā)生.

1 相關(guān)工作

針對敏感數(shù)據(jù)共享過程中的痛點和難點,文獻[4]基于大數(shù)據(jù)平臺提出了一種安全的敏感數(shù)據(jù)共享框架.該框架從平臺中數(shù)據(jù)的生命周期出發(fā),分別從數(shù)據(jù)提交、存儲、使用和銷毀4個方面考慮數(shù)據(jù)的安全共享問題.文獻[4]的作者設計了一種異構(gòu)代理重加密方案,支持從身份基加密[5]到公鑰加密[6]之間的轉(zhuǎn)換.另外為了避免隱私信息的泄露,數(shù)據(jù)請求者將在基于虛擬機監(jiān)視器(virtual machine monitor, VMM)[7]的私有進程中對數(shù)據(jù)進行下載操作,所有的密鑰將保存在私有進程的內(nèi)存中.框架為所有隱私數(shù)據(jù)設置了一種基于租約的機制,在租約到期后,明文和密鑰將從云中徹底銷毀.但是該框架對請求者的隱私問題考慮不充分,任何發(fā)生在平臺上的數(shù)據(jù)共享行為都會被無關(guān)第三方得知,并且其訪問控制功能的實現(xiàn)主要依賴于數(shù)據(jù)擁有方是否為請求方生成了重加密密鑰,對數(shù)據(jù)請求方的權(quán)限控制相對較弱.

2008年,Nakamoto[8]提出比特幣概念,區(qū)塊鏈開始引起關(guān)注.由于區(qū)塊鏈具有分布式、防篡改等特性,一些學者開始使用區(qū)塊鏈進行訪問控制,以設計可控的敏感數(shù)據(jù)共享方案.文獻[9]針對云環(huán)境下的電子病歷共享場景,設計了一個輕量可擴展的聯(lián)盟鏈,所有的用戶實體都將經(jīng)過授權(quán)之后才能進入共享系統(tǒng),并且所有的共享行為都會被實時記錄.該方案利用區(qū)塊鏈分布式與防篡改等特性,構(gòu)造了比較強的訪問控制方案.文獻[10]研究了醫(yī)療數(shù)據(jù)在無信任環(huán)境下的數(shù)據(jù)共享問題,基于區(qū)塊鏈技術(shù)提出了醫(yī)療數(shù)據(jù)管理系統(tǒng)MeDShare.在該系統(tǒng)內(nèi),對數(shù)據(jù)的操作行為都將以防篡改的方式記錄下來,并且通過訪問控制機制進行用戶權(quán)限的管理.但是其訪問控制通過訪問控制表實現(xiàn),驗證用戶權(quán)限時開銷比較大.文獻[11]基于聯(lián)盟鏈并使用可搜索加密技術(shù)[12]和秘密分享技術(shù)[13],設計了一個基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)共享方案.在該方案中,希望得到共享數(shù)據(jù)的多個用戶將獲得搜索憑證的密鑰份額,并提供給聯(lián)盟鏈進行驗證,驗證通過后會得到搜索憑證,進而向數(shù)據(jù)服務器請求相應的密文,密文會被提交給智能合約進行解密,從而得到數(shù)據(jù)明文.此方案考慮到了云存儲服務器并非完全可信的問題,并使用秘密分享技術(shù)來支持多個用戶的共享,但該方案的交互過程相對復雜,聯(lián)盟鏈、云服務器、數(shù)據(jù)擁有方和請求方之間都有交互,系統(tǒng)耦合性比較高.

隨著使用區(qū)塊鏈進行訪問控制的相關(guān)研究不斷深入,學者們開始注意到數(shù)據(jù)共享過程中的監(jiān)管問題.文獻[14]使用代理重加密技術(shù)[15]進行數(shù)據(jù)共享,同時保證數(shù)據(jù)擁有方對數(shù)據(jù)有一定程度的可控性.當用戶有下載文件的權(quán)限時,第三方代理就會將數(shù)據(jù)密文和密鑰的重加密密文發(fā)給用戶,用戶用自己的私鑰解密出密鑰,從而獲得數(shù)據(jù)明文.該方案使用區(qū)塊鏈對用戶權(quán)限進行驗證,并且記錄請求內(nèi)容,實現(xiàn)一定程度的監(jiān)管性.文獻[16]從時間維度的訪問控制出發(fā),結(jié)合屬性基加密[17]和區(qū)塊鏈,設計了醫(yī)療數(shù)據(jù)的共享方案.數(shù)據(jù)擁有方在給其他用戶授權(quán)時,會部署一個限時智能合約,只有用戶同時滿足訪問控制結(jié)構(gòu)和時間范圍才能獲得數(shù)據(jù).該方案雖然設置了監(jiān)管中心對用戶的身份進行管理,但是監(jiān)管中心無法監(jiān)管共享請求,也不知道是否有非法共享行為發(fā)生.另外,從時間維度對數(shù)據(jù)共享進行限制的靈活性不高,只要用戶符合訪問控制結(jié)構(gòu),那么在相應的時間段內(nèi)用戶可以隨意獲得數(shù)據(jù),擁有方無法撤回授權(quán).

從上述分析中可知,敏感數(shù)據(jù)共享過程仍存在待解決的問題:1)數(shù)據(jù)擁有方無法靈活地進行權(quán)限更新和撤銷.2)數(shù)據(jù)共享本身缺乏監(jiān)管性,有方案確實設置了監(jiān)管中心,但監(jiān)管性比較弱.鑒于敏感數(shù)據(jù)的重要性,必須有一個強監(jiān)管方來保證數(shù)據(jù)共享過程的合法合規(guī).3)共享過程中的用戶身份隱私問題也需要考慮,共享本身是雙方之間的交互過程,不相關(guān)的第三方不能獲取到參與方的身份信息.針對這3個問題,本文以區(qū)塊鏈技術(shù)為背景,提出了一個可控、可追責的敏感數(shù)據(jù)共享方案,旨在提高數(shù)據(jù)共享的隱私性、可控性和可監(jiān)管性.該方案可以確保數(shù)據(jù)擁有方對數(shù)據(jù)的控制權(quán),設置監(jiān)管方以監(jiān)督共享全過程,避免非法行為的出現(xiàn).并且數(shù)據(jù)共享的行為將記錄在區(qū)塊鏈上,利用區(qū)塊鏈不可篡改等特性,監(jiān)管方可以追溯數(shù)據(jù)的使用過程,在非法行為出現(xiàn)時找到相關(guān)參與方進行問責.引入強指定驗證者簽名技術(shù),保護了數(shù)據(jù)請求方的身份隱私.在訪問控制方面使用動態(tài)累加器,使得數(shù)據(jù)擁有方可以靈活地對授權(quán)用戶進行管理,包括權(quán)限的更新和撤銷等,增強了擁有方對自己數(shù)據(jù)的可控程度.

2 相關(guān)假設

2.1 強RSA假設

設n=pq為RSA模,c∈強RSA假設是指在不知道n的分解的前提下,計算a,b∈使得ab=cmodn是困難的.

2.2 離散對數(shù)(discrete logarithm, DL)假設

2.3 計算性Diffie-Hellman(computational Diffie-Hellman, CDH)假設

給定生成元為g的q階循環(huán)群,對于x,y∈R已知(g,gx,gy),CDH假設是指對于任何運行在多項式時間t內(nèi)的算法A,正確計算gxy的概率是可以忽略的.

2.4 判定性Diffie-Hellman(decisional Diffie-Hellman, DDH)假設[18]

給定生成元為g的q階循環(huán)群,對于x,y,z∈R已知(g,gx,gy,gz),DDH假設是指對于任何運行在多項式時間t內(nèi)的算法A,正確判斷是否有z=xymodq成立的概率是可以忽略的.

2.5 間隙性Diffie-Hellman(gap Diffie-Hellman, GDH)假設[19]

給定生成元為g的q階循環(huán)群,對于x,y∈R已知(g,gx,gy),GDH假設是指借助于DDH預言機的前提下,對于任何運行在多項式時間t內(nèi)的算法A,正確計算gxy的概率是可以忽略的.

3 方案定義

本文方案包含的算法有10個:

1)Setup(1k)→params為系統(tǒng)初始化算法.以安全性參數(shù)1k為輸入,輸出公共參數(shù)params.

2)KeyGen(params)→(skA,pkA,skB,pkB,skR,pkR)為密鑰生成算法.輸入公共參數(shù)params,輸出數(shù)據(jù)擁有方密鑰對(skA,pkA)、數(shù)據(jù)請求方密鑰對(skB,pkB)和監(jiān)管方密鑰對(skR,pkR).

3)AccInit(params)→(Acc,C)為累加器初始化算法,由數(shù)據(jù)擁有方執(zhí)行.為屬于自己的數(shù)據(jù)設置一個訪問控制結(jié)構(gòu),輸出累加器Acc和授權(quán)集合C.

4)ShareRequest(params,skB,pkB,pkA)→reqShare為共享請求算法,由數(shù)據(jù)請求方執(zhí)行.輸入公共參數(shù)params、數(shù)據(jù)請求方的密鑰對(skB,pkB)和數(shù)據(jù)擁有方的公鑰pkA,輸出共享請求reqShare.

5)Authorization(params,skA,reqShare,Acc,C)→(0|witnessB,witness)為授權(quán)算法,由數(shù)據(jù)擁有方執(zhí)行.輸入公共參數(shù)params、數(shù)據(jù)擁有方的私鑰skA、共享請求reqShare、當前累加器Acc和授權(quán)集合C,數(shù)據(jù)擁有方根據(jù)共享請求判斷是否授權(quán),如果不授權(quán)則輸出0,如果授權(quán)則輸出數(shù)據(jù)請求方證據(jù)witnessB和其他授權(quán)用戶的新證據(jù)witness.

6)RegulateRequest(params,msg,pkA,skB,pkB,pkR,witnessB)→reqRegulate為監(jiān)管請求算法,由數(shù)據(jù)請求方執(zhí)行.輸入公共參數(shù)params、數(shù)據(jù)擁有方公鑰pkA、請求方自己的密鑰對skB,pkB、監(jiān)管方公鑰pkR、請求內(nèi)容msg和授權(quán)憑證witnessB,請求方為監(jiān)管方生成一個強指定驗證者簽名,并附帶其他附加信息后輸出reqRegulate.

7)RegulateVerify(params,pkB,skR,pkR,reqRegulate)→(0|σR)為監(jiān)管驗證算法,由監(jiān)管方執(zhí)行.輸入公共參數(shù)params、請求方公鑰pkB、監(jiān)管請求和監(jiān)管方密鑰對skR,pkR,監(jiān)管方驗證信息的正確性和合法性,如果認為該請求不合法,則輸出0,如果認為請求可以執(zhí)行,則輸出簽名σR,并將請求上傳到區(qū)塊鏈中.

8)DataResponse(params,pkB,pkR,σR,wB,msg)→(0|resData)為數(shù)據(jù)響應算法,由數(shù)據(jù)服務器執(zhí)行.輸入公共參數(shù)params、數(shù)據(jù)請求方發(fā)來的信息pkB,σR,wB和監(jiān)管方公鑰pkR,數(shù)據(jù)服務器驗證所有憑證是否成立,如果驗證通過,則返回響應的數(shù)據(jù),輸出resData,并將響應信息上傳到區(qū)塊鏈,否則輸出0.

9)Revoke(params,Acc,C)→(Accnew,witness)為權(quán)限撤銷算法,由數(shù)據(jù)擁有方執(zhí)行.輸入公共參數(shù)params和當前累加器Acc,數(shù)據(jù)擁有方對在權(quán)限集合C中的某個用戶進行權(quán)限撤銷,輸出新累加器Accnew和其他還存在于授權(quán)集合中的用戶的證據(jù)witness.

10)RegulateSim(params,pkB,skR,pkR,reqRegulate)→σSim為副本模擬算法,由監(jiān)管方在有需要時執(zhí)行.為了保護數(shù)據(jù)請求方的隱私,輸入公共參數(shù)params、請求方公鑰pkB、監(jiān)管請求reqRegulate和監(jiān)管方密鑰對skR,pkR,輸出簽名副本σSim.

4 安全模型

在本文方案中,安全性需求描述為4方面:

1) 數(shù)據(jù)擁有方可以控制自己數(shù)據(jù)的流向,即可以靈活地將數(shù)據(jù)訪問權(quán)限授權(quán)給其他用戶,也可以撤銷對某個用戶的授權(quán);

2) 數(shù)據(jù)請求方在獲得數(shù)據(jù)擁有方的授權(quán)之后,需要進一步獲得監(jiān)管方的授權(quán),在與監(jiān)管方通信的過程中,數(shù)據(jù)請求方的隱私得到保護;

3) 監(jiān)管方可以對數(shù)據(jù)的請求、響應進行全流程的把控,一旦發(fā)現(xiàn)非法行為的出現(xiàn),監(jiān)管方將追蹤到相應的共享參與方;

4) 在數(shù)據(jù)請求方與監(jiān)管方交互的過程中,監(jiān)管方不能破壞請求方的隱私,也不能冒充數(shù)據(jù)請求方,向數(shù)據(jù)擁有方非法請求數(shù)據(jù).

本文假設數(shù)據(jù)服務器是可信的,且各參與方之間與數(shù)據(jù)服務器之間的信道是安全的.下面給出本文方案的安全性定義.

定義1.數(shù)據(jù)請求方匿名性.對于一個挑戰(zhàn)者C和敵手D之間的游戲Gameanony,如果不存在任何概率多項式時間敵手能以不可忽略的優(yōu)勢贏得該游戲,則該方案具有數(shù)據(jù)請求方匿名性.Gameanony定義為:

1) 對于簽名者S0,S1和驗證者V,挑戰(zhàn)者C為其生成密鑰對——(skS0,pkS0),(skS1,pkS1),(skV,pkV),并將公鑰(pkS0,pkS1,pkV)發(fā)送給敵手D.

2) 敵手D在多項式時間內(nèi)向下列預言機發(fā)出查詢.

Osign.輸入待簽名消息M,pkSd(d∈{0,1}),pkV,輸出對消息M的簽名σ.

Osim.輸入待簽名消息M,pkSd(d∈{0,1}),pkV,輸出對消息M的簽名σ.

Over.輸入待簽名消息M,σ,pkSd(d∈{0,1}),pkV,當σ有效時輸出1,否則輸出0.

3) 敵手D輸出消息M*,挑戰(zhàn)者C拋出硬幣選擇一個b∈{0,1},運行指定驗證者簽名算法輸出σ*=Sign(skSb,pkSb,pkV,M*),將σ*發(fā)送給敵手D.

4) 敵手D向Osign和Osim發(fā)出如步驟2)中的查詢,然后輸出b′,當b′=b時,敵手D贏得這個游戲.

定義2.數(shù)據(jù)擁有方可控性.如果滿足以下條件,則數(shù)據(jù)擁有方可以控制自己數(shù)據(jù)的流向,即方案具備可控性:

Pr[Setup(1k)→params,KeyGen(params)→
(skA,pkA,skB,pkB,skR,pkR),
AccInit(params)→(Acc,C),
ShareRequest(params,skB,pkB,pkA)→
reqShare:Authorization(params,skA,
reqShare,Acc,C)→0]≥1-v(λ),

或者

Pr[Setup(1k)→params,KeyGen(params)→
(skA,pkA,skB,pkB,skR,pkR),
AccInit(params)→(Acc,C),
ShareRequest(params,skB,pkB,pkA)→reqShare:
Authorization(params,skA,reqShare,Acc,C)→
(witnessB,witness)]≥1-v(λ),

其中,v(λ)為可忽略函數(shù),即數(shù)據(jù)擁有方不給數(shù)據(jù)請求方授權(quán)的概率接近于1,或數(shù)據(jù)擁有方向數(shù)據(jù)請求方授權(quán),并為其他授權(quán)用戶更新憑證的概率接近于1.

定義3.可監(jiān)管性.如果滿足以下條件,則監(jiān)管方可以審核系統(tǒng)中的共享請求和響應,即方案具有可監(jiān)管性:

Pr[Setup(1k)→params,KeyGen(params)→
(skA,pkA,skB,pkB,skR,pkR),
AccInit(params)→(Acc,C),
ShareRequest(params,skB,pkB,pkA)→reqShare,
Authorization(params,skA,reqShare,Acc,C)→
(witnessB,witness),RegulateRequest(params,
msg,pkA,skB,pkB,pkR,witnessB)→reqRegulate:
RegulateVerify(params,pkB,skR,
pkR,reqRegulate)→0]≥1-v(λ),

或者

Pr[Setup(1k)→params,KeyGen(params)→
(skA,pkA,skB,pkB,skR,pkR),
AccInit(params)→(Acc,C),
ShareRequest(params,skB,pkB,pkA)→
reqShare,Authorization(params,skA,
reqShare,Acc,C)→(witnessB,witness),
RegulateRequest(params,msg,
pkA,skB,pkB,pkR,witnessB)→reqRegulate:
RegulateVerify(params,pkB,skR,
pkR,reqRegulate)→σR]≥1-v(λ),

其中,v(λ)為可忽略函數(shù),即當數(shù)據(jù)請求方的請求有問題時,監(jiān)管方否定該請求的概率接近于1,或者當數(shù)據(jù)請求方的請求正確時,監(jiān)管方同意該請求并生成監(jiān)管憑證的概率接近于1.

5 方案構(gòu)造

通過引入動態(tài)累加器方案和強指定驗證者簽名方案,基于區(qū)塊鏈技術(shù)設計了一種適用于敏感數(shù)據(jù)共享的方案.在該方案中,各數(shù)據(jù)共享方擁有對自己數(shù)據(jù)的控制權(quán),在將數(shù)據(jù)上傳時就設置好訪問控制結(jié)構(gòu),只有滿足訪問控制結(jié)構(gòu)的數(shù)據(jù)請求方才有機會獲得數(shù)據(jù).監(jiān)管方負責驗證每一次數(shù)據(jù)的請求過程,數(shù)據(jù)的請求和響應情況將被上傳到區(qū)塊鏈中,這些記錄只有監(jiān)管方可以讀取,并且由于區(qū)塊鏈具有不可篡改等特性,監(jiān)管方可以在出現(xiàn)非法行為時追溯數(shù)據(jù)的共享全過程,定位相關(guān)責任方,進而采取必要措施.

在本節(jié)中,假設有2個參與方A和B,A將數(shù)據(jù)上傳到數(shù)據(jù)服務器中,B請求獲得A的某些數(shù)據(jù),共享流程如圖1所示.其中,本文假設數(shù)據(jù)服務器與各參與方之間的信道是安全可信的,其余信道不可靠,需要借助如SSL/TLS等技術(shù)進行傳輸.本文方案約定Encpk(m)=c,Decsk(c)=m為非對稱加/解密算法,Sigsk(m)=σ,Verpk(σ)=0或1為數(shù)字簽名和簽名驗證算法,具體計算過程不再贅述.方案構(gòu)造9個算法:

Fig. 1 Data requester B requests shared from data owner A圖1 數(shù)據(jù)請求方B向數(shù)據(jù)擁有方A請求共享數(shù)據(jù)

1)Setup(1k)→params.輸入安全參數(shù)1k,得到一個長度為k的隨機數(shù)N,使得N=pq,其中p=2p′+1,q=2q′+1,p和q的長度相等,并且p,q,p′,q′都是素數(shù),從N的二次剩余循環(huán)群QRN中選擇一個隨機數(shù)u.接著選取一個乘法群,階為m,生成元為g,H:{0,1}×3→m為一個抗碰撞的Hash函數(shù).輸出公共參數(shù)params=(N,u,,m,g,H).

2)KeyGen(params)→(skA,pkA,skB,skR,pkR).參與數(shù)據(jù)共享的雙方A和B各自生成一個隨機數(shù)x1,x2∈m,令skA=x1,skB=x2,pkA=gskAmodm,pkB=gskBmodm,A的密鑰對為(skA,pkA),B的密鑰對為(skB,pkB).監(jiān)管方R選取隨機數(shù)x∈m,監(jiān)管私鑰skR=x,pkR=gskRmodm,得到監(jiān)管密鑰對(skR,pkR).A,B,R分別保管各自的私鑰,并公開公鑰.

3)AccInit(params)→(Acc,C).A在本地維護一個授權(quán)集合C={c1,c2,…,cn},其中{c1,c2,…,cn}為n個授權(quán)用戶的公鑰,計算累加器Acc=uc1c2…cnmodN,輸出Acc.

4)ShareRequest(params,skB,pkB,pkA)→reqShare.設B想要獲取的內(nèi)容為msg,當前系統(tǒng)時間為T,計算r1=EncpkA(pkB,msg,T),r2=SigskB(pkB,msg,T),輸出共享請求reqShare={r1,r2}發(fā)送給A.

6)RegulateRequest(params,msg,pkA,skB,pkB,pkR,witnessB)→reqRegulate.B收到witnessB后,計算DecskB(EncpkB(wB)),VerpkA(SigskA(wB))驗證簽名的正確性.若驗證失敗,則算法終止,回到ShareRequest;若驗證成功,則生成強指定驗證者簽名(strong designated verifier signature, SDVS)[20].為了避免惡意監(jiān)管方收到wB后,冒充數(shù)據(jù)請求方B向數(shù)據(jù)服務器S請求數(shù)據(jù),B不能將wB直接發(fā)送給R,而是應該發(fā)送隨機化后的wB,過程有4個步驟.

① 隨機生成r,z,t,r′∈m;

④ 輸出簽名σDVS=(t,z,t′,z′).

① 將σDVS解析為(t,z,t′,z′);

算法1.關(guān)于累加器證據(jù)的零知識證明.

e(Acc,g);

②B生成隨機數(shù)s∈m,計算

e(Acc,g)s,并將w發(fā)送給R;

③ R生成隨機數(shù)η∈m,并將η發(fā)送給B;

④B計算μ=s+ηr,并將μ發(fā)給R;

6 方案分析

6.1 安全性分析

本節(jié)分析本文方案的安全性.

定理1.如果Hash函數(shù)H為隨機預言機,且GDH假設在群上成立,則該方案滿足監(jiān)管過程中的數(shù)據(jù)請求方隱私性.

證明.設存在一個敵手D,以(1/2+δ)的概率攻破了監(jiān)管過程中數(shù)據(jù)請求方的隱私性,即攻破了強指定驗證者簽名SDVS的隱私性,下面使用D作為子程序,構(gòu)建算法E解決GDH假設.

步驟1.E初始化GDH參數(shù)(,g,q,gu,gw)和DDH預言機,E選擇一個隨機數(shù)u′∈q,令pkS0=gu,pkS1=gugu′,pkV=gw,將(pkS0,pkS1,pkV)發(fā)給D,E生成初始為空的2個表格HT和ST.

步驟2.D向E進行如下查詢,其中,本文假設D不進行重復查詢.

1) Hash查詢.輸入(M,K,R1,R2),如果E發(fā)現(xiàn)HT中已經(jīng)存在對應的記錄((M,K,R1,R2),l),則直接返回c,否則,將(g,pkS0,pkV,K)和(g,pkS1,pkV,K)輸入DDH預言機,分別得到b0和b1.如果b0=1,則輸出K并中斷;如果b1=1,則輸出K/(gw)u′并中斷.如果b0=b1=0,則生成隨機數(shù)τ∈q,將τ返回給D并在HT中增加((M,K,R1,R2),l).

步驟4.D輸出b′作為對b的猜測.

在步驟2中,D要想在驗證查詢階段得到返回值為1,則需要其輸入的簽名σM*合法,而合法的簽名將通過Hash查詢獲得,但D有可能不通過Hash查詢而猜出一個合法的簽名,這種情況的概率為1/q.因此,通過Hash查詢獲得合法簽名的概率最小為(1-1/q).而D贏得Gameanony的概率為(1/2+δ),但是D有可能沒有通過Hash查詢,只是隨機選擇lM*使其贏得Gameanony,這種情況的概率為(1/2+1/q),因此D經(jīng)過上述步驟得到正確結(jié)果的概率為((1/2+δ)-(1/2+1/q)),所以E解決GDH問題的概率為:

由上式,εGDH不可忽略,與GDH假設矛盾.

證畢.

定理2.在數(shù)據(jù)共享過程中,只有持有數(shù)據(jù)擁有方憑證的其他參與方,才有可能獲得數(shù)據(jù),即數(shù)據(jù)擁有方具備數(shù)據(jù)的可控性.

證畢.

定理3.對于系統(tǒng)中的所有數(shù)據(jù)共享請求,監(jiān)管方能夠?qū)徍斯蚕碚埱笈c響應,即方案具有可監(jiān)管性.

證畢.

定理4.監(jiān)管方權(quán)力限制.監(jiān)管方無法破壞數(shù)據(jù)請求方隱私性,也不能冒充獲得授權(quán)的數(shù)據(jù)請求方非法獲得數(shù)據(jù).

證明. 在本文方案中,數(shù)據(jù)請求方將用SDVS來請求監(jiān)管方的審核,由于該SDVS方案具有非授權(quán)性和非傳遞性的特征,因此沒有第三方可以驗證或者生成合法的簽名.除此之外,在監(jiān)管方驗證授權(quán)憑證時,通過交互式證明協(xié)議,在不泄露憑證本身的前提下證明了正確性,因此監(jiān)管方無法冒充合法的被授權(quán)方去獲取數(shù)據(jù).

證畢.

定理5.監(jiān)管方可以通過對區(qū)塊鏈上存儲的信息進行讀取,獲取到某個敏感數(shù)據(jù)共享過程的相關(guān)信息,在發(fā)現(xiàn)問題時進行追責.

證明.在本文方案中,數(shù)據(jù)服務器S在返回給數(shù)據(jù)請求方數(shù)據(jù)時,需要構(gòu)建resData=(msg′,pkB,T′),并計算EncpkR(resData)上傳至區(qū)塊鏈中.resData包含數(shù)據(jù)共享過程的參與方、共享內(nèi)容等信息,監(jiān)管方R可以解密這些信息從而進行追責.

證畢.

6.2 比較分析

將本文方案與文獻[4,9,11,14]中的方案進行安全性對比,如表1所示:

Table 1 Comparison of Security表1 安全性對比

由表1可以看到,本文方案對比其他方案,在實現(xiàn)敏感數(shù)據(jù)可控的前提下還具有一定程度的隱私性,對于共享過程,監(jiān)管方可以進行監(jiān)管,同時監(jiān)管方的權(quán)力將受到限制.

文獻[10]同樣使用訪問控制技術(shù)進行權(quán)限的更新與撤銷,將本文方案與文獻[10]中的方案進行復雜度的對比,結(jié)果如表2所示:

Table 2 Comparison of Complexity表2 復雜度對比

由于文獻[10]中通過訪問控制表進行訪問控制,當需要驗證用戶權(quán)限時,需要遍歷整個訪問控制表,所以其時間復雜度為O(n),且需要存儲整張表,空間復雜度為O(n).而本文方案中使用累加器進行訪問控制,只需要用戶自己的憑證,結(jié)合公開的累加器即可驗證,其時間復雜度為O(1),并且驗證方只需要累加器本身即可進行驗證,無需額外存儲信息,空間復雜度為O(1).所以本文方案的訪問控制結(jié)構(gòu)比較高效.并且本文方案相比文獻[10],在做到高效訪問控制的同時,還實現(xiàn)了一定的隱私性和追責性.

文獻[21]使用代理重加密和可搜索加密技術(shù)進行醫(yī)療數(shù)據(jù)共享,其數(shù)據(jù)共享階段包括陷門生成、搜索、解密3個階段.表3展示了常用密碼學計算步驟的計算成本,將本文方案與文獻[21]進行比較,2個方案的計算成本如表4所示.

Table 3 Computational Cost of Common Cryptographic Algorithms

Table 4 Computational Cost of Schemes表4 方案計算成本

綜合表3和表4可得,本文方案在數(shù)據(jù)加密階段的計算成本明顯低于文獻[21].在數(shù)據(jù)共享階段,文獻[21]的計算成本約為29.209 8ms,本文方案的計算成本約為32.761 3ms,計算成本增加了約12%,這主要是因為本文方案在數(shù)據(jù)共享階段設置監(jiān)管方對數(shù)據(jù)共享過程進行監(jiān)管,提高了方案的安全性,所以計算成本有所增加,但在可接受的范圍內(nèi).

在方案仿真部分,本實驗使用Java語言,調(diào)用java.math.BigInteger庫與第三方jpbc庫,針對本文方案中的各種算法進行了仿真.實驗環(huán)境配置如表5所示:

Table 5 Experimental Environment Configuration表5 實驗環(huán)境配置

實驗分別設置安全參數(shù)長度為512 b和1 024 b,記錄每個算法的運行時間,為了保證實驗數(shù)據(jù)的可靠性,每一個算法的運行時間均多次重復運行后取平均值,不同安全參數(shù)下各算法的運行時間如表6所示.

從表6中可以看出,在安全性參數(shù)長度為512 b時,Setup算法和AccInit算法由于需要生成一系列的參數(shù)所以耗時比較大,但是這2個算法往往只在系統(tǒng)啟動時執(zhí)行一次,所以不會對系統(tǒng)整體效率產(chǎn)生影響.其余算法運行時間均為毫秒級別,效率比較高.當提高安全性參數(shù)時,只有Setup和AccInit兩個算法受到比較大的影響,其余算法均比較穩(wěn)定.綜上,本文方案在保證了較高安全性的同時,還具有良好的運行效率.

Table 6 Running Time of Algorithms表6 算法運行時間 ms

7 結(jié)束語

本文基于動態(tài)累加器、強指定驗證者簽名和區(qū)塊鏈技術(shù),提出了一種適用于敏感數(shù)據(jù)共享的方案,該方案具有隱私性、可控性、可監(jiān)管性、可問責性和監(jiān)管約束性的特點.通過對比分析證明了本文方案的安全性.本文的主要貢獻為:

1) 通過動態(tài)累加器技術(shù),數(shù)據(jù)擁有方可以靈活地授予用戶權(quán)限或者撤銷已經(jīng)發(fā)出的授權(quán);

2) 設置監(jiān)管方對整個敏感數(shù)據(jù)共享過程進行監(jiān)管,監(jiān)管方將審核每一個數(shù)據(jù)共享請求和響應情況,從而避免出現(xiàn)非法共享行為;

3) 引入強指定驗證者簽名技術(shù),使得數(shù)據(jù)請求方在請求監(jiān)管方審核時能夠保護自身的身份隱私,從而使得方案具有一定的隱私性;

4) 敏感數(shù)據(jù)共享過程的有關(guān)信息將由數(shù)據(jù)服務器以監(jiān)管方公鑰加密后上傳至區(qū)塊鏈,監(jiān)管方可以獲得這些信息來對數(shù)據(jù)共享過程進行追責;

5) 引入交互式零知識證明技術(shù),在不影響監(jiān)管方發(fā)揮監(jiān)管職責的前提下,限制監(jiān)管方能夠獲得的信息,避免惡意監(jiān)管方破壞系統(tǒng)的安全性.

未來工作將主要聚焦在減弱本文方案的假設,比如考慮在數(shù)據(jù)存儲服務器半可信或者不可信前提下的共享方案,以及考慮當多個用戶同時發(fā)起共享請求時,如何提高系統(tǒng)效率的方法.

作者貢獻聲明:張正昊完成了論文所提方案的設計、仿真工作,以及論文初稿撰寫;李勇、張振江與張正昊一起討論所提方案的可行性,并在方案框架、方案仿真與分析方面進行指導.

猜你喜歡
累加器訪問控制密鑰
探索企業(yè)創(chuàng)新密鑰
密碼累加器研究進展及應用
密碼系統(tǒng)中密鑰的狀態(tài)與保護*
一種對稱密鑰的密鑰管理方法及系統(tǒng)
Fpga的信號發(fā)生器設計原理
基于ECC的智能家居密鑰管理機制的實現(xiàn)
電信科學(2017年6期)2017-07-01 15:45:06
ONVIF的全新主張:一致性及最訪問控制的Profile A
基于霍夫變換的工位點識別算法設計與實現(xiàn)
動態(tài)自適應訪問控制模型
通信學報(2016年11期)2016-08-16 03:20:32
淺析云計算環(huán)境下等級保護訪問控制測評技術(shù)
河源市| 沙洋县| 石河子市| 九江县| 杭州市| 子长县| 武胜县| 大庆市| 遂宁市| 高唐县| 托里县| 利辛县| 易门县| 五原县| 中牟县| 安龙县| 永登县| 甘肃省| 兴隆县| 灯塔市| 临沂市| 石狮市| 衡南县| 万源市| 东兴市| 兖州市| 鸡东县| 曲阳县| 专栏| 会理县| 平原县| 邯郸县| 龙山县| 正蓝旗| 灵宝市| 佛学| 莱西市| 大英县| 独山县| 富宁县| 双柏县|