• 
    

    
    

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

      ?

      改進(jìn)的ABE在公有云存儲(chǔ)訪問控制中的研究*

      2019-04-18 06:02:46鮑安平呂湛山
      計(jì)算機(jī)與生活 2019年3期
      關(guān)鍵詞:鑒權(quán)接收者私鑰

      許 萌,鮑安平,呂湛山

      1.南京信息職業(yè)技術(shù)學(xué)院,南京 210023

      2.山西晉煤華昱煤化工有限責(zé)任公司,山西 晉城 048000

      1 引言

      隨著計(jì)算機(jī)網(wǎng)絡(luò)以及軟硬件技術(shù)的蓬勃發(fā)展,云存儲(chǔ)技術(shù)以及相關(guān)應(yīng)用正處于快速成長(zhǎng)的階段[1]。這使得數(shù)字資源的在線傳播變得愈加便捷,人們只要通過手機(jī)等無線設(shè)備就可以輕松地獲取各類數(shù)字資源。然而考慮到云端設(shè)備是大多為第三方擁有,通過云端來分享數(shù)字資源有可能會(huì)威脅到數(shù)據(jù)擁有者的隱私。因此針對(duì)云存儲(chǔ)建立敏感數(shù)據(jù)隱私保護(hù)機(jī)制就變得至關(guān)重要。不僅如此,任何云存儲(chǔ)平臺(tái)涉及到海量用戶的活躍參與,因此急需一套細(xì)粒度的訪問控制機(jī)制來設(shè)置海量用戶的訪問權(quán)限。

      屬性基加密算法[2-3](attribute-based encryption,ABE)是一種具有相當(dāng)應(yīng)用前景的技術(shù),它不僅能夠保證數(shù)據(jù)存儲(chǔ)的安全性,還能夠?qū)崿F(xiàn)靈活的訪問權(quán)限設(shè)置?;趯傩缘拿艽a體制目前包含兩大類經(jīng)典的算法,一類是基于密文策略的屬性加密算法[4-5](ciphertext-policy ABE,CP-ABE),該算法將訪問策略嵌入到密文當(dāng)中,而用戶的私鑰則綁定了一個(gè)用來表示用戶身份的屬性集合。另一類是基于密鑰策略的屬性加密算法[6-7](key-policy ABE,KP-ABE),該算法將訪問策略嵌入至用戶的私鑰,而密文則與一個(gè)屬性集合相關(guān)。當(dāng)屬性集合與訪問策略足夠接近并完成匹配的話,用戶就能夠成功獲取數(shù)據(jù)的明文。相比傳統(tǒng)公鑰加密算法,ABE最大的特點(diǎn)在于它具有一種模糊性質(zhì),即能夠?qū)崿F(xiàn)加密數(shù)據(jù)的多對(duì)多分享。因此以上性質(zhì)使得ABE能夠?yàn)楣性粕系臄?shù)據(jù)存儲(chǔ)與分享提供既安全又靈活的訪問控制。

      1.1 相關(guān)研究

      Sahai和Waters[3]首次提出了一種模糊的基于身份加密算法(fuzzy identity-based encryption,F(xiàn)IBE)。FIBE采用一種描述性的屬性集合來定義身份,該算法為ABE算法的提出開創(chuàng)了先河。Goyal等人[6]在FIBE的基礎(chǔ)上首次提出了一種KP-ABE算法,將訪問策略嵌入到密鑰當(dāng)中,而屬性集合則嵌入到密文當(dāng)中,該算法結(jié)構(gòu)簡(jiǎn)單但是功能有限,并不適合在公有云環(huán)境中應(yīng)用。Bethencourt等人[4]受到啟發(fā),有針對(duì)性地提出了一種CP-ABE算法,使得加密者能夠自由制定訪問策略,為ABE算法在數(shù)據(jù)存儲(chǔ)與訪問控制領(lǐng)域的應(yīng)用奠定了基礎(chǔ)。文獻(xiàn)[8]提出了一種基于多鑒權(quán)中心的ABE算法,每個(gè)健全獨(dú)立擁有各自的主密鑰并且管理不同的屬性,這使得單個(gè)健全中心不再具有獨(dú)立獲取明文的能力。Hur[9]指出多個(gè)鑒權(quán)中心共同產(chǎn)生非常龐大的互動(dòng)開銷,提出由健全中心和數(shù)據(jù)存儲(chǔ)中心協(xié)作產(chǎn)生主密鑰,并提出了一種間接撤銷方式,在提高了計(jì)算效率的同時(shí)也豐富了ABE的功能。文獻(xiàn)[7]提出了一種在標(biāo)準(zhǔn)模型下實(shí)現(xiàn)完全安全性的KP-ABE方案,同時(shí)計(jì)算效率與選擇性安全模型下的方案相當(dāng)。文獻(xiàn)[10]采用零知識(shí)證明使兩個(gè)鑒權(quán)中心互動(dòng)產(chǎn)生主密鑰從而有效防止密鑰托管問題的產(chǎn)生,同時(shí)支持密鑰追責(zé),用戶不可以輕易地將自己的私鑰交由他人使用。文獻(xiàn)[5]提出了一種支持直接撤銷的CP-ABE方案,鑒權(quán)中心通過維護(hù)一個(gè)撤銷列表實(shí)現(xiàn)細(xì)粒度的快速撤銷,同時(shí)其密文、私鑰和公鑰的長(zhǎng)度都有所優(yōu)化,整體效率在一定程度上有所提高。Karati等人[11]考慮到雙線性配對(duì)是影響ABE計(jì)算效率的主要因素,提出了一種不需要雙線性配對(duì)的ABE算法,但是該算法采用閾值門作為訪問策略,因此算法在整體顯得不夠靈活。文獻(xiàn)[12]針對(duì)托管、濫用等密鑰管理難題,提出了一種分布式的密鑰管理協(xié)議,同時(shí)采用一種外包解密的思想使得解密者不需進(jìn)行任何雙線性配對(duì)就可以獲取明文,但是算法整體的計(jì)算負(fù)載仍然非常大。

      1.2 研究動(dòng)機(jī)

      盡管國(guó)內(nèi)外學(xué)者對(duì)ABE算法進(jìn)行了眾多的研究,但是在公有云的數(shù)據(jù)存儲(chǔ)與訪問控制領(lǐng)域,ABE距離實(shí)際應(yīng)用還存在兩個(gè)亟待解決的問題:

      (1)從安全角度考慮,最主要的問題在于現(xiàn)有方案當(dāng)中的鑒權(quán)中心必須是完全可信的機(jī)構(gòu),因?yàn)殍b權(quán)中心負(fù)責(zé)生成全部的公鑰和私鑰。這就意味著鑒權(quán)中心可以在用戶不知情的情況下,可以利用主密鑰獨(dú)立自主地生成私鑰,進(jìn)而嘗試解密截取的密文。這個(gè) 問題 被稱 為密 鑰托 管 問題[8-10,13](key escrow problem),是ABE與生俱來的安全性難題。

      (2)從計(jì)算復(fù)雜度考慮,ABE在加解密計(jì)算過程中涉及大量的雙線性配對(duì),而雙線性配對(duì)本身就需要消耗很大的計(jì)算資源[11,14]。在個(gè)人電腦乃至大型服務(wù)器端,這樣的計(jì)算消耗尚可以接受。但在移動(dòng)云計(jì)算逐漸普及的今天,即使軟硬件技術(shù)得到極大的發(fā)展,移動(dòng)端的電力和計(jì)算資源仍然是非常珍貴的[15]。因此在這樣的情況下,如果將現(xiàn)有的方案直接應(yīng)用于移動(dòng)端,那么對(duì)優(yōu)化用戶使用體驗(yàn)來說將是一次巨大的考驗(yàn)。

      針對(duì)以上問題,本文基于KP-ABE改進(jìn)了ABE算法,改進(jìn)如下:一方面在鑒權(quán)中心無法獨(dú)立生成私鑰,即使其安全等級(jí)下降為半可信,算法仍然能夠提供安全的密鑰管理;另一方面,改進(jìn)的算法在加解密過程中不需要進(jìn)行任何的雙線性配對(duì),相比現(xiàn)有的ABE算法具備更高的計(jì)算效率,更適合在移動(dòng)端構(gòu)建輕量級(jí)的加密與訪問控制方案。最后的規(guī)約證明表明,本文方案在隨機(jī)預(yù)言機(jī)模型下能夠抵抗選擇密文攻擊。

      2 模型架構(gòu)

      本文算法應(yīng)用在云存儲(chǔ)訪問控制當(dāng)中的模型架構(gòu)如圖1所示。模型當(dāng)中包含四類主要角色:

      Fig.1 Architecture of model圖1 模型架構(gòu)

      (1)數(shù)據(jù)屬主:該角色擁有對(duì)數(shù)據(jù)的所有權(quán),并試圖通過移動(dòng)設(shè)備將數(shù)據(jù)上傳至云平臺(tái),并向指定的群體分享該數(shù)據(jù),同時(shí)不希望被該群體之外的人獲取該數(shù)據(jù)。

      (2)鑒權(quán)中心:該角色在框架內(nèi)是唯一的,負(fù)責(zé)密鑰的生成與發(fā)布并使之用于訪問權(quán)限的控制。

      (3)云存儲(chǔ)中心:該角色負(fù)責(zé)存儲(chǔ)和管理經(jīng)過加密的數(shù)據(jù),同時(shí)在本文算法當(dāng)中也將承擔(dān)一部分的密鑰生成與發(fā)布工作。

      (4)接收者:該角色試圖通過移動(dòng)設(shè)備訪問云存儲(chǔ)中心,并獲取云存儲(chǔ)中心當(dāng)中的數(shù)據(jù)。

      本文算法將通過以上四類角色的互動(dòng)來實(shí)現(xiàn)云存儲(chǔ)平臺(tái)上數(shù)字資源的訪問控制。在平臺(tái)啟動(dòng)時(shí),鑒權(quán)中心以及云存儲(chǔ)中心基于密碼學(xué)原理并結(jié)合系統(tǒng)中的全局屬性生成一套公共參數(shù),并向全網(wǎng)的數(shù)據(jù)屬主廣播該公共參數(shù)。每個(gè)接收者在平臺(tái)中注冊(cè)時(shí)將獲得自己的訪問策略,由鑒權(quán)中心和云存儲(chǔ)中心經(jīng)過協(xié)商分布式地生成接收者的私鑰。數(shù)據(jù)屬主通過云存儲(chǔ)平臺(tái)分享數(shù)字資源之前,首先根據(jù)自己的屬性集合并結(jié)合公共參數(shù)對(duì)數(shù)據(jù)進(jìn)行加密操作,然后將密文上傳至云存儲(chǔ)中心。當(dāng)某個(gè)接收者嘗試下載數(shù)字資源時(shí),他將利用自己的私鑰試圖解密密文,若其訪問策略與密文中的屬性集合相匹配,那么則可以順利解密得到數(shù)字資源的明文,反之則無法解密從而獲取不到關(guān)于數(shù)字資源的任何信息。

      3 算法設(shè)計(jì)

      本文算法通過四個(gè)子算法實(shí)現(xiàn)數(shù)據(jù)屬主、鑒權(quán)中心、云存儲(chǔ)中心以及接收者之間的互動(dòng),最終實(shí)現(xiàn)云存儲(chǔ)的安全訪問控制,具體如下:

      3.1 初始化算法

      受文獻(xiàn)[12]啟發(fā),在本文提出的改進(jìn)方案中,初始化算法由密鑰中心和云存儲(chǔ)中心共同執(zhí)行。首先定義全局屬性空間為 Ω={θ1,θ2,…,θn}。設(shè)G 和GT是兩個(gè)階為大素?cái)?shù)q的加法循環(huán)群,P為群G的一個(gè)生成元。定義一個(gè)哈希函數(shù)為H:G→Zq。算法首先輸入一個(gè)安全參數(shù)k,然后由密鑰中心生成一組唯一的、與全局屬性空間相對(duì)應(yīng)的整數(shù)參數(shù){t1,t2,…,tn}∈Zq。對(duì)于全局屬性空間中的任意一個(gè)屬性θx∈Ω,計(jì)算Tx=txP。同時(shí),云服務(wù)中心選擇一個(gè)唯一的元素y∈Zq并計(jì)算Y=yP。最終,初始化算法輸出基本公共參數(shù):

      密鑰中心保留自己的主密鑰:

      然后輸出自己的公共參數(shù):

      與此同時(shí),與服務(wù)中心保留自己的主密鑰:

      然后輸出自己的公開鑰:

      最終初始化算法輸出公共參數(shù)為:

      3.2 密鑰生成算法

      為了防止密鑰托管,有些學(xué)者提出了多鑒權(quán)中心的方案[16-17]。本文算法不打算增加任何實(shí)體,而是利用鑒權(quán)中心和云存儲(chǔ)中心的協(xié)作共同生成密鑰。算法輸入為鑒權(quán)中心和云存儲(chǔ)中心的主密鑰MKKA和MKDSC以及公共參數(shù)params。當(dāng)接收者發(fā)出私鑰生成請(qǐng)求時(shí),他需要提交一個(gè)訪問策略T。對(duì)于訪問策略T,其中任意一個(gè)葉節(jié)點(diǎn)均表示某一個(gè)屬性,而其余所有的非葉節(jié)點(diǎn)均為閾值門。對(duì)于任意一個(gè)節(jié)點(diǎn)x,均有一個(gè)索引值index(x)與之相對(duì)應(yīng),如果該節(jié)點(diǎn)是非葉節(jié)點(diǎn),如果它的子節(jié)點(diǎn)個(gè)數(shù)是mx,那么該節(jié)點(diǎn)的閾值為kx(1≤kx≤mx),相應(yīng)的閾值門為(kx,mx);如果該節(jié)點(diǎn)是葉節(jié)點(diǎn),則該節(jié)點(diǎn)的閾值門為(1,1)。隨后鑒權(quán)中心與云存儲(chǔ)中心通過以下步驟共同生成數(shù)據(jù)訪問者的私鑰:

      (1)云存儲(chǔ)中心生成一個(gè)隨機(jī)數(shù)r∈Z*q,計(jì)算A=ry并將其發(fā)送給鑒權(quán)中心。

      (2)為了不失一般性,假設(shè)訪問策略T的根節(jié)點(diǎn)為root,其閾值為kroot。當(dāng)鑒權(quán)中心獲得參數(shù)A后,為訪問策略的根節(jié)點(diǎn)生成一個(gè)隨機(jī)多項(xiàng)式qroot(X),該多項(xiàng)式滿足以下兩個(gè)條件:

      ①多項(xiàng)式的次數(shù)為droot=kroot-1;

      ②多項(xiàng)式常數(shù)項(xiàng)等于參數(shù)A,即qroot(0)=A。

      (3)對(duì)于任意節(jié)點(diǎn)的子節(jié)點(diǎn)x,設(shè)其閾值為kx,鑒權(quán)中心同樣生成一個(gè)對(duì)應(yīng)的隨機(jī)多項(xiàng)式,該多項(xiàng)式滿足以下兩個(gè)條件:

      ①多項(xiàng)式的次數(shù)為dx=kx-1;

      ②多項(xiàng)式常數(shù)項(xiàng)為qx(0)=qparent(x)(index(x)),其中函數(shù)parent(x)返回x的父節(jié)點(diǎn)。

      (4)對(duì)于訪問策略中的任意屬性θx,鑒權(quán)中心發(fā)送Dx=qx(0)+tx給接收者。

      (5)云存儲(chǔ)中心發(fā)送D=r給接收者。

      最終,數(shù)據(jù)訪問者獲得關(guān)于訪問策略T的私鑰為:

      3.3 加密算法

      該算法由數(shù)據(jù)屬主執(zhí)行,算法輸入為公共參數(shù)params、數(shù)據(jù)屬主的屬性集合S和待分享數(shù)據(jù)的明文m。首先選擇一個(gè)秘密參數(shù)s∈Zq,然后執(zhí)行如下計(jì)算:

      對(duì)于屬性集合中的任意屬性θx∈S,計(jì)算:

      最終算法輸出密文:

      3.4 解密算法

      該算法由接收者執(zhí)行,算法輸入為公共參數(shù)params、待分享數(shù)據(jù)的密文CT和接收者的私鑰SK。在說明算法執(zhí)行步驟前首先引入關(guān)于拉格朗日插值的概念,假設(shè)對(duì)于一個(gè)元素有限的數(shù)值集合S={a1,a2,…},關(guān)于其中任意一個(gè)元素i的拉格朗日插值表示為:

      其次定義兩個(gè)函數(shù):

      Λ(x):對(duì)于訪問策略中的任意一個(gè)節(jié)點(diǎn)x,返回x所擁有的全部子節(jié)點(diǎn)。

      Λ′(x):對(duì)于訪問策略中的任意一個(gè)節(jié)點(diǎn)x,返回x所擁有的全部子節(jié)點(diǎn)的索引值。

      對(duì)于訪問策略中的任意節(jié)點(diǎn)x,解密算法將執(zhí)行一個(gè)函數(shù)DecryptNode(x),該函數(shù)的執(zhí)行過程如下:

      若x是葉節(jié)點(diǎn),則計(jì)算:

      若x是非葉節(jié)點(diǎn),記x的任意子節(jié)點(diǎn)z經(jīng)過該函數(shù)計(jì)算過后得到的結(jié)果為Fz,那么該函數(shù)對(duì)于x的計(jì)算為:

      經(jīng)過以上函數(shù)的迭代計(jì)算得到:

      最終通過以下計(jì)算得到明文:

      4 算法分析

      4.1 機(jī)密性

      算法將因子H(sY)嵌入到了密文當(dāng)中,該秘密隱藏了云存儲(chǔ)中心的主密鑰MKDSC=。如果接收者私鑰的訪問策略與密文的屬性集合不相匹配的話,接收者永遠(yuǎn)不可能恢復(fù)出云存儲(chǔ)中心的主密鑰。反之接收者則可以很快恢復(fù)出云存儲(chǔ)中心的主密鑰,進(jìn)而得到因子H(sY)并抽取出正確的明文。

      在任意不同的兩種明文的加密過程中,由于加密算法在因子H(sY)中還嵌入了不同的秘密隨機(jī)數(shù)s,即使接收者每次都能正確執(zhí)行解密操作,他也只能獲得與當(dāng)前密文相關(guān)的秘密。也就是說,每一個(gè)因子H(sY)只與當(dāng)前的密文相關(guān),接收者無法通過之前獲得的因子去解密其他的密文,因此保證了密文與密文之間的安全隔離,彼此不互相干涉機(jī)密性。

      4.2 抗合謀攻擊

      合謀攻擊是一種針對(duì)密碼系統(tǒng)的經(jīng)典攻擊方式。合謀攻擊指的是若干個(gè)攻擊者通過溝通協(xié)商,將各自持有的私鑰組件進(jìn)行拼接組合,非法地生成一個(gè)全新的私鑰。這個(gè)全新的私鑰擁有更強(qiáng)大的解密能力,能夠解密那些利用私鑰組件無法單獨(dú)解密的密文。

      在私鑰生成階段,云存儲(chǔ)中心每生成一個(gè)全新的私鑰之前都會(huì)產(chǎn)生一個(gè)獨(dú)特的隨機(jī)數(shù)r。云存儲(chǔ)中心將這個(gè)隨機(jī)數(shù)與其主密鑰MKDSC=相乘得到因子ry,并通過訪問樹將因子ry分享給訪問策略中的各個(gè)屬性。由于不同接收者的訪問策略里包含了不同的秘密,因此接收者彼此之間即使通過溝通協(xié)商將各自的私鑰組合起來獲得一個(gè)全新的私鑰,這個(gè)看似能夠與更多屬性集合匹配的全新私鑰仍然無法恢復(fù)出一個(gè)正確的因子ry。因此本文算法在云存儲(chǔ)訪問控制模型當(dāng)中能夠很好地規(guī)避合謀攻擊帶來的潛在隱患。

      4.3 抗密鑰托管

      本文算法利用鑒權(quán)中心與云存儲(chǔ)中心的協(xié)作實(shí)現(xiàn)私鑰的分布式生成。在私鑰生成階段,云存儲(chǔ)中心產(chǎn)生一個(gè)隨機(jī)數(shù)r并與其主密鑰相乘獲得待分享的因子ry,緊接著將因子ry發(fā)送給鑒權(quán)中心。隨后鑒權(quán)中心負(fù)責(zé)生成相應(yīng)的接收者私鑰。

      對(duì)于云存儲(chǔ)中心來說,它不能知道鑒權(quán)中心的主密鑰MKKA={?θx∈Ω:tx},從而無法恢復(fù)出私鑰當(dāng)中的組件{?θx∈T:Dx}。而對(duì)于鑒權(quán)中心來說,它不知道云存儲(chǔ)中心的主密鑰MKDSC=以及云存儲(chǔ)中心產(chǎn)生的隨機(jī)數(shù)r,從而無法恢復(fù)出私鑰當(dāng)中的組件D=r。也就是說,鑒權(quán)中心根本不能從已知的因子ry里獲得關(guān)于因子H(sY)的任何信息。綜上所述,盡管鑒權(quán)中心和云存儲(chǔ)中心共同參與了接收者私鑰的生成,但是都無法獲取私鑰的完整組件。因此,本文算法展現(xiàn)出來的分布式密鑰生成機(jī)制足以克服密鑰托管問題。

      為了說明本文方案在抗密鑰托管方面進(jìn)行改進(jìn)的效果,將本文算法與其他類似的抗托管算法進(jìn)行了對(duì)比,對(duì)比結(jié)果如表1所示。在這里定義一方將一組數(shù)據(jù)發(fā)送給另一方為1次交互。在表1當(dāng)中列出了現(xiàn)有的克服密鑰托管的方案,在生成私鑰時(shí)所需的交互次數(shù)總數(shù)。改進(jìn)的ABE算法具備分布式的密鑰生成機(jī)制,其所需的交互次數(shù)為1次。文獻(xiàn)[8]為了克服密鑰托管問題,采用了多鑒權(quán)中心的方法,每個(gè)鑒權(quán)中心負(fù)責(zé)生成關(guān)于一部分屬性的密鑰組件。在生成私鑰的過程中由于每?jī)蓚€(gè)鑒權(quán)中心之間需要完成一些交互,因此當(dāng)鑒權(quán)中心個(gè)數(shù)為n,總體上生成私鑰所需的交互次數(shù)復(fù)雜度為O(n2)。文獻(xiàn)[13]為了克服這種復(fù)雜度攀升的問題只采用了兩個(gè)鑒權(quán)中心,而兩個(gè)鑒權(quán)中心只需要進(jìn)行一次交互即可實(shí)現(xiàn)私鑰的發(fā)布。文獻(xiàn)[9]進(jìn)一步將鑒權(quán)中心的部分功能轉(zhuǎn)移至云存儲(chǔ)中心上去,在不需要增加任何實(shí)體的情況下需要3次交互就可以有效克服密鑰托管問題。文獻(xiàn)[12]在此基礎(chǔ)上通過更多的交互實(shí)現(xiàn)了私鑰的分布式管理,每次生成私鑰需要進(jìn)行8次交互。因此本文方案在抗密鑰托管的同時(shí),將生成私鑰所需的交互次數(shù)降低到僅1次,相比表1中其他方案是最高效的。另外,本文方案所采用的模型只需要一個(gè)鑒權(quán)中心,利用該鑒權(quán)中心與云存儲(chǔ)中心進(jìn)行交互即可,不需要增加額外的鑒權(quán)中心來承擔(dān)密鑰管理工作,因此在模型復(fù)雜度上盡可能做到了簡(jiǎn)潔。綜上所述,本文方案的抗密鑰托管功能是比較高效、簡(jiǎn)潔的。

      Table 1 Comparison of different escrow-free mechanisms表1 不同抗托管機(jī)制的對(duì)比

      4.4 計(jì)算效率

      為了分析本文算法經(jīng)過改進(jìn)后的計(jì)算性能,將本文算法與文獻(xiàn)[4-7,18]中的算法進(jìn)行了對(duì)比。為便于分析比較,如表2所示,首先定義了若干變量。

      Table 2 Definitions of some variables表2 若干變量的定義

      其次,從密鑰尺寸、密文尺寸以及加解密過程中所需的雙線性配對(duì)次數(shù)三方面對(duì)本文算法以及其他類似算法進(jìn)行了分析。結(jié)果如表3所示,文獻(xiàn)[4]設(shè)計(jì)了一種基于密文策略的屬性加密方案,由于支持?jǐn)?shù)據(jù)屬主直接定義訪問策略,導(dǎo)致接收者私鑰尺寸過大,同時(shí)接收者必須執(zhí)行大量的雙線性配對(duì)才能獲取消息明文。文獻(xiàn)[5]提出了一種支持用戶直接撤銷的ABE方案,將接收者的身份信息植入到其私鑰當(dāng)中,同時(shí)由鑒權(quán)中心維護(hù)一個(gè)撤銷用戶的列表,在執(zhí)行加密算法時(shí)將列表植入到密文當(dāng)中??梢钥闯?,文獻(xiàn)[5]的方案相比其余方案并不算大,但是在密文當(dāng)中植入了撤銷列表,并為每個(gè)撤銷用戶配置了1個(gè)位于循環(huán)群G上的唯一元素,而且在解密時(shí)需要額外執(zhí)行2Nr次雙線性配對(duì)。文獻(xiàn)[6]最早提出了KPABE算法,其密鑰尺寸、密文尺寸以及雙線性配對(duì)次數(shù)都非常小,計(jì)算效率高,但是考慮到只實(shí)現(xiàn)了KPABE算法的核心功能,其計(jì)算和存儲(chǔ)代價(jià)仍然不理想。文獻(xiàn)[7]提出的是一種在標(biāo)準(zhǔn)模型下完全安全的ABE算法,該算法建立在合數(shù)循環(huán)群上,而其他方案都是建立在素?cái)?shù)群上,但是可以看出該方案在提高了系統(tǒng)的安全性的同時(shí)保持了與文獻(xiàn)[4]方案相當(dāng)?shù)挠?jì)算效率,無論是密鑰尺寸、密文長(zhǎng)度還是解密時(shí)需要執(zhí)行的雙線性配對(duì)數(shù)量,都與文獻(xiàn)[4]方案基本相當(dāng)。文獻(xiàn)[18]為了增強(qiáng)訪問策略的表達(dá)性,采用了屬性矩陣來構(gòu)成屬性之間的等級(jí)關(guān)系,其中屬性矩陣的行數(shù)L代表了等級(jí)總數(shù),但是這也導(dǎo)致了接收者不得不執(zhí)行大量的雙線性配對(duì)來獲取消息明文。

      Table 3 Performance comparison表3 性能對(duì)比

      在本文所提出的改進(jìn)ABE方案中,密鑰尺寸與文獻(xiàn)[6]方案相比只多出一個(gè),在假設(shè)訪問策略與屬性集合所包含屬性的平均數(shù)目相當(dāng)?shù)那闆r下,本文所提出的方案在密鑰尺寸上幾乎是文獻(xiàn)[4]和文獻(xiàn)[7]方案的50%。同時(shí),本文改進(jìn)的ABE算法在密文尺寸上與文獻(xiàn)[4]和文獻(xiàn)[18]所提方案相同,都是(2Nas+2)幾乎是文獻(xiàn)[6]和文獻(xiàn)[7]方案的2倍。然而,本文方案在加解密過程中不需要執(zhí)行任何的雙線性配對(duì),極大地降低了計(jì)算開銷,這是其他方案都不具備的性質(zhì)。因此,文本改進(jìn)的方案在效果上對(duì)于移動(dòng)端的數(shù)據(jù)屬主和接收者更為友好,更適合于在移動(dòng)云計(jì)算環(huán)境下部署的相關(guān)應(yīng)用,例如通過手機(jī)端進(jìn)行私人健康數(shù)據(jù)、企業(yè)內(nèi)部文件以及社交媒體數(shù)據(jù)的安全存儲(chǔ)與分享??傊?,不論是數(shù)據(jù)屬主還是接收者,只需要在移動(dòng)端執(zhí)行少量的加解密計(jì)算即可以實(shí)現(xiàn)數(shù)據(jù)在公有云上的存儲(chǔ)、分享等操作。

      5 安全性證明

      5.1 困難假設(shè)

      對(duì)于本文所設(shè)計(jì)的方案,其安全性是構(gòu)建在計(jì)算性Diffie-Hellman問題[19](computational Diffie-Hellman problem,CDH)的困難性基礎(chǔ)之上的。

      定義(計(jì)算性Diffie-Hellman困難假設(shè))已知一個(gè)階為素?cái)?shù)q的加法循環(huán)群G,設(shè)P是群G的一個(gè)生成元。那么,已知群G中的兩個(gè)元素P1=aP和P2=bP,其中a,b∈Zq,不存在一個(gè)概率性的算法能夠在多項(xiàng)式時(shí)間內(nèi)計(jì)算出P3=abP。

      5.2 證明過程

      基于給出的困難假設(shè),給出如下的定理:

      定理如果計(jì)算性Diffie-Hellman問題是困難的,那么本文設(shè)計(jì)的方案在隨機(jī)預(yù)言機(jī)模型下能夠抵抗選擇明文攻擊。

      證明為了給出定理證明,沿用了文獻(xiàn)[20]中的證明思路設(shè)計(jì)了如下的挑戰(zhàn)游戲:

      (1)初始化階段

      定義一個(gè)階為素?cái)?shù)q的加法循環(huán)群G,P為群G的一個(gè)生成元。挑戰(zhàn)者C選擇兩個(gè)隨機(jī)數(shù)a,b∈Zq,然后將P、P1=aP和P2=bP發(fā)送給模擬器B。

      (2)詢問階段

      本階段敵手將向模擬器發(fā)起以下三種詢問并試圖從中獲取信息:

      ①公共參數(shù)詢問:模擬器B定義一個(gè)隨機(jī)預(yù)言機(jī)H:G→Zq,將參數(shù)發(fā)送給敵手A,同時(shí)生成一個(gè)列表List1={θx,tx,c,Tx}。當(dāng)A發(fā)送關(guān)于屬性θx的公共參數(shù)詢問時(shí),B開始掃描整個(gè)列表。如果θx存在于列表當(dāng)中,那么返回該屬性對(duì)應(yīng)的Tx;如果θx不存在,那么B選擇一個(gè)比特參數(shù)c∈{0,1},使其取值的概率分布滿足Pr[c=0]=δ,Pr[c=1]=1-δ,其中θ是介于0到1之間的隨機(jī)數(shù)。當(dāng)c=0時(shí)返回Tx=txP,否則Tx=txP1,最終模擬器B把該屬性的參數(shù)添加到List1里。

      ②私鑰詢問:模擬器生成第二個(gè)列表List2={T,D,{Dx}}。當(dāng)A發(fā)送關(guān)于訪問策略T的私鑰詢問時(shí),B開始掃描整個(gè)列表。如果T中包含列表List1當(dāng)中的屬性,那么告知A游戲結(jié)束并顯示錯(cuò)誤代碼ERROR1;如果T不包含List1當(dāng)中任意屬性的話,選擇兩個(gè)隨機(jī)數(shù)r,R∈Z*q并為T的根節(jié)點(diǎn)root分配一個(gè)隨密結(jié)果m=CT⊕H(X),并將新的{S,CT,X,H(Xm)},添加進(jìn)List3里。

      (3)挑戰(zhàn)階段

      敵手A向模擬器B提交兩段長(zhǎng)度相同的明文m0和m1,以及一個(gè)挑戰(zhàn)屬性集合S*。模擬器隨后檢查挑戰(zhàn)屬性集合中的所有屬性是否都在List1當(dāng)中。如果存在屬性不在List1中,那么告知A挑戰(zhàn)結(jié)束并返回錯(cuò)誤代碼ERROR4;如果所有屬性都在List1中,那么檢查所有屬性在List1里對(duì)應(yīng)的元素c。若存在c=0,那么告知A挑戰(zhàn)失敗并返回錯(cuò)誤代碼ERROR5,否則從List3中隨機(jī)抽取元素H(X),選擇一個(gè)隨機(jī)的比特β∈{0,1}以 及 一 個(gè) 隨 機(jī) 數(shù) s∈Z*q,隨后開始計(jì)算。最終模擬器機(jī)多項(xiàng)式qroot,使得droot=kroot-1,同時(shí)使得qroot(0)=R。

      ③解密詢問:模擬器生成第三個(gè)列表List3={S,CT,X,H(X),m}。當(dāng)A發(fā)送一個(gè)關(guān)于屬性集合S的密文并請(qǐng)求解密時(shí),B開始檢查S當(dāng)中的屬性是否出現(xiàn)在List1中。如果S當(dāng)中存在屬性不在List1里,那么告知A游戲結(jié)束并顯示錯(cuò)誤代碼ERROR2;否則進(jìn)一步檢查S當(dāng)中的屬性在List1當(dāng)中對(duì)應(yīng)的元素c。如果存在屬性對(duì)應(yīng)的元素c=1,那么告知A游戲結(jié)束并顯示錯(cuò)誤代碼ERROR3;否則生成一個(gè)S可滿足的訪問策略T,并生成對(duì)應(yīng)的私鑰。模擬器通過該私鑰計(jì)算 X=D-1DecryptNode(root)和H(X)。最終B返回加B返回挑戰(zhàn)密文。敵手A通過密文輸出β′作為對(duì)β的猜測(cè)。如果β′=β,那么敵手取勝,同時(shí)模擬器輸出P′3=s-1X給挑戰(zhàn)者C作為CDH問題的解。

      由以上游戲流程可知,當(dāng)ERROR1、ERROR2、ERROR3不發(fā)生時(shí),模擬器返回的所有結(jié)果都是有效的,而且與本文的方案在真實(shí)環(huán)境中的計(jì)算結(jié)果無法區(qū)分。同時(shí)當(dāng)ERROR4和ERROR5不發(fā)生時(shí),模擬器才有可能借助敵手的結(jié)果給出CDH難題的正確解。記以上游戲過程中公共參數(shù)詢問的次數(shù)為q1,私鑰詢問的次數(shù)為q2,解密詢問的次數(shù)為q3。設(shè)全局屬性空間大小為每一個(gè)訪問策略里包含的屬性平均個(gè)數(shù)為u。根據(jù)以上參數(shù)可以得到ERROR1到ER ROR5不發(fā)生的概率。這些事件的概率如表4所示。

      Table 4 Occurrence probabilities of all events in challenge game表4 挑戰(zhàn)游戲中所有事件發(fā)生的概率

      根據(jù)表4中各個(gè)事件的概率可得,模擬器給出CDH問題正確解的優(yōu)勢(shì)ε′為:

      因此若存在多項(xiàng)式時(shí)間的算法能夠以不可忽略的優(yōu)勢(shì)給出CDH問題的正確解,那么一定存在多項(xiàng)式時(shí)間的敵手能夠以不可忽略的優(yōu)勢(shì)破解本文的方案。而正因?yàn)镃DH問題是難解的,那么可以證明,本文方案是安全的。

      6 結(jié)束語(yǔ)

      針對(duì)現(xiàn)有ABE方案的不足,基于KP-ABE改進(jìn)了現(xiàn)有的ABE算法,設(shè)計(jì)了一種高效的抗托管云存儲(chǔ)訪問控制模型,該模型在不增加任何實(shí)體的情況下能夠分布式地生成接收者私鑰,解決了ABE算法中的密鑰托管問題。由于加解密過程中不需要進(jìn)行任何雙線性配對(duì),該模型能夠保證較高的計(jì)算效率。最后通過規(guī)約證明本文方案在隨機(jī)預(yù)言機(jī)模型下能夠抵抗選擇密文攻擊。提出的算法在安全性以及算法效率兩方面對(duì)現(xiàn)有的ABE算法進(jìn)行了改進(jìn),適合個(gè)人醫(yī)療電子數(shù)據(jù)管理系統(tǒng)、大型企業(yè)信息管理系統(tǒng)、網(wǎng)絡(luò)云盤等基于公有云的應(yīng)用場(chǎng)景。相比現(xiàn)有的ABE算法,更適合在移動(dòng)端構(gòu)建輕量級(jí)的加密與訪問控制方案。

      此外,提出的算法在密文長(zhǎng)度上仍然保持著較長(zhǎng)的尺寸,某種程度上可以認(rèn)為是以存儲(chǔ)為代價(jià)換取了計(jì)算效率的提升。同時(shí)算法僅僅在普適的公有云環(huán)境下構(gòu)建,尚未針對(duì)具體的應(yīng)用采取優(yōu)化措施。因此實(shí)現(xiàn)進(jìn)一步縮短密文的尺寸,同時(shí)在真實(shí)應(yīng)用場(chǎng)景下進(jìn)行實(shí)際的部署,將是下一步工作考慮的重點(diǎn)。

      猜你喜歡
      鑒權(quán)接收者私鑰
      比特幣的安全性到底有多高
      基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
      單粒子未知態(tài)的分級(jí)量子通信
      一種基于虛擬私鑰的OpenSSL與CSP交互方案
      移動(dòng)網(wǎng)絡(luò)用戶頻繁鑒權(quán)問題的優(yōu)化方案探討
      基于小型核心網(wǎng)的LTE鑒權(quán)的一種新實(shí)現(xiàn)
      淺談信息接收者反饋不當(dāng)現(xiàn)象及對(duì)策
      多用戶MIMO系統(tǒng)基于消息塊預(yù)編碼的可信通信技術(shù)
      電信增值業(yè)務(wù)運(yùn)營(yíng)中的認(rèn)證鑒權(quán)控制方案研究
      基于安全機(jī)制的SQN同步的研究和實(shí)現(xiàn)
      嘉荫县| 华容县| 天祝| 利津县| 石楼县| 莒南县| 蓬安县| 盐亭县| 安图县| 洪泽县| 南通市| 九龙坡区| 永济市| 南召县| 嘉黎县| 柯坪县| 司法| 钦州市| 吴川市| 保康县| 礼泉县| 叶城县| 延津县| 北流市| 会昌县| 渭南市| 红原县| 汾西县| 鄂温| 沙坪坝区| 高雄县| 黄骅市| 乌兰县| 永春县| 台湾省| 三明市| 鄂托克前旗| 青田县| 凤山县| 肥东县| 九江市|