2(戰(zhàn)略支援部隊信息工程大學 鄭州 450001)物聯(lián)網(Int"/>
趙志遠 王建華 朱智強 孫 磊
1(61516部隊 北京 100071) >2(戰(zhàn)略支援部隊信息工程大學 鄭州 450001)
物聯(lián)網(Internet of things, IoT)被人們視為繼計算機、互聯(lián)網之后信息技術產業(yè)發(fā)展的第3次革命.依托于物聯(lián)網的智能家居、車聯(lián)網、智慧醫(yī)療、智能電網等快速發(fā)展,萬物互聯(lián)的時代已經到來[1].Statista網站最新統(tǒng)計數(shù)據(jù)顯示,預計2020年突破300億個互聯(lián)設備[2].
物聯(lián)網中不計其數(shù)的智能終端將感知的海量數(shù)據(jù)通過復雜的信息通信渠道傳送至具有龐大數(shù)據(jù)存儲和處理能力的數(shù)據(jù)中心,其可以抽象為“終端-傳送管道-云端”架構,也對應著物聯(lián)網架構的3個邏輯層次:感知層、傳輸層和應用層.由于其網絡泛在、全面感知、可靠傳遞、智能處理的特征要素愈發(fā)凸顯,致使物聯(lián)網面臨著非常嚴峻的安全挑戰(zhàn)[1].
我國中國科學院大學張玉清教授等通過對2012年至2017年上半年已發(fā)表的大量物聯(lián)網安全相關論文進行系統(tǒng)研究,分析出目前物聯(lián)網安全急需應對的五大安全挑戰(zhàn)之一為數(shù)據(jù)共享的隱私保護方法,總結出未來五大安全研究熱點之一為隱私數(shù)據(jù)保護[3].目前在不能夠完全保證數(shù)據(jù)隱私的情況下,通過密碼技術將明文數(shù)據(jù)加密上傳存儲在數(shù)據(jù)中心是一個行之有效的方法.
密碼學作為信息安全的基石,可以提供信息的完整性、機密性、不可抵賴性、可控性及可用性[4].屬性基加密(attribute-based encryption, ABE)[5]源于身份基加密(identity-based encryption, IBE),其作為一種新型的公鑰加密體制,可以根據(jù)用戶屬性實現(xiàn)對數(shù)據(jù)靈活的細粒度訪問控制,是解決當前物聯(lián)網數(shù)據(jù)安全共享的關鍵支撐技術之一[6].根據(jù)訪問結構嵌入位置的不同,ABE分為密鑰策略屬性基加密方案(key-policy ABE, KP-ABE)[7]和密文策略屬性基加密方案(ciphertext-policy ABE, CP-ABE)[8].在KP-ABE方案中,密文和屬性集合相關聯(lián),私鑰和訪問結構相關聯(lián),當且僅當密文關聯(lián)的屬性集合滿足私鑰關聯(lián)的訪問結構時,用戶才能解密密文以恢復出明文消息;在CP-ABE方案中,私鑰和屬性集合相關聯(lián),密文和訪問結構相關聯(lián),當且僅當與私鑰關聯(lián)的屬性集合滿足與密文關聯(lián)的訪問結構時,用戶才能解密密文以恢復出明文消息.由于把訪問策略的制定權放在了數(shù)據(jù)擁有者手中,所以CP-ABE類似于傳統(tǒng)訪問控制中的基于角色的訪問控制,指定具有某些屬性的用戶可以訪問該密文,實現(xiàn)了“一對多”的加密模式.因此,CP-ABE能夠在物聯(lián)網中發(fā)揮極大價值,受到學術界和工業(yè)界的廣泛關注[9].
當CP-ABE應用于物聯(lián)網時,其主要面對2方面問題:1)一般CP-ABE在加密數(shù)據(jù)時連同訪問結構一同上傳至數(shù)據(jù)中心,而訪問結構本身也可能是敏感的隱私信息,惡意用戶能夠根據(jù)訪問結構得到其感興趣的信息.例如:個人健康檔案中,訪問結構中可能包含用戶的身份證、家族遺傳史等信息.因此,實現(xiàn)隱藏訪問結構對于保護物聯(lián)網中隱私信息十分必要.2)物聯(lián)網中的智能終端往往具有有限的計算能力、存儲能力及能量儲備.而CP-ABE方案中加解密時間往往與訪問結構復雜度成線性正相關,密文及私鑰大小同樣與屬性數(shù)量成線性正相關,資源有限的智能終端難以承擔復雜計算與大量存儲負擔.因此,實現(xiàn)密文和私鑰定長且高效的CP-ABE方案對于其在物聯(lián)網中廣泛應用至關重要.
針對問題1,2008年Nishide等人[10]基于多值屬性的與門訪問結構提出了2種可以隱藏訪問結構的CP-ABE方案,能夠同時保護明文消息和訪問結構的隱私信息,并完成了方案的選擇性安全證明.2011年Lai等人[11]基于合數(shù)階雙線性群提出一種隱藏訪問結構的CP-ABE方案,其采用多值屬性與門訪問結構,并完成了方案的完全安全證明.2015年宋衍等人[12]基于合數(shù)階雙線性群提出一種訪問結構隱藏的屬性基加密方案,其采用訪問樹作為訪問結構,并完成了方案的完全安全證明.同年,Xu等人[13]基于合數(shù)階群提出一種訪問結構隱藏的CP-ABE方案,該方案支持訪問樹策略,并完成方案的選擇安全證明.2016年Wang等人[14]基于合數(shù)階雙線性群提出一種訪問結構隱藏的CP-ABE方案,該方案支持線性秘密共享方案(linear secret sharing scheme, LSSS)訪問結構,并基于靜態(tài)假設完成方案的選擇安全證明.
但是上述方案只實現(xiàn)了隱藏訪問結構,而密文及私鑰大小與訪問結構復雜度及屬性數(shù)量成線性正相關,加解密需要大量的計算.
針對問題2,國內外相關研究學者展開大量研究工作.2007年Cheung等人[15]首次提出基于與門訪問結構的密文定長的CP-ABE方案,但該方案只在一般群模型下討論了方案的安全性.2010年Emura等人[16]第1次提出基于支持多值屬性與門訪問結構的密文定長的CP-ABE方案.隨后,Herranz等人[17]第1次提出基于陷門訪問結構的密文長度恒定的CP-ABE方案,該方案訪問結構的表達能力要強于文獻[15].2011年Chen等人[18]提出一種支持非單調與門訪問結構的CP-ABE方案,該方案能夠實現(xiàn)密文長度恒定且僅需要定量計算完成解密.2012年Attrapadung等人[19]提出一種基于陷門訪問結構的CP-ABE方案,該方案具有較短的密文.2014年Zhang等人[20]提出一種密文長度恒定的屬性基加密方案,該方案基于支持多值屬性和通配符的與門訪問結構,并且在隨機預言機模型下基于判定性q-BDHE假設完成安全性證明.2016年Odelu等人[21]提出一種基于素數(shù)階雙線性群的CP-ABE方案,該方案能夠同時實現(xiàn)密文和用戶私鑰長度恒定.2017年Teng等人[22]提出一種定長密文的層次結構CP-ABE方案,該方案解密計算也只需恒定的雙線性對操作,且該方案基于判定性q-BDHE假設實現(xiàn)了CCA2安全.
但是上述方案只考慮了計算效率問題,沒有實現(xiàn)訪問結構隱藏,其在應用于物聯(lián)網環(huán)境時,易通過訪問結構屬性信息泄露用戶隱私.
為使CP-ABE方案更好地適用于物聯(lián)網環(huán)境,相關學者同時針對上述2個問題也有一定研究.2013年Rao等人[23]提出了一種匿名接收的CP-ABE方案,該方案采用與門訪問結構,并證明該方案是完全安全.2015年Zhou等人[24]提出一種密文長度恒定且訪問結構隱藏的CP-ABE方案,該方案支持正負屬性及通配符的與門訪問結構,并完成了方案的選擇安全證明.2018年Zhang等人[25]基于合數(shù)階群提出訪問結構隱藏的基于屬性的密文策略廣播加密(ciphertext-policy attribute-based broadcast encryption, CP-ABBE)方案,該方案支持與門訪問結構,同時其密文長度恒定,且完成了方案的完全安全證明.
為進一步提高CP-ABE方案計算效率,減少用戶存儲負擔,使其更加適用于物聯(lián)網環(huán)境的數(shù)據(jù)安全共享,本文提出一種將IBE轉換為支持多值屬性與門CP-ABE的通用轉換方法,并且轉換后的CP-ABE能夠繼承IBE的特征.例如,基于接收者匿名IBE轉換的CP-ABE方案具有訪問結構隱藏的特性,且方案安全性與原IBE方案安全級別相同.然后基于該轉換方法將Wee[26]提出的接收者匿名IBE方案轉換為訪問結構隱藏的CP-ABE方案,該方案實現(xiàn)了密文、用戶私鑰、公鑰和主私鑰長度恒定,且解密只需一個雙線對運算.而后將其應用至物聯(lián)網中的智慧醫(yī)療應用場景,并給出應用的系統(tǒng)模型及步驟.最后對方案進行了理論分析與實驗驗證,分析和實驗結果表明本文方案在計算效率和存儲負擔方面具有優(yōu)勢,同時能夠實現(xiàn)訪問結構隱藏,為物聯(lián)網環(huán)境下的數(shù)據(jù)安全共享提供新的解決思路.
本節(jié)主要介紹文中所需的相關技術,首先給出合數(shù)階雙線性群和支持多值屬性的與門訪問結構,其是構造所提方案的基礎.本文為提高計算效率,首先用對稱加密方案加密明文,然后基于CP-ABE方案加密對稱密鑰,所以給出了對稱加密方案定義.另外,本節(jié)給出了IBE和CP-ABE的定義及CP-ABE方案的CCA安全模型,以便理解IBE和CP-ABE的工作原理,更好地理解本文所提的通用轉換方案.
雙線性群是密碼系統(tǒng)中重要的關鍵技術.令ψ表示某個群生成算法,該算法以安全參數(shù)λ為輸入,輸出參數(shù)p1,p2,p3,G,GT,e,其中p1,p2,p3表示3個不同的大素數(shù),G和GT表示2個N=p1p2p3階循環(huán)群,e:G×G→GT表示一個滿足下列條件的雙線性映射.
1) 雙線性.對于任意的u,v∈G和a,b∈ZN,等式e(ua,vb)=e(u,v)ab成立.
2) 非退化性.?g∈G使得e(g,g)在GT中的階為N.
3) 可計算性.對于?u,v∈G,可以在多項式時間內有效計算e(u,v).
假設Gp1,Gp2,Gp3分別表示群G中階為p1,p2,p3的子群.若hi∈Gpi,hj∈Gpj且i≠j,那么可以得出e(hi,hj)=1.
為了驗證上述結果,假設h1∈Gp1,h2∈Gp2.令g∈G為生成元,那么可以得出gp1p2生成群Gp3,gp1p3生成群Gp2,gp2p3生成群Gp1.因此,對于參數(shù)α1與α2,可以得出h1=(gp2p3)α1,h2=(gp1p3)α2.最后計算e(h1,h2)=e((gp2p3)α1,(gp1p3)α2)=e(gα1p3,gα2)p1p2p3=1.
CP-ABE方案中,加密者為密文指定一個訪問結構,若解密者擁有關聯(lián)私鑰的屬性集合滿足關聯(lián)密文的訪問結構,則解密者能夠正確解密密文.本文采用一種支持多值屬性與門的訪問結構[16].假設系統(tǒng)中共有n個屬性,則該屬性集合為U={att1,att2,…,attn};每個屬性atti能擁有多個屬性值Vi={vi,1,vi,2,…,vi,ni},即ni=|Vi|.假設解密者擁有屬性集合S={L1,L2,…,Ln},Li∈Vi,加密者定義訪問結構A={W1,W2,…,Wn},Wi∈Vi.對于滿足1≤i≤n的i,若Li=Wi,則S滿足A,即SA;否則S不滿足A,即S|≠A.對于每一個屬性atti,數(shù)據(jù)擁有者必須從Vi={vi,1,vi,2,…,vi,ni}中選取1個值vi,*.
1.3.1 對稱加密方案
具有密鑰空間K={0,1}lSE的對稱加密算法SE=(SE.Enc,SE.Dec)包含2個多項式時間算法.
1)SE.Enc(K,M).該算法以加密密鑰K∈K和明文M∈M作為輸入,輸出密文C.
2)SE.Dec(K,C).該算法以解密密鑰K和密文C作為輸入,輸出明文M.
敵手A攻破該算法的優(yōu)勢可以表述為
AdvA(λ)
(1)
若任何多項式時間敵手A的優(yōu)勢AdvA(λ)是可忽略的,那么一次對稱加密方案是語義安全的.
1.3.2 IBE定義
IBE方案包含4個多項式時間算法.
1)Setup(1λ)→{PK,MSK}.權威機構執(zhí)行該算法.該算法以安全參數(shù)λ作為輸入,輸出公共參數(shù)PK和主私鑰MSK.
2)KeyGen(PK,MSK,ID)→SK.權威機構執(zhí)行該算法.該算法以用戶身份ID∈{0,1}*、主私鑰MSK和公共參數(shù)PK作為輸入,輸出解密密鑰SK.
3)Encrypt(PK,ID,M)→CT.加密者執(zhí)行該算法.該算法以明文消息M、用戶身份ID∈{0,1}*和公共參數(shù)PK作為輸入,輸出密文CT.
4)Decrypt(PK,CT,SK)→M.解密者執(zhí)行該算法.該算法以密文CT、解密密鑰SK和公共參數(shù)PK作為輸入.如果IDSK=IDCT,則可以解密成功,獲得明文消息M,否則算法終止.
1.3.3 CP-ABE定義
CP-ABE方案包含4個多項式時間算法.
1)Setup(1λ)→{PK,MSK}.屬性授權機構執(zhí)行該算法.該算法以安全參數(shù)λ作為輸入,輸出系統(tǒng)公鑰PK和主私鑰MSK.
2)KeyGen(PK,MSK,S)→SK.屬性授權機構執(zhí)行該算法.該算法以屬性集合S、主私鑰MSK和系統(tǒng)公鑰PK作為輸入,輸出用戶私鑰SK.
3)Encrypt(PK,A,M)→CT.數(shù)據(jù)擁有者執(zhí)行該算法.該算法以明文消息M、訪問結構A和系統(tǒng)公鑰PK作為輸入,輸出密文CT.
注:為提高計算效率,數(shù)據(jù)擁有者可以先用對稱密鑰K加密數(shù)據(jù)M,然后數(shù)據(jù)擁有者指定一個基于屬性的訪問結構A用于加密對稱密鑰K.
4)Decrypt(PK,CT,SK)→M.數(shù)據(jù)用戶執(zhí)行該算法.該算法以密文CT(基于訪問結構A)、解密密鑰SK(基于屬性集合S)和系統(tǒng)公鑰PK作為輸入.如果S滿足A,則可以解密成功,獲得明文消息M,否則算法終止.
通過仿真者B和敵手A之間的博弈游戲描述訪問結構隱藏CP-ABE方案的CCA(choose ciphertext attack)安全,具體過程如下:
系統(tǒng)建立.仿真者B運行Setup算法獲得系統(tǒng)公鑰PK和系統(tǒng)主私鑰MSK,然后將PK發(fā)送給敵手A,自己保留主私鑰MSK.
詢問階段1. 敵手A可以適應性進行下列私鑰詢問和密文的解密詢問.
1) 私鑰詢問.敵手A將屬性集合Si發(fā)送給仿真者B,然后B將關聯(lián)Si的私鑰SKSi返回給A;
2) 解密詢問.敵手A將密文CTi和屬性集合Si發(fā)送給仿真者B,然后B將明文Mi返回給A.
詢問階段2. 類似詢問階段1,A繼續(xù)向B詢問.但不能詢問滿足挑戰(zhàn)訪問結構的屬性集合,也不能夠詢問挑戰(zhàn)密文.
猜測階段.敵手A輸出一個值b′∈{0,1}作為對b的猜測.如果b′=b,我們稱A贏得了該游戲.敵手A在該游戲中的優(yōu)勢定義為
AdvA=|Pr[b′=b]-12|.
定義1.若無多項式時間敵手以不可忽略的優(yōu)勢來攻破上述安全模型,那么訪問結構隱藏的CP-ABE方案是CCA安全.
1.3.2節(jié)和1.3.3節(jié)分別詳細介紹了IBE和CP-ABE的形式化定義,基于這些定義,本節(jié)首先討論ABE和IBE的關系,給出一種將IBE轉換為支持多值屬性與門CP-ABE的通用轉換方法,并且轉換后的CP-ABE能夠繼承IBE的特征.例如,基于接收者匿名IBE轉換的CP-ABE方案具有訪問結構隱藏的特性.然后給出基于IBE轉換為CP-ABE的理論方案.最后給出轉換方案的安全性證明.
參考多值屬性與門訪問結構的定義,假設系統(tǒng)共有n個屬性名U={att1,att2,…,attn},每個屬性名有ni=|Vi|個屬性值Vi={vi,1,vi,2,…,vi,ni}.然后定義一個正整數(shù)k,將每個屬性值轉換為一個k位的二進制串.因此可以得到ni≤2k,即每個屬性名最多有2k個屬性值.假設轉換成身份ID具有|U|位,則可以得到nk=|U|.當給一個訪問結構A={W1,W2,…,Wn}時,對于每一個Wj∈A,通過二進制編碼將Wj轉換為相應的k位二進制串bitj,并且這種轉換是一一對應的.具體轉換算法如算法1所示.具體實施例將在3.4節(jié)給出.
算法1.屬性到身份的轉換算法.
輸入:訪問結構A={W1,W2,…,Wn},整數(shù)k≥1,集合U,其中nk=|U|;
輸出:用戶身份IDA.
① 令IDA[i]是IDA的第i位;
② 令IDA[i,i-1,…,i-k+1]是IDA的第i至i-k+1位;
③ 令Wj是A={W1,W2,…,Wn}的第j個屬性;
④ forj=1 tondo
⑤i=j×k;
⑥IDA[i,i-1,…,i-k+1]=bitj;
的第k位相關聯(lián)*
⑦ end for
⑧ returnIDA.
假設一個身份加密方案IBE有4個多項式算法:IBE.Setup,IBE.KeyGen,IBE.Encrypt,IBE.Decrypt,然后通過下述過程構建CP-ABE方案.
1)Setup(1λ)→{PK,MSK}.該算法以安全參數(shù)λ作為輸入,然后運行
IBE.Setup(1λ)→{IBE.PK,IBE.MSK}.
(2)
最后輸出系統(tǒng)公鑰PK=IBE.PK和系統(tǒng)主私鑰MSK=IBE.MSK.
2)KeyGen(PK,MSK,S)→SK.該算法以屬性集合S、主私鑰MSK和系統(tǒng)公鑰PK作為輸入.然后該算法調用算法1將屬性集合S轉換為身份IDS∈{0,1}|U|,并運行
IBE.KeyGen(PK,MSK,IDS)→IBE.SK.
(3)
最后輸出用戶私鑰SK=IBE.SK.
3)Encrypt(PK,A,M)→CT.該算法以明文消息M、訪問結構A和系統(tǒng)公鑰PK作為輸入.然后該算法調用算法1將訪問結構A轉換為身份IDA∈{0,1}|U|,并運行
IBE.Encrypt(PK,IDA,M)→IBE.CT.
(4)
最后輸出密文CT=IBE.CT.
注:為提高計算效率,數(shù)據(jù)擁有者可以先用對稱密鑰K加密數(shù)據(jù)M,然后數(shù)據(jù)擁有者指定一個基于屬性的訪問結構A用于加密對稱密鑰K.
4)Decrypt(PK,CT,SK)→M.該算法以密文CT(基于訪問結構A)、解密密鑰SK(基于屬性集合S)和系統(tǒng)公鑰PK作為輸入.然后運行
IBE.Decrypt(PK,CT,SK)→IBE.M.
(5)
如果S滿足A,則可以解密成功,獲得明文消息M=IBE.M;否則算法終止.
定理1.若底層匿名IBE方案是CCA安全,那么通過IBE轉換獲得的訪問結構隱藏的CP-ABE方案是CCA安全.
證明. 假設敵手A能夠以不可忽略的優(yōu)勢攻破訪問結構隱藏的CP-ABE方案,那么我們能夠構造仿真者B以不可忽略的優(yōu)勢攻破底層匿名IBE方案.B是IBE的挑戰(zhàn)者.安全證明的具體思路如圖1所示:
Fig. 1 Schematic diagram of proof圖1 安全證明示意圖
挑戰(zhàn)者C、仿真者B與敵手A的交互過程為:
系統(tǒng)建立.仿真者B與挑戰(zhàn)者C交互獲得系統(tǒng)公鑰PK,然后仿真者B將PK發(fā)送給A.
詢問階段1. 敵手A可以適應性進行下列私鑰詢問和密文的解密詢問.
1) 私鑰詢問.敵手A將屬性集合Si發(fā)送給仿真者B,然后B調用算法1將Si轉換為身份IDi并將IDi發(fā)送給挑戰(zhàn)者C進行私鑰詢問,B接收到C的私鑰SKIDi后,將其發(fā)送給敵手A.
2) 解密詢問.敵手A將密文CTi和屬性集合Si發(fā)送給仿真者B,然后B調用算法1將Si轉換為身份IDi并將CTi和IDi發(fā)送給挑戰(zhàn)者C進行解密詢問.B接收到C返回的明文Mi后,將其發(fā)送給A.
詢問階段2. 類似詢問階段1,A繼續(xù)向B詢問.但不能詢問滿足挑戰(zhàn)訪問結構的屬性集合,也不能夠詢問挑戰(zhàn)密文.
猜測階段. 敵手A輸出一個值b′∈{0,1}作為對b的猜測.
若b′=b,則敵手A贏得了該游戲,即攻破了本文訪問結構隱藏CP-ABE方案.然后,仿真者B同樣輸出b′∈{0,1}作為對挑戰(zhàn)者C的猜測,b′一定滿足b′=b,仿真者B攻破了底層匿名IBE方案.因此,若底層匿名IBE方案是CCA安全,那么通過IBE轉換獲得的訪問結構隱藏的CP-ABE方案是CCA安全.
證畢.
本節(jié)通過第2節(jié)的通用轉換方法將Wee[26]的IBE方案轉換為具有隱藏訪問結構的高效密文策略屬性基加密(efficient ciphertext-policy attribute-based encryption with hidden access structure, EHAS-CP-ABE)方案,即本節(jié)提出一種高效安全的CP-ABE方案.該方案具有隱藏訪問結構,密文、用戶私鑰、系統(tǒng)公鑰和主私鑰長度恒定以及快速解密等優(yōu)點.首先本節(jié)給出所提方案的系統(tǒng)理論模型,然后基于IBE方案給出方案的具體理論構造及安全證明,最后給出該方案應用于個人健康檔案管理系統(tǒng)的實例.
本文提出一種支持訪問結構隱藏的高效密文策略屬性基加密方案EHAS-CP-ABE,為物聯(lián)網中數(shù)據(jù)共享的隱私保護提供理論支撐.其系統(tǒng)模型包括屬性授權機構(attribute authority, AA)、云服務商(cloud service provider, CSP)、數(shù)據(jù)擁有者(data owner, DO)和數(shù)據(jù)用戶(data user, DU)四部分.
1) 屬性授權機構.屬性授權機構是一個完全可信的權威機構,其主要負責生成系統(tǒng)公鑰和系統(tǒng)主私鑰,同時其管控屬性密鑰分發(fā)等工作.
2) 云服務商.云服務商主要是指第三方云存儲提供商.數(shù)據(jù)擁有者將加密的數(shù)據(jù)上傳至云服務商,減少其存儲負擔.假設云服務商是誠實并好奇的(honest but curious),即云服務商會誠實地提供服務,但其也會窺探存儲數(shù)據(jù)中的隱私.
3) 數(shù)據(jù)擁有者.數(shù)據(jù)擁有者在將數(shù)據(jù)上傳至云服務商之前需要用對稱密鑰K加密數(shù)據(jù).然后數(shù)據(jù)擁有者指定一個基于屬性的訪問結構用于加密對稱密鑰K.只有當數(shù)據(jù)用戶的屬性集合滿足訪問結構時,才能正確解密密鑰密文獲得K,然后用對稱密鑰K解密內容密文獲得最終明文.
4) 數(shù)據(jù)用戶.數(shù)據(jù)用戶即數(shù)據(jù)的訪問者,能夠自由地訪問云中的密文數(shù)據(jù)資源.屬性授權機構根據(jù)其屬性為其生成私鑰用于解密密鑰密文.
EHAS-CP-ABE系統(tǒng)的結構示意圖如圖2所示:
Fig. 2 Schematic diagram of CP-ABE圖2 CP-ABE結構示意圖
通過第2節(jié)的通用轉換方法,基于Wee[26]的IBE方案提出EHAS-CP-ABE方案.由于Wee[26]的IBE方案的密文、用戶私鑰、公鑰和主私鑰定長,且解密只需一個雙線對運算,所以本文所提EHAS-CP-ABE方案也具有這些性質.所提方案包含4個多項式時間算法.
4)Decrypt(PK,CT,SK)→M.數(shù)據(jù)用戶執(zhí)行該算法.該算法以密文CT(基于訪問結構A)、解密密鑰SK(基于屬性集合S)和PK作為輸入.首先運行Wee.IBE.Decrypt(PK,CT,SK),若S滿足A,則可以獲得IDS=IDA,然后可以計算并獲得K=H(e(C1,SK))=H(e(g1,u)s),調用對稱解密算法計算M=SE.Dec(K,C),最終獲得明文消息M.
定理2.若Wee[26]的IBE方案具有接收者匿名特性且是完全CCA安全,那么本文所提EHAS-CP-ABE方案是訪問結構隱藏且完全CCA安全.
證明. 本文所提EHAS-CP-ABE方案是在Wee[26]的IBE方案基礎上通過第2節(jié)通用轉換方法獲得.所以EHAS-CP-ABE方案的安全性滿足定理1.又因為Wee[26]的IBE方案是完全CCA安全且接收者匿名,所以本文所提EHAS-CP-ABE方案也是完全CCA安全且訪問結構隱藏的.
證畢.
物聯(lián)網中的智慧醫(yī)療受到學術界和工業(yè)界的廣泛關注,通過可穿戴設備收集個人健康記錄同時基于醫(yī)院等信息構建一個醫(yī)療信息集成平臺,從而解決醫(yī)療信息孤島問題[27].個人健康檔案(personal health record, PHR)是智慧醫(yī)療的核心基礎數(shù)據(jù),我國也于2009年計劃在每個區(qū)市建立規(guī)范統(tǒng)一標準的居民健康檔案.
由于個人健康檔案涉及用戶非常多的個人隱私信息,同時又要將這些數(shù)據(jù)安全共享給相關醫(yī)生和親戚朋友,所以數(shù)據(jù)和相關設備的安全至關重要,尤其是如何實現(xiàn)以病人為中心的數(shù)據(jù)的細粒度訪問控制.
而屬性基加密方案通過定義訪問結構能夠天然地實現(xiàn)“一對多”的細粒度訪問控制,所以將其應用在個人健康檔案的細粒度訪問控制受到許多學者關注.通過研究相關文獻,目前屬性基加密方案應用在個人健康記錄中,由于屬性信息也可能泄露用戶隱私信息,所以實現(xiàn)訪問結構隱藏的屬性基加密方案是研究重點;另外,隨著移動網絡和智能設備的發(fā)展,尤其是可穿戴設備的大量應用,減少設備的存儲成本和計算成本至關重要,因此設計密文、用戶私鑰、系統(tǒng)公鑰和主私鑰長度恒定,計算效率高的屬性基加密方案是另一個研究熱點.
本文通過通用轉換方法獲得的CP-ABE方案能夠繼承原IBE方案的性質,通過轉換Wee[26]的IBE方案,EHAS-CP-ABE方案實現(xiàn)了訪問結構隱藏,密文、用戶私鑰、系統(tǒng)公鑰和主私鑰定長,且解密只需一個雙線對運算.所以其非常適用于個人健康檔案的加密共享.下面給出一個具體應用實例.
根據(jù)Zhou等人[28]意見,將一個小區(qū)或區(qū)市的病人組成一個群體,然后該群體擁有一個屬性授權機構,其系統(tǒng)模型如圖3所示:
Fig. 3 System model of personal health record圖3 個人健康檔案系統(tǒng)模型
屬性授權機構保持個人健康檔案的屬性名和屬性值結構,如圖4所示:
Fig. 4 Attribute structure of personal health record圖4 個人健康檔案屬性結構
通過算法1給出一個具體轉換實例.假設k=8,n=5,|Unk=40.給出一個實際訪問結構A=[PatientName:126Xu,Age:62,MedicalHistory:86Prescriptions,Hospital:72HospitalK,Department:42Central Sterile Services Department],則通過算法1將每一個屬性名對應的屬性值轉換成相應的二進制數(shù)值,如PatientName:126Xu轉換成二進制數(shù)為11111110.以此類推,將所有屬性名對應的二進制數(shù)連接在一起,即可獲得轉換結果:
因此只有擁有屬性集合S={PatientName:126Xu,Age:62,MedicalHistory:86Prescriptions,Hospital:72HospitalK,Department:42Central Sterile Services Department}的用戶才能通過算法1轉換S獲得:
因為SA,所以IDA=IDS.最終用戶才能正確解密獲得明文數(shù)據(jù).
通過EHAS-CP-ABE方案實現(xiàn)PHR的細粒度訪問控制具體實施有4個階段.
1) 系統(tǒng)初始化階段.AA首先運行Setup算法獲得系統(tǒng)公鑰PK和主私鑰MSK,將PK公布于該小區(qū)用戶,自己保留MSK.
2) 數(shù)據(jù)加密階段.病人Alice定義訪問結構A后,運行Encrypt算法獲得PHR的密文CT,然后將CT上傳至PHR Storage.
3) 私鑰生成階段.醫(yī)生Bob想要訪問Alice的PHR,其首先提交一個屬性集合S至AA,然后AA驗證屬性集合的合法性,最后運行KeyGen為Bob生成其私鑰SK.
4) 數(shù)據(jù)解密階段.Bob從PHR Storage下載密文后,用私鑰解密密文,最后獲得明文數(shù)據(jù)M.
因為EHAS-CP-ABE方案是訪問結構隱藏的,所以屬性信息不會泄露用戶的隱私;而明文數(shù)據(jù)通過算法本身完成數(shù)據(jù)加密實現(xiàn)信息隱藏;病人Alice通過自己定義的訪問結構A完成加密,只有擁有滿足A的屬性集合的用戶才能完成解密,讀取明文,實現(xiàn)了數(shù)據(jù)的細粒度訪問共享.
本節(jié)主要在安全性及各種參數(shù)大小方面將本文方案與已有5種隱藏訪問結構方案進行對比.對比過程中所使用描述符定義為:|N|表示ZN中數(shù)據(jù)元素的長度;|g|表示G中數(shù)據(jù)元素的長度;|gT|表示GT中數(shù)據(jù)元素的長度;h表示文獻[25]方案中的用戶總數(shù);l表示訪問矩陣M的行數(shù),Y表示訪問樹T的葉子節(jié)點數(shù),α表示訪問樹T的末端內部節(jié)點數(shù),n表示與門中屬性的數(shù)量,ni表示支持多值屬性與門中每個屬性取值的總數(shù).為簡單起見,l,Y,n統(tǒng)一用n表示,同時假設用戶私鑰關聯(lián)的屬性個數(shù)也為n.
不同隱藏訪問結構方案在安全性及相關參數(shù)大小方面的對比情況如表1所示.
從表1的參數(shù)大小(parameter size)列可以看出,本文方案的公鑰、主私鑰、私鑰及密文都達到了恒定長度,與訪問結構復雜度及屬性集合數(shù)量無關.文獻[14]的主私鑰為|g|;文獻[24]的主私鑰為2|N|,同時其密文實現(xiàn)恒定長度為2|g|+|gT|.文獻[25]的密文實現(xiàn)恒定長度為3|g|+|gT|,私鑰長度與廣播集合中用戶總數(shù)成線性正相關,為(h+2)|g|.其他方案都與訪問結構復雜度及屬性數(shù)量成線性正相關.系統(tǒng)中各系統(tǒng)模塊的存儲負擔及相互之間的通信負載正是與這些參數(shù)大小密切相關,所以本文方案各個系統(tǒng)模塊的存儲負擔及相互之間的通信負載非常小,更加適用于具有大量資源有限的智能感知終端的物聯(lián)網環(huán)境.
Table 1 Comparison of Different Hidden Access Structure Schemes表1 不同隱藏訪問結構方案對比
通過理論分析,本文方案在安全性和參數(shù)長度方面具有優(yōu)勢.為進一步評估本文方案的實際性能,通過下面實驗測試了本文方案和相關方案在系統(tǒng)建立、私鑰生成、數(shù)據(jù)加密和數(shù)據(jù)解密方面的計算時間.
1) 實驗環(huán)境.64 b Ubuntu 14.04操作系統(tǒng)、Intel?CoreTMi5-6200U(2.3 GHz)、內存4 GB,實驗代碼基于PBC-0.5.14[30]與cpabe-0.11[31]進行修改與編寫,并且使用基于512 b有限域上的超奇異曲線y2=x3+x中的160 b橢圓曲線群.
2) 實驗設置.在CP-ABE方案中,訪問策略的復雜程度影響加密和解密時間.為了說明這一點,本文用(S1ANDS2AND … ANDSn)形式的訪問策略模擬最復雜的情況,其中每個Si都是一個屬性.這種方法保證了所有密文組件都參與解密計算.同時假設文獻[12]中的α=1;文獻[25]中的h=10;多值屬性與門中ni=4.本文以這種形式屬性數(shù)量每次遞增10,從10增加到100產生10種不同的訪問策略.對于每個訪問策略,重復20次實驗且每次實驗完全獨立,然后取平均值作為實驗結果.不同方案各階段仿真時間對比情況如圖5所示:
Fig. 5 Comparison of simulation time圖5 仿真時間對比
如圖5(b)所示,密鑰生成時間與用戶屬性集合大小成線性增長關系.該階段文獻[24]的執(zhí)行時間遠遠超過其他方案,這是因為該方案在密鑰生成階段需要為用戶屬性集合中的每個屬性計算2個私鑰組件.文獻[12-14]方案的私鑰生成時間整體相當,小于文獻[24],但依然與用戶屬性集合大小成線性正相關.文獻[25]方案的私鑰生成時間與廣播集合中用戶數(shù)量成線性正相關,因為本文假設用戶數(shù)量h=10,所以其私鑰生成時間恒定.而本文方案只需1個G中的指數(shù)運算即可.
如圖5(c)所示,加密時間與訪問結構中的屬性數(shù)量成線性增長關系.因為在加密階段,文獻[12-14]需要為每個屬性計算密文組件,所以它們的加密時間與訪問結構復雜度成線性正相關.而文獻[24-25]和本文方案只需定量計算即可完成數(shù)據(jù)加密,與訪問結構復雜度無關.
如圖5(d)所示,解密時間與解密所需屬性數(shù)量成線性增長關系.文獻[12-14,24]方案的解密時間都隨著解密所需屬性數(shù)量的增長而增長,且文獻[14]大概是其他3種方案的2倍.文獻[25]方案解密階段只需4個雙線對操作,本文方案解密階段只需1個雙線對操作和1次雜湊運算,然后用獲得的解密密鑰最終解密密文,整個過程中解密時間與屬性數(shù)量無關.
綜合分析,本文方案在各個階段的計算時間都與屬性數(shù)量無關,達到了常數(shù)級別.而系統(tǒng)公鑰、主私鑰、用戶密鑰及密文長度同樣與屬性數(shù)量無關,實現(xiàn)定長.方案在實現(xiàn)隱藏訪問結構的同時,其安全性較其他方案更高.所以,本文方案更加適用于計算、存儲及能量資源有限的智能感知終端,為物聯(lián)網環(huán)境中數(shù)據(jù)安全共享提供新的解決思路.
物聯(lián)網的迅速發(fā)展使其融入至每一個人的生活中,但數(shù)據(jù)共享的隱私保護依然是制約物聯(lián)網發(fā)展的一個重要因素.因此,本文提出一種基于屬性密碼方案的物聯(lián)網數(shù)據(jù)安全共享方法.本文首先提出一種將IBE轉換為支持多值屬性與門CP-ABE的通用轉換方法,并且轉換后的CP-ABE能夠繼承IBE的特征.例如基于接收者匿名IBE轉換的CP-ABE方案具有訪問結構隱藏的特性,且方案安全性與原IBE方案安全級別相同.然后基于該轉換方法將Wee[26]提出的接收者匿名IBE方案轉換為訪問結構隱藏的CP-ABE方案(EHAS-CP-ABE),該方案實現(xiàn)了密文、用戶私鑰、公鑰和主私鑰長度恒定,且解密只需一個雙線對運算.而后將其應用至物聯(lián)網中的智慧醫(yī)療應用場景,并給出應用的系統(tǒng)模型及步驟.最后對方案進行了理論分析與實驗驗證,分析和實驗結果表明本文方案在計算效率和存儲負擔方面具有優(yōu)勢,同時能夠實現(xiàn)訪問結構隱藏,為物聯(lián)網環(huán)境下的數(shù)據(jù)安全共享提供新的解決思路.
通用轉換算法中,當k=1時,表示將IBE轉換為只支持與門訪問結構的ABE.另外,可以采用相似的方法將相應ABE轉換為IBE方案,即實現(xiàn)本文提出轉換算法的反轉換.本文方案中每個屬性有相同的屬性值個數(shù)k,下一步將根據(jù)每個屬性的實際屬性值個數(shù)選取不同的取值個數(shù),以及研究具有豐富表達能力且訪問結構隱藏的屬性基加密方案.