本發(fā)明屬于云計(jì)算技術(shù)領(lǐng)域,尤其涉及一種基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法。
背景技術(shù):
由于具有強(qiáng)大的計(jì)算和存儲(chǔ)能力,近幾年來(lái)云計(jì)算已經(jīng)引起了學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注。在云計(jì)算中,計(jì)算從終端設(shè)備轉(zhuǎn)到了網(wǎng)絡(luò),計(jì)算資源被看作一種服務(wù),但是一般這種服務(wù)的資源是受限的,而且一般云計(jì)算在用戶能控制的范圍之外,因此存放在云主機(jī)中的數(shù)據(jù)的安全性將會(huì)是一個(gè)巨大的挑戰(zhàn)。云計(jì)算可以應(yīng)用在很多領(lǐng)域,比如虛擬化,入侵檢測(cè),模指數(shù)外包,可搜索加密等。近幾年來(lái),移動(dòng)設(shè)備越來(lái)越先進(jìn),又由于云計(jì)算能被看作很多節(jié)點(diǎn)同時(shí)來(lái)提供服務(wù),從服務(wù)請(qǐng)求者的角度來(lái)看,服務(wù)器的位置可以是任意的,因此產(chǎn)生了移動(dòng)云計(jì)算的概念,這樣看來(lái),在移動(dòng)云計(jì)算中,移動(dòng)設(shè)備就可以被看作一個(gè)個(gè)節(jié)點(diǎn)。移動(dòng)云計(jì)算是指能夠利用移動(dòng)設(shè)備通過(guò)網(wǎng)絡(luò)來(lái)進(jìn)行的一種以按需,易擴(kuò)展的方式來(lái)獲得所需的基礎(chǔ)設(shè)施,平臺(tái)和軟件的一種IT資源和應(yīng)用模式。移動(dòng)云計(jì)算和云計(jì)算的相同點(diǎn)是它們的一些服務(wù)是由云來(lái)提供,只是移動(dòng)用戶要通過(guò)移動(dòng)設(shè)備來(lái)訪問(wèn)。隨著網(wǎng)絡(luò)服務(wù)技術(shù)的發(fā)展,人們對(duì)于信息的需求日益增大,為了保證信息的實(shí)時(shí)性,人們不可能每天坐在電腦前來(lái)查看網(wǎng)絡(luò)新聞,而移動(dòng)設(shè)備的便捷性和靈活性使得信息的傳輸和接收變得更加簡(jiǎn)單。但是,相對(duì)于臺(tái)式電腦,移動(dòng)設(shè)備有一些與生俱來(lái)的缺點(diǎn),比如:電量的限制,較小的計(jì)算和存儲(chǔ)能力,所以移動(dòng)用戶不可能在線傳輸大量的信息,也不能把海量的信息存儲(chǔ)在本地移動(dòng)設(shè)備,而云計(jì)算剛好可以彌補(bǔ)這個(gè)缺陷,因此,移動(dòng)云環(huán)境下的數(shù)據(jù)共享顯得更加有實(shí)際意義。但是,在移動(dòng)云環(huán)境下共享數(shù)據(jù)的時(shí)候,移動(dòng)設(shè)備上的計(jì)算開銷應(yīng)該盡可能的減少來(lái)節(jié)省電量消耗。目前已經(jīng)有很多移動(dòng)云環(huán)境下的數(shù)據(jù)共享方案已經(jīng)被提出來(lái),但是他們中的大多數(shù)都不能抵抗共謀攻擊,還有一些效率不高。Yu等人在半誠(chéng)實(shí)的服務(wù)器下提出了一個(gè)數(shù)據(jù)共享方案,但是它不能實(shí)現(xiàn)靈活的數(shù)據(jù)共享,而且創(chuàng)建文件的復(fù)雜性,用戶授權(quán)和撤銷的復(fù)雜度會(huì)隨著用戶的增多而線性增大。Shao等人提出了一個(gè)通過(guò)移動(dòng)設(shè)備進(jìn)行數(shù)據(jù)共享的方案,但是他只考慮了數(shù)據(jù)共享者端的計(jì)算量。為了彌補(bǔ)這個(gè)缺陷,Shao等人利用雙線性對(duì)實(shí)現(xiàn)了一個(gè)移動(dòng)云環(huán)境下的數(shù)據(jù)共享方案,但是雙線性對(duì)的使用使得用戶端的計(jì)算量相對(duì)比較大。因此,設(shè)計(jì)出一個(gè)更加高效的移動(dòng)云環(huán)境下的數(shù)據(jù)共享方案是很有必要的。在云計(jì)算中,數(shù)據(jù)一般是由云服務(wù)器進(jìn)行管理的,在用戶所能控制的范圍之外,因此,當(dāng)通過(guò)云來(lái)共享數(shù)據(jù)的時(shí)候,數(shù)據(jù)機(jī)密性是一個(gè)巨大的挑戰(zhàn)。為了保證數(shù)據(jù)的隱私性,一般在上傳數(shù)據(jù)之前對(duì)數(shù)據(jù)進(jìn)行加密。如果直接使用非對(duì)稱加密,這就意味著不同的數(shù)據(jù)要用不同的公鑰加密,這樣就導(dǎo)致數(shù)據(jù)擁有者端的計(jì)算量很大,因此,當(dāng)要共享大數(shù)據(jù)的時(shí)候,一般是先利用對(duì)稱加密密鑰sk來(lái)加密要共享的數(shù)據(jù),隨后數(shù)據(jù)擁有者就用指定的授權(quán)共享者的公鑰將對(duì)稱密鑰sk加密,最后把sk加密后的密文發(fā)給云服務(wù)器,但是這樣會(huì)有一個(gè)很嚴(yán)重的問(wèn)題-如果對(duì)稱密鑰sk泄露了,非法用戶就可以得到用sk加密的所有數(shù)據(jù),那么整個(gè)系統(tǒng)中的數(shù)據(jù)就不安全了。由于移動(dòng)設(shè)備的便捷性和云計(jì)算強(qiáng)大的計(jì)算能力,在云環(huán)境下通過(guò)移動(dòng)設(shè)備來(lái)共享數(shù)據(jù)變得越來(lái)越方便。然而,直接把明文數(shù)據(jù)上傳到云服務(wù)器會(huì)導(dǎo)致數(shù)據(jù)不安全。
綜上所述,現(xiàn)有的云環(huán)境中的數(shù)據(jù)共享方案或者不太安全或者計(jì)算開銷相對(duì)較大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法,旨在解決綜上所述,現(xiàn)有的云環(huán)境中的數(shù)據(jù)共享方法存在安全性低,計(jì)算開銷較大的問(wèn)題。
本發(fā)明是這樣實(shí)現(xiàn)的,一種基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法,該方法主要是在移動(dòng)設(shè)備下通過(guò)云端的資源來(lái)達(dá)到一個(gè)高效的數(shù)據(jù)共享效果,方法中首先使用收斂加密技術(shù)批量加密要共享的數(shù)據(jù),然后用基于屬性的加密技術(shù)(ABE)加密收斂加密所使用的密鑰,將加密后的密鑰發(fā)送給云服務(wù)器,只有合法用戶才能從云服務(wù)器得到要共享的數(shù)據(jù),這其中使用的技術(shù)是多項(xiàng)式重構(gòu),為了進(jìn)一步減少數(shù)據(jù)共享者端的計(jì)算量,本發(fā)明還采用了預(yù)解密技術(shù);
由數(shù)據(jù)擁有者執(zhí)行加密,當(dāng)一個(gè)數(shù)據(jù)擁有者想要把自己的私密數(shù)據(jù)共享給指定的共享者時(shí),數(shù)據(jù)擁有者首先用收斂加密的方法將數(shù)據(jù)加密,并發(fā)給云服務(wù)器;
權(quán)威機(jī)構(gòu)來(lái)執(zhí)行追蹤階段,當(dāng)權(quán)威機(jī)構(gòu)發(fā)現(xiàn)有非法的用戶加入系統(tǒng),通過(guò)身份表和等式來(lái)找到泄漏密鑰的源頭。
進(jìn)一步,所述收斂加密的方法包括:
(1)數(shù)據(jù)擁有者首先計(jì)算數(shù)據(jù)m的哈希值h(m),其中h(·)是密碼學(xué)中的一個(gè)強(qiáng)哈希函數(shù),h(m)作為加密數(shù)據(jù)m的密鑰;
(2)用h(m)加密數(shù)據(jù),假設(shè)E是一個(gè)對(duì)稱密鑰加密函數(shù),則產(chǎn)生的密文就是Eh(m)(m);
(3)用所有的授權(quán)用戶的公鑰加密h(m),密文是:(C,C′),其中C=Eh(m)(m),C′=FPK(h(m)),F(xiàn)是一個(gè)公鑰加密函數(shù),PK是公鑰;
(4)數(shù)據(jù)只能被授權(quán)用戶解密,合法用戶首先用自己的私鑰解密得到h(m),最后用h(m)來(lái)恢復(fù)m,表示如下:
進(jìn)一步,所述權(quán)威機(jī)構(gòu)隨機(jī)選擇兩個(gè)強(qiáng)素?cái)?shù)p,q,使得n=p·q,系統(tǒng)中所有的屬性集合是w,即NumA=|w|,權(quán)威機(jī)構(gòu)的屬性私鑰是其中wi是第i個(gè)屬性,隨機(jī)選擇e,d,使得隨機(jī)選擇其中k為系統(tǒng)中的門限屬性,即當(dāng)用戶的有效屬性數(shù)大于或者等于k時(shí)就能解密密文,授權(quán)機(jī)構(gòu)的私鑰是:
系統(tǒng)公鑰為:最后,初始化身份表
進(jìn)一步,所述加密密鑰的生成:
當(dāng)一個(gè)用戶j想要加入系統(tǒng)時(shí),首先將發(fā)送給權(quán)威機(jī)構(gòu),其中是用戶j的屬性集,權(quán)威機(jī)構(gòu)然后將用戶的私鑰分發(fā),用戶私鑰如下:
權(quán)威機(jī)構(gòu)計(jì)算其中隨后隨機(jī)選擇一個(gè)k-1次多項(xiàng)式:計(jì)算fj(xl)=y(tǒng)l,其中對(duì)(xl,yl)的數(shù)量等于Numj,定義一個(gè)有S個(gè)中的元素的集合,的拉格朗日系數(shù)為:因此第j個(gè)用戶的私鑰的第一部分即為:
進(jìn)一步,當(dāng)一個(gè)數(shù)據(jù)擁有者想要把自己的私密數(shù)據(jù)共享給指定的共享者的時(shí)候,數(shù)據(jù)擁有者首先用收斂加密的方法將數(shù)據(jù)加密,加密出來(lái)的密文表示如下:C0=Eh(m)(m),隨后再將h(m)用指定共享者的屬性進(jìn)行加密,計(jì)算出來(lái)的基于屬性的密文就是:并且將C發(fā)給云服務(wù)器。
進(jìn)一步,當(dāng)權(quán)威機(jī)構(gòu)發(fā)現(xiàn)有非法的用戶加入系統(tǒng),他通過(guò)身份表和等式來(lái)找到泄漏密鑰的源頭,結(jié)果是捕獲到的SKv中的其中ωv是叛徒的屬性集合,繼而可以確定IDv是叛徒。
本發(fā)明的另一目的在于提供一種所述基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法的數(shù)據(jù)共享系統(tǒng),所述數(shù)據(jù)共享系統(tǒng)包括:
權(quán)威機(jī)構(gòu),數(shù)據(jù)擁有者,數(shù)據(jù)共享者,云服務(wù)器,系統(tǒng)的基本架構(gòu)圖如圖2所示:
權(quán)威機(jī)構(gòu),用于為每個(gè)用戶生成密鑰,生成系統(tǒng)公鑰,發(fā)現(xiàn)有盜版用戶加入系統(tǒng)時(shí),追蹤泄漏密鑰的源頭;
數(shù)據(jù)擁有者和數(shù)據(jù)共享者,在系統(tǒng)中被稱為用戶,他們之間的交互,或者他們與云服務(wù)器之間的交互是通過(guò)移動(dòng)設(shè)備來(lái)進(jìn)行的;
云服務(wù)器,用于存儲(chǔ)加密數(shù)據(jù),預(yù)解密相應(yīng)的密文C,作為數(shù)據(jù)共享的一個(gè)媒介。
本發(fā)明的另一目的在于提供一種利用所述基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法的云計(jì)算平臺(tái)。
本發(fā)明提供的基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法,其中用到了收斂加密的方法,收斂加密有一個(gè)很好的性質(zhì)就是加密密鑰只與數(shù)據(jù)本身相關(guān),如果只有一個(gè)密鑰泄漏,那么只是當(dāng)前的數(shù)據(jù)被泄漏,也就是說(shuō)密鑰的泄漏只會(huì)泄漏與明文等量的信息,提高了系統(tǒng)的安全性,使用叛徒追蹤技術(shù)來(lái)追蹤泄漏密鑰的源頭,比現(xiàn)有的方案更加安全和高效。本發(fā)明提出了一個(gè)移動(dòng)云環(huán)境下的高效可追蹤的數(shù)據(jù)共享方案,該方案主要基于收斂加密和多項(xiàng)式重構(gòu)技術(shù),除此之外,還用到了預(yù)解密技術(shù),預(yù)解密的使用使得移動(dòng)端的計(jì)算量進(jìn)一步減少。而且一旦發(fā)現(xiàn)有密鑰泄漏,就應(yīng)用叛徒追蹤技術(shù)來(lái)追查到泄漏密鑰的源頭。實(shí)驗(yàn)表明提出的方案適合于移動(dòng)設(shè)備。在本發(fā)明中,提出了一個(gè)云環(huán)境下高效可追蹤的數(shù)據(jù)共享方法,通過(guò)利用多項(xiàng)式重構(gòu)方法。本發(fā)明比之前的構(gòu)造更加高效(見(jiàn)表2)通過(guò)利用預(yù)解密技術(shù),數(shù)據(jù)共享者端的計(jì)算量進(jìn)一步減少(見(jiàn)表3);通過(guò)利用收斂加密技術(shù),加密密鑰只與數(shù)據(jù)本身相關(guān),從而提高了系統(tǒng)中數(shù)據(jù)的安全性,由于之前提出的方法都是直接使用對(duì)稱加密技術(shù)加密數(shù)據(jù),使得大量的數(shù)據(jù)使用相同的密鑰,導(dǎo)致一個(gè)密鑰的泄漏會(huì)影響很多數(shù)據(jù);此外,為了防止合法用戶為了自己的利益泄漏私鑰,增加了一個(gè)叛徒追蹤算法來(lái)追查到泄漏密鑰的源頭;通過(guò)實(shí)驗(yàn)(結(jié)果見(jiàn)圖3)證明,本發(fā)明是高效并且實(shí)用的。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法流程圖。
圖2是本發(fā)明實(shí)施例提供的系統(tǒng)基本架構(gòu)示意圖。
圖3是本發(fā)明實(shí)施例提供的本發(fā)明的數(shù)據(jù)共享者端的性能與現(xiàn)有方案的對(duì)比示意圖。
具體實(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í)施例提供的基于移動(dòng)云環(huán)境的高效可追蹤的數(shù)據(jù)共享方法包括以下步驟:
S101:權(quán)威機(jī)構(gòu)執(zhí)行本算法,權(quán)威機(jī)構(gòu)生成自己的私鑰和系統(tǒng)公鑰;
S102:權(quán)威機(jī)構(gòu)生成解密密文的密鑰;
S103:由數(shù)據(jù)擁有者執(zhí)行加密,當(dāng)一個(gè)數(shù)據(jù)擁有者想要把自己的私密數(shù)據(jù)共享給指定的共享者的時(shí)候,數(shù)據(jù)擁有者首先用收斂加密的方法將數(shù)據(jù)加密,之后再用基于屬性的加密方法將收斂加密的密鑰加密,并將密文發(fā)給云服務(wù)器;
S104:由云服務(wù)器完成預(yù)解密,數(shù)據(jù)共享者首先將私鑰的一部分發(fā)送給云服務(wù)器,云服務(wù)器檢測(cè)該數(shù)據(jù)共享者的屬性集是否滿足要求的屬性,如果不滿足上述條件,直接返回停止,若滿足,最后云服務(wù)器將預(yù)解密的密文發(fā)送給數(shù)據(jù)共享者;
S105:由數(shù)據(jù)共享者執(zhí)行解密,當(dāng)云服務(wù)器返回預(yù)解密的密文,數(shù)據(jù)共享者用自己的私鑰計(jì)算,一旦獲得對(duì)稱密鑰,數(shù)據(jù)共享者就能通過(guò)對(duì)稱解密算法得到對(duì)應(yīng)的數(shù)據(jù);
S106:由權(quán)威機(jī)構(gòu)來(lái)執(zhí)行追蹤階段,當(dāng)權(quán)威機(jī)構(gòu)發(fā)現(xiàn)有非法的用戶加入系統(tǒng),他通過(guò)身份表和等式來(lái)找到泄漏密鑰的源頭。
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
1.預(yù)備知識(shí)(Preliminaries)
1.1收斂加密
對(duì)稱加密是加密大數(shù)據(jù)的一種有效方法。然而,直接使用一個(gè)對(duì)稱密鑰加密數(shù)據(jù)會(huì)存在安全性問(wèn)題,如果所有的數(shù)據(jù)用相同的密鑰sk加密,那么密鑰的泄漏將會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰,因此用收斂加密的方法來(lái)加密共享數(shù)據(jù),收斂加密的流程如下:
(1)數(shù)據(jù)擁有者首先計(jì)算數(shù)據(jù)m的哈希值h(m),其中h(·)是密碼學(xué)中的一個(gè)強(qiáng)哈希函數(shù),h(m)作為加密數(shù)據(jù)m的密鑰。
(2)用h(m)加密數(shù)據(jù),假設(shè)E是一個(gè)對(duì)稱密鑰加密函數(shù),則產(chǎn)生的密文就是Eh(m)(m)。
(3)用所有的授權(quán)用戶的公鑰加密h(m),密文是:(C,C′),其中C=Eh(m)(m),C′=FPK(h(m)),F(xiàn)是一個(gè)公鑰加密函數(shù),PK是公鑰。
(4)數(shù)據(jù)只能被授權(quán)用戶解密,合法用戶首先用自己的私鑰解密得到h(m),最后用h(m)來(lái)恢復(fù)m,表示如下:
從以上的描述來(lái)看,數(shù)據(jù)用它自己的哈希值進(jìn)行加密,因此產(chǎn)生的C完全由數(shù)據(jù)本身決定,這樣就使得密鑰的泄漏也只會(huì)泄漏當(dāng)前明文,所有其他的數(shù)據(jù)都不受影響。
1.2拉格朗日多項(xiàng)式重構(gòu)
給定n個(gè)不同的插值節(jié)點(diǎn)xj和其相應(yīng)的值yj,(j=0,…,n),滿足yi=f(xj),其中f(x)是一個(gè)n-1多項(xiàng)式,可以表示如下:
f(x)=d+a1x+…+an-1xn-1
設(shè)S是一個(gè)有n個(gè)元素的集合,則可以由拉格朗日插值計(jì)算出來(lái),定義的拉格朗日系數(shù)Δj,S(xi)如下:
進(jìn)而,其解可以用拉格朗日形式表示為:
任意n個(gè)滿足多項(xiàng)式的不同的節(jié)點(diǎn)(xi,yi)能夠重構(gòu)出原始的多項(xiàng)式,即,至少有n個(gè)點(diǎn)就可以得到d,
1.3基于屬性的加密(ABE)
ABE能夠使一個(gè)加密者加密消息,而很多用戶同時(shí)共享這個(gè)消息。ABE還可以用于實(shí)現(xiàn)靈活的,可擴(kuò)展的和細(xì)粒度的訪問(wèn)控制系統(tǒng)。在一個(gè)ABE系統(tǒng)中,用戶的私鑰或者密文與屬性集合相關(guān)聯(lián),私鑰可以解密密文當(dāng)且僅當(dāng)密文和用戶私鑰能夠匹配,也就是說(shuō),解密密鑰能夠被擁有相同屬性集合的一個(gè)群體的用戶所共有。這樣就存在一個(gè)問(wèn)題一旦有解密密鑰泄漏,來(lái)確定泄漏密鑰的源頭相對(duì)來(lái)說(shuō)就很困難,所以在ABE中密鑰泄漏問(wèn)題非常嚴(yán)重。
1.4叛徒追蹤
隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,越來(lái)越多的智能產(chǎn)品演化為數(shù)字形式。同時(shí),由于數(shù)字產(chǎn)品具有易復(fù)制,高有效性和高傳輸性的特點(diǎn),所以盜版問(wèn)題日益嚴(yán)峻。在這種情況下,為了保護(hù)數(shù)字版權(quán)并能夠追蹤到盜版泄漏的源頭,研究叛徒追蹤技術(shù)具有重要的理論和實(shí)際價(jià)值。一般叛徒追蹤技術(shù)基于數(shù)字指紋技術(shù),用來(lái)當(dāng)發(fā)現(xiàn)敏感的數(shù)據(jù)被泄漏給非法用戶時(shí),來(lái)追溯到泄漏密鑰的源頭。在叛徒追蹤技術(shù)中,叛徒是一個(gè)合法用戶,他允許其他非法用戶得到數(shù)據(jù),這些非法用戶就稱為盜版者。
2.問(wèn)題形成
2.1系統(tǒng)模型
在系統(tǒng)中,有四個(gè)實(shí)體:權(quán)威機(jī)構(gòu),數(shù)據(jù)擁有者,數(shù)據(jù)共享者,云服務(wù)器,系統(tǒng)的基本架構(gòu)圖如圖2所示:
權(quán)威機(jī)構(gòu)主要負(fù)責(zé)為每個(gè)用戶生成密鑰,生成系統(tǒng)公鑰,他還有一個(gè)重要的任務(wù)是發(fā)現(xiàn)有盜版用戶加入系統(tǒng)時(shí),來(lái)追蹤泄漏密鑰的源頭。數(shù)據(jù)擁有者和數(shù)據(jù)共享者在系統(tǒng)中被稱為用戶,他們之間的交互,或者他們與云服務(wù)器之間的交互是通過(guò)移動(dòng)設(shè)備(手機(jī)等)來(lái)進(jìn)行的。在本發(fā)明考慮的場(chǎng)景中,數(shù)據(jù)擁有者和數(shù)據(jù)共享者之間沒(méi)有明顯的界限,當(dāng)一個(gè)數(shù)據(jù)共享者共享數(shù)據(jù)的時(shí)候,他就變?yōu)橐粋€(gè)數(shù)據(jù)擁有者,也就是說(shuō)他們之間可以相互轉(zhuǎn)化。云服務(wù)器主要負(fù)責(zé)存儲(chǔ)加密數(shù)據(jù),預(yù)解密相應(yīng)的密文C,它還作為數(shù)據(jù)共享的一個(gè)媒介。
2.2安全模型
在本發(fā)明中,給出如下假設(shè):
(1)云服務(wù)器是“誠(chéng)實(shí)并且好奇的”,也就是說(shuō),云服務(wù)器會(huì)誠(chéng)實(shí)的執(zhí)行系統(tǒng)中的協(xié)議,但是當(dāng)有數(shù)據(jù)上傳給他時(shí),他會(huì)盡可能的得到上傳的數(shù)據(jù)的有用信息,他可能還會(huì)分析上傳數(shù)據(jù)之間的關(guān)系,來(lái)得到原始數(shù)據(jù)。更有甚者,云服務(wù)器還會(huì)與其他非法用戶共謀來(lái)得到一些有用的信息,但是它不會(huì)改變協(xié)議中的通信數(shù)據(jù)。
(2)非法用戶可能會(huì)共謀來(lái)得到他們權(quán)限范圍之外的數(shù)據(jù)。
(3)合法用戶可能會(huì)為了自己的利益而賣掉自己的私鑰。
(4)系統(tǒng)中的通信信道是安全的。
2.3設(shè)計(jì)目標(biāo)
本發(fā)明主要是想實(shí)現(xiàn)一個(gè)移動(dòng)云環(huán)境下高效可追蹤的數(shù)據(jù)共享方案,主要是為了實(shí)現(xiàn)以下目標(biāo):
(1)細(xì)粒度的訪問(wèn)控制:不同的數(shù)據(jù)共享者會(huì)根據(jù)自己的屬性具有不同的訪問(wèn)權(quán)限,特別是數(shù)據(jù)擁有者在不完全相信云服務(wù)器的情況下實(shí)現(xiàn)了對(duì)共享數(shù)據(jù)的訪問(wèn)控制。
(2)數(shù)據(jù)機(jī)密性:方案必須保證共享的數(shù)據(jù)只能被授權(quán)用戶獲得,云服務(wù)器和惡意用戶不能得到共享的數(shù)據(jù)。
(3)高效性:由于移動(dòng)設(shè)備一般計(jì)算能力和電量受限,故他們不能支持大量的計(jì)算,為了保證系統(tǒng)穩(wěn)定,方案應(yīng)該盡可能多的減少移動(dòng)設(shè)備的計(jì)算量。
(4)可追蹤性:由于合法用戶為了自己的利益泄漏密鑰是不可避免的,因此當(dāng)發(fā)現(xiàn)有盜版用戶加入系統(tǒng),利用叛徒追蹤技術(shù)來(lái)追蹤到泄漏密鑰的源頭。
3.本發(fā)明的具體方案
3.1詳細(xì)方法
本發(fā)明基于收斂加密技術(shù),拉格朗日多項(xiàng)式重構(gòu)技術(shù)和叛徒追蹤方法,詳細(xì)構(gòu)造如下:
(1)初始化階段:Setup:Setup(1λ)→(PK,SKAU):
權(quán)威機(jī)構(gòu)執(zhí)行本算法,隨機(jī)選擇兩個(gè)強(qiáng)素?cái)?shù)p,q,使得n=p·q,假設(shè)系統(tǒng)中所有的屬性是w,即NumA=|w|,權(quán)威機(jī)構(gòu)的屬性私鑰是其中wi是第i個(gè)屬性,隨機(jī)選擇e,d,使得隨機(jī)選擇其中k為系統(tǒng)中的門限屬性,即當(dāng)用戶的有效屬性數(shù)大于或者等于k時(shí)就能解密密文,授權(quán)機(jī)構(gòu)的私鑰是:
系統(tǒng)公鑰為:最后,初始化身份表
(2)密鑰生成階段:
當(dāng)一個(gè)用戶j想要加入系統(tǒng)時(shí),首先將發(fā)送給權(quán)威機(jī)構(gòu),其中是用戶j的屬性集,權(quán)威機(jī)構(gòu)然后將用戶的私鑰分發(fā),用戶私鑰如下:
算法的細(xì)節(jié)如下:權(quán)威機(jī)構(gòu)計(jì)算其中隨后隨機(jī)選擇一個(gè)k-1次多項(xiàng)式:計(jì)算fj(xl)=y(tǒng)l,其中對(duì)(xl,yl)的數(shù)量等于Numj,定義一個(gè)有S個(gè)中的元素,的拉格朗日系數(shù)為:因此第j個(gè)用戶的私鑰的第一部分即為:
每一個(gè)用戶所對(duì)應(yīng)的k-1次多項(xiàng)式是不同的,但是都有相同的常數(shù)項(xiàng)d,這里主要為了進(jìn)行多項(xiàng)式重構(gòu),只有用戶j的屬性個(gè)數(shù)大于等于k能夠解密密文。最后,權(quán)威機(jī)構(gòu)將每個(gè)用戶的記錄(IDj,SKj)添加到身份表TABID中。
(3)加密階段:Encryption:Enc(m,h(m),PK)→(C0,C)。
這一階段是由數(shù)據(jù)擁有者執(zhí)行。當(dāng)一個(gè)數(shù)據(jù)擁有者想要把自己的私密數(shù)據(jù)共享給指定的共享者的時(shí)候(這里假設(shè)指定的共享者的屬性集合是ω′,ω′的長(zhǎng)度是Numb=|w′|≥k)),數(shù)據(jù)擁有者首先用收斂加密的方法將數(shù)據(jù)加密,加密出來(lái)的密文表示如下:C0=Eh(m)(m),隨后再把再將h(m)用指定共享者的屬性進(jìn)行加密,計(jì)算出來(lái)的基于屬性的密文就是:并且將C發(fā)給云服務(wù)器。
(4)預(yù)解密階段:
由云服務(wù)器完成的。給定密文C和用戶私鑰的一部分該算法輸出一個(gè)預(yù)解密的密文C′,算法的細(xì)節(jié)如下:數(shù)據(jù)共享者首先將私鑰的一部分發(fā)送給云服務(wù)器,緊接著云服務(wù)器檢測(cè)該數(shù)據(jù)共享者的屬性集是否滿足要求的屬性(即數(shù)據(jù)共享者這少含有ω′中的k個(gè)屬性),如果不滿足上述條件,直接返回停止,否則云服務(wù)器計(jì)算:最后云服務(wù)器將預(yù)解密的密文C′發(fā)送給數(shù)據(jù)共享者。
(5)解密階段:Decryption:Dec(C0,C′,SKj)→m。
這個(gè)過(guò)程由數(shù)據(jù)共享者執(zhí)行,當(dāng)云服務(wù)器返回預(yù)解密的密文C′,數(shù)據(jù)共享者用自己的私鑰計(jì)算:一旦獲得對(duì)稱密鑰h(m),數(shù)據(jù)共享者就能通過(guò)對(duì)稱解密算法得到對(duì)應(yīng)的數(shù)據(jù)m。
(6)追蹤階段
這個(gè)過(guò)程是由權(quán)威機(jī)構(gòu)來(lái)執(zhí)行,當(dāng)權(quán)威機(jī)構(gòu)發(fā)現(xiàn)有非法的用戶加入系統(tǒng),他通過(guò)身份表和等式來(lái)找到泄漏密鑰的源頭,如果上邊式子的結(jié)果是捕獲到的SKv中的其中wv是叛徒的屬性集合,即可以確定IDv是叛徒。
下面結(jié)合對(duì)比對(duì)本發(fā)明的應(yīng)用效果作詳細(xì)的描述。
通過(guò)一些數(shù)據(jù)來(lái)評(píng)估本發(fā)明的數(shù)據(jù)共享方案,主要考慮的是移動(dòng)端用戶的計(jì)算開銷。在表1中首先給出一個(gè)基準(zhǔn)表,為了與之前Shao等人[Shao,J.,Lu,R.and Lin,X.(2015)‘Fine-Grained Data Sharing in Cloud Computing for Mobile Devices’,IEEE Conference on Computer Communications,Vol.289,No.19,pp.2677–2685.]提出的方案進(jìn)行對(duì)比,使用了相同的模擬環(huán)境Samsung Galaxy S3,相同的安卓版本Andriod4.1.2,用JPBC的曲線A來(lái)描述。
表1 Samsung Galaxy S3上算數(shù)運(yùn)算時(shí)間基準(zhǔn)
本發(fā)明在數(shù)據(jù)擁有者端的設(shè)計(jì)目標(biāo)是使它的計(jì)算量盡可能的少。在本發(fā)明中,數(shù)據(jù)擁有者只參與了數(shù)據(jù)加密,數(shù)據(jù)擁有者需要計(jì)算數(shù)據(jù)m的哈希值,運(yùn)行一次對(duì)稱加密算法SKE.E,這兩個(gè)算法完成了收斂加密,他仍需要運(yùn)行Numb次模指數(shù)操作,收斂加密的使用使得共享大數(shù)據(jù)變得更加安全,模指數(shù)操作相對(duì)于雙線性對(duì)運(yùn)算計(jì)算量能小很多。表2給出本發(fā)明中數(shù)據(jù)擁有者端的計(jì)算時(shí)間的描述,并且與Shao等人[Shao,J.,Lu,R.and Lin,X.(2015)‘Fine-Grained Data Sharing in Cloud Computing for Mobile Devices’,IEEE Conference on Computer Communications,Vol.289,No.19,pp.2677–2685.]的方案做了比較。
表2本發(fā)明中數(shù)據(jù)擁有者端的計(jì)算量與Shao等人的方案比較
另一方面,對(duì)于每一個(gè)數(shù)據(jù)記錄,該方案應(yīng)該盡可能的減少數(shù)據(jù)共享者端的計(jì)算量。在本發(fā)明中,當(dāng)一個(gè)共享者要查看一些共享的數(shù)據(jù)時(shí),他首先將發(fā)送給云服務(wù)器,當(dāng)?shù)玫筋A(yù)解密的密文后,數(shù)據(jù)共享者需要運(yùn)行k次乘法操作,k次模指數(shù)操作和一個(gè)對(duì)稱解密操作SKE.D,由于數(shù)據(jù)共享者也不需要做任何雙線性對(duì)操作,這也節(jié)省了很大的計(jì)算量。表3給出了數(shù)據(jù)共享者端的計(jì)算量的一個(gè)直觀的描述,并且與Shao等人[Shao,J.,Lu,R.and Lin,X.(2015)‘Fine-Grained Data Sharing in Cloud Computing for Mobile Devices’,IEEE Conference on Computer Communications,Vol.289,No.19,pp.2677–2685.]方案做出對(duì)比。
表3數(shù)據(jù)共享者端的計(jì)算量與Shao等人的方案比較
為了顯示方案在數(shù)據(jù)共享者端的高效性,圖3給出了一個(gè)對(duì)比圖,在圖中可以看出本發(fā)明比Shao等人提出的數(shù)據(jù)共享方案在數(shù)據(jù)共享者端大大減少了計(jì)算開銷。
考慮到Shao等人的方案只考慮了在線計(jì)算開銷。其實(shí)在離線階段,數(shù)據(jù)擁有者還需要進(jìn)行一些像雙線性對(duì)一樣的耗時(shí)計(jì)算,因此在這里不給出數(shù)據(jù)擁有者端的對(duì)比圖,但是,上的哈希操作并不是很耗時(shí),而收斂加密的使用還進(jìn)一步提高了數(shù)據(jù)的安全性,所以總體來(lái)說(shuō)方案是安全和高效的。
在追蹤階段,數(shù)據(jù)擁有者和數(shù)據(jù)共享者不需要做任何事情,只是權(quán)威機(jī)構(gòu)參與本階段,這也使得用戶端的開銷有所減少。
在本發(fā)明中,提出了一個(gè)云環(huán)境下高效可追蹤的數(shù)據(jù)共享方法,通過(guò)利用多項(xiàng)式重構(gòu)方法,本發(fā)明比之前的構(gòu)造更加高效;通過(guò)利用預(yù)解密技術(shù),數(shù)據(jù)共享者端的計(jì)算量進(jìn)一步減少;通過(guò)利用收斂加密技術(shù),加密密鑰只與數(shù)據(jù)本身相關(guān),從而提高了系統(tǒng)中數(shù)據(jù)的安全性;此外,為了防止合法用戶為了自己的利益泄漏私鑰,增加了一個(gè)叛徒追蹤算法來(lái)追查到泄漏密鑰的源頭。通過(guò)實(shí)驗(yàn)證明,本發(fā)明是高效并且實(shí)用的。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。