本發(fā)明屬于數(shù)據(jù)加密技術(shù)領(lǐng)域,尤其涉及一種支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法。
背景技術(shù):
隨著智能手機(jī)的快速發(fā)展。越來(lái)越多的用戶(hù)通過(guò)手機(jī)的云應(yīng)用將個(gè)人數(shù)據(jù)信息存儲(chǔ)在云端,通過(guò)移動(dòng)云進(jìn)行存儲(chǔ)和共享。但是,移動(dòng)云作為一種開(kāi)放的分布式環(huán)境,不能夠保證數(shù)據(jù)的機(jī)密性和安全性,云服務(wù)提供商也可能出于好奇或者商業(yè)利益而窺探用戶(hù)數(shù)據(jù),甚至泄露用戶(hù)數(shù)據(jù)。因此,如何實(shí)現(xiàn)數(shù)據(jù)的安全共享也成為云計(jì)算發(fā)展面臨的一大挑戰(zhàn)。傳統(tǒng)的公鑰密碼雖然能夠?qū)崿F(xiàn)數(shù)據(jù)的安全共享,但它僅支持一對(duì)一的加密形式,并且不能實(shí)現(xiàn)靈活的訪(fǎng)問(wèn)控制。目前,在云環(huán)境下,屬性基加密ABE被認(rèn)為是實(shí)現(xiàn)數(shù)據(jù)安全共享及訪(fǎng)問(wèn)控制的最有前景的技術(shù),因?yàn)锳BE使得用戶(hù)可以通過(guò)訪(fǎng)問(wèn)策略直接控制數(shù)據(jù),并且不需要給其他用戶(hù)分發(fā)密鑰,就可以實(shí)現(xiàn)數(shù)據(jù)的安全共享。ABE分為基于密文策略的屬性加密(CP-ABE)和基于密鑰策略的屬性加密(KP-ABE)。屬性加密能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)細(xì)粒度訪(fǎng)問(wèn)控制,現(xiàn)實(shí)中具有很大的應(yīng)用價(jià)值?;诿荑€策略的屬性加密KP-ABE是指密鑰和訪(fǎng)問(wèn)結(jié)構(gòu)相對(duì)應(yīng),而密文和一個(gè)屬性集合相結(jié)合,當(dāng)且僅當(dāng)密文的屬性集合滿(mǎn)足密鑰的訪(fǎng)問(wèn)結(jié)構(gòu)時(shí)才能解密密文。針對(duì)于單屬性權(quán)威機(jī)構(gòu)的方案中,單個(gè)屬性權(quán)威機(jī)構(gòu)必須管理所有用戶(hù)的屬性和復(fù)雜的密鑰分發(fā)工作,工作量巨大,很容易不堪重負(fù),影響系統(tǒng)效率問(wèn)題。目前,很多研究轉(zhuǎn)向了多屬性權(quán)威機(jī)構(gòu)機(jī)制。但是,多機(jī)構(gòu)系統(tǒng)時(shí)面臨著各權(quán)威機(jī)構(gòu)間或者各用戶(hù)間的串謀攻擊問(wèn)題。假如相關(guān)權(quán)威機(jī)構(gòu)都不可信,由于各權(quán)威機(jī)構(gòu)都知道用戶(hù)的身份信息,它們就可以合謀冒充該用戶(hù),從而獲取解密密鑰。另外,如果不對(duì)解密密鑰進(jìn)行身份信息綁定,不同用戶(hù)也可能串謀,冒充其他用戶(hù)。
綜上所述,現(xiàn)有屬性加密方案由于計(jì)算開(kāi)銷(xiāo)大,不適用于低配置移動(dòng)設(shè)備。此外,對(duì)于大規(guī)模環(huán)境下單機(jī)構(gòu)屬性加密方案,單個(gè)權(quán)威機(jī)構(gòu)工作量大,可能不堪重負(fù)從而帶來(lái)性能瓶頸問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法,旨在解決現(xiàn)有屬性加密方案計(jì)算開(kāi)銷(xiāo)大而不適用于低配置移動(dòng)設(shè)備,以及對(duì)于大規(guī)模環(huán)境下單機(jī)構(gòu)屬性加密方案可能帶來(lái)性能瓶頸問(wèn)題。
本發(fā)明是這樣實(shí)現(xiàn)的,一種支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法,所述支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法將數(shù)據(jù)加密、密文解密過(guò)程都分為預(yù)計(jì)算和移動(dòng)設(shè)備計(jì)算兩部分;在數(shù)據(jù)加密過(guò)程中,通過(guò)離線(xiàn)操作處理預(yù)計(jì)算部分,減輕移動(dòng)設(shè)備上加密計(jì)算量;在密文解密過(guò)程中,用戶(hù)先本地生成一個(gè)轉(zhuǎn)換密鑰,通過(guò)解密服務(wù)器(DSP)處理大部分計(jì)算進(jìn)行半解密;用戶(hù)在任何設(shè)備上進(jìn)行最終的解密計(jì)算。
進(jìn)一步,所述數(shù)據(jù)加密具體包括:
預(yù)加密算法:數(shù)據(jù)擁有者在加密數(shù)據(jù)時(shí),先在PC端對(duì)所有屬性密文進(jìn)行預(yù)計(jì)算,結(jié)合系統(tǒng)參數(shù)GP、相關(guān)權(quán)威機(jī)構(gòu)的公鑰PKi以及一個(gè)屬性集合隨機(jī)選擇進(jìn)行如下計(jì)算:
C0=gs′;
輸出中間密文IC=({Cj}j∈S,C1,C0,s′),將IC拷貝到移動(dòng)設(shè)備;
線(xiàn)上加密算法:數(shù)據(jù)擁有者在移動(dòng)設(shè)備對(duì)具體數(shù)據(jù)加密,結(jié)合相關(guān)屬性機(jī)構(gòu)AAi的公鑰PKi,一個(gè)對(duì)稱(chēng)密鑰KSE;進(jìn)行以下計(jì)算對(duì)具體明文數(shù)據(jù)m加密:
CSE=SKE.Eec(KSE,m);
C2=s-s′;
獲得密文:CT=(S,{Cj}j∈U,C1,C0,C,C2,CSE)。
數(shù)據(jù)擁有者計(jì)算驗(yàn)證值Tag=H0(KSE),VKM=H(Tag||CSE);其中,KSE是一個(gè)對(duì)稱(chēng)密鑰,CSE=SKE.Eec(KSE,m)表示用對(duì)稱(chēng)加密算法對(duì)數(shù)據(jù)m加密得到的密文;并將密文CT和驗(yàn)證值VKM上傳到云存儲(chǔ)服務(wù)器CSSP。
進(jìn)一步,所述密文解密具體包括:
外包解密算法:用戶(hù)從云存儲(chǔ)服務(wù)器CSSP下載密文CT和驗(yàn)證值VKM,并將密文CT、轉(zhuǎn)換密鑰TKGID,i發(fā)送給DSP,DSP結(jié)合系統(tǒng)參數(shù)GP計(jì)算:
然后對(duì)于每個(gè)i∈A選擇使得并計(jì)算:
其中,A表示數(shù)據(jù)擁有者相關(guān)權(quán)威機(jī)構(gòu)集合,Su表示用戶(hù)屬性集,
終端解密算法:用戶(hù)結(jié)合DKs,首先計(jì)算KSE=C/(CT′)z,然后計(jì)算Tag=H0(KSE),如果H(Tag||CSE)≠VKM,輸出⊥并終止算法;如果H(Tag||CSE)=VKM,說(shuō)明外包計(jì)算結(jié)果正確,則計(jì)算m=SKE.Dec(KSE,CSE)進(jìn)行解密。
本發(fā)明的另一目的在于提供一種所述支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法的多機(jī)構(gòu)KP-ABE系統(tǒng),所述多機(jī)構(gòu)KP-ABE系統(tǒng)包括:
數(shù)據(jù)擁有者,在配置較高PC端離線(xiàn)計(jì)算預(yù)加密部分,保存計(jì)算結(jié)果;在移動(dòng)設(shè)備上調(diào)用該結(jié)果,對(duì)任意具體明文數(shù)據(jù)加密,將密文上傳到云存儲(chǔ)服務(wù)器,提供給滿(mǎn)足策略的用戶(hù)訪(fǎng)問(wèn);
可信權(quán)威中心,用于響應(yīng)用戶(hù)的注冊(cè)請(qǐng)求,負(fù)責(zé)用戶(hù)的身份信息管理,并將已注冊(cè)的用戶(hù)身份信息GID發(fā)送給各個(gè)屬性權(quán)威機(jī)構(gòu);
云存儲(chǔ)服務(wù)器,用于負(fù)責(zé)存儲(chǔ)數(shù)據(jù)擁有者的數(shù)據(jù)密文;
多屬性權(quán)威機(jī)構(gòu),用于負(fù)責(zé)管理數(shù)據(jù)擁有者的不同屬性集、生成公私鑰、認(rèn)證用戶(hù)GID、生成并分發(fā)所管理屬性的密鑰份額;
云解密服務(wù)器,用于接收用戶(hù)密文和轉(zhuǎn)換密鑰,對(duì)密文進(jìn)行部分解密;然后轉(zhuǎn)換密文返給用戶(hù),由訪(fǎng)問(wèn)數(shù)據(jù)的用戶(hù)在移動(dòng)客戶(hù)端進(jìn)行最后的解密;
訪(fǎng)問(wèn)數(shù)據(jù)的用戶(hù),當(dāng)且僅當(dāng)他的屬性滿(mǎn)足訪(fǎng)問(wèn)策略才能解密密文,每個(gè)訪(fǎng)問(wèn)數(shù)據(jù)的用戶(hù)有一個(gè)互不相同的全局標(biāo)示符GID。
本發(fā)明的另一目的在于提供一種應(yīng)用所述多機(jī)構(gòu)KP-ABE系統(tǒng)的移動(dòng)設(shè)備。
本發(fā)明的另一目的在于提供一種應(yīng)用所述多機(jī)構(gòu)KP-ABE系統(tǒng)的移動(dòng)云終端。
進(jìn)一步,所述多機(jī)構(gòu)KP-ABE方法包括:
首先運(yùn)行系統(tǒng)初始化算法生成系統(tǒng)參數(shù)GP,各個(gè)權(quán)威機(jī)構(gòu)結(jié)合GP生成權(quán)威機(jī)構(gòu)公鑰PKi、私鑰SKi;當(dāng)用戶(hù)A要通過(guò)手機(jī)app將數(shù)據(jù)存儲(chǔ)到公共云端的時(shí)候,他先向CA提交注冊(cè)申請(qǐng),生成唯一的身份信息標(biāo)識(shí)GID;
然后將個(gè)人的部分屬性集{AttA}分發(fā)給n(n≤N)個(gè)權(quán)威機(jī)構(gòu),各個(gè)權(quán)威機(jī)構(gòu)AAi對(duì)所管理屬性{Atti}生成一個(gè)訪(fǎng)問(wèn)策略(Mi,ρi),用戶(hù)A結(jié)合相關(guān)PKi在PC上對(duì)自己所有屬性進(jìn)行預(yù)計(jì)算,生成了屬性密文,并將結(jié)果存于手機(jī);在手機(jī)端用屬性集{AttA}對(duì)數(shù)據(jù)加密并計(jì)算驗(yàn)證值VKM;
最后將密文CT和驗(yàn)證值VKM上傳到云端;當(dāng)用戶(hù)B想要訪(fǎng)問(wèn)A的數(shù)據(jù)時(shí),他首先同A一樣進(jìn)行身份注冊(cè);從云端下載A的數(shù)據(jù)密文CT和驗(yàn)證值VKM;再發(fā)送一個(gè)屬性集{AttGID}以及GID給各權(quán)威機(jī)構(gòu),相關(guān)權(quán)威機(jī)構(gòu)認(rèn)證用戶(hù)信息后,以保留的私鑰、用戶(hù)GID以及{AttGID}為輸入,生成用戶(hù)私鑰SKGID,i;并返給用戶(hù)B;如果{AttGID}∩{Atti}∈Mi,用戶(hù)B可利用該私鑰SKGID,i正確解密;戶(hù)B將SKGID,i進(jìn)行轉(zhuǎn)換后與密文CT一并發(fā)送給代理解密服務(wù)器DSP,DSP進(jìn)行半解密后將結(jié)果返給用戶(hù)B,用戶(hù)B在手機(jī)進(jìn)行驗(yàn)證,驗(yàn)證正確則進(jìn)行最終解密。
本發(fā)明提供的支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法,結(jié)合用戶(hù)全局身份信息GID可防止多機(jī)構(gòu)系統(tǒng)是面臨著各權(quán)威機(jī)構(gòu)間或者各用戶(hù)間的串謀攻擊問(wèn)題。此外,由于屬性加密方案的計(jì)算開(kāi)銷(xiāo)很大,具有較高的配置要求,直接將其應(yīng)用于低配置的移動(dòng)設(shè)備并不現(xiàn)實(shí)。本發(fā)明考慮將加密、解密過(guò)程都分為預(yù)計(jì)算和移動(dòng)設(shè)備計(jì)算兩部分;在加密過(guò)程中,通過(guò)離線(xiàn)操作處理預(yù)計(jì)算部分,減輕移動(dòng)設(shè)備上加密計(jì)算量;在解密過(guò)程中,用戶(hù)先生成一個(gè)轉(zhuǎn)換密鑰,通過(guò)解密服務(wù)器(DSP)處理大部分計(jì)算,然后用戶(hù)在任何設(shè)備上都可以輕松解密密文。有效地降低了用戶(hù)端的加密、解密計(jì)算開(kāi)銷(xiāo);實(shí)現(xiàn)多個(gè)權(quán)威機(jī)構(gòu)共同負(fù)責(zé)管理用戶(hù)屬性和密鑰分發(fā),并有效降低用戶(hù)端的加密、解密計(jì)算開(kāi)銷(xiāo),使得基于屬性加密方案能夠適用于低配置的手機(jī)等移動(dòng)設(shè)備。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
1.本發(fā)明中的多機(jī)構(gòu)KP-ABE方法是多個(gè)屬性權(quán)威機(jī)構(gòu)共同負(fù)責(zé)用戶(hù)屬性管理和密鑰分發(fā)工作,減少了每個(gè)權(quán)威機(jī)構(gòu)的工作量。此外,系統(tǒng)中權(quán)威中心只需負(fù)責(zé)運(yùn)行系統(tǒng)初始化算法以及管理用戶(hù)的身份信息,各個(gè)權(quán)威機(jī)構(gòu)也無(wú)需合作,用戶(hù)只要滿(mǎn)足相關(guān)的權(quán)威機(jī)構(gòu)的訪(fǎng)問(wèn)控制策略,就可以申請(qǐng)正確密鑰,最后成功解密密文。
2.本發(fā)明中的多機(jī)構(gòu)KP-ABE方法是首個(gè)實(shí)現(xiàn)加密、解密計(jì)算安全外包的多機(jī)構(gòu)密鑰策略屬性基加密方法。通過(guò)在加密過(guò)程增加預(yù)加密操作,在解密過(guò)程由代理解密服務(wù)器DSP進(jìn)行半解密,成功降低了用戶(hù)端的加密、解密計(jì)算開(kāi)銷(xiāo),使得基于屬性加密方案適用于低配置的移動(dòng)設(shè)備成為可能。
3.本發(fā)明中的多機(jī)構(gòu)KP-ABE方法在通過(guò)代理解密服務(wù)器DSP外包半解密后,在用戶(hù)端可以通過(guò)計(jì)算驗(yàn)證值,驗(yàn)證外包計(jì)算結(jié)果的正確性。
4.本發(fā)明中的多機(jī)構(gòu)KP-ABE方法能夠有效解決多機(jī)構(gòu)方案存在的用戶(hù)串謀攻擊問(wèn)題,以及權(quán)威機(jī)構(gòu)串謀攻擊問(wèn)題,并且方案在基于DBDH假設(shè)下是CPA安全的。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法流程圖。
圖2是本發(fā)明實(shí)施例提供的模型示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
如圖1所示,本發(fā)明實(shí)施例提供的支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法包括以下步驟:
S101:加密過(guò)程中,通過(guò)離線(xiàn)操作處理預(yù)計(jì)算部分,減輕移動(dòng)設(shè)備上加密計(jì)算量;
S102:在解密過(guò)程中,用戶(hù)先本地生成一個(gè)轉(zhuǎn)換密鑰,通過(guò)解密服務(wù)器(DSP)處理大部分計(jì)算進(jìn)行半解密;
S103:用戶(hù)在任何設(shè)備上進(jìn)行最終的解密計(jì)算。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步的描述。
用戶(hù)從權(quán)威機(jī)構(gòu)獲得的密鑰份額都綁定其身份信息GID,所以不同用戶(hù)的密鑰不能結(jié)合,防止了用戶(hù)的串謀攻擊。具體而言,在加密過(guò)程中,通過(guò)因子隱藏明文消息,然后依據(jù)LSSS矩陣的性質(zhì),將αi通過(guò)λi,x進(jìn)行分割共享。解密者必須通過(guò)屬性、身份對(duì)(Si,GID)來(lái)恢復(fù)因子如果是不同身份信息的用戶(hù),將無(wú)法計(jì)算得到也就無(wú)法恢復(fù)因子因此可實(shí)現(xiàn)抵抗用戶(hù)串謀攻擊。對(duì)于權(quán)威機(jī)構(gòu),假定數(shù)據(jù)擁有者的密文與n個(gè)權(quán)威機(jī)構(gòu)相關(guān),則該方案可以抵抗n-1個(gè)權(quán)威機(jī)構(gòu)的串謀攻擊。令m表示串謀的權(quán)威機(jī)構(gòu)數(shù)目,如果m=n,它們都知道用戶(hù)的GID,就可以合謀冒充該用戶(hù)。如果m≤n-1,也就是說(shuō),至少有一個(gè)密鑰份額是不能得到的,也就不能合謀解密。
本發(fā)明實(shí)施用例提供的支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法的具體步驟如下:
步驟1.初始化
系統(tǒng)初始化:令X表示N個(gè)屬性權(quán)威機(jī)構(gòu)的集合,A(A∈X)表示每個(gè)數(shù)據(jù)擁有者實(shí)際相關(guān)的屬性權(quán)威機(jī)構(gòu)的集合。U表示一個(gè)總共有M個(gè)屬性的全局屬性集合,這M個(gè)屬性被劃分成n(n≤N)個(gè)互不相交的集合。定義兩個(gè)階都為素?cái)?shù)p的乘法循環(huán)群G、GT,g是G的一個(gè)生成元,再定義一個(gè)雙線(xiàn)性映射e:G×G→GT,以及抗碰撞Hash函數(shù),和H:{0,1}*→G。則系統(tǒng)全局參數(shù)GP為:
GP={p,g,G,GT,e,e(g,g),H0,H};
屬性權(quán)威機(jī)構(gòu)初始化算法:每個(gè)屬性權(quán)威機(jī)構(gòu)AAi(i∈X)首先隨機(jī)選取元素并對(duì)其所管理的各屬性Attj(j∈U)隨機(jī)選取輸入GP,輸出公鑰PKi和私鑰SKi分別為:
SKi=(αi,{ui,j}j∈U);
步驟2.用戶(hù)注冊(cè)
用戶(hù)向用戶(hù)身份信息庫(kù)申請(qǐng)身份注冊(cè),獲得與用戶(hù)身份信息庫(kù)唯一對(duì)應(yīng)的用戶(hù)身份信息GID。用戶(hù)將身份信息GID提交給各個(gè)權(quán)威機(jī)構(gòu)。授權(quán)機(jī)構(gòu)判斷獲取的用戶(hù)身份信息GID與用戶(hù)身份信息庫(kù)是否匹配,若是,則執(zhí)行步驟3,否則,拒絕服務(wù)。
步驟3.密鑰分發(fā)
密鑰生成算法:用戶(hù)需給每個(gè)相關(guān)權(quán)威機(jī)構(gòu)AAi發(fā)送自己的GID以獲得相應(yīng)屬性Attj的密鑰組件。權(quán)威機(jī)構(gòu)AAi認(rèn)證用戶(hù)身份后,運(yùn)行該算法。輸入用戶(hù)GID、保留的SKi、一個(gè)LSSS訪(fǎng)問(wèn)結(jié)構(gòu)(Mi,ρi),Mi是一個(gè)l×n的矩陣,函數(shù)ρi是矩陣Mi的每行和屬性的一個(gè)映射。AAi首先隨機(jī)選取列向量然后計(jì)算其中Mi,x表示矩陣Mx的第x行,x∈[1,l]。輸出以下形式的密鑰組件SKGID,i。
密鑰轉(zhuǎn)換算法:用戶(hù)隨機(jī)選擇令DKs=z,計(jì)算轉(zhuǎn)換密鑰TKGID,i=(SKGID,i)1/z和K0=g-1/z,轉(zhuǎn)換密鑰TKGID,i的形式如下:
用戶(hù)將TKGID,i發(fā)送給解密服務(wù)器(DSP),并保留DKs。
步驟4.數(shù)據(jù)加密
預(yù)加密算法:數(shù)據(jù)擁有者在加密數(shù)據(jù)時(shí),先在PC端對(duì)所有屬性密文進(jìn)行預(yù)計(jì)算,結(jié)合系統(tǒng)參數(shù)GP、相關(guān)權(quán)威機(jī)構(gòu)的公鑰PKi以及一個(gè)屬性集合隨機(jī)選擇然后,進(jìn)行如下計(jì)算:
C0=gs′;
輸出中間密文IC=({Cj}j∈S,C1,C0,s′),將IC拷貝到移動(dòng)設(shè)備。
線(xiàn)上加密算法:數(shù)據(jù)擁有者在移動(dòng)設(shè)備上對(duì)具體數(shù)據(jù)加密,結(jié)合相關(guān)AAi的公鑰PKi,一個(gè)對(duì)稱(chēng)密鑰KSE。然后進(jìn)行以下計(jì)算對(duì)具體明文數(shù)據(jù)m實(shí)現(xiàn)加密:
CSE=SKE.Eec(KSE,m);
C2=s-s′;
獲得密文:CT=(S,{Cj}j∈S,C1,C0,C,C2,CSE)。
數(shù)據(jù)擁有者計(jì)算驗(yàn)證值Tag=H0(KSE),VKM=H(Tag||CSE)。其中,KSE是一個(gè)對(duì)稱(chēng)密鑰,CSE=SKE.Eec(KSE,m)表示用對(duì)稱(chēng)加密算法對(duì)數(shù)據(jù)m加密得到的密文。并將密文CT和驗(yàn)證值VKM上傳到云存儲(chǔ)服務(wù)器CSSP。
步驟5.密文解密
外包解密算法:用戶(hù)從云存儲(chǔ)服務(wù)器CSSP下載密文CT和驗(yàn)證值VKM,并將密文CT、轉(zhuǎn)換密鑰TKGID,i發(fā)送給DSP,DSP結(jié)合系統(tǒng)參數(shù)GP計(jì)算:
然后對(duì)于每個(gè)i∈A選擇使得并計(jì)算:
其中,A表示數(shù)據(jù)擁有者相關(guān)權(quán)威機(jī)構(gòu)集合,Su表示用戶(hù)屬性集,
終端解密算法:用戶(hù)結(jié)合DKs,首先計(jì)算KSE=C/(CT′)z,然后計(jì)算Tag=H0(KSE),如果H(Tag||CSE)≠VKM,輸出⊥并終止算法。如果H(Tag||CSE)=VKM,說(shuō)明外包計(jì)算結(jié)果正確,則計(jì)算m=SKE.Dec(KSE,CSE)進(jìn)行解密;
參照?qǐng)D2中本發(fā)明的系統(tǒng)模型:
系統(tǒng)主要包括六個(gè)部分:數(shù)據(jù)擁有者DO(Data Owner)、權(quán)威中心CA(Central Authority)、云儲(chǔ)存服務(wù)器CSSP(Cloud Storage Server Provider)、多個(gè)屬性權(quán)威機(jī)構(gòu)MA(Muti-Authority)、解密服務(wù)器DSP(Decryption Server Provider)以及數(shù)據(jù)用戶(hù)DU(Data User)。
DO:表示數(shù)據(jù)擁有者,DO首先在配置較高PC端離線(xiàn)計(jì)算預(yù)加密部分,保存計(jì)算結(jié)果。然后在移動(dòng)設(shè)備上調(diào)用該結(jié)果,對(duì)任意具體明文數(shù)據(jù)加密,將密文上傳到CSSP,提供給滿(mǎn)足策略的用戶(hù)訪(fǎng)問(wèn)。
CA:表示可信權(quán)威中心,響應(yīng)用戶(hù)的注冊(cè)請(qǐng)求,負(fù)責(zé)用戶(hù)的身份信息管理,并將已注冊(cè)的用戶(hù)身份信息GID發(fā)送給各個(gè)屬性權(quán)威機(jī)構(gòu)。
CSSP:表示一個(gè)云存儲(chǔ)服務(wù)器,負(fù)責(zé)存儲(chǔ)DO的數(shù)據(jù)密文。系統(tǒng)中CSSP是不可信的,并且可能試圖窺探用戶(hù)數(shù)據(jù)。
MA:表示多屬性權(quán)威機(jī)構(gòu),各個(gè)權(quán)威機(jī)構(gòu)負(fù)責(zé)管理數(shù)據(jù)擁有者的不同屬性集、生成公私鑰對(duì)、認(rèn)證用戶(hù)GID、生成并分發(fā)所管理屬性的密鑰份額。
DSP:是一個(gè)云解密服務(wù)器,接收用戶(hù)密文和轉(zhuǎn)換密鑰,對(duì)密文進(jìn)行部分解密。然后轉(zhuǎn)換密文返給用戶(hù),由DU在移動(dòng)客戶(hù)端進(jìn)行最后的解密。
DU:是要訪(fǎng)問(wèn)數(shù)據(jù)的用戶(hù),當(dāng)且僅當(dāng)他的屬性滿(mǎn)足訪(fǎng)問(wèn)策略才能解密密文,每個(gè)DU有一個(gè)互不相同的全局標(biāo)示符GID。
本發(fā)明的系統(tǒng)模型中的DO、DU主要指持手機(jī)等移動(dòng)設(shè)備的用戶(hù),DO可以在任何時(shí)間、任何地點(diǎn)通過(guò)手機(jī)等設(shè)備將數(shù)據(jù)上傳云端進(jìn)行共享,滿(mǎn)足DO密鑰訪(fǎng)問(wèn)策略的用戶(hù),可直接通過(guò)手機(jī)等設(shè)備來(lái)訪(fǎng)問(wèn)DO的數(shù)據(jù)信息。
下面結(jié)合系統(tǒng)模型,對(duì)本發(fā)明所述方案應(yīng)用于移動(dòng)云環(huán)境的情形進(jìn)行說(shuō)明。
依照本發(fā)明的步驟,首先運(yùn)行系統(tǒng)初始化算法生成系統(tǒng)參數(shù)GP,各個(gè)權(quán)威機(jī)構(gòu)結(jié)合GP生成權(quán)威機(jī)構(gòu)公鑰PKi、私鑰SKi。當(dāng)用戶(hù)A要通過(guò)手機(jī)app將數(shù)據(jù)存儲(chǔ)到公共云端的時(shí)候,他先向CA提交注冊(cè)申請(qǐng),生成唯一的身份信息標(biāo)識(shí)GID。然后將個(gè)人的部分屬性集{AttA}分發(fā)給n(n≤N)個(gè)權(quán)威機(jī)構(gòu),各個(gè)權(quán)威機(jī)構(gòu)AAi對(duì)所管理屬性{Atti}生成一個(gè)訪(fǎng)問(wèn)策略(Mi,ρi),用戶(hù)A結(jié)合相關(guān)PKi在PC上對(duì)自己所有屬性進(jìn)行預(yù)計(jì)算,生成了屬性密文,并將結(jié)果存于手機(jī)。然后在手機(jī)端用屬性集{AttA}對(duì)數(shù)據(jù)加密并計(jì)算驗(yàn)證值VKM,最后將密文CT和驗(yàn)證值VKM上傳到云端。當(dāng)用戶(hù)B想要訪(fǎng)問(wèn)A的數(shù)據(jù)時(shí),他首先同A一樣進(jìn)行身份注冊(cè),然后從云端下載A的數(shù)據(jù)密文CT和驗(yàn)證值VKM,再發(fā)送一個(gè)屬性集{AttGID}以及GID給各權(quán)威機(jī)構(gòu),相關(guān)權(quán)威機(jī)構(gòu)認(rèn)證用戶(hù)信息后,以保留的私鑰、用戶(hù)GID以及{AttGID}為輸入,生成用戶(hù)私鑰SKGID,i。并返給用戶(hù)B。這里,如果{AttGID}∩{Atti}∈Mi,用戶(hù)B可利用該私鑰SKGID,i正確解密。用戶(hù)B將SKGID,i進(jìn)行轉(zhuǎn)換后與密文CT一并發(fā)送給代理解密服務(wù)器DSP,DSP進(jìn)行半解密后將結(jié)果返給用戶(hù)B,用戶(hù)B在手機(jī)進(jìn)行驗(yàn)證,驗(yàn)證正確則進(jìn)行最終解密。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。