1.一種支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法,其特征在于,所述支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法將數(shù)據(jù)加密、密文解密過程都分為預(yù)計(jì)算和移動(dòng)設(shè)備計(jì)算兩部分;在數(shù)據(jù)加密過程中,通過離線操作處理預(yù)計(jì)算部分,減輕移動(dòng)設(shè)備上加密計(jì)算量;在密文解密過程中,用戶先本地生成一個(gè)轉(zhuǎn)換密鑰,通過解密服務(wù)器處理大部分計(jì)算進(jìn)行半解密;用戶在任何設(shè)備上進(jìn)行最終的解密計(jì)算。
2.如權(quán)利要求1所述的支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法,其特征在于,所述數(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è)備;
線上加密算法:數(shù)據(jù)擁有者在移動(dòng)設(shè)備對(duì)具體數(shù)據(jù)加密,結(jié)合相關(guān)屬性機(jī)構(gòu)AAi的公鑰PKi,一個(gè)對(duì)稱密鑰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ì)稱密鑰,CSE=SKE.Eec(KSE,m)表示用對(duì)稱加密算法對(duì)數(shù)據(jù)m加密得到的密文;然后,將密文CT和驗(yàn)證值VKM上傳到云存儲(chǔ)服務(wù)器CSSP。
3.如權(quán)利要求1所述的支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法,其特征在于,所述密文解密具體包括:
外包解密算法:用戶從云存儲(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表示用戶屬性集,
終端解密算法:用戶結(jié)合DKs,首先計(jì)算KSE=C/(CT′)z,然后計(jì)算Tag=H0(KSE),如果H(Tag||CSE)≠VKM,輸出⊥并終止算法;如果H(Tag||CSE)=VKM,說明外包計(jì)算結(jié)果正確,則計(jì)算m=SKE.Dec(KSE,CSE)進(jìn)行解密。
4.一種如權(quán)利要求1所述支持預(yù)加密和外包解密的多機(jī)構(gòu)KP-ABE方法的多機(jī)構(gòu)KP-ABE系統(tǒng),其特征在于,所述多機(jī)構(gòu)KP-ABE系統(tǒng)包括:
數(shù)據(jù)擁有者,在配置較高PC端離線計(jì)算預(yù)加密部分,保存計(jì)算結(jié)果;在移動(dòng)設(shè)備上調(diào)用該結(jié)果,對(duì)任意具體明文數(shù)據(jù)加密,將密文上傳到云存儲(chǔ)服務(wù)器,提供給滿足策略的用戶訪問;
可信權(quán)威中心,用于響應(yīng)用戶的注冊(cè)請(qǐng)求,負(fù)責(zé)用戶的身份信息管理,并將已注冊(cè)的用戶身份信息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ù)擁有者的不同屬性集、生成公私鑰對(duì)、認(rèn)證用戶GID、生成并分發(fā)所管理屬性的密鑰份額;
云解密服務(wù)器,用于接收用戶密文和轉(zhuǎn)換密鑰,對(duì)密文進(jìn)行部分解密;然后將轉(zhuǎn)換密文返給用戶,由訪問數(shù)據(jù)的用戶在移動(dòng)客戶端進(jìn)行最后的解密;
訪問數(shù)據(jù)的用戶,當(dāng)且僅當(dāng)他的屬性滿足訪問策略才能解密密文,每個(gè)訪問數(shù)據(jù)的用戶有一個(gè)互不相同的全局標(biāo)示符GID。
5.一種應(yīng)用權(quán)利要求4所述多機(jī)構(gòu)KP-ABE系統(tǒng)的移動(dòng)設(shè)備。
6.一種應(yīng)用權(quán)利要求4所述多機(jī)構(gòu)KP-ABE系統(tǒng)的移動(dòng)云終端。
7.如權(quán)利要求6所述移動(dòng)云終端環(huán)境的多機(jī)構(gòu)KP-ABE方法,其特征在于,所述多機(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)用戶A要通過手機(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è)訪問策略(Mi,ρi),用戶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)用戶B想要訪問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)證用戶信息后,以保留的私鑰、用戶GID以及{AttGID}為輸入,生成用戶私鑰SKGID,i;并返給用戶B;如果{AttGID}∩{Atti}∈Mi,用戶B可利用該私鑰SKGID,i正確解密;用戶B將SKGID,i進(jìn)行轉(zhuǎn)換后與密文CT一并發(fā)送給代理解密服務(wù)器DSP,DSP進(jìn)行半解密后將結(jié)果返給用戶B,用戶B在手機(jī)進(jìn)行驗(yàn)證,驗(yàn)證正確則進(jìn)行最終解密。