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