一種具有高效用戶撤銷(xiāo)的密文策略屬性基加密方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種屬性基加密方法,具體涉及一種具有高效用戶撤銷(xiāo)的密文策略屬 性基加密方法,可用于云存儲(chǔ)環(huán)境中實(shí)現(xiàn)細(xì)粒度訪問(wèn)控制和數(shù)據(jù)保護(hù),屬于信息安全技術(shù) 領(lǐng)域。
【背景技術(shù)】
[0002] 作為新的密碼學(xué)原語(yǔ),屬性基加密方法具有一對(duì)多加密的特性,可以用于細(xì)粒度 訪問(wèn)控制。屬性基加密方法主要包括兩種類(lèi)型,分別是密文策略屬性基加密方法和密鑰策 略屬性基加密方法。在密文策略屬性基加密方法中,密文關(guān)聯(lián)一個(gè)訪問(wèn)結(jié)構(gòu),而用戶的私鑰 關(guān)聯(lián)一個(gè)屬性集合,只有私鑰關(guān)聯(lián)的屬性集合滿足密文的訪問(wèn)結(jié)構(gòu)的時(shí)候,用戶才能夠正 確得解密密文。密鑰策略屬性基加密方法正好和密文策略屬性基加密方法相反。密文策略 屬性基加密方法較密鑰策略屬性基加密方法更具有一般性,因?yàn)樵L問(wèn)結(jié)構(gòu)是由加密者自己 定義的。
[0003] 隨著云計(jì)算技術(shù)的發(fā)展,越來(lái)越多的敏感數(shù)據(jù)被存儲(chǔ)在云服務(wù)器中,云計(jì)算的發(fā) 展面臨著云數(shù)據(jù)安全和數(shù)據(jù)訪問(wèn)控制等一系列安全問(wèn)題。在現(xiàn)實(shí)中,第三方提供的云存儲(chǔ) 服務(wù)往往不是完全可信任的,把訪問(wèn)控制交給這樣的服務(wù)器很可能會(huì)存在安全隱患。屬性 基加密方法應(yīng)用于云存儲(chǔ)環(huán)境中,不但可以保護(hù)云數(shù)據(jù)的安全,還可以實(shí)現(xiàn)細(xì)粒度的訪問(wèn) 控制。盡管屬性基加密方法具有很多優(yōu)點(diǎn),在實(shí)際應(yīng)用中仍需要解決一個(gè)棘手的問(wèn)題一一 撤銷(xiāo)。
[0004] 在屬性基加密方法中,每個(gè)用戶享有多個(gè)屬性,每個(gè)屬性也可以被多個(gè)用戶共享。 因此,撤銷(xiāo)問(wèn)題對(duì)于屬性基加密方法尤為困難,系統(tǒng)中單個(gè)用戶或者單個(gè)屬性的撤銷(xiāo)都有 可能影響到其他用戶甚至整個(gè)系統(tǒng)。如今,具有撤銷(xiāo)能力的屬性基加密方法已經(jīng)廣受密碼 學(xué)家的關(guān)注。按照撤銷(xiāo)的粒度,屬性基加密方法的撤銷(xiāo)可分為用戶撤銷(xiāo)、用戶屬性撤銷(xiāo)和系 統(tǒng)屬性撤銷(xiāo)三種;而按照撤銷(xiāo)的形式,屬性基加密方法的撤銷(xiāo)又可分為直接撤銷(xiāo)和間接撤 銷(xiāo)兩種。目前,最理想的撤銷(xiāo)方法應(yīng)該具有粒度較細(xì)的屬性撤銷(xiāo)能力,具有直接撤銷(xiāo)的撤銷(xiāo) 過(guò)程影響范圍小、撤銷(xiāo)操作簡(jiǎn)單等特性。然而,細(xì)粒度的屬性撤銷(xiāo)必然會(huì)帶來(lái)昂貴的計(jì)算代 價(jià),而操作簡(jiǎn)單的直接撤銷(xiāo)方法又有可能帶來(lái)安全問(wèn)題。為了安全性,如今大部分基于屬性 的加密方法的撤銷(xiāo)機(jī)制都采用間接撤銷(xiāo)方法,同時(shí),為了提高撤銷(xiāo)的效率,代理重加密等技 術(shù)被采用。
[0005] 抗合謀攻擊是屬性基加密方法應(yīng)該具備的基本條件。對(duì)于具有撤銷(xiāo)能力的屬性基 加密方法而言,不但要能夠抵抗有效用戶間的合謀攻擊,還要能夠抵抗有效用戶和撤銷(xiāo)用 戶間的合謀攻擊。因此,具有撤銷(xiāo)能力的屬性基加密方法要考慮更多的合謀攻擊類(lèi)型。
【發(fā)明內(nèi)容】
[0006] 針對(duì)現(xiàn)有技術(shù)存在的不足,本發(fā)明目的是提供一種操作簡(jiǎn)單、安全性高的具有高 效用戶撤銷(xiāo)的密文策略屬性基加密方法,既能高效得執(zhí)行用戶撤銷(xiāo)操作,又能抵抗各種用 戶間合謀攻擊。
[0007] 為了實(shí)現(xiàn)上述目的,本發(fā)明是通過(guò)如下的技術(shù)方案來(lái)實(shí)現(xiàn):
[0008] 本發(fā)明的一種具有高效用戶撤銷(xiāo)的密文策略屬性基加密方法,包括以下幾個(gè)步 驟:
[0009] (A)系統(tǒng)建立步驟:屬性權(quán)威機(jī)構(gòu)AA從公鑰函數(shù)數(shù)據(jù)庫(kù)中隨機(jī)選取一套參數(shù),包 括兩個(gè)階為素?cái)?shù)P的乘法循環(huán)群6和心、群G的生成元g以及雙線性對(duì)映射e:GXG -心;根 據(jù)選取的參數(shù),AA生成系統(tǒng)公開(kāi)參數(shù)PK和主私鑰MK,并把系統(tǒng)公開(kāi)參數(shù)PK公開(kāi)而把主私 鑰MK私密保存;(B)用戶群建立步驟:用戶群管理者GM以系統(tǒng)公開(kāi)參數(shù)PK為輸入,生成用 戶群的群公鑰GPK、群私鑰GMK和用戶字典DIC,群管理者把群公鑰GPK公開(kāi)而把群私鑰GMK 和用戶字典DIC私密保存;(C)用戶私鑰生成步驟:用戶向AA提交自己的身份信息UID、屬 性集合S和所屬群信息GID ;AA收到用戶的申請(qǐng)后,首先通過(guò)與該用戶所屬群的交互來(lái)驗(yàn)證 該用戶身份(其交互過(guò)程是一個(gè)簽名和驗(yàn)證簽名的過(guò)程,為現(xiàn)有技術(shù)此處不再贅述),當(dāng)驗(yàn) 證通過(guò)后,AA利用主私鑰為該用戶生成與屬性集合S和所屬群信息GID相關(guān)聯(lián)的私鑰DSK, 并把私鑰DSK通過(guò)安全信道發(fā)送給用戶;同時(shí),AA生成一個(gè)元組UP,UP通過(guò)一個(gè)安全信道 發(fā)送給用戶所屬群的管理員,群管理者保存UP到用戶字典DIC中;(D)加密步驟:數(shù)據(jù)擁有 者DO利用自定義的訪問(wèn)結(jié)構(gòu)A和選擇的群公鑰GPK對(duì)消息M進(jìn)行加密,加密產(chǎn)生密文CT并 上傳至云存儲(chǔ)服務(wù)器CSS ; (E)解密步驟:數(shù)據(jù)使用者DU從云存儲(chǔ)服務(wù)器CSS下載密文CT, 并利用滿足CT關(guān)聯(lián)的訪問(wèn)結(jié)構(gòu)A和用戶群信息GID的私鑰DSK進(jìn)行解密,還原消息M ; (F) 用戶群升級(jí)步驟:用戶群管理者GM以系統(tǒng)公開(kāi)參數(shù)PK為輸入,生成新的群公鑰GPK'、群私 鑰GMK',并生成重加密密鑰Re-Key、更新用戶字典DIC中的元組為UP',重加密密鑰Re-Key 發(fā)送給云存儲(chǔ)服務(wù)器CSS,字典中的每一個(gè)元組UP'發(fā)送給相對(duì)應(yīng)的用戶;(G)用戶升級(jí)步 驟:用戶利用收到的元組UP'升級(jí)自己的私鑰為DSK' ; (H)重加密步驟:云存儲(chǔ)服務(wù)器利用 收到的重加密密鑰Re-Key對(duì)屬于該群的密文CT進(jìn)行重加密操作,得到新的密文CT'。
[0010] 步驟㈧中,所述的系統(tǒng)公開(kāi)參數(shù)PK和系統(tǒng)主私鑰MK,按照如下方式生成:
[0011] Al:屬性授權(quán)機(jī)構(gòu)隨機(jī)選取α,β e zp,其中,Zp表示集合{0, 1,2, 一4-24-1};
[0012] A2:屬性授權(quán)機(jī)構(gòu)計(jì)算得到系統(tǒng)主私鑰為MK = {i3,g°},計(jì)算得到系統(tǒng)公開(kāi)參數(shù) PK= {6,841!,6(8,8)°},并且計(jì)算區(qū)1/|!;
[0013] A3:g1/e只向用戶群管理者公開(kāi),用于執(zhí)行用戶撤銷(xiāo)操作。
[0014] 步驟(B)中,所述群公鑰GPK、群私鑰GMK和用戶字典DIC,按照如下方式生成:
[0015] BI:用戶群管理者隨機(jī)選取γ e Zp作為用戶群的群私鑰GMK ;
[0016] B2:用戶群管理者計(jì)算gY作為用戶群的群公鑰GPK ;
[0017] B3:用戶群管理者初始化用戶字典DIC,該字典初始化為空。
[0018] 步驟(C)中,所述私鑰DSK及元組UP,按照如下方式生成:
[0019] Cl:用戶群管理者為用戶生成一個(gè)證書(shū)δ = ghXHOiID)'其中,HO選用哈希 函數(shù)MD-5,該函數(shù)把一個(gè)字符串映射到群G中的一個(gè)元素,該證書(shū)發(fā)送給屬性權(quán)威機(jī)構(gòu);
[0020] C2:屬性權(quán)威機(jī)構(gòu)驗(yàn)證證書(shū)的有效性,若e(g,δ ) = e(ge XH(UID),gY)則執(zhí)行步 驟C3,否則退出并返回用戶錯(cuò)誤符號(hào)丄;
[0021] C3:對(duì)于所有屬性j e S,屬性權(quán)威機(jī)構(gòu)隨機(jī)選取一個(gè)指數(shù)Z p,其中,2|5表 示集合{0,1,2,…,p-2,p-l},同時(shí),屬性權(quán)威機(jī)構(gòu)隨機(jī)選取指數(shù)r g,r e Zp;屬性權(quán)威 機(jī)構(gòu)計(jì)算以1]10)1/=5八8 1{!并最終計(jì)算得到用戶私鑰051(={051(5,051((;1:)},其中, _二供=滬+氣歡eS;g =碼勵(lì)以訊逆,輯==#}:,其中,j表示屬性集合中的任意屬性,而 化與D ,表示該屬性對(duì)應(yīng)的屬性密鑰,。級(jí)Wli = U^fex訊以/?)弋/)廣§^//設(shè)//))^=§",其 中,%與D g'表示該用戶所對(duì)應(yīng)的用戶群密鑰;
[0022] C4:屬性權(quán)威機(jī)構(gòu)把DSK = {DSKs,DSKgieJ通過(guò)安全信道發(fā)送給用戶,計(jì)算UP = IUn^d1=HOJIDhd2= (gXH(UID)) 1/e}并發(fā)送給用戶所屬群的管理者。
[0023] 步驟D中,所述數(shù)據(jù)擁有者計(jì)算消息M的密文CT,按照如下方式生成:
[0024] Dl:數(shù)據(jù)擁有者定義一個(gè)樹(shù)形訪問(wèn)結(jié)構(gòu)A,獲取相關(guān)用戶群的群公鑰GPK ;
[0025] D2:數(shù)據(jù)擁有者隨機(jī)選擇Sl,s2e Zp,為訪問(wèn)結(jié)構(gòu)A中的根節(jié)點(diǎn)R隨機(jī)選擇一個(gè)dR 次多項(xiàng)式qR,其中dR= kR_l,其中,kR表示根節(jié)點(diǎn)R的秘密分享門(mén)限值,并且qR(0) = s2;
[0026] D3:為訪問(wèn)結(jié)構(gòu)A中的除根節(jié)點(diǎn)R的任意節(jié)點(diǎn)X選擇一個(gè)dx次多項(xiàng)式q x,其中 dx= k x_l,其中,1表示節(jié)點(diǎn)X的秘密分享門(mén)限值,并且q x(0) = qparantW (index(x)),函數(shù) parent (X)返回節(jié)點(diǎn)x的父節(jié)點(diǎn),函數(shù)index(x)返回節(jié)點(diǎn)x在其父節(jié)點(diǎn)中的次序;
[0027] D4:依此類(lèi)推,最終為訪問(wèn)結(jié)構(gòu)A中的每一個(gè)葉子結(jié)點(diǎn)y選擇一個(gè)火次多項(xiàng)式qy, 其中dy= ky_l,其中,1^表示節(jié)點(diǎn)y的秘密分享門(mén)限值,并且qy(0) = qparantW (index(y)), qy(〇)作為秘密值參與加密運(yùn)算;
[0028] D5:數(shù)據(jù)擁有者計(jì)筧得到密f
[0029]
[0030] 其中,集合Y中的元素為訪問(wèn)結(jié)構(gòu)A中的葉子節(jié)點(diǎn),att(y)函數(shù)表示葉子節(jié)點(diǎn)y所 對(duì)應(yīng)的屬性。
[0031 ] 步驟E中,消息M按照如下方式生成:
[0032] El:解密者調(diào)用一個(gè)遞歸解密函數(shù)DeCryptN〇de(CT,DSKs, X),其中,CT是一個(gè)關(guān)聯(lián) 了訪問(wèn)結(jié)構(gòu)A的密文,05心是一個(gè)關(guān)聯(lián)了屬性集合S的私鑰,X是訪問(wèn)結(jié)構(gòu)A中的節(jié)點(diǎn);
[0033] E2:x為葉子結(jié)點(diǎn),令i = att (X),其中,函數(shù)att (X)返回節(jié)點(diǎn)X所對(duì)應(yīng)的屬性,如 果i e S,則計(jì)算
否則,令Fx=丄;
[0034] E3: X為非葉子結(jié)點(diǎn),為X的所有子節(jié)點(diǎn)z調(diào)用函數(shù)DecryptNode (CT, DSKs, z),并 保存其輸出Fz,令Sx表示一個(gè)k x長(zhǎng)度的集合,該集合保存滿足條件F z辛丄的節(jié)點(diǎn)z,如果這 樣的集合存在,則計(jì)芻
,其中,氣表 示拉格朗日插值公式的系數(shù)表達(dá)式,其中輸入為0 ;否則,令Fx=丄;
[0035] E4:依此類(lèi)推,如果屬性集合S滿足訪問(wèn)結(jié)構(gòu)A,則遞歸函數(shù)會(huì)正確執(zhí)行
5則,令Fr=丄;
[0036] E5:解密者調(diào)用一個(gè)遞歸解密函數(shù)DecryptNode (CT,DSKgid, GID),其中,CT是一個(gè) 關(guān)聯(lián)了訪問(wèn)結(jié)構(gòu)A的密文,051^1:)是一個(gè)關(guān)聯(lián)了用戶群的私鑰,GID是私鑰所關(guān)聯(lián)的用戶群 信息;
[0037] E6:如果GID與密文CT中關(guān)聯(lián)的用戶群信息一致,則計(jì)算^ =
§則,令Fg=丄;
[0038] E7: Sfr乒丄且Fg乒丄,解密者計(jì)算
*.最后恢復(fù)消息BRg S] = M _〇
[0039] 步驟F中,所述新的群私鑰GMK'、新的群公鑰GPK'、重加密密鑰Re-Key和新的用 戶元組UP'按照如下方式生成:
[0040] Fl:隨機(jī)選取γ' e Zp作為用戶群的群私鑰GMK' ;
[0041] F2:計(jì)算gY'作為用戶群的群公鑰GPK' ;
[0042] F3:計(jì)算重加密密鑰Re-Key = g(Y' γ)/?!,并發(fā)送給云存儲(chǔ)服務(wù)器執(zhí)行重加密操 作;
[0043] F4:為用戶群中的每一個(gè)用戶升級(jí)其對(duì)應(yīng)的元組UP,升級(jí)后為UP' = IUIDJ1 = H(UID)Y' Y,d2= (gXH(UID)) (γ' Y)/e},把 UP' 發(fā)送給相應(yīng)的用戶。
[0044] 步驟G中,所述私鑰DSK'按照如下方式生成:
[0045] Gl:用戶收到升級(jí)后的UP'后,在其私鑰DSKs上執(zhí)行計(jì)算AU:/),=D,W 1 = ,其中,Cl1= H(UID) γ' γ;
[0046] G2:在其私鑰 DSKgid上執(zhí)行計(jì)算 D2= D2Xd2= (gXH(UID)) Y'/e,其中,d2 = (gXH(UID))(Y' γ)/?!。
[0047] 步驟H中,所述密文CT'按照如下方式生成:
[0048] Hl:云存儲(chǔ)服務(wù)器收到重加密密鑰后,對(duì)該群的密文執(zhí)行重加密計(jì)算^ = 0· e(Re-Key,C2) = M;
[0049] H2:云存儲(chǔ)服務(wù)器更新密文CT為CT'。本加密方法具有撤銷(xiāo)過(guò)程涉及用戶少、撤 銷(xiāo)代價(jià)小、撤銷(xiāo)效率高的優(yōu)點(diǎn),并且本加密方法安全性高,可以抵抗多類(lèi)型用戶之間的合謀 攻擊。鑒于屬性基加密方案具有一次加密多人解密、細(xì)粒度訪問(wèn)控制特性,本加密方法可應(yīng) 用于云存儲(chǔ)環(huán)境中。
【附圖說(shuō)明】
[0050] 圖1為本發(fā)明的系統(tǒng)圖;
[0051] 圖2為本發(fā)明的工作流程圖。
【具體實(shí)施方式】
[0052] 為使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合
【具體實(shí)施方式】,進(jìn)一步闡述本發(fā)明。
[0053] -、本發(fā)明所應(yīng)用的數(shù)學(xué)理論說(shuō)明:
[0054] 1.雙線性對(duì)
[0055] 本發(fā)明中,雙線性對(duì)e:GXG - Gt是一個(gè)滿足雙線性性、非退化性和可計(jì)算性的映 射,它把素?cái)?shù)階群G中的兩個(gè)元素映射到素?cái)?shù)階群G t*的一個(gè)元素。
[0056] 2.拉格朗日系數(shù)
[0057] 對(duì)于d-1次多項(xiàng)式f (X)和集合S = U1, x2, . . .,xd},元素 Xi和集合S相對(duì)應(yīng)的拉格 朗日系數(shù))
丨據(jù)拉格朗日系數(shù),可以按照如下方式計(jì)算出多項(xiàng)式f(x):
[0058] f (χ) = Σ j es Δ i Sf (Xi)
[0059] 其中,拉格朗日系數(shù)Ais是一個(gè)關(guān)于自變量χ的多項(xiàng)式。
[0060] 二、本發(fā)明的實(shí)現(xiàn)過(guò)程
[0061] 參照?qǐng)D1和圖2,引入用戶群的概念,用戶撤銷(xiāo)操作由用戶群管理者執(zhí)行,單個(gè)用 戶的撤銷(xiāo)只影響該用戶所在群中的用戶,并非系統(tǒng)中所有用戶,縮小了撤銷(xiāo)工作涉及的范 圍;為用戶私鑰關(guān)聯(lián)了用戶信息和群私鑰,有效防止各種類(lèi)型的合謀攻擊,提高安全性;同 時(shí),代理重加密技術(shù)極大得減