• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      云存儲(chǔ)環(huán)境下基于時(shí)釋性加密的CP-ABE方案①

      2021-01-22 05:41:16戈,華
      關(guān)鍵詞:私鑰訪問控制密文

      張 戈,華 蓓

      (中國科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)

      近年來,科學(xué)計(jì)算和商業(yè)計(jì)算等眾多應(yīng)用領(lǐng)域產(chǎn)生了海量的數(shù)據(jù),且數(shù)據(jù)量仍在急劇增長(zhǎng),給數(shù)據(jù)存儲(chǔ)和管理造成了極大的壓力.云計(jì)算技術(shù)的興起使得高效低成本的云存儲(chǔ)得以實(shí)現(xiàn).用戶可將數(shù)據(jù)托管到云數(shù)據(jù)中心,并通過互聯(lián)網(wǎng)進(jìn)行訪問和管理,而數(shù)據(jù)中心提供數(shù)據(jù)備份、容災(zāi)等服務(wù),極大地降低了用戶在數(shù)據(jù)存儲(chǔ)方面的投資和管理成本[1].

      然而有數(shù)據(jù)表明,目前大約80%左右的企業(yè)不愿意將業(yè)務(wù)數(shù)據(jù)放在公有云上,用戶的主要擔(dān)憂是數(shù)據(jù)安全性.一方面云存儲(chǔ)服務(wù)商大量涌現(xiàn),用戶對(duì)于這些云服務(wù)商缺乏信任;另一方面云數(shù)據(jù)中心可能存在技術(shù)弱點(diǎn),數(shù)據(jù)不加密或者加密強(qiáng)度不夠,存在信息泄漏的風(fēng)險(xiǎn).目前云數(shù)據(jù)中心主要采用高強(qiáng)度加密標(biāo)準(zhǔn)對(duì)數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)被竊取和篡改,同時(shí)通過專業(yè)的安全防護(hù)措施防范各種安全攻擊.盡管數(shù)據(jù)機(jī)密性是云存儲(chǔ)用戶的一大關(guān)切,但與此同時(shí)用戶對(duì)數(shù)據(jù)的開放性也有期待,希望不同類型的客戶可以在各自的權(quán)限范圍內(nèi)自由訪問數(shù)據(jù).云存儲(chǔ)環(huán)境下的數(shù)據(jù)訪問控制成為一個(gè)亟待解決的問題.

      基于密文的訪問控制技術(shù)可以解決數(shù)據(jù)的安全訪問問題.用戶將數(shù)據(jù)加密后上傳到云存儲(chǔ)平臺(tái),只有擁有合法解密密鑰的用戶才能解密數(shù)據(jù).然而在傳統(tǒng)的公鑰加密體制中,用戶的公鑰是和身份信息綁定的,進(jìn)而生成對(duì)應(yīng)的用戶證書,存儲(chǔ)和管理用戶證書的開銷很大;此外傳統(tǒng)公鑰體制也不能實(shí)現(xiàn)一對(duì)多的加解密模式,不適應(yīng)數(shù)據(jù)共享的云存儲(chǔ)環(huán)境.

      針對(duì)以上問題,Goyal 等人[2]提出了基于屬性的加密策略(Attribute-Based Encryption,ABE).在這種策略中,每個(gè)用戶都由一個(gè)屬性集合表示,用戶的密鑰與其屬性相關(guān)聯(lián);數(shù)據(jù)擁有者可以自行設(shè)定訪問控制結(jié)構(gòu),訪問控制結(jié)構(gòu)是屬性的表達(dá)式,只有屬性集合滿足訪問控制結(jié)構(gòu)的用戶才能夠解密成功.在圖1的例子中,用戶A 的屬性集為{網(wǎng)絡(luò)專業(yè),碩士},用戶B 的屬性集為{通信專業(yè),大四},用戶B 的屬性集滿足訪問控制結(jié)構(gòu),而用戶A 的屬性集不滿足,所以只有用戶B 能夠解密密文.ABE 將密鑰與用戶屬性關(guān)聯(lián),極大地降低了密鑰存儲(chǔ)和管理的開銷.由于密鑰和訪問控制結(jié)構(gòu)都與屬性關(guān)聯(lián),ABE 可以基于屬性實(shí)施靈活的訪問控制.基于屬性加密也可以實(shí)現(xiàn)一對(duì)多加解密模式,滿足云存儲(chǔ)環(huán)境下數(shù)據(jù)安全共享的需求.

      ABE 主要分為密鑰策略屬性加密(KP-ABE)和密文策略屬性加密(CP-ABE)兩大類.在KP-ABE (Key-Policy ABE)中,密鑰與訪問策略(訪問控制結(jié)構(gòu))相關(guān)聯(lián),密文和屬性相關(guān)聯(lián);而在CP-ABE (Ciphertext-Policy ABE)中,密文和訪問策略相關(guān)聯(lián)(訪問控制結(jié)構(gòu)作為加密函數(shù)的輸入?yún)?shù)之一),密鑰和屬性相關(guān)聯(lián).兩類方法的解密過程都是屬性集與訪問控制結(jié)構(gòu)進(jìn)行匹配的過程,匹配成功則密文順利解開.KP-ABE 以數(shù)據(jù)訪問者為主導(dǎo),通過將私鑰與訪問策略關(guān)聯(lián)選擇要接收的數(shù)據(jù),適合云存儲(chǔ)環(huán)境中對(duì)數(shù)據(jù)的查詢.CP-ABE 以加密者(數(shù)據(jù)擁有者)為主導(dǎo),通過將密文和訪問策略關(guān)聯(lián)對(duì)數(shù)據(jù)訪問者作出限制,適合云存儲(chǔ)環(huán)境中對(duì)數(shù)據(jù)的訪問控制.

      圖1 基于屬性加密的訪問控制

      以上訪問控制都沒有考慮時(shí)間因素,事實(shí)上許多數(shù)據(jù)訪問控制是時(shí)間敏感的.比如,視頻網(wǎng)絡(luò)平臺(tái)發(fā)布影片或視頻有一個(gè)允許發(fā)布時(shí)間,這個(gè)發(fā)布時(shí)間由制片方制定,制片方提前將影視作品提交到平臺(tái),但要求平臺(tái)不得提前發(fā)布或泄露作品.除限制發(fā)布時(shí)間外,制片方也希望有辦法阻止一些視頻平臺(tái)非法得到影視作品后進(jìn)行出售.因此,結(jié)合用戶屬性和時(shí)間因素來制定訪問控制策略具有非?,F(xiàn)實(shí)的需要.

      時(shí)釋性加密(Timed-Release Encryption,TRE)[3]是在發(fā)送者和接收者之間傳輸密文的一種密碼學(xué)原語.它允許發(fā)送者提前將加密的消息發(fā)送給接收者并指定未來特定的解密時(shí)間,接收者只有在該時(shí)間到來后才能解密消息.TRE 是時(shí)間控制加密技術(shù)的典型代表.TRE依賴一個(gè)可信的時(shí)間服務(wù)器產(chǎn)生安全參數(shù)和公私鑰對(duì),數(shù)據(jù)發(fā)送者利用時(shí)間公鑰、接收者公鑰和設(shè)定的發(fā)布時(shí)間加密明文,將密文發(fā)送給接收者;時(shí)間服務(wù)器在設(shè)定的時(shí)間到來時(shí)發(fā)布一個(gè)時(shí)間陷門;數(shù)據(jù)接收者利用私鑰和時(shí)間陷門解密數(shù)據(jù).近年來,TRE 在電子拍賣、電子投票、在線考試等領(lǐng)域發(fā)揮了重要的作用.然而,TRE 只是基于時(shí)間進(jìn)行訪問控制,并沒有針對(duì)用戶的訪問控制能力.

      將TRE 引入CP-ABE 可以解決云存儲(chǔ)環(huán)境下帶有時(shí)間因素的訪問控制問題,但相關(guān)研究目前尚未開展,在技術(shù)上也存在一些挑戰(zhàn).首先,引入時(shí)間服務(wù)器之后,如何降低訪問控制對(duì)時(shí)間服務(wù)器的依賴;其次,如何把時(shí)間服務(wù)器的公鑰對(duì)與CP-ABE 的訪問控制結(jié)構(gòu)相結(jié)合,把時(shí)間陷門與私鑰和用戶屬性相結(jié)合,來增強(qiáng)共享數(shù)據(jù)的機(jī)密性與可用性;最后,如何保證引入TRE 之后的CP-ABE 能夠抵抗各種非法用戶的攻擊行為.

      本文針對(duì)以上問題提出云存儲(chǔ)環(huán)境下基于時(shí)釋性加密的CP-ABE 方案,允許基于屬性和時(shí)間來制定和實(shí)施數(shù)據(jù)訪問控制.在該方案中,用戶的私鑰組成部分來源于云存儲(chǔ)平臺(tái)、用戶屬性和時(shí)間服務(wù)器,降低訪問控制對(duì)單一第三方機(jī)構(gòu)的依賴;將用戶的私人標(biāo)記融入用戶的私鑰中,抵抗非法用戶的串謀攻擊;對(duì)共享數(shù)據(jù)進(jìn)行時(shí)間與屬性的雙重加密,提高共享數(shù)據(jù)的機(jī)密性與抗偽裝攻擊能力.

      1 相關(guān)工作

      ABE 可以有效解決細(xì)粒度訪問控制和大批量用戶動(dòng)態(tài)擴(kuò)展的問題,是云存儲(chǔ)環(huán)境下理想的訪問控制方案.但在早期的CP-ABE 方案中,私鑰需要依賴一個(gè)可信的密鑰托管中心,即單個(gè)的授權(quán)機(jī)構(gòu),不適合當(dāng)前信任分散的、開放的云環(huán)境.Dong 等人[4]和Yang 等人[5]引入多授權(quán)機(jī)構(gòu)來解決CP-ABE 的密鑰托管問題,將信任和負(fù)載分配到多個(gè)授權(quán)機(jī)構(gòu)中.然而在他們的方案中,每個(gè)授權(quán)機(jī)構(gòu)使用相同的主密鑰來產(chǎn)生用戶私鑰,若用戶具有足夠多的屬性就可以重建主密鑰,增大了非授權(quán)用戶串謀攻擊的可能性.關(guān)志濤等人[6]針對(duì)授權(quán)方不完全可信的問題,提出了一種多授權(quán)機(jī)構(gòu)訪問控制模型.在模型中設(shè)計(jì)了最小化屬性分組算法,用戶需要訪問共享數(shù)據(jù)時(shí)按需獲取密鑰,不僅減少了資源消耗,還提升了分配效率.

      TRE 允許發(fā)送者在加密消息時(shí)指定未來的解密時(shí)間,接收者只有在預(yù)設(shè)的時(shí)間到來后才能解密消息.1996年Rivest 等人[7]對(duì)TRE 進(jìn)行了詳細(xì)論證,此后TRE 的理論和實(shí)踐均取得了非凡的進(jìn)步.2005年Chan和Blake[8]第一次基于TRE 提出可擴(kuò)展的被動(dòng)式服務(wù)器用戶匿名方案,大大降低了對(duì)時(shí)間服務(wù)器的依賴.Hwang 等人[9]對(duì)TRE 的預(yù)開放功能作了第一次嘗試.隨后Cheon 等人[10]于2008年正式提出了安全公鑰TRE 的概念,TRE的安全性得到了進(jìn)一步提升.2014年袁科等人[11]對(duì)TRE 的研究歷史和不同場(chǎng)景下的加密方案做了總結(jié)和分析,具體闡述了TRE 的安全目標(biāo)與攻擊模型.

      2 基礎(chǔ)知識(shí)

      2.1 雙線性映射

      設(shè)存在一個(gè)大素?cái)?shù)p以及兩個(gè)循環(huán)群G和G1,它們的階均為p,g是G的某個(gè)生成元.那么,從G到G1存在一個(gè)映射e:G×G→G1,且具備如下性質(zhì)[12].

      (1)雙線性:對(duì)于?a,b∈Z?p和?u,v∈G,均有:

      (2)非退化性:存在a,b∈G,使得e(a,b)≠1,這里1 為群G1的單位元.

      (3)可計(jì)算性:對(duì)于?u,v∈G,e(u,v)都能被一個(gè)有效的算法計(jì)算出來.

      則我們稱上述映射e為一個(gè)雙線性映射,一般情況下,循環(huán)群G為加法循環(huán)群,循環(huán)群G1是乘法循環(huán)群.

      2.2 拉格朗日插值法

      設(shè)存在一個(gè)次數(shù)為k的多項(xiàng)式函數(shù),如果給定此多項(xiàng)式函數(shù)上k+1不 同取值點(diǎn):(x0,y0),···,(xk,yk),那么就存在唯一確定的一個(gè)拉格朗日插值多項(xiàng)式為:

      其中,每一個(gè)lj(x)為拉格朗日基本多項(xiàng)式(插值基函數(shù)),其表達(dá)式為:

      2.3 DBDH 問題

      判定雙線性Diffie-Hellman 問題(Decisional Bilinear Diffie-Hellman Problem,DBDH 問題)[12].已知一個(gè)五元組為其中g(shù)是群G的某個(gè)生成元,a,b,c∈Z?p,Z∈G1,要想判定Z=e(g,g)abc是否為真是困難的.

      假設(shè)存在一個(gè)算法A在多項(xiàng)式時(shí)間內(nèi)解決DBDH問題的概率為δ,則δ 可以被忽略.因此,不存在這樣的算法可以用不可忽略的概率在多項(xiàng)式時(shí)間內(nèi)解決DBDH問題.

      因此,本文設(shè)計(jì)的安全機(jī)制是以DBDH 困難問題為基礎(chǔ)構(gòu)建的.

      2.4 CP-ABE 算法

      CP-ABE 加密算法涉及到屬性集合、訪問控制結(jié)構(gòu)和訪問控制樹.

      (1)屬性集合:設(shè)每個(gè)參與者的身份信息由一個(gè)屬性集合Ai表示,P為所有參與者屬性的集合,即Ai是P的一個(gè)非空子集.例如:P={學(xué)生,大二,計(jì)算機(jī)專業(yè),成績(jī)80 分},Ai={學(xué)生,大二,成績(jī)80 分}.

      (2)訪問控制結(jié)構(gòu):訪問控制結(jié)構(gòu)是一組判斷條件,通常表示為 Γ,包含P中的若干屬性元素和門限邏輯運(yùn)算符(如OR、AND 等).若某個(gè)屬性集滿足該判斷條件,稱這個(gè)屬性集為授權(quán)集,反之為非授權(quán)集.

      (3)訪問控制樹:訪問控制樹被用來描述訪問控制結(jié)構(gòu),每個(gè)葉子節(jié)點(diǎn)x代表一個(gè)屬性 λx,每個(gè)父節(jié)點(diǎn)是一個(gè)門限邏輯運(yùn)算符.圖2是與訪問控制結(jié)構(gòu){((計(jì)算機(jī)學(xué)院)OR(網(wǎng)絡(luò)工程))AND((年級(jí)<大四)AND(成績(jī)≥70))}相對(duì)應(yīng)的訪問控制樹.

      圖2 訪問控制樹

      典型且常用的CP-ABE 機(jī)制由下列4 個(gè)模塊構(gòu)成:

      (1)初始化(Setup):產(chǎn)生一個(gè)公鑰對(duì){PK,MK},其中,MK是主密鑰,PK是公開參數(shù);

      (2)加密算法(Encrypt):輸入集合為{明文M,訪問控制結(jié)構(gòu) Γ,公開參數(shù)PK},輸出為密文CΓ,CΓ與訪問控制結(jié)構(gòu)相關(guān)聯(lián);

      (3)私鑰生成算法(KeyGen):輸入集合為{屬性集S,公開參數(shù)PK,主密鑰MK},輸出SK,即為用戶的私鑰;

      (4)解密算法(Decrypt):輸入集合為{密文CΓ,公開參數(shù)PK,私鑰SK,訪問控制結(jié)構(gòu)Γ},若屬性集S滿足訪問控制結(jié)構(gòu)Γ,則可以還原出明文M.

      2.5 TRE 技術(shù)

      TRE 依賴一個(gè)可信的時(shí)間服務(wù)器,在指定的時(shí)間到達(dá)時(shí)發(fā)布一個(gè)時(shí)間陷門,接收者得到這個(gè)時(shí)間陷門后才能夠解密消息.時(shí)間服務(wù)器提供的是絕對(duì)的發(fā)布時(shí)間,時(shí)間陷門就是它的自我簽名,在這個(gè)過程中不需要額外的簽名服務(wù).

      TRE 方案包含5 個(gè)模塊,分別為初始化(Setup)、密鑰生成算法(KeyGen)、時(shí)間陷門發(fā)布算法(TSRelease)、加密算法(Encrypt)和解密算法(Decrypt).TRE 方案共有3 類參與實(shí)體,分別是時(shí)間服務(wù)器、發(fā)送者和接收者.具體過程如下:

      (1)初始化(Setup):時(shí)間服務(wù)器產(chǎn)生安全參數(shù)以及公私鑰對(duì);

      (2)密鑰生成算法(KeyGen):接收者根據(jù)時(shí)間服務(wù)器產(chǎn)生的安全參數(shù)及時(shí)間公鑰計(jì)算自己的公私鑰對(duì);

      (3)時(shí)間陷門發(fā)布算法(TS-Release):時(shí)間服務(wù)器生成字符串T∈{0,1}t用來表示發(fā)布時(shí)間t,時(shí)間服務(wù)器也生成sT=H(T)s來作為時(shí)間陷門并發(fā)布出去,其中s是時(shí)間服務(wù)器的私鑰.為了避免有惡意攻擊者偽造時(shí)間陷門的風(fēng)險(xiǎn),在發(fā)布時(shí)間點(diǎn)T,時(shí)間服務(wù)器給所有接收者發(fā)布在T時(shí)刻的簽名,這個(gè)簽名就是時(shí)間陷門sT;

      (4)加密算法(Encrypt):發(fā)送者利用時(shí)間公鑰和接收者的公鑰以及設(shè)定的發(fā)布時(shí)間t對(duì)明文數(shù)據(jù)M進(jìn)行加密,形成密文C,將C發(fā)送給接收者;

      (5)解密算法(Decrypt):當(dāng)接收者拿到密文C和時(shí)間陷門sT=H(T)s之后,利用其私鑰進(jìn)行解密操作,還原出明文數(shù)據(jù)M.

      3 共享模型與安全威脅

      以下是TRE 技術(shù)運(yùn)用到CP-ABE 方案的一個(gè)應(yīng)用場(chǎng)景:Alice 是計(jì)算機(jī)學(xué)院的一名老師,計(jì)劃在下周二對(duì)計(jì)算機(jī)學(xué)院網(wǎng)絡(luò)工程專業(yè)的大二學(xué)生進(jìn)行一次在線考試,但不巧的是她當(dāng)天必須參加一個(gè)重要會(huì)議.在這種情況下,Alice 可以在CP-ABE 方案中融入TRE來解決她的問題.Alice 可以預(yù)先發(fā)送以下消息:

      其中,M是考試試題,ID是M的目標(biāo)用戶組的屬性集合{“計(jì)算機(jī)學(xué)院”,“網(wǎng)絡(luò)工程專業(yè)”,“大二學(xué)生”},tspub為時(shí)間服務(wù)器的公鑰,r是隨機(jī)新鮮因子,T是預(yù)定的發(fā)布時(shí)間.所有學(xué)生都提前收到了這個(gè)消息,但只有在預(yù)定的發(fā)布時(shí)間到來時(shí),滿足屬性集合ID的學(xué)生才能夠利用時(shí)間服務(wù)器產(chǎn)生的時(shí)間陷門解密得到試題M.

      3.1 共享模型

      在開放云存儲(chǔ)環(huán)境下,基于時(shí)釋性加密的CP-ABE方案的密文數(shù)據(jù)共享模型主要由以下5 類參與實(shí)體構(gòu)成:數(shù)據(jù)擁有者、數(shù)據(jù)訪問者、云存儲(chǔ)平臺(tái)、授權(quán)機(jī)構(gòu)和時(shí)間服務(wù)器.系統(tǒng)模型如圖3所示.

      (1)數(shù)據(jù)擁有者:提供共享數(shù)據(jù),設(shè)定訪問結(jié)構(gòu)以形成訪問策略,設(shè)置發(fā)布時(shí)間,同時(shí)得到時(shí)間服務(wù)器發(fā)布的時(shí)間公鑰,將共享數(shù)據(jù)用時(shí)間公鑰并按照訪問結(jié)構(gòu)加密后發(fā)送給云存儲(chǔ)平臺(tái).

      (2)數(shù)據(jù)訪問者:可以從云存儲(chǔ)平臺(tái)獲取加密后的共享數(shù)據(jù),等發(fā)布時(shí)間到來后,得到時(shí)間服務(wù)器在發(fā)布時(shí)間產(chǎn)生的時(shí)間陷門,形成時(shí)間私鑰,而后結(jié)合自己的密鑰來解密共享數(shù)據(jù).

      (3)云存儲(chǔ)平臺(tái):為數(shù)據(jù)共享提供一個(gè)方便穩(wěn)定的平臺(tái),并能夠管理數(shù)據(jù)擁有者托管給它的共享數(shù)據(jù).云存儲(chǔ)平臺(tái)會(huì)和授權(quán)機(jī)構(gòu)一起對(duì)共享系統(tǒng)中的屬性集合以及用戶的密鑰進(jìn)行有效的管理和分配.

      (4)授權(quán)機(jī)構(gòu):與云存儲(chǔ)平臺(tái)一起對(duì)共享系統(tǒng)中的屬性集合以及用戶的密鑰進(jìn)行有效的管理和分配.

      (5)時(shí)間服務(wù)器:完全可信的第三方機(jī)構(gòu),會(huì)誠實(shí)地按照一定周期發(fā)布時(shí)間陷門,且這個(gè)時(shí)間陷門不可偽造,為云存儲(chǔ)環(huán)境下的用戶提供一個(gè)可靠準(zhǔn)確的時(shí)間參照.

      圖3 時(shí)釋性加密的CP-ABE 方案模型

      3.2 安全威脅

      在第3.1 節(jié)介紹的共享模型中,數(shù)據(jù)訪問者可以是云存儲(chǔ)環(huán)境下的任何參與實(shí)體,可能存在想要對(duì)共享數(shù)據(jù)進(jìn)行非法訪問的用戶;云存儲(chǔ)平臺(tái)雖然可以按照共享機(jī)制正常執(zhí)行任務(wù),但是出于利益考慮可能試圖解密用戶存儲(chǔ)在上面的數(shù)據(jù);授權(quán)機(jī)構(gòu)也可能為了牟利而利用用戶的密鑰試圖解密共享數(shù)據(jù);在我們的安全假設(shè)中,云存儲(chǔ)平臺(tái)和授權(quán)機(jī)構(gòu)都是半可信的實(shí)體,它們會(huì)誠實(shí)地按照規(guī)定執(zhí)行每一步操作,二者不存在合謀的可能.在這種情況下,基于時(shí)釋性加密的CPABE 方案可能存在以下3 類安全威脅.

      (1)針對(duì)托管數(shù)據(jù)的攻擊:云存儲(chǔ)平臺(tái)和授權(quán)機(jī)構(gòu)可能嘗試解密共享數(shù)據(jù),導(dǎo)致數(shù)據(jù)的機(jī)密性及隱私性得不到保障.

      (2)串謀攻擊:數(shù)據(jù)擁有者加密共享數(shù)據(jù)的依據(jù)是用戶的屬性集合以及訪問控制結(jié)構(gòu),單個(gè)的非授權(quán)用戶無法訪問共享數(shù)據(jù),但是多個(gè)非授權(quán)用戶聯(lián)合各自的屬性有可能解密共享數(shù)據(jù).

      (3)選擇明文攻擊:攻擊者已經(jīng)掌握了共享數(shù)據(jù)其中一些成對(duì)的小部分的明文與密文,而且攻擊者可以通過滲透或者冒充的方法能夠讓其設(shè)定好的任何明文得到共享機(jī)制的加密,從而,攻擊者又可以得到相對(duì)應(yīng)的密文,也就是說,攻擊者擁有了共享機(jī)制中加密的權(quán)限.這種攻擊方式在云存儲(chǔ)環(huán)境中很常見,也是攻擊者容易實(shí)現(xiàn)并能夠獲得較大優(yōu)勢(shì)的攻擊類型.

      4 基于時(shí)釋性加密的CP-ABE 方案

      本文提出的基于時(shí)釋性加密的CP-ABE 方案由初始化、密鑰構(gòu)造、加密、解密4 個(gè)算法組成.時(shí)間服務(wù)器被動(dòng)地產(chǎn)生時(shí)間公私鑰對(duì)和時(shí)間陷門,不與其它實(shí)體交互.在密鑰構(gòu)造部分,用戶的私鑰由兩部分構(gòu)成,分別是云存儲(chǔ)平臺(tái)管理的對(duì)稱密鑰和授權(quán)機(jī)構(gòu)產(chǎn)生的屬性密鑰.在加密部分,融合訪問控制結(jié)構(gòu)、發(fā)布時(shí)間與時(shí)間公鑰對(duì)共享數(shù)據(jù)進(jìn)行雙重加密.在解密部分,在預(yù)定發(fā)布時(shí)間到達(dá)之前,用戶通過計(jì)算并采用嵌套的方式獲取訪問控制樹根節(jié)點(diǎn)值,在發(fā)布時(shí)間到達(dá)之后用戶獲取時(shí)間陷門并解密.下面詳細(xì)介紹方案的算法步驟.

      4.1 初始化算法

      初始化算法在CP-ABE 方案中增加了時(shí)間服務(wù)器的初始化以及云存儲(chǔ)平臺(tái)對(duì)稱密鑰的生成.

      (1)在整個(gè)共享系統(tǒng)中,需要由授權(quán)機(jī)構(gòu)產(chǎn)生一個(gè)安全參數(shù),獲得安全參數(shù)之后,產(chǎn)生一個(gè)大素?cái)?shù)p和隨機(jī)生成元g,接著產(chǎn)生階為p的循環(huán)群G,g∈G,而后構(gòu)造雙線性映射e:G×G→G1.

      (2)選取以下散列函數(shù)H:{0,1}?→G.

      (3)隨機(jī)選取 α,β ∈Z?p,構(gòu)造主密鑰(gα,β)和公鑰PK(G,g,gβ,H,e(g,g)α).

      (4)共享系統(tǒng)中所有的屬性集合由云存儲(chǔ)平臺(tái)產(chǎn)生,為 Ω={λ1,λ2,···,λn},除此之外云存儲(chǔ)平臺(tái)選取ε ∈Z?p作為對(duì)稱密鑰.

      (5)時(shí)間服務(wù)器選取q∈Z?p作為時(shí)間私鑰tspriv,構(gòu)造gq作為時(shí)間公鑰tspub.

      4.2 密鑰構(gòu)造算法

      密鑰構(gòu)造算法給CP-ABE 方案中的用戶私鑰增加了云存儲(chǔ)平臺(tái)產(chǎn)生的對(duì)稱密鑰部分.

      云存儲(chǔ)平臺(tái)為每一個(gè)注冊(cè)進(jìn)入系統(tǒng)的用戶產(chǎn)生唯一的標(biāo)記gεui,根據(jù)用戶的屬性為其生成屬性集合S={λ1,···,λk,···,λm},并分配給其對(duì)稱密鑰ε.

      用戶拿到屬性集和標(biāo)記以后,將它們發(fā)送給授權(quán)機(jī)構(gòu),向授權(quán)機(jī)構(gòu)申請(qǐng)屬性密鑰.

      授權(quán)機(jī)構(gòu)根據(jù)得到的屬性集合為其中的每個(gè)屬性λj∈S隨 機(jī)分配一個(gè)參數(shù)rj∈Z?p,rj為Z?p中的隨機(jī)值,之后使用這個(gè)隨機(jī)分配的參數(shù)與用戶的標(biāo)記gεui為其相對(duì)應(yīng)的屬性 λj產(chǎn)生一個(gè)參數(shù)集合{gεuiH(λj)rj,grj}.最后,根據(jù)雙線性映射計(jì)算出用戶的屬性密鑰并發(fā)送給用戶,計(jì)算過程如式(1)所示:

      最終,用戶結(jié)合云存儲(chǔ)平臺(tái)產(chǎn)生的對(duì)稱密鑰和授權(quán)機(jī)構(gòu)產(chǎn)生的屬性密鑰,形成了自己的私鑰SKui為:

      4.3 加密算法

      加密算法改變了原有CP-ABE 方案中對(duì)共享數(shù)據(jù)的單次加密策略,轉(zhuǎn)變?yōu)橛砂l(fā)布時(shí)間和時(shí)間公鑰參加的二次加密.數(shù)據(jù)擁有者在上傳明文m到云存儲(chǔ)平臺(tái)之前,需要制定訪問控制結(jié)構(gòu)并構(gòu)造訪問控制樹,同時(shí)設(shè)定發(fā)布時(shí)間T,而后先使用時(shí)間公鑰和發(fā)布時(shí)間T對(duì)明文m進(jìn)行初次加密得到密文M,接著再使用公鑰PK、對(duì)稱密鑰和訪問控制樹對(duì)密文M進(jìn)行二次加密得到密文CT.

      (1)構(gòu)造訪問控制樹

      數(shù)據(jù)擁有者首先根據(jù)自己的需要制定訪問控制結(jié)構(gòu),而后構(gòu)建訪問控制樹,樹中的葉子節(jié)點(diǎn)為訪問控制結(jié)構(gòu)中的屬性,樹中的父節(jié)點(diǎn)為門限邏輯運(yùn)算符.

      訪問控制樹的根節(jié)點(diǎn)為R,數(shù)據(jù)擁有者設(shè)置R的節(jié)點(diǎn)值為隨機(jī)數(shù)s∈Z?p,并為其定義一個(gè)多項(xiàng)式fR(x),令fR(0)=s;然后,數(shù)據(jù)擁有者為其他父節(jié)點(diǎn)進(jìn)行編碼,編碼值為index(x),表明這個(gè)節(jié)點(diǎn)是其父節(jié)點(diǎn)parent(x)的第index(x)的左子節(jié)點(diǎn);接著為這些編碼好的每個(gè)父節(jié)點(diǎn)也定義一個(gè)多項(xiàng)式fx,并令fx(0)=fparent(x)(index(x)).

      (2)加密共享數(shù)據(jù)

      數(shù)據(jù)擁有者預(yù)先設(shè)定好發(fā)布時(shí)間T,并得到時(shí)間服務(wù)器發(fā)布的公鑰tspub,利用散列函數(shù)H、雙線性映射e、主密鑰β、訪問控制樹根節(jié)點(diǎn)R的節(jié)點(diǎn)值s和tspub共同加密明文數(shù)據(jù)m,得到密文M.加密過程如式(2)所示:

      假設(shè)集合 {λ1,λ2,···,λn}是數(shù)據(jù)擁有者設(shè)定好的訪問控制樹中的屬性集合,則數(shù)據(jù)擁有者對(duì)密文M進(jìn)行再次加密得到密文CT,而后將CT發(fā)送給云存儲(chǔ)平臺(tái)并存放在那里,加密過程如式(3)所示:

      4.4 解密算法

      解密算法在CP-ABE 的最終解密過程中融入了TRE 中時(shí)間陷門與時(shí)間私鑰的解密思想.

      當(dāng)數(shù)據(jù)擁有者把密文CT存放至云存儲(chǔ)平臺(tái)以后,共享系統(tǒng)中所有的用戶都可以向云存儲(chǔ)平臺(tái)進(jìn)行查詢并下載得到CT,而后試圖去解密它.整個(gè)解密過程分為兩步:

      (1)數(shù)據(jù)訪問者通過計(jì)算并采用嵌套的方法獲取到訪問控制樹根節(jié)點(diǎn)R的節(jié)點(diǎn)值.

      1)數(shù)據(jù)訪問者拿到訪問控制樹 Γ,找出其中的每個(gè)葉子節(jié)點(diǎn)x,而后使用自己的私鑰SKui對(duì)其執(zhí)行解密操作.

      如果訪問控制樹的葉子結(jié)點(diǎn)所代表的屬性 λx在數(shù)據(jù)訪問者自己的屬性集中,即 λk∈S,那么就計(jì)算Tx,計(jì)算公式如式(4)所示;否則,令Tx=0.

      2)對(duì)于訪問控制樹剩下的父節(jié)點(diǎn)y,數(shù)據(jù)訪問者自底向上依次解密.

      令N為父節(jié)點(diǎn)y的一切子節(jié)點(diǎn)集合,若(z∈N)Λ(Tz≠0),且集合容量不小于y的門限值,那么就計(jì)算Ty,計(jì)算公式如式(5)所示;否則,令Ty=0.

      式(5)被數(shù)據(jù)訪問者嵌套計(jì)算,只有當(dāng)訪問者的私鑰滿足訪問控制樹,即訪問者屬性的確符合數(shù)據(jù)擁有者指定的訪問控制結(jié)構(gòu),屬于授權(quán)用戶,訪問者才可以計(jì)算出TR=e(g,g)uiεs,TR為訪問控制樹根節(jié)點(diǎn)的節(jié)點(diǎn)值;否則TR=0.

      接著等預(yù)定的發(fā)布時(shí)間T到達(dá)以后,數(shù)據(jù)訪問者獲取時(shí)間服務(wù)器在T時(shí)刻發(fā)布的時(shí)間陷門H(T)q,進(jìn)而解密得到明文數(shù)據(jù)m.解密公式如式(6)所示:

      最終數(shù)據(jù)訪問者在T時(shí)刻到來時(shí),成功解密得到明文數(shù)據(jù)m.

      5 安全分析

      5.1 基于時(shí)釋性加密的CP-ABE 方案能夠抵抗多種不同來源的非法訪問.

      (1)能夠抵抗來自非法用戶的非法訪問.

      非法用戶即非授權(quán)用戶,這類用戶若想要解密共享數(shù)據(jù),就需要充分利用共享系統(tǒng)中的相關(guān)消息.通過分析整個(gè)共享機(jī)制可以看出,非法用戶能夠利用的消息有:云存儲(chǔ)平臺(tái)中的密文gβs以及用戶私鑰SKui中的D和guiε.

      我們對(duì)以上消息構(gòu)造雙線性映射,如式(7)所示:

      通過式(7)可以看出,只有獲取到s,即根節(jié)點(diǎn)的節(jié)點(diǎn)值,才能夠解密共享數(shù)據(jù).非法用戶因其屬性不滿足數(shù)據(jù)擁有者設(shè)定的訪問控制結(jié)構(gòu)而無法獲取訪問控制樹根節(jié)點(diǎn)的節(jié)點(diǎn)值s,沒有辦法執(zhí)行解密步驟,也就無法解密還原共享數(shù)據(jù).也就是說,本文的方案可以使得非法用戶對(duì)共享數(shù)據(jù)的解密無從下手,使其攻擊行為不能得逞.

      (2)能夠抵抗來自云存儲(chǔ)平臺(tái)的非法訪問.

      數(shù)據(jù)擁有者加密共享數(shù)據(jù)時(shí)會(huì)使用云存儲(chǔ)平臺(tái)產(chǎn)生的對(duì)稱密鑰ε,ε雖然由云存儲(chǔ)平臺(tái)進(jìn)行維護(hù),但是要想解密共享數(shù)據(jù),必須首先還原出訪問控制樹根節(jié)點(diǎn)的值s,而僅僅通過ε 不可能獲取到s的值,因?yàn)樵L問控制樹是經(jīng)過數(shù)據(jù)擁有者加過密之后上傳至云存儲(chǔ)平臺(tái)的,因此云存儲(chǔ)平臺(tái)沒有辦法執(zhí)行解密步驟,也就無法解密獲得共享數(shù)據(jù).也就是說,本文的方案可以有效阻止云存儲(chǔ)平臺(tái)訪問共享數(shù)據(jù).

      (3)能夠抵抗來自授權(quán)機(jī)構(gòu)的非法訪問

      授權(quán)機(jī)構(gòu)能獲取到屬性私鑰.由于用戶的私鑰是由屬性私鑰和對(duì)稱密鑰 ε共同組成,要想進(jìn)一步解密共享數(shù)據(jù),授權(quán)機(jī)構(gòu)就必須首先拿到ε,根據(jù)雙線性映射理論,授權(quán)機(jī)構(gòu)無法從用戶的標(biāo)記中得到ε,則它就必須和云存儲(chǔ)平臺(tái)合謀.由于在我們的安全假設(shè)中,二者屬于半可信實(shí)體,不存在合謀的可能.因此,授權(quán)機(jī)構(gòu)也無法解密獲得共享數(shù)據(jù).因此,本文的方案能夠有效地阻止授權(quán)機(jī)構(gòu)非法訪問共享數(shù)據(jù).

      綜上所述,本文提出的共享機(jī)制能夠抵抗系統(tǒng)中不同參與實(shí)體的非法訪問,進(jìn)而解決了托管數(shù)據(jù)的機(jī)密性問題.

      5.2 基于時(shí)釋性加密的CP-ABE 方案能夠抵抗不同用戶的串謀攻擊.

      假設(shè)存在兩個(gè)非法用戶ui和uj想要解密共享數(shù)據(jù),他們想聯(lián)合各自的屬性私鑰來直接執(zhí)行解密程序,在這之后,需要根據(jù)式(4)解密葉子結(jié)點(diǎn),則他們能夠得到的葉子結(jié)點(diǎn)值集合如式(8)所示:

      可以看到,葉子結(jié)點(diǎn)的值分別都具有用戶ui和uj的標(biāo)記,因此無法利用式(5)繼續(xù)進(jìn)行父節(jié)點(diǎn)的還原,也就無法獲得訪問控制樹根節(jié)點(diǎn)的節(jié)點(diǎn)值,進(jìn)而也就無法執(zhí)行解密步驟.

      綜上所述,多個(gè)非授權(quán)用戶聯(lián)合各自的屬性不可能解密還原共享數(shù)據(jù),本文提出的共享機(jī)制可以有效地抵抗串謀攻擊.

      5.3 基于時(shí)釋性加密的CP-ABE 方案能夠抵抗選擇明文攻擊.

      定義1.關(guān)于CP-ABE 的選擇明文攻擊游戲[13]

      攻擊游戲是模擬敵手和挑戰(zhàn)者交互的一個(gè)過程,從而把現(xiàn)實(shí)中的攻擊行為的全過程展現(xiàn)出來.關(guān)于CPABE 的選擇明文攻擊游戲,挑戰(zhàn)者和敵手的具體交互過程如下:

      (1)系統(tǒng)建立:在模擬云存儲(chǔ)環(huán)境中,挑戰(zhàn)者根據(jù)我們的密文共享機(jī)制進(jìn)行云存儲(chǔ)共享系統(tǒng)的構(gòu)建,產(chǎn)生公私密鑰,敵手可以拿到公鑰.

      (2)初步查詢:敵手拿到挑戰(zhàn)者給出的公鑰之后,可以向挑戰(zhàn)者發(fā)出查詢請(qǐng)求,敵手想要查詢與屬性集關(guān)聯(lián)的用戶私鑰.

      (3)進(jìn)行質(zhì)詢:敵手此時(shí)已經(jīng)拿到存放在云存儲(chǔ)平臺(tái)的訪問控制樹 Γ,同時(shí),敵手拿到了部分明文,于是敵手選取了2 個(gè)相同長(zhǎng)度的明文,開始進(jìn)行屬性集比對(duì),發(fā)現(xiàn)上一步查詢到的屬性集均不滿足訪問控制樹 Γ.此時(shí),將自己手中的2 個(gè)明文分別命名為m0和m1,將m0和m1以及訪問控制樹 Γ一起給挑戰(zhàn)者發(fā)送過去.挑戰(zhàn)者收到以后,會(huì)生成隨機(jī)值b∈{0,1},而后根據(jù)設(shè)定好的加密策略對(duì)mb完 成加密操作,輸出密文C并給敵手發(fā)送過去.

      (4)繼續(xù)查詢:敵手繼續(xù)向挑戰(zhàn)者申請(qǐng)查詢操作,查詢與屬性集關(guān)聯(lián)的用戶私鑰,但是已經(jīng)查詢到的屬性集仍然不滿足訪問控制樹 Γ.

      (5)進(jìn)行猜測(cè):此時(shí)挑戰(zhàn)者必須給出關(guān)于密文C的猜測(cè),即挑戰(zhàn)者必須給出如下回答:b′=0 或者b′=1.

      如果挑戰(zhàn)者猜測(cè)的b′=b,那么此時(shí)敵手獲得勝利,敵手的優(yōu)勢(shì)可以如式(9)定義:

      由于我們的安全機(jī)制是建立在DBDH 問題的基礎(chǔ)之上的,因此,在任意概率的多項(xiàng)式時(shí)間內(nèi),若敵手在DBDH 游戲中的攻擊優(yōu)勢(shì)可以被忽略,那么就可以說明我們的密文共享機(jī)制可以抵抗選擇明文攻擊,即是選擇明文安全的.證明過程如下:

      假設(shè)存在一個(gè)攻擊者A,要想攻破我們的密文共享機(jī)制,則A為敵手,同時(shí)需要構(gòu)建DBDH 的攻擊者,可以通過構(gòu)建一個(gè)模擬器來充當(dāng)DBDH 的攻擊者,這個(gè)模擬器被命名為B,模擬器B攻破DBDH 問題的優(yōu)勢(shì)為δ,通過DBDH 問題可以得出,δ可以被忽略.

      (1)系統(tǒng)建立:在模擬云存儲(chǔ)環(huán)境中,模擬器B產(chǎn)生3個(gè)隨機(jī)值,分別為:a,(b,c∈Z?p,同時(shí)模擬)器B還獲取到了共享機(jī)制的公鑰PKG,g,gβ,H,e(g,g)α,模擬器B進(jìn)行如下計(jì)算:ab+x=α,由此得到了x的值.

      (2)初步查詢:模擬器B拿到授權(quán)機(jī)構(gòu)給出的公鑰PK之后,攻擊者A可 以向模擬器B發(fā)出查詢請(qǐng)求,攻擊者A把需要查詢的屬性集S提交給模擬器B,同時(shí)提交的還有用戶的標(biāo)記guiε.模擬器B拿到屬性集S后,會(huì)選取隨機(jī)值rj分配給屬性集S中的每個(gè)屬性元素,之后,模擬器B會(huì)計(jì)算相應(yīng)的用戶私鑰并發(fā)送給攻擊者A,計(jì)算過程如式(10)所示:

      至此,共享機(jī)制當(dāng)中的授權(quán)機(jī)構(gòu)成功被模擬器B模擬出來.

      (3)進(jìn)行質(zhì)詢:攻擊者A此時(shí)已經(jīng)拿到存放在云存儲(chǔ)平臺(tái)的訪問控制樹 Γ,同時(shí),攻擊者A拿到了部分明文,于是攻擊者A選取了2 個(gè)相同長(zhǎng)度的明文,開始進(jìn)行屬性集比對(duì),發(fā)現(xiàn)步驟(2)查詢到的屬性集均不滿足訪問控制樹 Γ.此時(shí),攻擊者A將自己手中的2 個(gè)明文分別命名為m0和m1,將m0和m1以及訪問控制樹 Γ一起給模擬器B發(fā)送過去.模擬器B收到以后,會(huì)連同訪問控制樹根節(jié)點(diǎn)的值c一起發(fā)送給授權(quán)機(jī)構(gòu).授權(quán)機(jī)構(gòu)會(huì)生成隨機(jī)值b∈{0,1},而后根據(jù)設(shè)定好的加密策略對(duì)mb完成加密操作,輸出密文為:Mbe(g,g)αs和其中,z∈Z?p是隨機(jī)值.

      (4)繼續(xù)查詢:攻擊者A繼續(xù)向模擬器B申請(qǐng)查詢操作,查詢與屬性集關(guān)聯(lián)的用戶私鑰,但是已經(jīng)查詢到的屬性集仍然不滿足訪問控制樹 Γ.

      (5)進(jìn)行猜測(cè):此時(shí)攻擊者A必須給出關(guān)于密文的猜測(cè),即攻擊者A會(huì)給出自己的猜測(cè)值b′,模擬器B利用攻擊者A的猜測(cè)值也要做出自己的猜測(cè),猜測(cè)是否正確,需要根據(jù)式(11)判斷:

      如此,密文數(shù)據(jù)被模擬器B分析出來的概率為δ.若是猜測(cè)結(jié)果不對(duì),密文數(shù)據(jù)就沒有辦法被模擬器B判斷,因?yàn)閦∈Z?p是隨機(jī)值.

      綜上,共享系統(tǒng)的密文機(jī)制被攻擊者攻破的概率為 δ/2,根據(jù)DBDH 問題,這個(gè)概率可以被忽略,即本文提出的密文安全共享機(jī)制可以有效抵抗選擇明文攻擊.

      6 結(jié)束語

      本文指出在云存儲(chǔ)環(huán)境下基于用戶屬性和訪問時(shí)間進(jìn)行細(xì)粒度訪問控制將成為一種迫切需求,并提出了基于時(shí)釋性加密的CP-ABE 方案,通過在CP-ABE中融入TRE 機(jī)制來實(shí)現(xiàn)帶有時(shí)間控制的密文共享機(jī)制.該方案大大減少了對(duì)時(shí)間服務(wù)器和第三方機(jī)構(gòu)的依賴,能夠有效抵抗來自用戶、云存儲(chǔ)平臺(tái)和授權(quán)機(jī)構(gòu)的非法訪問、非法用戶的串謀攻擊以及選擇明文攻擊.未來將重點(diǎn)研究用戶密鑰的撤銷和更新問題,保證共享數(shù)據(jù)不被注銷后的用戶解密獲取.

      猜你喜歡
      私鑰訪問控制密文
      一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
      一種支持動(dòng)態(tài)更新的可排名密文搜索方案
      比特幣的安全性到底有多高
      基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
      基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
      一種基于虛擬私鑰的OpenSSL與CSP交互方案
      ONVIF的全新主張:一致性及最訪問控制的Profile A
      動(dòng)態(tài)自適應(yīng)訪問控制模型
      淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪問控制測(cè)評(píng)技術(shù)
      大數(shù)據(jù)平臺(tái)訪問控制方法的設(shè)計(jì)與實(shí)現(xiàn)
      武城县| 武陟县| 灵山县| 松桃| 乡城县| 绿春县| 娱乐| 兴业县| 蕉岭县| 灌南县| 二连浩特市| 松江区| 齐河县| 昭通市| 资阳市| 泸州市| 五河县| 永昌县| 防城港市| 深圳市| 茌平县| 舒兰市| 措美县| 白玉县| 犍为县| 屏边| 海城市| 汪清县| 宜宾县| 宁强县| 舟山市| 临夏市| 三门县| 沭阳县| 商河县| 黄大仙区| 福建省| 名山县| 洛扎县| 香港 | 秀山|