陳丹偉,楊 晟
(南京郵電大學(xué) 計算機(jī)學(xué)院,南京210003)
基于動態(tài)信用等級的密文訪問控制方案
陳丹偉,楊 晟*
(南京郵電大學(xué) 計算機(jī)學(xué)院,南京210003)
(*通信作者電子郵箱ysheng12051@163.com)
針對屬性基加密機(jī)制(ABE)在移動互聯(lián)網(wǎng)環(huán)境中計算開銷較大且不夠靈活的問題,提出了一種基于動態(tài)信用等級的密文策略屬性基加密(CP-ABE)方案。首先,該方案引入“信用等級”屬性用來標(biāo)識用戶的“信用”并以此劃分用戶等級,高“信用等級”用戶僅需常數(shù)級的計算開銷即可解密;同時,中央授權(quán)中心(CA)在設(shè)定的時間閾值評估用戶的訪問行為并動態(tài)更新用戶的“信用等級”,更新算法避免私鑰的完全重新生成。理論分析和實驗結(jié)果表明,隨著高“信用等級”用戶占比升高,所提方案系統(tǒng)總時間開銷不斷減少,最終達(dá)到穩(wěn)定并優(yōu)于傳統(tǒng)方案。該方案在保證安全性的前提下,總體上提高了移動互聯(lián)網(wǎng)環(huán)境中訪問控制的效率。
訪問控制;屬性基加密;信用等級;行為評估;屬性更新
大數(shù)據(jù)時代,云計算成了解決大數(shù)據(jù)分析的有效方案,云有著足夠的數(shù)據(jù)存儲和處理的能力。然而,數(shù)據(jù)存儲在云端之后,安全性成了一個必須要解決的問題。以基于身份的加密機(jī)制(Identity-Based Encryption, IBE)[1-3]為基礎(chǔ),基于屬性的加密機(jī)制(Attribute-Based Encryption, ABE)[4-7]的出現(xiàn)一定程度上解決了端到端的數(shù)據(jù)安全問題。ABE允許數(shù)據(jù)擁有者制定訪問策略并基于該策略加密數(shù)據(jù),而用戶只有在自身屬性滿足訪問控制策略的情況下才能解密數(shù)據(jù)。最初的ABE算法僅支持門限操作,無法達(dá)到細(xì)粒度的訪問控制需求。Bethencourt 等[5]改進(jìn)了最初的ABE 算法,提出了密文策略的ABE(Ciphertext-Policy ABE, CP-ABE)方案,將密文與一個訪問控制樹綁定在一起,而用戶則與一系列屬性綁定在一起。當(dāng)用戶屬性集合滿足密文的訪問控制樹時,可以解密數(shù)據(jù)。更接近人們對于訪問控制的思維習(xí)慣。而其他訪問控制策略[8-12]也增強(qiáng)了訪問控制的靈活性。然而,在大數(shù)據(jù)發(fā)展的過程中,個人計算機(jī)已趨于飽和,移動互聯(lián)網(wǎng)正迎來井噴式的發(fā)展。盡管ABE在云環(huán)境下使用廣泛,但著眼于當(dāng)前發(fā)展更為迅速的移動互聯(lián)網(wǎng),ABE的使用還存在一些缺陷。
將傳統(tǒng)的CP-ABE方案應(yīng)用在移動互聯(lián)網(wǎng)環(huán)境中時,很有可能存在惡意用戶,他們頻繁地請求本身屬性無法解密的數(shù)據(jù),或越權(quán)使用數(shù)據(jù),給系統(tǒng)造成很大的性能開銷。而CP-ABE的解密算法計算開銷較大,尤其在移動設(shè)備的計算能力和存儲能力有限的情況下,會造成系統(tǒng)可用性問題。同時,現(xiàn)有方案缺少對用戶的分類,控制粒度不夠細(xì)。
基于上述問題,本文提出了一種基于動態(tài)信用等級的密文策略屬性基加密方案,在該方案中,引入了“信用等級”屬性用來標(biāo)識用戶的“信用”。根據(jù)用戶不同的“信用等級”,系統(tǒng)作出不同的處理。
同時,系統(tǒng)會對用戶的過往行為作出評估,動態(tài)地更新用戶的“信用等級”屬性。在屬性更新時,本文方案避免了用戶重新提交全部屬性證明而完全重新生成密鑰,可以直接做到僅更新需要更新的屬性值,在不影響安全性的前提下,提高了系統(tǒng)的效率。
本章給出本文系統(tǒng)相關(guān)的定義、框架及安全模型,并介紹雙線性對相關(guān)的背景知識。
1.1 信用等級分類
系統(tǒng)在傳統(tǒng)CP-ABE方案的基礎(chǔ)上,為每個用戶額外引入一個“信用等級”屬性,該屬性有三種狀態(tài),由高到低分別為:“受信用戶”“一般用戶”“非法用戶”。
其中:“受信用戶”可憑借這一屬性,無需額外解密步驟,即可獲取解密密鑰,進(jìn)而根據(jù)解密密鑰直接解密獲取數(shù)據(jù)明文;相反,被證實為“非法用戶”的用戶將被拒絕進(jìn)一步訪問;其余的“一般用戶”將按照CP-ABE解密算法,根據(jù)自身屬性解密得到數(shù)據(jù)。
1.2 系統(tǒng)角色分類
本文系統(tǒng)角色分為四類:
1)數(shù)據(jù)所有者。數(shù)據(jù)所有者實際擁有數(shù)據(jù),并對數(shù)據(jù)有操作權(quán)利,初始狀態(tài)下設(shè)置用戶“信用等級”屬性,可以制定相關(guān)的數(shù)據(jù)訪問策略。數(shù)據(jù)所有者同時也可能是數(shù)據(jù)的訪問用戶。
2)用戶。用戶具有某些指定的屬性,需要通過云服務(wù)器獲取密文數(shù)據(jù),然后使用自身的屬性密鑰進(jìn)行解密。
3)云服務(wù)器。云服務(wù)器提供數(shù)據(jù)的物理存儲服務(wù),負(fù)責(zé)響應(yīng)數(shù)據(jù)所有者和用戶的請求,提供數(shù)據(jù)的讀寫和傳輸工作。但是云服務(wù)器對數(shù)據(jù)沒有解密的權(quán)利。
4)中央授權(quán)中心(Central Authority, CA)。CA負(fù)責(zé)為用戶分發(fā)解密密鑰,同時根據(jù)用戶的行為評估結(jié)果更新用戶相應(yīng)的“信用等級”屬性。
1.3 系統(tǒng)框架
基于動態(tài)信用等級的密文訪問控制方案系統(tǒng)模型如圖1所示。
圖1 系統(tǒng)模型
該模型由三個模塊共七個算法構(gòu)成:
1)初始化屬性設(shè)置模塊。該模塊包含一個算法:用戶“信用等級”屬性初始化。由數(shù)據(jù)所有者和CA產(chǎn)生。在系統(tǒng)初始階段或當(dāng)有新用戶加入系統(tǒng)時,CA為每個用戶設(shè)置初始的“信用等級”屬性值。
2)改進(jìn)的CP-ABE加解密模塊。該模塊包含如下四個算法:
a)系統(tǒng)初始化。由CA產(chǎn)生。初始化算法主要是用于為后續(xù)步驟產(chǎn)生公共的數(shù)據(jù),包括了群的選擇、產(chǎn)生公共的變量,以及選取一個將每個用戶的“信用等級”屬性轉(zhuǎn)化到整數(shù)群的單項映射;同時生成一個系統(tǒng)主密鑰,作用是用于生成屬性私鑰。
b)屬性密鑰生成。由CA產(chǎn)生。通過系統(tǒng)的主密鑰,對系統(tǒng)中的每個用戶進(jìn)行認(rèn)證,并為每個用戶分配屬于他的屬性私鑰,在本文系統(tǒng)中,還要求將每個用戶的“信用等級”屬性轉(zhuǎn)化到整數(shù)群。屬性私鑰用于解密密文數(shù)據(jù)。
c)信息加密。由數(shù)據(jù)所有者和CA產(chǎn)生。加密算法主要是生成訪問結(jié)構(gòu)樹,根據(jù)系統(tǒng)的公共數(shù)據(jù),對信息進(jìn)行加密,并將“受信用戶”和“非法用戶”所對應(yīng)的信息置于密文之中,最終生成密文信息。
d)密文解密。由用戶和CA產(chǎn)生。解密算法包含了2個步驟:首先判斷用戶的“信用等級”屬性信息是否和密文包含的“受信用戶”或“非法用戶”信息相符合,若用戶的“信用等級”屬性信息滿足密文所包含的“受信用戶”信息的話,用戶直接獲取解密密鑰,進(jìn)而根據(jù)解密密鑰直接解密獲取數(shù)據(jù)明文;相反,若用戶的“信用等級”屬性信息滿足密文所包含的“非法用戶”信息,則系統(tǒng)直接拒絕用戶的訪問請求。其次,在一般狀態(tài)下,用戶的“信用等級”不足以直接獲取解密密鑰,只能根據(jù)自身的屬性私鑰按照傳統(tǒng)CP-ABE的解密算法進(jìn)行密文的解密,若屬性私鑰滿足訪問控制樹,則解密成功;否則,解密失敗。
3)用戶行為評估及屬性更新模塊。該模塊包含如下兩個算法:
a)用戶行為評估。由CA產(chǎn)生。CA根據(jù)用戶一段時間閾值內(nèi)的訪問行為對用戶作出評價,若此期間用戶無非法訪問行為,表明該用戶行為良好;若出現(xiàn)非法訪問,則表明其行為異常。
b)屬性更新。由CA產(chǎn)生。CA根據(jù)用戶一段時間閾值內(nèi)的訪問行為動態(tài)地更新相應(yīng)用戶的“信用等級”屬性。
1.4 安全模型
定義模型的交互步驟如下:
1)系統(tǒng)建立階段。挑戰(zhàn)者運行系統(tǒng)初始化算法,生成系統(tǒng)公共參數(shù)。挑戰(zhàn)者隨機(jī)選擇一個安全參數(shù),運行密鑰生成算法,生成公鑰和私鑰。挑戰(zhàn)者秘密保存私鑰,并將公共參數(shù)和公鑰發(fā)送給攻擊者。
2)階段一。攻擊者查詢屬性集合S1,S2,…,Sq1要求構(gòu)造私鑰。
3)挑戰(zhàn)階段:攻擊者選擇兩個長度相同的明文消息M0和M1,發(fā)送給挑戰(zhàn)者。同時,攻擊者宣布一個想要挑戰(zhàn)的訪問結(jié)構(gòu)Γ,要求階段一中任意屬性集S1,S2,…,Sq1均不滿足該訪問結(jié)構(gòu)。挑戰(zhàn)者拋擲一枚公平硬幣b∈{0,1},對其中一個消息Mb進(jìn)行加密,并將密文CT發(fā)送給攻擊者。
4)階段二。重復(fù)階段一并繼續(xù)限制任意屬性集Sq1+1,Sq1+2,…,Sq均不滿足挑戰(zhàn)階段的訪問結(jié)構(gòu)。
5)輸出階段。攻擊者根據(jù)密文CT對b進(jìn)行猜測,得到預(yù)測b′。如果b′=b,則認(rèn)為攻擊者贏得了游戲。
攻擊者贏得上述游戲的概率為:|Pr[b′=b]-1/2|。對于一個加密方案,如果任意概率多項式時間的攻擊者在上述游戲中的優(yōu)勢是可忽略的,即其贏得游戲的概率都趨近于0,則稱該加密方案是選擇明文攻擊下的不可區(qū)分性(INDistinguishabilityChosen-PlaintextAttack,IND-CPA)安全。我們注意到若階段一及階段二中允許解密詢問,該模型可得以擴(kuò)展以解決選擇密文攻擊。
1.5 雙線性映射
設(shè)G0、G1是兩個階為素數(shù)p的乘法循環(huán)群,設(shè)g為G0生成元,e為雙線性映射:G0×G0→G1。雙線性映射e有如下屬性:
1)雙線性性:對于所有的u、v∈G0,a、b∈Zp,有e(ua,vb)=e(u,v)ab。
2)非退化性:e(g,g)≠1。
本文系統(tǒng)的實現(xiàn)細(xì)分為三個模塊:初始化用戶“信用等級”屬性設(shè)置模塊、改進(jìn)的CP-ABE加解密模塊以及用戶行為評估及屬性更新模塊。
初始化用戶“信用等級”屬性設(shè)置模塊由數(shù)據(jù)所有者和CA為用戶設(shè)定初始化“信用等級”屬性。
改進(jìn)的CP-ABE加解密模塊在傳統(tǒng)CP-ABE方案的基礎(chǔ)上,增加了“信用等級”屬性的校驗功能,針對不同用戶的不同“信用等級”屬性,算法的執(zhí)行上稍有不同。
用戶行為評估及屬性更新模塊會收集統(tǒng)計每個用戶一段時間閾值內(nèi)的訪問行為,并對用戶的訪問行為作出評估。根據(jù)評估結(jié)果,更新用戶“信用等級”屬性。
2.1 初始化屬性設(shè)置模塊
在系統(tǒng)初始階段或當(dāng)有新用戶加入系統(tǒng)時,CA會向數(shù)據(jù)所有者發(fā)起詢問,詢問目前系統(tǒng)中用戶的信任信息,數(shù)據(jù)所有者將每個用戶的“信用等級”屬性TrustLeveluser與用戶ID相關(guān)聯(lián),并將自己對用戶的信任情況反饋給CA。CA根據(jù)數(shù)據(jù)所有者的反饋信息,根據(jù)用戶ID為每個用戶設(shè)置初始的“信用等級”屬性值。數(shù)據(jù)所有者所信任的用戶被設(shè)置為“受信用戶”,即其TrustLeveluser="trusted";數(shù)據(jù)所有者不完全信任的用戶被設(shè)置為“一般用戶”,即其TrustLeveluser="ordinary"。初始狀態(tài)下,不存在“非法用戶”。
2.2 改進(jìn)的CP-ABE加解密模塊
1)系統(tǒng)初始化(Setup)。
系統(tǒng)主密鑰MK為(β,gα),系統(tǒng)公鑰PK為:
(G0,g,h=gβ,e(g,g)α)
2)加密算法(Encrypt(PK,M,Γ))。
生成訪問控制樹Γ,訪問控制樹的定義與文獻(xiàn)[5]中訪問控制樹的定義相同。
加密消息M,得到的密文中包含了訪問控制樹Γ以及“信用等級”屬性TrustLevel的兩個臨界值“受信用戶”和“非法用戶”。
利用系統(tǒng)初始化中選擇的單向映射函數(shù)f將“信用等級”屬性的兩個臨界值“受信用戶”和“非法用戶”分別映射到整數(shù)群中的某一元素。
通過上一步驟中數(shù)據(jù)所有者構(gòu)造的訪問控制樹Γ,為訪問控制樹中的每個節(jié)點x設(shè)計一個多項式qx,qx滿足dx=kx-1,其中:dx是多項式的度,kx是節(jié)點的門限值。從根節(jié)點遞歸生成每個節(jié)點的多項式qx。
qx(0)=qparent(x)(index(x))
設(shè)Ac為訪問控制樹Γ中葉節(jié)點的集合,最終生成的密文為:
3)密鑰生成算法(KeyGen(MK,Au))。
4)解密算法(Decrypt(CT,SK))。
解密算法首先驗證用戶“信用等級”屬性,若滿足TrustLevel="trusted",則直接利用用戶“信用等級”屬性獲取解密密鑰,進(jìn)而根據(jù)解密密鑰直接解密得到明文;相反,若滿足TrustLevel="untrusted",則系統(tǒng)直接拒絕用戶的訪問請求;若上述兩種情況均不滿足,利用用戶屬性密鑰,對數(shù)據(jù)解密得到明文。
若用戶既不是“受信用戶”,也不是“非法用戶”,則需要根據(jù)其自身擁有的屬性遞歸計算解密數(shù)據(jù)。
設(shè)x表示訪問控制樹Γ中的一個節(jié)點,令k=att(x),k∈AU,則遞歸計算:
最終,如果用戶的屬性私鑰滿足訪問控制樹,可以得到:
DecryptNode(CT,D,r)=e(g,g)rqr(0)=e(g,g)rs
最終的明文M可通過計算獲得:
2.3 用戶行為評估及屬性更新模塊
CA會設(shè)定一個時間閾值,收集該時間閾值內(nèi)各類用戶的訪問記錄,評估其訪問行為是否合理,并根據(jù)評估的結(jié)果更新相應(yīng)用戶的“信用等級”屬性。因此,用戶“信用等級”屬性更新的頻率由時間閾值所限定。
2.3.1 用戶行為評估
要想評估訪問行為的合理性,首先需要給出“合理”的訪問行為的一系列標(biāo)準(zhǔn)。系統(tǒng)規(guī)定“合理”的訪問行為的標(biāo)準(zhǔn)為:正常地訪問并嘗試解密數(shù)據(jù),若成功解密,則按照權(quán)限的允許范圍操作數(shù)據(jù);若解密不成功,則一段時間內(nèi)不再重復(fù)請求訪問該數(shù)據(jù);成功解密的數(shù)據(jù)不隨意傳播給其他用戶。相反,違反上述任何一條規(guī)定的訪問行為都被定義為“不合理”的訪問。例如:成功解密數(shù)據(jù)后,一個只有“讀”權(quán)限的用戶嘗試“寫”或“刪除”云服務(wù)器中的數(shù)據(jù);解密不成功之后重復(fù)多次請求相同數(shù)據(jù),給系統(tǒng)造成不必要的負(fù)擔(dān);任意將解密成功的數(shù)據(jù)傳播給其他用戶。
下面根據(jù)用戶當(dāng)前“信用等級”屬性的分類,詳細(xì)說明該過程:
若用戶當(dāng)前的“信用等級”屬性TrustLevel="ordinary",即用戶當(dāng)前為“一般用戶”,按照系統(tǒng)模型的設(shè)計,該用戶具有正常的訪問權(quán)限,但無法根據(jù)“信用等級”屬性直接獲取明文,需要根據(jù)自身屬性對應(yīng)的SK解密密文。最終是否能成功解密,主要看該用戶擁有的屬性是否滿足訪問控制結(jié)構(gòu)。在當(dāng)前時間閾值內(nèi),若該用戶未出現(xiàn)“不合理”的訪問記錄,CA在時間閾值到期后動態(tài)地將該用戶的“信用等級”屬性由TrustLevel="ordinary"更新為TrustLevel="trusted",即該用戶由“一般用戶”升級為“受信用戶”。相反,在當(dāng)前時間閾值內(nèi),若該用戶出現(xiàn)了“不合理”的訪問記錄,CA在時間閾值到期后動態(tài)地將該用戶的“信用等級”屬性由TrustLevel="ordinary"更新為TrustLevel="untrusted",即該用戶由“一般用戶”降級為“非法用戶”,在下一時間閾值內(nèi),該用戶將被剝奪系統(tǒng)的訪問權(quán)限。下一時間閾值結(jié)束后,該用戶需要重新向CA申請訪問權(quán)限,即將該用戶的“信用等級”屬性由TrustLevel="untrusted"更新為TrustLevel="ordinary",用戶重新變?yōu)椤耙话阌脩簟薄?/p>
若用戶當(dāng)前的“信用等級”屬性TrustLevel="trusted",即用戶當(dāng)前為“受信用戶”,按照系統(tǒng)模型的設(shè)計,該用戶具有正常的訪問權(quán)限,且可以根據(jù)“信用等級”屬性直接獲取解密密鑰,進(jìn)而根據(jù)解密密鑰直接解密獲取數(shù)據(jù)明文。在當(dāng)前時間閾值內(nèi),若該用戶未出現(xiàn)“不合理”的訪問記錄,CA在時間閾值到期后保持該用戶的“信用等級”屬性為TrustLevel="trusted",即該用戶繼續(xù)為“受信用戶”。相反,若在當(dāng)前時間閾值內(nèi),若該用戶出現(xiàn)了“不合理”的訪問記錄,CA在時間閾值到期后動態(tài)地將該用戶的“信用等級”屬性由TrustLevel="trusted"更新為TrustLevel="untrusted",即該用戶由“受信用戶”降級為“非法用戶”,在下一時間閾值內(nèi),該用戶將被剝奪系統(tǒng)的訪問權(quán)限。下一時間閾值結(jié)束后,該用戶需要重新向CA申請訪問權(quán)限,即將該用戶的“信用等級”屬性由TrustLevel="untrusted"更新為TrustLevel="ordinary",用戶變?yōu)椤耙话阌脩簟薄?/p>
需要說明的是,當(dāng)某一用戶兩次由于“不合理”的訪問記錄被降級為“非法用戶”后,其“信用等級”屬性將不再更新,該用戶永遠(yuǎn)被系統(tǒng)設(shè)為“非法用戶”,系統(tǒng)將永久剝奪其訪問權(quán)限。
若用戶當(dāng)前的“信用等級”屬性TrustLevel="untrusted",即用戶當(dāng)前為“非法用戶”,按照系統(tǒng)模型的設(shè)計,該用戶無系統(tǒng)的訪問權(quán)限。對于首次由于“不合理”的訪問記錄被降級為“非法用戶”的一類用戶,在當(dāng)前時間閾值內(nèi),若該用戶未出現(xiàn)“不合理”的訪問記錄,CA在時間閾值到期后動態(tài)地將該用戶的“信用等級”屬性由TrustLevel="untrusted"更新為TrustLevel="ordinary",即該用戶由“非法用戶”升級為“一般用戶”。相反,若在當(dāng)前時間閾值內(nèi),若該用戶又出現(xiàn)了“不合理”的訪問記錄,CA在時間閾值到期后動態(tài)地將該用戶的“信用等級”屬性保持為TrustLevel="untrusted",即該用戶仍然是“非法用戶”,并且,其“信用等級”屬性將不再更新,該用戶永遠(yuǎn)被系統(tǒng)設(shè)為“非法用戶”,系統(tǒng)將永久剝奪其訪問權(quán)限。
2.3.2 屬性動態(tài)更新
在設(shè)定的時間閾值到期后,CA會根據(jù)上述的用戶行為評估結(jié)果更新相應(yīng)用戶的“信用等級”屬性。本文系統(tǒng)僅考慮用戶的“信用等級”屬性的更新。在傳統(tǒng)的屬性更新算法中,用戶被要求提供自身所有屬性相關(guān)的證明,CA會驗證所有相關(guān)證明,驗證完成后再更新相應(yīng)屬性字段,完全重新生成新的SK并發(fā)送給用戶。當(dāng)用戶關(guān)聯(lián)的屬性集很大時,傳統(tǒng)的做法很明顯會大量增加CA的計算開銷,造成很大的負(fù)擔(dān)。而在本文方案中,用戶無需提供舊屬性的相關(guān)證明,本文系統(tǒng)可根據(jù)用戶提供的SK,收集用戶的“信用等級”屬性的舊的屬性值,并根據(jù)評估結(jié)果將該屬性字段更新為新的值,減小了用戶操作的復(fù)雜度也降低了系統(tǒng)網(wǎng)絡(luò)開銷。同時,CA在更新用戶屬性時,會設(shè)置一個標(biāo)志位,標(biāo)識用戶舊的SK無效,防止用戶使用舊的SK去解密數(shù)據(jù)。
具體的屬性更新算法步驟如下:
1)用戶提供自己舊的SK和系統(tǒng)主密鑰MK。
本章對系統(tǒng)設(shè)計與實現(xiàn)的安全性進(jìn)行理論分析,在選擇明文攻擊游戲的基礎(chǔ)上,針對改進(jìn)的CP-ABE加解密模塊、用戶行為評估,以及屬性更新模塊的特有屬性,分別討論系統(tǒng)的安全性。
3.1 改進(jìn)的CP-ABE加解密模塊
文獻(xiàn)[5]中傳統(tǒng)的CP-ABE方案已經(jīng)被證明是安全的,在此基礎(chǔ)上,如果本文能夠證明本文方案的存在并不能夠攻破文獻(xiàn)[5]中方案的安全性,那么本文方案也是安全的。
定理1 如果攻擊者不能在多項式時間里以不可忽略的優(yōu)勢攻破CP-ABE方案,則不存在攻擊者以不可忽略的優(yōu)勢攻破本文方案。
證明 這場游戲中定義了三個角色。攻擊者A、模擬器B和挑戰(zhàn)者C,其中:挑戰(zhàn)者C是傳統(tǒng)CP-ABE方案的模擬器,模擬器B是本文方案的模擬器,它對挑戰(zhàn)者C生成的參數(shù)進(jìn)行改造,從而生成攻擊者A所需要的參數(shù)。本文采用反證法,先假設(shè)攻擊者A在多項式時間內(nèi)能夠以不可忽略的優(yōu)勢ε贏得游戲。
攻擊者A要想攻破本文方案,可以按照其“信用等級”屬性分為三類:
1)當(dāng)攻擊者A為“受信用戶”時,按照本文系統(tǒng)的設(shè)計,該用戶具有正常的訪問權(quán)限,且可以根據(jù)“信用等級”屬性直接獲取解密密鑰,進(jìn)而根據(jù)解密密鑰直接解密獲取數(shù)據(jù)明文。因此“受信用戶”總能遵循本文方案的設(shè)計,解密得到明文,不存在進(jìn)一步危害系統(tǒng)安全的行為。
2)當(dāng)攻擊者A為“非法用戶”時,按照本文系統(tǒng)的設(shè)計,將直接拒絕“非法用戶”對數(shù)據(jù)的進(jìn)一步訪問,因此“非法用戶”也總能遵循本文方案的設(shè)計,不存在進(jìn)一步危害系統(tǒng)安全的行為。
3)當(dāng)攻擊者A為“一般用戶”。此時,攻擊者A若要獲勝,必須大概率獲得密文CT與明文Mb的對應(yīng)關(guān)系。這里獲取明文有兩種方法:一種是通過自身“信用等級”屬性信息直接獲得;另一種是通過屬性私鑰解密獲得。
接下來討論攻擊者通過自身屬性私鑰解密獲得明文信息的這一類情況:此時本文方案與文獻(xiàn)[5]中傳統(tǒng)的CP-ABE方案類似,即模擬器B與挑戰(zhàn)者C相同。按照反證法,假設(shè)攻擊者A在多項式時間內(nèi)能夠以不可忽略的優(yōu)勢ε贏得游戲,而模擬器B贏得該游戲的優(yōu)勢可定義為:AdvB=|Pr[b′=b]-1/2|=AdvA,即相對于A,B沒有任何優(yōu)勢贏得這場游戲,與假設(shè)矛盾。
即證明本文方案是安全的,證明完畢。
3.2 用戶行為評估及屬性更新模塊
用戶行為評估主要根據(jù)CA設(shè)定的時間閾值,在該時間閾值收集該時間閾值內(nèi)各類用戶的訪問記錄,按照2.3.1節(jié)的過程評估其訪問行為是否合理。由于本文系統(tǒng)實現(xiàn)的大前提滿足CA能忠實地執(zhí)行本文的訪問控制策略以及用戶的各種請求操作,因此在行為評估模塊中,始終認(rèn)為CA是可信的,能夠公正地作出判斷。所以可認(rèn)為,用戶行為評估模塊始終是安全的。
而針對屬性更新模塊,假設(shè)用戶初始的屬性集為AU,其“信用等級”對應(yīng)的屬性為i。“信用等級”屬性僅決定用戶是否能夠不經(jīng)過后續(xù)解密操作直接獲取數(shù)據(jù)明文或系統(tǒng)直接拒絕其訪問,當(dāng)遞歸解密數(shù)據(jù)前驗證完該屬性后,后續(xù)的解密操作即與該屬性無關(guān)。即用戶“信用等級”屬性僅作解密之前的驗證工作,實際的解密算法使用Au′=AU-{i}屬性集。因此,若Au′=AU-{i}屬性集不滿足訪問控制樹Γ時,用戶依然無法解密得到明文。
由于本文系統(tǒng)僅考慮用戶的“信用等級”屬性的相關(guān)更新操作,未涉及參與實際解密操作的屬性集,因此對于系統(tǒng)的安全性沒有影響。
改進(jìn)的CP-ABE加解密模塊主要以傳統(tǒng)的CP-ABE的安全性為基礎(chǔ),增加的“信用等級”屬性并未增加安全性風(fēng)險,而用戶行為評估和屬性更新模塊以傳統(tǒng)的屬性更新算法的安全性為基礎(chǔ),因此本文系統(tǒng)總體與傳統(tǒng)的CP-ABE方案相比,具有相同的安全等級。
如表1所示,將本文方案與傳統(tǒng)的CP-ABE方案進(jìn)行比較。傳統(tǒng)的CP-ABE方案中提供了細(xì)粒度的訪問控制功能,但用戶的各級別都相同;而在移動互聯(lián)網(wǎng)現(xiàn)實場景下,用戶往往是分級的,本文方案利用“信用等級”將用戶分級,在“受信用戶”和“非法用戶”兩級提供更有效率的訪問控制。
在屬性更新方面,傳統(tǒng)的CP-ABE方案需要完全重新生成私鑰,在計算能力和存儲能力都有限的移動動設(shè)備上,往往效率很低。本文方案只更新需要更新的字段,計算開銷更小,更適用于移動互聯(lián)網(wǎng)環(huán)境下使用。
表1 不同方案特征比較
在性能方面,包含信用等級的CP-ABE方案的訪問控制中,系統(tǒng)主要計算開銷為用戶私鑰生成算法、加密算法和解密算法。上述三個算法的運行效率直接影響系統(tǒng)的執(zhí)行效率,下面給出各算法的相應(yīng)測試結(jié)果。
在用戶屬性信息不更新的情況下,根據(jù)用戶屬性個數(shù)的不同,測試表明其屬性私鑰生成算法所需的時間與用戶屬性個數(shù)存在線性關(guān)系,如圖2(a) 所示。
在用戶屬性個數(shù)固定的情況下,選取服務(wù)器端訪問控制樹中的不同的屬性個數(shù),測試表明,其加密所需的時間與策略樹中的葉子節(jié)點個數(shù)(即屬性個數(shù))存在線性關(guān)系,如圖2(b) 所示。
在解密算法中,用戶屬性個數(shù)不變的情況下,選取訪問控制樹中節(jié)點個數(shù)不同,測試表明用戶解密所需的時間與策略樹中的節(jié)點個數(shù)存在線性關(guān)系,而當(dāng)用戶的“信用等級”屬性與密文所包含“信用等級”臨界值相匹配的時候,解密的時間為恒定的,且會小于利用屬性解密所需的時間,如圖2(c)所示。
最后,在用戶“信用等級”屬性更新時,涉及到相關(guān)屬性私鑰的重新生成,也有著一定的計算開銷。不過由于本文方案無需驗證用戶所有屬性對應(yīng)的證明,可以根據(jù)用戶提供的SK中收集得到。而在更新時,也無需重新生成密鑰,只需更新相應(yīng)字段,因此效率上有很大提高。選取用戶屬性私鑰中屬性個數(shù)不同,測試表明一般方案中用戶屬性私鑰生成的時間與屬性個數(shù)存在線性關(guān)系,而本文方案中,更新的時間與屬性個數(shù)無關(guān),如圖3所示。
圖2 CP-ABE算法時間
圖3 屬性更新算法時間比較
但因為大部分“非法用戶”都會在用戶行為評估模塊中被標(biāo)記出來,而訪問行為“合理”的“一般用戶”也會按照系統(tǒng)定義的時間閾值更新其“信用等級”屬性從而升級為“受信用戶”。在通過“信用等級”屬性判定用戶是“受信用戶”或“非法用戶”后,可以跳過后續(xù)對訪問控制樹的解密操作,這將大幅降低算法的計算復(fù)雜度。在用戶基數(shù)較大的移動互聯(lián)網(wǎng)場景下,隨著時間的遷移,“受信用戶”或“非法用戶”所占的比例將逐漸上升,系統(tǒng)總時間開銷成下降趨勢。最終,“受信用戶”所占的比例將維持平穩(wěn)。
實驗選擇的樣本容量為1 000人,采用40個屬性用于解密,設(shè)定初始階段“受信用戶”人數(shù)占比少于5%,經(jīng)過一段時間,“受信用戶”人數(shù)占比趨于穩(wěn)定,具體內(nèi)容如圖4所示。
圖4 解密總時間對比
由圖4可知,初始階段,本方案總體上的時間開銷更大,但隨著系統(tǒng)的運行,按照本文方案的設(shè)計,“受信用戶”所占的比例會稍有上升,總時間開銷也會持續(xù)下降,直至趨于穩(wěn)定。因此,在系統(tǒng)穩(wěn)定運行之后,本文方案絕大部分計算開銷即可避免,更適用于移動互聯(lián)網(wǎng)環(huán)境的使用。
綜上所述,本文方案在訪問控制樹的構(gòu)造過程和加密算法中計算開銷略高于傳統(tǒng)CP-ABE方案。解密算法中,由于首先要驗證“信用等級”屬性與密文所包含“信用等級”臨界值是否相匹配,尤其在“受信用戶”和“非法用戶”兩個臨界值都不匹配的時候會稍微提高解密的整體復(fù)雜度,但由于現(xiàn)實場景下,用戶的“信用等級”屬性會隨著時間的推移不斷刷新,按照本文方案的設(shè)計,“受信用戶”或“非法用戶”所占的比例會有所上升,因而就總體來看,總時間開銷成下降趨勢,最終會低于傳統(tǒng)的CP-ABE方案并趨于平穩(wěn)。
本文提出了一種基于動態(tài)信用等級的密文訪問控制方案,通過“信用等級”屬性劃分不同用戶,進(jìn)而針對不同用戶作不同處理。在復(fù)雜的移動互聯(lián)網(wǎng)環(huán)境下,本文方案能夠提高系統(tǒng)的性能。同時,本文系統(tǒng)根據(jù)用戶過往行為的評估動態(tài)地更新“信用等級”屬性,在更新算法中,只更新指定字段,減少了系統(tǒng)負(fù)擔(dān)。目前本文僅考慮單CA的情況,在復(fù)雜的云環(huán)境下單CA可能成為性能瓶頸,未來可以結(jié)合多CA的情形提高本文方案的適用性。
)
[1]SAHAIA,WATERSB.Fuzzyidentity-basedencryption[C]//EUROCRYPT’05:Proceedingsofthe24thAnnualInternationalConferenceonTheoryandApplicationsofCryptographicTechniques,LNCS3494.Berlin:Springer, 2005: 457-473.
[2]SHAMIRA.Identity-basedcryptosystemsandsignatureschemes[C]//CRYPTO1984:Proceedingsofthe1984WorkshopontheTheoryandApplicationofCryptographicTechniques,LNCS196.Berlin:Springer, 1984: 47-53.
[3]BONEHD,FRANKLINMK.Identity-basedencryptionfromtheWeilpairing[C]//CRYPTO’01:Proceedingsofthe21stAnnualInternationalCryptologyConferenceonAdvancesinCryptology,LNCS2139.Berlin:Springer, 2001: 213-229.
[4]GOYALV,PANDEYO,SAHAIA,etal.Attribute-basedencryptionforfine-grainedaccesscontrolofencrypteddata[C]//CCS2006:Proceedingsofthe13thACMconferenceonComputerandCommunicationsSecurity.NewYork:ACM, 2006: 89-98.
[5] BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption [C]// SP’07: Proceedings of the 2007 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2007: 321-334.
[6] WANG G J, LIU Q, WU J. Hierarchical attribute-based encryption for fine-grained access control in cloud storage services [C]// CCS’10: Proceedings of the 17th ACM Conference on Computer and Communications Security. New York: ACM, 2010: 735-737.
[7] LEWKO A, OKAMOTO T, SAHAI A, et al. Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption [C]// EUROCRYPT’10: Proceedings of the 29th Annual International Conference on Theory and Applications of Cryptographic Techniques, LNCS 6110. Berlin: Springer, 2010: 62-91.
[8] RUJ S, NAYAK A, STOJMENOVIC I. DACC: distributed access control in clouds [C]// Proceedings of the 2011 IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications. Washington, DC: IEEE Computer Society, 2011: 91-98.
[9] HUR J, NOH D K. Attribute-based access control with efficient revocation in data outsourcing systems [J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(7): 1214-1221.
[10] 陳克非,翁健.云計算環(huán)境下數(shù)據(jù)安全與隱私保護(hù)[J].杭州師范大學(xué)學(xué)報(自然科學(xué)版),2014,13(6):561-570.(CHEN K F, WENG J. Data security and privacy protection in cloud computing [J]. Journal of Hangzhou Normal University (Natural Science Edition), 2014, 13(6): 561-570.)
[11] 劉團(tuán)奇,張浩軍,趙志鵬.一種云環(huán)境下基于身份的統(tǒng)一身份認(rèn)證方案研究[J].中原工學(xué)院學(xué)報,2015,26(4):55-58.(LIU T Q, ZHANG H J, ZHAO Z P. A unified identity authentication in cloud with ID-based cryptography [J]. Journal of Zhongyuan University of Technology, 2015, 26(4): 55-58.)
[12] WAN Z G, LIU J, DENG R H. HASBE: a hierarchical attribute-based solution for flexible and scalable access control in cloud computing [J]. IEEE Transactions on Information Forensics and Security, 2012, 7(2): 743-754.
This work is partially supported by the National Information Security Program (242 Program) of China (2015A051, 2012A138), the Key Projects in the National Science and Technology Pillar Program during the 11th Five-year Plan Period (2007BAK34B06), the National Key Technology Research and Development Program of China during the 10th Five-year Plan Period (2004BA811B04).
CHEN Danwei, born in 1970, Ph. D., professor. His research interests include computer communication network and security, cloud computing, big data, embedded system.
YANG Sheng, born in 1992, M. S. candidate. His research interests include information security, cloud computing, big data.
Dynamic trust level based ciphertext access control scheme
CHEN Danwei, YANG Sheng*
(CollegeofComputerScience,NanjingUniversityofPostsandTelecommunications,NanjingJiangsu210003,China)
Concerning the problems of Attribute-Based Encryption (ABE) such as high computational consumption and lack of flexibility in mobile Internet, a dynamic trust level based Ciphertext-Policy ABE (CP-ABE) scheme was proposed. Firstly, the “trust level” attribute was defined to indicate user’s trusted level and divide users into different classes. User with high “trust level” was be able to decrypt the message in a constant computational overhead. Meanwhile, Central Authority (CA) was allowed to evaluate user’s access behavior within the certain time threshold. Only the user’s “trust level” was updated dynamically by the updating algorithm instead of complete re-generating of secret key. Theoretical analysis and experimental results show that, with the growing proportion of high “trust level” user, the total time consumption of the proposed scheme was decreased until being stable and finally was superior to the traditional scheme. The proposed scheme can improve the access control efficiency in mobile Internet on the premise of keeping the security standard.
access control; Attribute-Based Encryption (ABE); trust level; behavior evaluating; attribute updating
2016- 11- 16;
2017- 01- 13。 基金項目:國家242信息安全計劃項目(2015A051,2012A138);國家十一五科技支撐計劃項目(2007BAK34B06);國家十五科技攻關(guān)計劃項目(2004BA811B04)。
陳丹偉(1970—),男,陜西商洛人,教授,博士,主要研究方向:計算機(jī)通信網(wǎng)與安全、云計算、大數(shù)據(jù)、嵌入式系統(tǒng);楊晟(1992—),男,江蘇南京人,碩士研究生,主要研究方向:信息安全、云計算、大數(shù)據(jù)。
1001- 9081(2017)06- 1587- 06
10.11772/j.issn.1001- 9081.2017.06.1587
TP
A