代理重加密技術(shù)在云計算中的應(yīng)用
云計算中的數(shù)據(jù)機密性風(fēng)險極大地阻礙了云計算的應(yīng)用,而在用戶端加密的模式對于數(shù)據(jù)共享來說非常不便,用戶頻繁的獲取和釋放授權(quán)將使得用戶增效據(jù)加解密工作繁重。因此代理重加密技術(shù)在云端進行數(shù)據(jù)的密文轉(zhuǎn)換,減輕了用戶端的負擔,同時加強了云端數(shù)據(jù)的保密性。
一、代理重加密
代理重加密是密文間的一種密鑰轉(zhuǎn)換機制,是由Blaze等人在1998年的歐洲密碼學(xué)年會上提出的,并由Ateniese等人在2005年的網(wǎng)絡(luò)和分布式系統(tǒng)安全研討會議和2007年的美國計算機學(xué)會計算機與通信安全會議上給出了規(guī)范的形式化定義。
在代理重加密中,一個半可信代理人通過代理授權(quán)人產(chǎn)生的轉(zhuǎn)換密鑰Rk把用授權(quán)人Alice的公鑰Pa加密的密文轉(zhuǎn)化為用被授權(quán)人(Delegatee)Bob的公鑰Pb加密的密文,在這個過程中,代理人得不到數(shù)據(jù)的明文信息,從而降低了數(shù)據(jù)泄露風(fēng)險。而這兩個密文所對應(yīng)的明文是一樣的,使Alice和Bob之間實現(xiàn)了數(shù)據(jù)共享。所謂的半可信,指的是只需相信這個代理者Proxy -定會按方案來進行密文的轉(zhuǎn)換。根據(jù)密文轉(zhuǎn)換次數(shù),代理重加密可以分為單跳代理重加密和多跳代理重加密,單跳代理重加密只允許密文被轉(zhuǎn)換一次,多跳代理重加密則允許密文被轉(zhuǎn)換多次。根據(jù)密文轉(zhuǎn)換方向,代理重加密也可以分為雙向代理重加密和單向代理重加密。雙向代理重加密是指代理者既可以將Alice的密文轉(zhuǎn)換成Bob的密文,也可以將Bob的密文轉(zhuǎn)換成Alice的密文。單向代理重加密指代理者只能將Alice的密文轉(zhuǎn)換成Bob的密文。當然,任何單向代理重加密方案都可以很容易地變成雙向代理重加密方案。
而雙向代理重加密,和個單向代理重加密方案只能滿足選擇明文攻擊安全,而實際應(yīng)用通常要求密碼組件能夠抵抗選擇密文攻擊安全。為此,Calletti等人在2007年的ACM CCS會議上提出了首個能在標準模型下證明的CCA安全雙向代理重加密方案。在2008年的公鑰密碼學(xué)會議上,Libert等人提出了一個無需借助隨機預(yù)言機的單向代理重加密方案,該方案可以在非自適應(yīng)攻陷模型下達到選擇密文安全。
二、云計算中代理重加密的應(yīng)用
1、云計算中代理重加密的應(yīng)用模式
在云計算中,云計算服務(wù)提供商作為代理人,用戶A不能完全相信云計算服務(wù)提供商,因此將自己需要存儲的數(shù)據(jù)在本地用自己的公鑰Pa加密后再傳送至云中存儲,這樣,云計算服務(wù)商就無法得到其數(shù)據(jù)的明文信息,而該數(shù)據(jù)只有用戶A使用自己的私鑰Sa才能解密口當用戶A需要把該數(shù)據(jù)與用戶B共享時,他可以根據(jù)自己的一些信息(如私鑰)及用戶B的公鑰Pb計算一個轉(zhuǎn)換密鑰Rk,由云計算服務(wù)商使用轉(zhuǎn)換密鑰Rk,將針對用戶A的密文重加密得到針對用戶B的密文,這樣,用戶B可以容易地從云中下載該密文數(shù)據(jù),使用自己的私鑰Sb即可解密,過程如圖1所示。

這樣,數(shù)據(jù)在云中的整個生命周期完全以密文形式存儲,而云計算服務(wù)商也無法得知用戶A和用戶B的私鑰,因此,云計算服務(wù)商無法獲得數(shù)據(jù)明文。用戶A無需對云計算服務(wù)商有很大程度的信任,就可以放心地將自己的數(shù)據(jù)存儲在云中。
這樣一個代理重加密方案一般包含以下幾個部分:
1) PRE.Setup。初始設(shè)定函數(shù),根據(jù)安全參數(shù)設(shè)置工作環(huán)境。
2)PRE.KeyGen。密鑰生成函數(shù),為授權(quán)人和被授權(quán)人分別產(chǎn)生自己的公私鑰對。
3)PRE.ReKeyGeno轉(zhuǎn)換密鑰生成函數(shù),授權(quán)人利用自己的用戶信息及被授權(quán)人的公鑰產(chǎn)生一個代理重加密的轉(zhuǎn)換密鑰Rk,并將這個轉(zhuǎn)換密鑰通過安全的信道傳遞給云計算服務(wù)提供商。
4)PRE.Enco加密函數(shù),授權(quán)人使用自己的公鑰對數(shù)據(jù)進行加密,所得到的密文稱為原始密文。
5)PRE.ReEnco重加密函數(shù),云計算服務(wù)商利用轉(zhuǎn)換密鑰對原始密文進行再次加密,所得到的密文稱為重加密密文。該密文實際上等同于用被授權(quán)人的公鑰加密的明文。
6) PRE.Deco解密函數(shù),被授權(quán)人使用自己的私鑰對重加密密文進行解密,得到相應(yīng)的明文;或授權(quán)人使用自己的私鑰對原始密文進行解密,得到相應(yīng)的明文。
這樣的代理重加密算法應(yīng)該具有以下幾個特征:
1)透明性,代理人(云計算服務(wù)商)對于授權(quán)人A或被授權(quán)人B來說都是透明的。
2)單向性,一個從用戶A到用戶B的授權(quán),不能用于構(gòu)造一個從用戶B到用戶A的授權(quán)。
3)非交互性,授權(quán)人A生成從A到B的轉(zhuǎn)換函數(shù)RkA_B.不需要被授權(quán)人B的參與。
4)安全性,該代理方案應(yīng)該是CCA安全的,并能夠抵抗合謀攻擊,即用戶A與代理人的合謀不能得到用戶B的私鑰,用戶B與代理人合謀也不能得到A的私鑰。
5)非傳遞性,通過用戶A對B的授權(quán)和B對C的授權(quán),代理人不能產(chǎn)生A對C的授權(quán)。
2、云計算中使用代理重加密實現(xiàn)數(shù)據(jù)共事
由于非對稱加密算法的效率限制,不適合用來給大型的數(shù)據(jù)文件加密,因此在云計算中暫不考慮將代理重加密直接用于加密數(shù)據(jù)文件??梢韵仁褂脤ΨQ加密算法加密數(shù)據(jù)文件得到數(shù)據(jù)密文,然后使用代理重加密算法加密該對稱密鑰得到密鑰密文,用戶欲訪問數(shù)據(jù)文件時,可以先解密該密鑰密文得到對稱密鑰,然后再用該對稱密鑰解密數(shù)據(jù)密文,得到數(shù)據(jù)文件的明文。
3、云計算中使用代理重加密實現(xiàn)授權(quán)管理
當云計算的用戶需要為其他用戶授權(quán)時,需要取得對方的公鑰,針對每個用戶生成對應(yīng)的轉(zhuǎn)換密鑰,并通過安全的信道傳遞給云端。這樣,云端對于每一個被授權(quán)的用戶都生成一份重加密密文,對于未被授權(quán)用戶沒有對應(yīng)的重加密密文。即使未被授權(quán)用戶得到針對其他用戶的重加密密文,也無法解密出明文。也可以將基于屬性的加密(ABE,Attribute-based Encryption)理念應(yīng)用于代理重加密,使用這樣的代理重加密算法,可以一次為多個具有同樣一組屬性的用戶授權(quán)。
4、云計算中使用代理重加密實現(xiàn)訪問控制
用戶請求訪問數(shù)據(jù)文件時,云端通過對該用戶的身份認證及權(quán)限認證,判斷用戶是否可以讀取該數(shù)據(jù)文件,如果用戶擁有這一權(quán)限,云端將根據(jù)用戶公鑰向其返回數(shù)據(jù)密文和對應(yīng)的密鑰密文,用戶可以通過依次解密這兩個密文文件得到數(shù)據(jù)的明文。如果云端沒有對應(yīng)于用戶公鑰的密鑰密文,則用戶沒有被文件所有者授予訪問這一數(shù)據(jù)文件的權(quán)限。
中國對于信息安全的要求正在逐漸增長,而云計算已經(jīng)對數(shù)據(jù)加密提出了更高的要求,可以說云計算安全技術(shù)的提高已經(jīng)制約了云計算的發(fā)展。因此,越來越多的研究者從事這方面的研究,在代理重加密方面的研究也已經(jīng)趨于成熟,很多研究者都已經(jīng)設(shè)計了具有CCA安全的雙向或單向代理重加密方案。但目前,代理重加密在云計算方面的應(yīng)用還未得到很好的嘗試和開展,在以后的工作中會迸一步地研究和深入。
小知識之云計算
云計算(cloud computing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴展且經(jīng)常是虛擬化的資源。云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法。過去在圖中往往用云來表示電信網(wǎng),后來也用來表示互聯(lián)網(wǎng)和底層基礎(chǔ)設(shè)施的抽象。狹義云計算指IT基礎(chǔ)設(shè)施的交付和使用模式,指通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需資源;廣義云計算指服務(wù)的交付和使用模式,指通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需服務(wù)。這種服務(wù)可以是IT和軟件、互聯(lián)網(wǎng)相關(guān),也可是其他服務(wù)。它意味著計算能力也可作為一種商品通過互聯(lián)網(wǎng)進行流通。








