王思雨,邢玉杰,李超會(huì),賈 萍,2,3,柳 欣,2,3*
(1.山東青年政治學(xué)院 信息工程學(xué)院,山東 濟(jì)南 250103;2.山東省高等學(xué)校智能信息控制新技術(shù)研發(fā)中心,山東 濟(jì)南 250103;3.山東省高等學(xué)校特色實(shí)驗(yàn)室(智慧康養(yǎng)大數(shù)據(jù)工程與泛在計(jì)算特色實(shí)驗(yàn)室),山東 濟(jì)南 250103)
作為一種流行的計(jì)算范式,云計(jì)算幫助企業(yè)從基礎(chǔ)設(shè)施維護(hù)和數(shù)據(jù)中心管理的繁重事務(wù)中脫困,并且為個(gè)人用戶(hù)提供了隨時(shí)隨地訪(fǎng)問(wèn)各類(lèi)資源的服務(wù)[1]。在云環(huán)境下,越來(lái)越多的機(jī)構(gòu)和個(gè)人將對(duì)敏感數(shù)據(jù)的存儲(chǔ)業(yè)務(wù)外包給云服務(wù)商。屬性密碼學(xué)可以為保護(hù)用戶(hù)的數(shù)據(jù)安全和隱私提供很好的解決途徑[2]。屬性加密(Attribute-based Encryption,ABE)方案是屬性密碼學(xué)的重要分支。ABE方案要求根據(jù)用戶(hù)的屬性集為其產(chǎn)生解密私鑰,根據(jù)屬性定義訪(fǎng)問(wèn)控制策略,并且支持一對(duì)多的高效加密模式,因此滿(mǎn)足云環(huán)境下對(duì)敏感數(shù)據(jù)實(shí)施訪(fǎng)問(wèn)控制的需要。
ABE方案通常分為兩類(lèi),即CP-ABE(Ciphertext Policy ABE)方案和KP-ABE(Key Policy ABE)方案。在CP-ABE方案中,用戶(hù)的解密條件是所擁有的屬性列表滿(mǎn)足密文中的訪(fǎng)問(wèn)策略。相對(duì)于KP-ABE方案,CP-ABE方案能更好地滿(mǎn)足云環(huán)境下實(shí)施訪(fǎng)問(wèn)控制的需要。Sahai等[3]提出模糊的基于身份加密方案,該方案可視為第一個(gè)ABE方案。Bethencourt等[4]提出第一個(gè)CP-ABE方案,該方案支持樹(shù)型訪(fǎng)問(wèn)結(jié)構(gòu)且能抵抗合謀攻擊。郭麗峰等[5]提出支持對(duì)非法泄露私鑰的惡意用戶(hù)進(jìn)行身份追蹤的CP-ABE方案。需要強(qiáng)調(diào)的是,標(biāo)準(zhǔn)的CP-ABE方案并不支持對(duì)訪(fǎng)問(wèn)策略進(jìn)行隱藏,致使密文中的訪(fǎng)問(wèn)策略可能會(huì)泄露數(shù)據(jù)所有者的敏感信息[6]。此外,標(biāo)準(zhǔn)的CP-ABE方案并不支持授權(quán)用戶(hù)與非授權(quán)用戶(hù)間的相互協(xié)作。例如:在面向醫(yī)療云的數(shù)據(jù)訪(fǎng)問(wèn)控制系統(tǒng)中,患者的主治醫(yī)生在休假或組織遠(yuǎn)程會(huì)診的情況下,需要臨時(shí)性地將解密權(quán)限授權(quán)給其他醫(yī)生。然而,標(biāo)準(zhǔn)的CP-ABE方案并不支持此類(lèi)操作。
本研究利用Liang等[7]的屬性代理重加密技術(shù)對(duì)Nishide等[8]的CP-ABE方案進(jìn)行擴(kuò)展,得到一個(gè)改進(jìn)的方案。新方案具有以下優(yōu)點(diǎn):(1)密文實(shí)現(xiàn)了對(duì)訪(fǎng)問(wèn)控制策略的部分隱藏,可以更好地保護(hù)數(shù)據(jù)所有者的隱私;(2)新方案允許授權(quán)用戶(hù)臨時(shí)性地將對(duì)特定密文的解密權(quán)限授權(quán)給非授權(quán)用戶(hù);(3)授權(quán)用戶(hù)可以將解密權(quán)限授權(quán)過(guò)程中的大部分運(yùn)算任務(wù)外包給代理服務(wù)器完成。此外,本研究展示了新方案的具體應(yīng)用,即構(gòu)造醫(yī)療云環(huán)境下的屬性訪(fǎng)問(wèn)控制系統(tǒng)。
為了增強(qiáng)對(duì)用戶(hù)的隱私保護(hù),Nishide等[8]提出一個(gè)部分隱藏訪(fǎng)問(wèn)策略的CP-ABE方案。該方案的基本思想是用戶(hù)需要向?qū)傩詸?quán)威申請(qǐng)與屬性列表L=[L1,…,Ln]對(duì)應(yīng)的解密私鑰SKL。密文中的訪(fǎng)問(wèn)策略可視為由子策略構(gòu)成的列表,即W=[W1,…,Wn],其中子策略Wi是屬性值Li取值范圍集合Si={vi,1,…,vi,ni}的子集。給定含有W的密文CT,用戶(hù)的解密條件是L中的每個(gè)屬性值Li均屬于Wi。
在文獻(xiàn)[7]中,Liang等提出一種屬性代理重加密技術(shù)。在標(biāo)準(zhǔn)的CP-ABE方案中,只有授權(quán)用戶(hù)能對(duì)數(shù)據(jù)所有者共享的密文CT執(zhí)行解密。有時(shí),授權(quán)用戶(hù)U1需要臨時(shí)性地將自己對(duì)CT的解密權(quán)限授權(quán)給非授權(quán)用戶(hù)U2。Liang等的技術(shù)可以較好地解決這個(gè)問(wèn)題,其思想是U1在代理服務(wù)器的幫助下將CT轉(zhuǎn)換為CT′,使得U2可以利用自己的私鑰對(duì)CT′執(zhí)行解密。
假設(shè)存在以下參與方,即屬性權(quán)威(Attribute Authority,AA)、用戶(hù)(User,U)和代理服務(wù)器(Proxy Server,PS)。其中,用戶(hù)可以進(jìn)一步劃分為數(shù)據(jù)所有者(Data Owner,DO)和數(shù)據(jù)用戶(hù)。新方案是通過(guò)對(duì)Nishide等[8]方案進(jìn)行擴(kuò)展得到的,即增加了重加密密鑰,重加密和授權(quán)解密算法。假設(shè)用戶(hù)Alice擁有屬性列表LAlice以及解密私鑰SKLAlice,用戶(hù)Bob擁有屬性列表LBob以及解密私鑰SKLBob。假設(shè)原始密文CT1是根據(jù)訪(fǎng)問(wèn)策略W1產(chǎn)生,SKLAlice滿(mǎn)足W1,但SKLBob不滿(mǎn)足W1。假設(shè)Alice希望將自己對(duì)CT1的解密權(quán)限臨時(shí)授權(quán)給Bob,她可以利用重加密密鑰產(chǎn)生算法產(chǎn)生重加密密鑰rkAlice→Bob。此后,PS利用rkAlice→Bob執(zhí)行重加密算法,從而將CT1轉(zhuǎn)換為重加密密文CT′1?,F(xiàn)在,Bob可以利用SKLBob執(zhí)行授權(quán)解密算法,進(jìn)而從CT′1中恢復(fù)原始數(shù)據(jù)M。
系統(tǒng)建立。AA依次執(zhí)行下列步驟:
密鑰產(chǎn)生。給定U的屬性列表L=[v1,t1,v2,t2,…,vn,tn],AA執(zhí)行下列步驟:
(2)對(duì)于i=1,…,n,AA計(jì)算Di,0=si·G+ai,tibi,tiλi·Ai,ti,Di,1=ai,tiλi·G,Di,2=bi,tiλi·G,其中Li=vi,ti。
(3)AA輸出SKL=(D0,{Di,0,Di,1,Di,2}1≤i≤n)。
加密。給定訪(fǎng)問(wèn)控制策略W1=[W1,…,Wn]和消息M∈GT,DO執(zhí)行下列步驟:
解密。給定CT1,L,SKL,U執(zhí)行下列步驟:
(1)U檢查L(zhǎng)是否滿(mǎn)足W1,若否,U退出。
(2)對(duì)于i=1,…,n,U選擇用于解密的密文元素,即(C′i,1,C′i,2)=(Ci,ti,1,Ci,ti,2),滿(mǎn)足Li=vi,ti。
重加密密鑰產(chǎn)生。假設(shè)Alice掌握LAlice,SKLAlice=(D0,{Di,0,Di,1,Di,2}1≤i≤n),Bob掌握LBob,SKLBob且LBob不滿(mǎn)足W1。給定CT1,Alice執(zhí)行下列步驟:
(3)Alice輸出重加密密鑰rkAlice→Bob=(W2,D′0,{D′i,0,D′i,1,D′i,2}1≤i≤n,CT1,CT2),并且保存隨機(jī)數(shù)t。
重加密。PS與Alice共同執(zhí)行以下步驟:
(1)Alice向PS發(fā)送rkAlice→Bob。
授權(quán)解密。給定CT′1,Bob執(zhí)行下列步驟:
正確性。本研究證明等式(1)成立。
(1)
同樣,本研究證明等式(2)成立。
(2)
本研究給出上一節(jié)方案(簡(jiǎn)稱(chēng)“新方案”)在面向醫(yī)療云的訪(fǎng)問(wèn)控制領(lǐng)域中的應(yīng)用。在醫(yī)療云環(huán)境下,患者Carol通常僅允許主治醫(yī)生Alice訪(fǎng)問(wèn)自己的電子醫(yī)療記錄(Electronic Medical Record,EMR)。在外包階段,Carol采用新方案的加密算法對(duì)EMR執(zhí)行加密,并將密文CT1上傳至云服務(wù)器。在特殊情況下,Alice需要將解密權(quán)限臨時(shí)委托給醫(yī)生Bob。此時(shí),Alice利用新方案的重加密密鑰產(chǎn)生算法產(chǎn)生重加密密鑰rkAlice→Bob,并且將該密鑰提供給代理服務(wù)器。后者利用該密鑰執(zhí)行重加密算法,將CT1轉(zhuǎn)換為CT′1。在訪(fǎng)問(wèn)階段,Bob利用自己的私鑰對(duì)CT′1執(zhí)行解密。作為總結(jié),屬性訪(fǎng)問(wèn)控制系統(tǒng)的執(zhí)行過(guò)程可以分為4個(gè)階段,其中,系統(tǒng)建立階段和密鑰產(chǎn)生階段直接對(duì)應(yīng)于新方案的系統(tǒng)建立算法和密鑰產(chǎn)生算法。EMR數(shù)據(jù)外包階段與訪(fǎng)問(wèn)階段分別可以根據(jù)新方案的加密和解密算法實(shí)現(xiàn)。
針對(duì)標(biāo)準(zhǔn)CP-ABE方案并不支持對(duì)訪(fǎng)問(wèn)策略進(jìn)行隱藏和臨時(shí)對(duì)解密權(quán)限進(jìn)行授權(quán)的問(wèn)題,文章提出一個(gè)改進(jìn)的CP-ABE方案。該方案可用于構(gòu)造保護(hù)患者隱私的EMR屬性訪(fǎng)問(wèn)控制系統(tǒng)。安全性分析表明,新方案不會(huì)向代理服務(wù)器泄露數(shù)據(jù)所有者的私鑰和明文數(shù)據(jù)。文章將在醫(yī)療云場(chǎng)景下對(duì)現(xiàn)有系統(tǒng)進(jìn)行功能擴(kuò)展,如支持多屬性權(quán)威,允許云服務(wù)器對(duì)患者上傳的EMR數(shù)據(jù)進(jìn)行批量認(rèn)證等。