王占君,馬海英,王金華
1.南通大學(xué) 理學(xué)院,江蘇 南通 226019
2.南通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南通 226019
3.南洋理工大學(xué) 計(jì)算機(jī)科學(xué)工程學(xué)院,新加坡 639815
隨著移動(dòng)通信和云計(jì)算技術(shù)的快速發(fā)展,移動(dòng)云計(jì)算通過(guò)移動(dòng)網(wǎng)絡(luò)能夠向人們提供自由、方便、按需使用存儲(chǔ)和計(jì)算的云服務(wù)模式。移動(dòng)云服務(wù)除了具備傳統(tǒng)云計(jì)算的便捷云端數(shù)據(jù)存儲(chǔ)、大量的開(kāi)放軟件服務(wù)、無(wú)所不在的強(qiáng)大云計(jì)算支撐、終端配置要求低等特點(diǎn),融合了移動(dòng)通信設(shè)備和互聯(lián)網(wǎng),將云服務(wù)從云端推送到移動(dòng)終端。近年來(lái),世界各大IT公司紛紛推出自己的移動(dòng)云服務(wù)產(chǎn)品,比如加拿大RIM公司的黑莓服務(wù)、蘋(píng)果公司MobileMe服務(wù)、微軟公司的LiveMesh服務(wù)等,這些移動(dòng)云服務(wù)越來(lái)越廣泛地被人們所使用。然而,存儲(chǔ)在云端的海量數(shù)據(jù)往往包含個(gè)人隱私信息,如電子病歷、隱私郵件、個(gè)人機(jī)密信息、金融戰(zhàn)略文件等,這些隱私信息的泄露勢(shì)必對(duì)個(gè)人或企業(yè)造成重大損失?,F(xiàn)代密碼學(xué)機(jī)制是保障隱私數(shù)據(jù)安全的一種重要方法。
1984年,Shamir提出了基于身份加密(Identity-Based Encryption,IBE)的概念[1],改進(jìn)了傳統(tǒng)公鑰加密機(jī)制,解決了PKI的證書(shū)管理問(wèn)題。在IBE系統(tǒng)中,用戶使用唯一的身份信息表示其公鑰,比如身份證號(hào)、郵箱地址、電話號(hào)碼等,可信的第三方密鑰生成中心根據(jù)其身份為用戶頒發(fā)其私鑰。在移動(dòng)云環(huán)境中,移動(dòng)終端設(shè)備在計(jì)算能力、存儲(chǔ)能力等方面都存在限制,然而,IBE的加解密需要執(zhí)行許多橢圓曲線上的冪乘和雙線性對(duì)等復(fù)雜運(yùn)算,這使得傳統(tǒng)的IBE方案很難適用于輕量級(jí)移動(dòng)設(shè)備,如手機(jī)、無(wú)線傳感器。
在線離線密碼機(jī)制[2]可以將加密過(guò)程分解成離線和在線兩個(gè)階段,離線加密利用高性能設(shè)備對(duì)加密所需要的大部分復(fù)雜運(yùn)算進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果存儲(chǔ)于輕量級(jí)設(shè)備中,輕量級(jí)設(shè)備執(zhí)行在線加密,根據(jù)得到消息和接受者身份后,僅需執(zhí)行一些簡(jiǎn)單運(yùn)算即可快速生成密文。研究人員將在線離線密碼機(jī)制應(yīng)用到IBE中,提出一系列基于身份在線離線加密方案[3-7],減少了終端設(shè)備的加密開(kāi)銷,但是,現(xiàn)有IBE方案[3-8]的解密過(guò)程仍需要執(zhí)行一些冪乘和雙線性對(duì)復(fù)雜運(yùn)算,很難適用移動(dòng)設(shè)備。
由于可外包解密的密碼機(jī)制[9-12]在保證數(shù)據(jù)安全性的前提下,能夠有效地將絕大部分的解密工作量外包給云服務(wù)器處理,備受移動(dòng)用戶的青睞。為了減輕移動(dòng)設(shè)備的解密負(fù)擔(dān),文獻(xiàn)[9]提出了可外包解密的基于屬性加密方案。文獻(xiàn)[10-11]提出了可外包雙線性對(duì)的密碼方案。文獻(xiàn)[13-15]提出了基于屬性在線離線加密方案。文獻(xiàn)[16]提出了可外包解密的基于屬性在線離線加密方案,有效緩解了輕量級(jí)設(shè)備的加解密計(jì)算開(kāi)銷。因此,構(gòu)造一種適用于移動(dòng)云計(jì)算的基于身份輕量級(jí)加密機(jī)制,使得加密和解密能夠同時(shí)適用于輕量級(jí)設(shè)備,將有助于IBE在移動(dòng)云計(jì)算環(huán)境中的廣泛應(yīng)用。
本文利用在線離線和外包技術(shù),對(duì)IBE的加密和解密過(guò)程進(jìn)行合理擴(kuò)展,提出可外包解密的基于身份在線離線加密方案(IBOOE-OD),并基于DBDHI假設(shè)對(duì)其安全性進(jìn)行了嚴(yán)格證明,該方案非常適用于移動(dòng)云計(jì)算中輕量級(jí)設(shè)備處理隱私數(shù)據(jù)。首先,該IBOOE-OD方案將加密過(guò)程分解為兩個(gè)階段:在無(wú)需獲知消息和接受者身份的情況下,離線階段利用高性能設(shè)備對(duì)加密所需的大部分復(fù)雜運(yùn)算進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果保存在輕量級(jí)移動(dòng)設(shè)備中;之后,在得到消息和身份后,移動(dòng)設(shè)備執(zhí)行在線階段,僅需計(jì)算少量簡(jiǎn)單運(yùn)算即可生成密文。在此基礎(chǔ)上,利用外包解密技術(shù),修改密鑰生成算法,輸出一個(gè)Elgmal型密鑰和一個(gè)轉(zhuǎn)化密鑰,其中,Elgmal型密鑰是由用戶秘密保存,轉(zhuǎn)化密鑰可提交給云服務(wù)商。通過(guò)增加一個(gè)密文轉(zhuǎn)化算法,使得云服務(wù)商在不能獲知用戶私鑰和明文的任何信息情況下,利用轉(zhuǎn)化密鑰和轉(zhuǎn)化算法,將密文轉(zhuǎn)化成Elgmal型密文。最后,移動(dòng)終端利用用戶私鑰和Elgmal型密文,僅通過(guò)一個(gè)冪乘運(yùn)算即可恢復(fù)明文。通過(guò)對(duì)該IBOOE-OD方案進(jìn)行性能分析,表明移動(dòng)設(shè)備僅需執(zhí)行少量的加密和解密計(jì)算量即可生成密文和恢復(fù)明文,非常適合于移動(dòng)云計(jì)算中的輕量級(jí)終端設(shè)備。
雙線性對(duì):設(shè)G和GT是兩個(gè)階為素?cái)?shù)p的乘法循環(huán)群,g是G的生成元,是一個(gè)映射滿足:(1)雙線性,對(duì)任意的 U,V∈G ,a,b∈Z ,有非退化性,;(3)可計(jì)算性,對(duì)任意的U,V∈G,可在多項(xiàng)式時(shí)間內(nèi)計(jì)算e(U,V),則稱e為一個(gè)雙線性對(duì)。
一個(gè)IBOOE-OD方案包括以下六個(gè)算法:初始化Setup、密鑰生成 KeyGen、離線加密Encoff、在線加密Encon、密文轉(zhuǎn)化Trans、解密Dec。
Setup(λ)初始化算法輸入安全參數(shù)λ,輸出系統(tǒng)公鑰Pk和主密鑰Msk。
KeyGen(Msk,ID)密鑰生成算法輸入系統(tǒng)主密鑰Msk和用戶身份ID,輸出用戶轉(zhuǎn)化密鑰TKID和用戶私鑰SKID。
Encoff(Pk)離線加密算法輸入系統(tǒng)公鑰Pk,輸出離線密文CToff。
Encon(ID,m,CToff)在線加密算法輸入用戶身份ID,消息m和離線密文CToff,輸出密文CT。
Trans(TKID,CT)密文轉(zhuǎn)化算法輸入轉(zhuǎn)化密鑰TKID和密文CT,如果轉(zhuǎn)化密鑰和密文中的身份相同,輸出轉(zhuǎn)化密文CT'。否則輸出失敗符號(hào)
Dec(SKID,CT')解密算法輸入私鑰SKID和轉(zhuǎn)化密文CT',如果CT'與私鑰中的身份ID相同,輸出明文m,否則輸出失敗符號(hào)^。
IBOOE-OD的安全性模型是由挑戰(zhàn)者C和攻擊者A之間的游戲定義如下:
InitA提交一個(gè)挑戰(zhàn)身份ID*并發(fā)送給C。
SetupC運(yùn)行初始化算法Setup,將系統(tǒng)公鑰Pk發(fā)送給A,并秘密保存系統(tǒng)主密鑰Msk。
Phase1A提交身份ID給C,C運(yùn)行密鑰生成算法,生成用戶轉(zhuǎn)化密鑰TKID和用戶私鑰SKID,若IDID*,C將SKID發(fā)送給A;否則,C將TKID發(fā)送給A。
ChallengeA提交兩個(gè)等長(zhǎng)的消息m0和m1給C,C隨機(jī)選擇b∈{0,1},利用ID*對(duì)mb執(zhí)行加密算法,得到挑戰(zhàn)密文CT*,并將其發(fā)送給A。
Phase2與Phase 1相同。
GuessA給出b的猜測(cè)值b'。若b=b',C輸出1;否則C輸出0。
在上述安全性游戲中,將A攻破IBOOE-OD的優(yōu)勢(shì)定義為 Adv(λ)=Pr[b'=b]-1/2 。
定義1(安全性)若所有多項(xiàng)式時(shí)間攻擊者A攻破上述游戲的優(yōu)勢(shì)都是可以忽略的,則稱該IBOOE-OD在選擇身份模型下滿足選擇明文攻擊的安全性。
本章首先給出一種IBOOE-OD方案,然后,基于q-DBDHI假設(shè)對(duì)其安全性進(jìn)行證明。
Setup(λ)初始化算法隨機(jī)選擇群G的生成元g∈G和一個(gè)隨機(jī)數(shù),并計(jì)算P=gα,令M 為消息空間,且是兩個(gè)密碼學(xué)哈希函數(shù),輸出系統(tǒng)公鑰Pk={G,GT,p,g,P,M,H1,H2}和系統(tǒng)主密鑰Msk=α。
Encoff(Pk)離線加密算法輸入系統(tǒng)公鑰Pk,隨機(jī)選擇,計(jì)算輸出離線密文CToff=(C1,c,x,y)。
Encon(ID,m,CToff)在線加密算法輸入用戶身份ID,消息m和離線密文CToff,計(jì)算C2=x(H1(ID)-y)modp ,,輸出密文
Dec(SKID,CT')解密算法輸入私鑰 SKID=(z,TKID)和轉(zhuǎn)化密文CT'=(C3,C4),如果密文還沒(méi)有被轉(zhuǎn)化,該算法首先調(diào)用密文轉(zhuǎn)化算法,得到轉(zhuǎn)化密文CT'=(C3,C4),然后計(jì)算
定理如果q-DBDHI假設(shè)成立,則本文的IBOOE-OD方案在選擇身份模型下滿足選擇明文攻擊的安全性。
證明如果存在一個(gè)攻擊者A能以ε的優(yōu)勢(shì)攻破IBOOE-OD方案,則可以構(gòu)造一個(gè)挑戰(zhàn)者C以相同的優(yōu)勢(shì)攻破q-DBDHI假設(shè)。
假定挑戰(zhàn)者 C 獲得一個(gè)(q+2)元組 (g,gα,gα2,…,,其中或T是GT中的一個(gè)隨機(jī)元素。若,C 輸出1;否則,C 輸出0。
InitA提交一個(gè)挑戰(zhàn)身份ID*并發(fā)送給C。
SetupC 隨機(jī)選擇和,對(duì)任意的 i∈{1,2,L,l}{ π},計(jì)算,構(gòu)造 l-1次多項(xiàng)式并設(shè)定G的生成元Q=計(jì)算和
Phase1A設(shè)置一個(gè)指針變量v=1,提交身份IDv給C,C詢問(wèn)下面的隨機(jī)預(yù)言機(jī)和私鑰生成預(yù)言機(jī),生成用戶轉(zhuǎn)換鑰TKID和用戶私鑰SKID,若將SKID發(fā)送給A,否則,C將TKID發(fā)送給A。注意每次詢問(wèn)Hash函數(shù)H1的身份IDv都是不同的。
隨機(jī)預(yù)言機(jī):假設(shè)第v次詢問(wèn)的身份為IDv,C輸出 H1(IDv)=Iv,并令v增加1。
圖1 移動(dòng)云計(jì)算中基于身份的輕量級(jí)加密方案的示意圖
ChallengeA輸入兩個(gè)消息m0和m1,C首先計(jì)算TG=Tc20T0,其中:
Phase2與Phase 1相同。
GuessA輸出猜測(cè)值b ′,若 b=b′,C 輸出1,表示;否則C輸出0,表示T是中的一個(gè)隨機(jī)元素。
因此,C以ε的優(yōu)勢(shì)攻破q-DBDHI假設(shè)。
本章首先給出IBOOE-OD在移動(dòng)云計(jì)算環(huán)境中的具體應(yīng)用場(chǎng)景,如圖1所示。
(1)在移動(dòng)云計(jì)算環(huán)境中,可信權(quán)威中心首先執(zhí)行初始化算法,生成系統(tǒng)主密鑰Msk和系統(tǒng)公鑰Pk;
(2)移動(dòng)用戶向權(quán)威中心提交自己的身份ID,權(quán)威中心執(zhí)行密鑰生成算法,給用戶頒發(fā)相應(yīng)的私鑰SKID;
(3)移動(dòng)用戶在其可信環(huán)境中,利用高性能設(shè)備執(zhí)行離線加密算法,計(jì)算離線密文,并將其保存在移動(dòng)設(shè)備中;
(4)當(dāng)移動(dòng)用戶需要上傳隱私數(shù)據(jù)到云端時(shí),利用離線密文和接收者的身份ID,執(zhí)行在線加密算法,生成相應(yīng)的密文,并將其上傳到云存儲(chǔ)中心;
(5)當(dāng)移動(dòng)用戶ID需要讀取隱私數(shù)據(jù)時(shí),首先將其轉(zhuǎn)化密鑰提交給云服務(wù)器,使其執(zhí)行密文轉(zhuǎn)化算法,生成轉(zhuǎn)化密文CT';
(6)移動(dòng)用戶獲取轉(zhuǎn)化密文,如果其身份ID和轉(zhuǎn)化密文中的身份ID'相同時(shí),執(zhí)行解密算法,獲知隱私數(shù)據(jù)m,否則,解密失敗。
表1將本文IBOOE-OD方案和兩個(gè)相關(guān)著名方案在性能方面進(jìn)行了詳細(xì)的比較,其中,在素?cái)?shù)p階的雙線性群中,用分別表示雙線性群G和有限域Zp中一個(gè)元素的長(zhǎng)度。消息m的長(zhǎng)度為,P表示雙線性對(duì)運(yùn)算,E表示G或GT中的冪乘運(yùn)算,M表示G或GT中的乘法運(yùn)算,mc表示Zp或ZN中的模乘計(jì)算。
表1 本文方案與兩個(gè)知名方案的性能比較
由表1可知,文獻(xiàn)[3]和[4]的解密過(guò)程需要執(zhí)行復(fù)雜度非常大的雙線性對(duì)和乘法運(yùn)算,很難適用于輕量級(jí)移動(dòng)設(shè)備解密文件。與IBOOE[3]、IBOOE[4]相比,本文IBOOEOD方案在線加密運(yùn)算僅需執(zhí)行一個(gè)模乘計(jì)算的前提下,不僅具有最短的密文長(zhǎng)度,而且大大提高了解密的效率。因此,本文IBOOE-OD方案僅需執(zhí)行少量計(jì)算即可完成文件的加密和解密運(yùn)算,非常適合移動(dòng)環(huán)境下輕量級(jí)設(shè)備。
針對(duì)移動(dòng)云計(jì)算環(huán)境中基于身份加密中加密和解密過(guò)程存在大量復(fù)雜計(jì)算,不適合輕量級(jí)設(shè)備的問(wèn)題,提出了一種可外包解密的基于身份在線離線加密方案,并對(duì)其安全性進(jìn)行嚴(yán)格證明。本文利用在線離線和外包技術(shù),在保證數(shù)據(jù)安全性的前提下,將加解密中的復(fù)雜計(jì)算進(jìn)行合理分解,使得文件的加密僅需少量簡(jiǎn)單運(yùn)算,解密僅需一個(gè)冪乘運(yùn)算即可完成。與現(xiàn)有知名方案相比,本文IBOOE-OD方案僅需執(zhí)行少量運(yùn)算即可完成文件的加密和解密處理,且密文長(zhǎng)度最短,適合移動(dòng)環(huán)境下輕量級(jí)設(shè)備。