麻付強(qiáng),徐 崢,蘇振宇,亓開元
(1.浪潮(北京)電子信息產(chǎn)業(yè)有限公司,北京 100085;2.浪潮集團(tuán),山東 濟(jì)南 250101)
隨著互聯(lián)網(wǎng)、5G和云計(jì)算技術(shù)的快速發(fā)展,越來越多的用戶和企業(yè)將數(shù)據(jù)存儲(chǔ)在云計(jì)算平臺(tái)上,實(shí)現(xiàn)云存儲(chǔ)或者云共享,以提高資源利用率,降低開發(fā)及運(yùn)維成本[1-2]。通常情況下,用戶數(shù)據(jù)在云計(jì)算平臺(tái)中并不是以加密的形式進(jìn)行存儲(chǔ),對(duì)數(shù)據(jù)的訪問控制是由云計(jì)算完成的。如果云計(jì)算平臺(tái)不可信或者遭受黑客入侵,用戶數(shù)據(jù)將面臨信息泄露的威脅,因此在共享之前對(duì)數(shù)據(jù)進(jìn)行加密是必要的。
傳統(tǒng)的加密機(jī)制無(wú)法實(shí)現(xiàn)復(fù)雜云計(jì)算環(huán)境下一對(duì)多的細(xì)粒度訪問控制功能。因此,在不可信的云計(jì)算環(huán)境中實(shí)現(xiàn)信息安全,確保用戶數(shù)據(jù)的合法授權(quán)訪問成為了科學(xué)人員的研究熱點(diǎn)。為了最大限度地保護(hù)數(shù)據(jù)的隱私安全,實(shí)現(xiàn)更細(xì)粒度的訪問控制,研究人員提出了基于屬性的加密機(jī)制。
基于屬性加密(Attribute-Based Encryption,ABE)是從基于屬性的訪問控制發(fā)展來的[3]。Sahai[4]首次提出了基于屬性的加密,并實(shí)現(xiàn)了數(shù)據(jù)隱私保護(hù)和細(xì)粒度訪問控制功能。ABE利用授權(quán)屬性集構(gòu)造一個(gè)訪問控制結(jié)構(gòu),實(shí)現(xiàn)對(duì)消息進(jìn)行加密和解密。其特點(diǎn)是將屬性作為公鑰,來保證ABE的密文能夠被多個(gè)不同用戶的私鑰解密。
ABE是一種一對(duì)多的加密模式,能夠?qū)用芎蟮男畔⑦M(jìn)行細(xì)粒度的訪問控制。ABE有兩大基本類型,密鑰策略ABE(KP-ABE)和密文策略ABE(CP-ABE)[5]。KP-ABE中,密文與屬性集合關(guān)聯(lián),私鑰與訪問結(jié)構(gòu)關(guān)聯(lián),用于審計(jì)日志,付費(fèi)電視等。CP-ABE中,密文與訪問結(jié)構(gòu)關(guān)聯(lián),私鑰與屬性集合關(guān)聯(lián),當(dāng)解密方擁有的屬性匹配策略樹成功時(shí),才能獲得解密密鑰,獲得對(duì)資源的訪問權(quán),用于云共享、安全郵件列表等。兩種策略都是當(dāng)且僅當(dāng)屬性集合滿足訪問結(jié)構(gòu)時(shí),才能正確解密。因此,基于屬性的加密方案特別適用于在保證云平臺(tái)用戶隱私的前提下,對(duì)數(shù)據(jù)進(jìn)行機(jī)密性保護(hù)。
楊騰飛[6]結(jié)合訪問控制、基于屬性加密、對(duì)象存儲(chǔ)等技術(shù),提出了一種層次化授權(quán)訪問控制模型,提高了基于屬性加密方案的訪問控制策略的靈活性。鄭芳[7]將基于屬性加密應(yīng)用到身份認(rèn)證系統(tǒng)中,利用移動(dòng)APP作為密鑰生成中心,以指紋多個(gè)特征提取模板與其它特征作為屬性,服務(wù)器端在不知道用戶指紋信息的前提下,根據(jù)用戶輸入的特征解密,以此證明該賬號(hào)和密碼屬于用戶本人。吳光強(qiáng)[8]針對(duì)傳統(tǒng)CP-ABE方案中存在的密鑰泄露等問題,提出了一個(gè)多授權(quán)機(jī)構(gòu)支持策略更新的CP-ABE方案,并將策略更新及密文更新過程交給服務(wù)器執(zhí)行,有效地降低了本地的計(jì)算開銷和數(shù)據(jù)傳輸開銷。
上述大多數(shù)基于屬性加密方案[9-11]均需要屬性權(quán)威(Attribute Authority,AA)。不同于云服務(wù)器,屬性權(quán)威是基于屬性加密系統(tǒng)中唯一可信的第三方。授權(quán)中心負(fù)責(zé)生成系統(tǒng)的公共參數(shù),并生成系統(tǒng)公鑰和主密鑰。授權(quán)中心根據(jù)用戶具有的屬性信息將對(duì)應(yīng)私鑰集合發(fā)送給用戶。系統(tǒng)所有密鑰均有屬性權(quán)威產(chǎn)生并保存,用戶沒有控制權(quán)限。屬性權(quán)威被惡意攻擊時(shí),可利用用戶的密鑰進(jìn)行解密,使得用戶數(shù)據(jù)的機(jī)密性受到威脅[12]。
針對(duì)此問題,Chase[13]提出一個(gè)分布式 KP-ABE方案,利用多個(gè)屬性權(quán)威解決了密鑰托管問題,降低了密鑰泄露的風(fēng)險(xiǎn)。張星[14]利用密鑰生成中心和屬性權(quán)威協(xié)同生成用戶密鑰,屬性權(quán)威只有部分用戶密鑰,使得密鑰降低了對(duì)屬性權(quán)威安全性的依賴。Lin[15]采用密鑰分發(fā)和聯(lián)合的零秘密共享技術(shù)提出了一種無(wú)認(rèn)證中心的多授權(quán)機(jī)構(gòu)的ABE方案,但是數(shù)據(jù)擁有者無(wú)法指定訪問控制策略,無(wú)法有效地應(yīng)用到數(shù)據(jù)共享系統(tǒng)中。Chen[16]提出了一種多屬性權(quán)威的ABE方案,每個(gè)屬性權(quán)威之間不需要交換信息來產(chǎn)生公共參數(shù),且能夠保證常數(shù)級(jí)密文長(zhǎng)度。王于丁[17]提出了一種包含訪問權(quán)限的ABE模型,通過設(shè)置權(quán)限控制密鑰加密云中數(shù)據(jù)。
因此,云計(jì)算系統(tǒng)中可信的權(quán)威機(jī)構(gòu)增加了云計(jì)算系統(tǒng)的復(fù)雜度。其次,隨著屬性集合的增加,用戶解密的計(jì)算量會(huì)線性增長(zhǎng)。為了解決上述問題,該文提出了一種基于LDAP的屬性加密模型。LDAP是輕量級(jí)目錄訪問協(xié)議(Light Directory Access Protocol)[18],目錄是一個(gè)以一定規(guī)則排列的對(duì)象的屬性集合,是一個(gè)存儲(chǔ)著關(guān)于對(duì)象各種屬性的特殊數(shù)據(jù)庫(kù),可以用于實(shí)現(xiàn)賬號(hào)管理、安全策略管理等。因此,利用LDAP和密鑰管理模塊代替?zhèn)鹘y(tǒng)屬性加密中的授權(quán)機(jī)構(gòu)方案,利用組織內(nèi)部的LDAP系統(tǒng)實(shí)現(xiàn)用戶身份的安全認(rèn)證和屬性管理。
同時(shí),用戶將屬性解密操作安全的外包給密鑰管理模塊,且在密鑰管理模塊的可信執(zhí)行環(huán)境中進(jìn)行加解密操作[19-21],保證密鑰始終處于密鑰管理模塊的根密鑰保護(hù)下。Intel SGX(Software Guard Extensions)是一種通用的可信執(zhí)行環(huán)境,在應(yīng)用程序的地址空間中劃分出一塊被保護(hù)的區(qū)域,為容器內(nèi)的代碼和數(shù)據(jù)提供機(jī)密性和完整性的保護(hù),免受擁有特殊權(quán)限的惡意軟件的破壞。Intel SGX具有較小的可信計(jì)算基礎(chǔ)并能實(shí)現(xiàn)物理隔離。通過將密鑰使用和基于屬性加密的關(guān)鍵代碼運(yùn)行在Intel SGX提供的安全加密內(nèi)存中,保證程序運(yùn)行過程中,攻擊者無(wú)法窺探內(nèi)存。有效地降低了用戶計(jì)算負(fù)載,并提高了系統(tǒng)的安全性。
設(shè)q是一個(gè)大素?cái)?shù),G和GT均是階為q的循環(huán)群。g∈G是G的生成元,則雙線性映射e:G×G→GT為一個(gè)雙線性對(duì)。對(duì)于?g∈G,任意a,b∈Zp(Zp為素?cái)?shù)C1階循環(huán)群)滿足以下特征:
雙線性:有e(ga,gb)=e(g,g)ab;
非退化性:滿足e(g,g)≠1;
可計(jì)算性:對(duì)于任意的g∈G,存在一個(gè)給定安全常數(shù)相關(guān)的多項(xiàng)式時(shí)間算法,可以高效地計(jì)算e(g,h)。
該文采用LDAP與密鑰管理模塊代替屬性權(quán)威,同時(shí)屬性解密操作由密鑰管理中的SGX模塊[19]執(zhí)行,降低了用戶計(jì)算負(fù)載,并提高了系統(tǒng)的安全性。
一種基于LDAP的屬性加密模型包括:多個(gè)組織和一個(gè)云計(jì)算平臺(tái),實(shí)現(xiàn)每個(gè)組織內(nèi)部的云存儲(chǔ)以及云共享。其中每個(gè)組織包含多個(gè)數(shù)據(jù)使用者、多個(gè)數(shù)據(jù)擁有者、一個(gè)LDAP身份提供模塊;云計(jì)算平臺(tái)包含統(tǒng)一的云存儲(chǔ)模塊、多個(gè)密鑰管理模塊。其中每個(gè)密鑰管理模塊對(duì)應(yīng)一個(gè)組織,實(shí)現(xiàn)組織的安全密鑰管理。云存儲(chǔ)模塊由存儲(chǔ)中心和訪問決策點(diǎn)組成;密鑰管理模塊由密鑰存儲(chǔ)模塊和屬性判別點(diǎn)組成。在每個(gè)組織內(nèi)部,用戶通過安全通道與云計(jì)算平臺(tái)通信,模型如圖1所示。
圖1 基于屬性加密的系統(tǒng)模型
2.1.1 數(shù)據(jù)擁有者功能
向LDAP身份提供模塊進(jìn)行注冊(cè),成為合法用戶,并獲得對(duì)應(yīng)的屬性集合;制定共享數(shù)據(jù)的授權(quán)屬性集合,建立相應(yīng)的訪問控制策略,形成基于屬性的訪問控制矩陣;請(qǐng)求密鑰管理模塊生成授權(quán)屬性集合對(duì)應(yīng)的密鑰;將數(shù)據(jù)根據(jù)訪問控制矩陣進(jìn)行加密;將基于屬性加密的密文上傳到云存儲(chǔ)模塊;根據(jù)基于屬性加密的對(duì)稱密鑰解密加密數(shù)據(jù)獲得明文數(shù)據(jù)。
2.1.2 數(shù)據(jù)使用者功能
向LDAP身份提供模塊進(jìn)行注冊(cè),成為合法用戶,并獲得對(duì)應(yīng)的屬性集合;根據(jù)基于屬性加密的對(duì)稱密鑰解密加密數(shù)據(jù)獲得明文數(shù)據(jù)。
2.1.3 LDAP身份提供模塊功能
為用戶提供身份注冊(cè)功能;驗(yàn)證用戶的屬性合法性;驗(yàn)證用戶登錄系統(tǒng)的合法性。
2.1.4 云儲(chǔ)存模塊功能
為基于屬性加密的密文提供存儲(chǔ);訪問決策點(diǎn)根據(jù)訪問控制矩陣驗(yàn)證用戶屬性集合的合法性。
2.1.5 密鑰管理模塊功能
為數(shù)據(jù)擁有者生成基于屬性加密的系統(tǒng)公共參數(shù),為組織內(nèi)所有用戶提供公共參數(shù);根據(jù)文件標(biāo)識(shí)、屬性生成非對(duì)稱密鑰,非對(duì)稱密鑰包括對(duì)應(yīng)的公鑰和私鑰;在可信執(zhí)行環(huán)境中為數(shù)據(jù)文件生成對(duì)稱加密密鑰,并通過數(shù)據(jù)擁有者的公鑰加密并發(fā)送給數(shù)據(jù)擁有者;屬性判別點(diǎn)從LDAP獲得用戶的屬性集合,并驗(yàn)證屬性對(duì)應(yīng)的密鑰訪問權(quán)限;在可信執(zhí)行環(huán)境中實(shí)現(xiàn)對(duì)基于屬性加密的對(duì)稱密鑰進(jìn)行解密,并將解密后的對(duì)稱密鑰通過數(shù)據(jù)使用者的公鑰加密并發(fā)送給數(shù)據(jù)使用者。所有加解密操作均在intel的SGX中操作,加密安全存儲(chǔ)相應(yīng)的非對(duì)稱密鑰和對(duì)稱密鑰,保證系統(tǒng)安全。
基于LDAP的屬性加密模型共5個(gè)階段:用戶注冊(cè)階段、系統(tǒng)參數(shù)設(shè)置、密鑰生成、加密階段、解密階段。
2.2.1 用戶注冊(cè)階段
如圖2所示,用戶(數(shù)據(jù)擁有者、數(shù)據(jù)使用者)經(jīng)過身份認(rèn)證模塊向LDAP身份提供模塊進(jìn)行身份注冊(cè),包括用戶名和密碼,同時(shí)注冊(cè)相應(yīng)的屬性集合。LDAP身份提供模塊負(fù)責(zé)驗(yàn)證用戶屬性的合法性。用戶登錄系統(tǒng)時(shí),由LDAP身份提供模塊驗(yàn)證用戶身份的合法性,并返回用戶的屬性集合。用戶根據(jù)用戶id,向密鑰管理模塊注冊(cè)一對(duì)非對(duì)稱密鑰pku、sku,并通過安全通道發(fā)送給用戶。非對(duì)稱密鑰由項(xiàng)目密鑰加密,項(xiàng)目密鑰由密鑰管理模塊的根密鑰加密,根密鑰安全存儲(chǔ)在硬件安全模塊(HSM)[22]中。
圖2 基于LDAP的屬性加密示意圖
2.2.2 系統(tǒng)參數(shù)及密鑰生成
數(shù)據(jù)擁有者請(qǐng)求密鑰管理模塊生成系統(tǒng)參數(shù)。密鑰管理模塊根據(jù)輸入的安全參數(shù)λ,生成全局參數(shù)GP。
密鑰管理模塊在可信執(zhí)行環(huán)境中生成一個(gè)對(duì)稱密鑰sk。如表1所示,在可信執(zhí)行環(huán)境中,根據(jù)文件標(biāo)識(shí)IDf、共享數(shù)據(jù)的授權(quán)屬性集合S和全局參數(shù)GP,生成基于屬性加密的公鑰集合PK和私鑰集合SK,并將公私鑰加密存儲(chǔ)在密鑰管理模塊。采用數(shù)據(jù)擁有者的公鑰pku將對(duì)稱密鑰sk和公鑰集合PK加密發(fā)送給數(shù)據(jù)擁有者。
表1 密鑰管理模塊的密鑰存儲(chǔ)結(jié)構(gòu)
2.2.3 加密階段
數(shù)據(jù)擁有者根據(jù)共享數(shù)據(jù)的授權(quán)屬性集合制定相應(yīng)的訪問控制策略,建立基于屬性的訪問控制矩陣A。采用私鑰sku解密得到對(duì)稱密鑰sk和公鑰集合PK。利用對(duì)稱密鑰sk加密共享文件M,形成文件密文C1。利用公鑰集合PK和訪問控制矩陣A加密對(duì)稱密鑰sk,形成屬性密文CT={C2,C3,C4,C5}。因此,最終基于屬性加密的密文為C={IDf,(A,ρ),C1,CT,sign},其中sign表示數(shù)字簽名。將基于屬性加密的密文C上傳到云存儲(chǔ)模塊。
2.2.4 密鑰生成階段
密鑰管理模塊根據(jù)數(shù)據(jù)使用者的屬性集合、全局參數(shù)GP、私鑰集合SK生成相應(yīng)的私鑰集合Kid。
2.2.5 解密階段
數(shù)據(jù)使用者從云存儲(chǔ)模塊請(qǐng)求基于屬性加密的密文C。云存儲(chǔ)模塊中的訪問決策點(diǎn)基于數(shù)據(jù)使用者id從LDAP系統(tǒng)中獲得數(shù)據(jù)使用者對(duì)應(yīng)的屬性集合。根據(jù)基于屬性加密的密文C中的訪問控制矩陣A判定數(shù)據(jù)使用者對(duì)應(yīng)的屬性集合的訪問合法性。如果數(shù)據(jù)使用者具有訪問權(quán)限,將基于屬性加密的密文C返還給數(shù)據(jù)使用者。數(shù)據(jù)使用者利用屬性密文CT訪問密鑰管理模塊。密鑰管理模塊中的屬性判別點(diǎn)基于數(shù)據(jù)使用者id從LDAP系統(tǒng)中獲得數(shù)據(jù)使用者對(duì)應(yīng)的屬性集合。根據(jù)數(shù)據(jù)使用者對(duì)應(yīng)的屬性集合和文件標(biāo)識(shí)IDf確定屬性集合對(duì)應(yīng)的私鑰集合。將私鑰集合、屬性密文CT、用戶公鑰pku發(fā)送到密鑰管理模塊中的可信執(zhí)行環(huán)境中。由可信執(zhí)行環(huán)境對(duì)對(duì)稱密鑰sk進(jìn)行解密,并用數(shù)據(jù)使用者pku加密發(fā)送給數(shù)據(jù)使用者。數(shù)據(jù)使用者采用私鑰sku解密得到對(duì)稱密鑰sk,并用對(duì)稱密鑰sk解密文件密文C1,獲得共享文件M。
在基于LDAP的屬性加密模型中,訪問控制矩陣被嵌入到密文中,而密鑰被綁定到一組屬性中。
首先,密鑰管理模塊根據(jù)數(shù)據(jù)擁有者的請(qǐng)求進(jìn)行全局參數(shù)設(shè)置,函數(shù)為:Global Setup(λ)→GP。
一個(gè)雙線性群G的階為q,g1∈G。一個(gè)Hash函數(shù)具有映射功能H:{0,1}*→G。全局參數(shù)為:GP={g1,G,GT,Zp,q,p,H}。
根據(jù)文件標(biāo)識(shí)IDf、共享數(shù)據(jù)的授權(quán)屬性集合S、全局參數(shù)GP、數(shù)據(jù)擁有者的公鑰pku向密鑰管理模塊請(qǐng)求生成一個(gè)對(duì)稱密鑰和共享數(shù)據(jù)的授權(quán)屬性集合對(duì)應(yīng)的非對(duì)稱密鑰。函數(shù)為:GKeyGen(IDf,S,GP,pku)→PK,SK,sk。
選擇兩個(gè)隨機(jī)數(shù)αi,yi∈Zp,其中i是訪問控制矩陣中的第i屬性,共有K個(gè)屬性。對(duì)應(yīng)的公鑰為PK={e(g1,g1)αi,g1yi},其私鑰為SK={αi,yi},i∈{1,2,…,K}。
數(shù)據(jù)擁有者對(duì)文件進(jìn)行基于屬性加密,函數(shù)為:Encrypt(M,(A,ρ),GP,{PK},sk)→C。
數(shù)據(jù)擁有者利用對(duì)稱密鑰sk加密文件,形成文件密文C1。
C1=Encsk(M)
(1)
數(shù)據(jù)擁有者根據(jù)訪問控制結(jié)構(gòu)和公鑰集合對(duì)對(duì)稱密鑰sk進(jìn)行基于屬性加密,將這些訪問控制矩陣封裝到密文中,形成屬性密文CT={C2,C3,C4,C5}。因此,基于屬性加密的密文為C={IDf,(A,ρ),C1,CT,sign},其中sign表示數(shù)字簽名。
C2=sk·e(g1,g1)s
(2)
C3,i=e(g1,g1)λie(g1,g1)αρ(i)ri
(3)
C4,i=g1ri
(4)
C5,i=g1yρ(i)ri
(5)
基于屬性加密的密文C={IDf,(A,ρ),C1,CT,sign}上傳到云存儲(chǔ)模塊。
密鑰管理模塊根據(jù)數(shù)據(jù)使用者的屬性集合、全局參數(shù)GP、私鑰集合SK生成相應(yīng)的私鑰集合Kid,函數(shù)為KeyGen(id,x,S,GP,SK)→Kx,id。
(6)
x∈{1,2,…,K'}為第x個(gè)屬性,數(shù)據(jù)使用者的屬性集合為共享數(shù)據(jù)的授權(quán)屬性集合S的子集。
解密的時(shí)候,用戶只有自身屬性集合對(duì)應(yīng)的私鑰集合,只要符合訪問控制矩陣的都可以解密。解密函數(shù)為:Decrypt(C,Kid,GP)→sk,Decsk(C1)→M。
根據(jù)用戶擁有的屬性集合,從C3,ρ(x),C4,ρ(x),C5,ρ(x)中獲取對(duì)應(yīng)的數(shù)據(jù)。其中,ρ(x)將數(shù)據(jù)使用者的屬性x映射到基于屬性的訪問控制矩陣A的第ρ(x)行。
C3,ρ(x)e(H(id),C5,ρ(x))/e(Kx,id,C4,ρ(x))=
e(g1,g1)λρ(x)
(7)
計(jì)算常量cx∈N,使得計(jì)算e(g1,g1)s,其中λρ(x)=Aρ(x)v,v·(1,0,…,0)=s。
(8)
對(duì)對(duì)稱密鑰進(jìn)行解密,獲得對(duì)稱密鑰sk:
sk=C2/e(g1,g1)s
(9)
利用對(duì)稱密鑰sk解密文件密文C1,獲得明文數(shù)據(jù)。
M=Decsk(C1)
(10)
數(shù)據(jù)機(jī)密性既保證數(shù)據(jù)為授權(quán)者所有而不會(huì)泄露給未經(jīng)授權(quán)者。在ABE-LDAP中,僅當(dāng)用戶屬性集合滿足基于屬性的訪問控制矩陣,才能從云存儲(chǔ)模塊獲取加密數(shù)據(jù),未經(jīng)授權(quán)的用戶因無(wú)法滿足系統(tǒng)的訪問控制結(jié)構(gòu),所以保證了數(shù)據(jù)的機(jī)密性。
基于屬性加密的密鑰始終存在密鑰管理模塊中,未授權(quán)用戶不能獲取屬性集合對(duì)應(yīng)的密鑰,保證了密鑰的機(jī)密性。
僅當(dāng)用戶屬性集合滿足基于屬性的訪問控制矩陣,密鑰管理模塊才執(zhí)行對(duì)稱密鑰的解密過程,未授權(quán)用戶無(wú)法獲得加密數(shù)據(jù)的對(duì)稱密鑰,保證了數(shù)據(jù)的機(jī)密性。
同時(shí)密鑰管理模塊所有加解密操作均在可信執(zhí)行環(huán)境中執(zhí)行,保證了密鑰的安全性。
抗合謀是ABE系統(tǒng)要求的重要安全特性之一。合謀攻擊是指即使每個(gè)用戶不能單獨(dú)解密密文,他們可以通過組合他們的屬性來解密密文。在ABE-LDAP中,由于用戶的屬性密鑰與用戶身份標(biāo)識(shí)結(jié)合,因而阻止了多個(gè)用戶之間的合謀攻擊。
該文使用了CPU型號(hào)為Intel(R) Xeon(R) Gold 6326 CPU@2.90 GHz,內(nèi)存為256 G,操作系統(tǒng)為Ubuntu20.04的支持SGX平臺(tái),部署安裝了基于LDAP的屬性加密模型。本節(jié)從ABE-LDAP復(fù)雜度、SGX的機(jī)密性及ABE-LDAP的加解密時(shí)間進(jìn)行性能分析。
下面將文中模型與Chen方案[16]、DACPCC方案[17]進(jìn)行對(duì)比分析,如表2所示。設(shè)|s1|為群G的元素長(zhǎng)度,|s2|為群GT的元素長(zhǎng)度,|s3|為群Zp的元素長(zhǎng)度 ,|M|是選取的數(shù)據(jù)明文的空間大小,na為考慮范圍內(nèi)的所有屬性數(shù)量,nu為某個(gè)用戶具有的屬性數(shù)量,E為群G的冪運(yùn)算復(fù)雜度,ET為群GT的冪運(yùn)算復(fù)雜度,P為群G的雙線性運(yùn)算復(fù)雜度。
表2 ABE-LDAP性能分析
通過理論分析可知,文中方案在加密、解密開銷上與Chen方案和DACPCC方案類似。但是文中方案的屬性解密執(zhí)行是在云端的密鑰管理模塊中,顯著降低了用戶的計(jì)算開銷,提高了系統(tǒng)性能。在密文長(zhǎng)度方面,文中方案采用層次加密方案,密文長(zhǎng)度相對(duì)較大,但是安全性相對(duì)更高。
分別在采用SGX和不采用SGX技術(shù)的情況下,驗(yàn)證密鑰管理模塊的機(jī)密性,以驗(yàn)證密鑰信息和加解密過程是否存在泄露風(fēng)險(xiǎn)。在密鑰管理模塊中添加機(jī)密性測(cè)試字符串“0123456789abcdef0a1b2c3d4e 5f0123456789abcdef”,來驗(yàn)證字符串是否明文出現(xiàn)在內(nèi)存中。利用RFSD、rfdk-gui、winhex等工具進(jìn)行內(nèi)存抓取。
如圖3所示,密鑰管理模塊沒有運(yùn)行在SGX中,可以從內(nèi)存中顯示出測(cè)試字符串信息。如圖4所示,密鑰管理模塊運(yùn)行在SGX中,無(wú)法從內(nèi)存中獲取測(cè)試字符串信息。因?yàn)槊荑€管理模塊屬于SGX的保護(hù)范圍,除了SGX的Enclave結(jié)構(gòu)外,外界無(wú)法獲取其中任何數(shù)據(jù)及代碼信息。實(shí)現(xiàn)了密鑰管理模塊中密鑰和加解密運(yùn)算過程的機(jī)密性。
圖3 未采用SGX的密鑰管理模塊機(jī)密性
圖4 采用SGX的密鑰管理模塊機(jī)密性
本節(jié)對(duì)ABE-LDAP的加解密性能分別進(jìn)行了測(cè)試。所有屬性數(shù)量na設(shè)置為6,某個(gè)用戶具有的屬性數(shù)量nu設(shè)置為4。密鑰管理模塊分別采用SGX技術(shù)和不采用SGX技術(shù)。對(duì)基于屬性加解密過程進(jìn)行了5次實(shí)驗(yàn)。通過圖5和表3可以得出,采用SGX保護(hù)密鑰管理模塊會(huì)降低整個(gè)系統(tǒng)的性能,但是性能開銷相對(duì)較小,在系統(tǒng)可以接受的范圍內(nèi)。同時(shí),密鑰管理模塊可以安全的部署在云平臺(tái)上,實(shí)現(xiàn)密鑰和解密運(yùn)算的機(jī)密性。
表3 ABE-LDAP的平均加解密時(shí)間
圖5 ABE-LDAP的加解密性能
該文利用LDAP和密鑰管理模塊代替?zhèn)鹘y(tǒng)屬性加密中的授權(quán)機(jī)構(gòu),利用組織內(nèi)部的LDAP系統(tǒng)實(shí)現(xiàn)用戶身份的安全認(rèn)證和屬性管理,利用密鑰管理模塊實(shí)現(xiàn)屬性密鑰的生成與存儲(chǔ)。同時(shí),用戶將屬性解密操作安全的外包給密鑰管理模塊,且在密鑰管理模塊的可信執(zhí)行環(huán)境中進(jìn)行加解密操作。安全性分析表明,該方案能夠有效保障數(shù)據(jù)機(jī)密性,實(shí)現(xiàn)安全高效和細(xì)粒度數(shù)據(jù)訪問控制,并有效降低了用戶的計(jì)算量,實(shí)現(xiàn)了密鑰的安全存儲(chǔ)。