本發(fā)明一般涉及信息安全和存儲(chǔ)。更具體地,本發(fā)明涉及安全和高效地管理針對(duì)云計(jì)算中的重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問。
背景技術(shù):
云計(jì)算通過重新布置各種資源(例如,存儲(chǔ)、計(jì)算和服務(wù))并且基于用戶的需求將它們提供給用戶,提供了信息技術(shù)(it)服務(wù)的新方式。云計(jì)算通過將網(wǎng)絡(luò)資源鏈接在一起,提供了大的資源池。它具有期望的屬性,諸如可伸縮性、彈性、容錯(cuò)性、付費(fèi)使用。因此,它成為一種有前途的服務(wù)平臺(tái),重新安排it的結(jié)構(gòu)。
最重要和典型的云服務(wù)中的一種云服務(wù)是數(shù)據(jù)存儲(chǔ)。在云計(jì)算中,各種云服務(wù)提供商(csp)提供海量的存儲(chǔ)以幫助用戶存儲(chǔ)他們的數(shù)據(jù),諸如照片、通信錄、電子郵件等。但是重復(fù)數(shù)據(jù)可能被相同的用戶或不同的用戶存儲(chǔ)在云端,尤其是共享的數(shù)據(jù)。盡管云存儲(chǔ)空間是巨大的,但是這種重復(fù)將極大地浪費(fèi)網(wǎng)絡(luò)資源,消耗大量功率,增加運(yùn)營(yíng)費(fèi)用,或者使得數(shù)據(jù)管理復(fù)雜。
因此,有利的將是,提供方法和系統(tǒng)以考慮到以適當(dāng)?shù)脑L問控制在云端存儲(chǔ)重復(fù)數(shù)據(jù),以便確保數(shù)據(jù)安全性和隱私性,同時(shí)節(jié)省存儲(chǔ)空間。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)中的局限,并且為了克服在閱讀和理解本說明書時(shí)將明顯的其它局限,本公開提供了一種方法以用于安全和高效地管理針對(duì)云計(jì)算中的重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問。
根據(jù)一個(gè)實(shí)施例,一種方法包括:從第一設(shè)備向數(shù)據(jù)中心發(fā)送使用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)以用于將加密的數(shù)據(jù)存儲(chǔ)在所述數(shù)據(jù)中心;通過使用身份作為針對(duì)所述數(shù)據(jù)的重復(fù)刪除策略中的屬性,根據(jù)基于屬性的加密(abe)方案,對(duì)數(shù)據(jù)加密密鑰進(jìn)行加密;向第二設(shè)備發(fā)出個(gè)性化秘密屬性密鑰,其中個(gè)性化秘密屬性密鑰是根據(jù)基于屬性的加密(abe)方案從所述第二設(shè)備的公開密鑰導(dǎo)出的。與策略結(jié)合,所述個(gè)性化秘密屬性密鑰用于在所述第二設(shè)備處對(duì)所述加密的數(shù)據(jù)加密密鑰進(jìn)行解密??梢杂稍朴?jì)算服務(wù)提供商來提供所述數(shù)據(jù)中心。
在示例實(shí)施例中,所述方法還可以包括:從所述數(shù)據(jù)中心接收重復(fù)刪除通知,所述重復(fù)刪除通知指示來自所述第二設(shè)備的相同的數(shù)據(jù)的副本被請(qǐng)求存儲(chǔ)在所述數(shù)據(jù)中心中或者來自所述第二設(shè)備的相同的數(shù)據(jù)的副本已經(jīng)被存儲(chǔ)在數(shù)據(jù)中心中,其中響應(yīng)于重復(fù)刪除通知的接收,導(dǎo)出并且發(fā)出所述個(gè)性化秘密屬性密鑰。所述方法還可以包括:向所述數(shù)據(jù)中心通知對(duì)來自所述第二設(shè)備的相同的數(shù)據(jù)進(jìn)行重復(fù)刪除。
在示例實(shí)施例中,所述方法還可以包括:向所述數(shù)據(jù)中心或所述第二設(shè)備發(fā)送加密的數(shù)據(jù)加密密鑰。在示例實(shí)施例中,所述方法還可以包括:設(shè)置針對(duì)所述數(shù)據(jù)的策略,并且向所述數(shù)據(jù)中心發(fā)送所述策略。
在示例實(shí)施例中,所述方法還可以包括:向第三設(shè)備發(fā)出個(gè)性化秘密屬性密鑰,其中所述個(gè)性化秘密屬性密鑰是根據(jù)基于屬性的加密方案(abe)方案從所述第三設(shè)備的公開密鑰導(dǎo)出的,其中發(fā)出給所述第三設(shè)備的所述個(gè)性化秘密屬性密鑰用于與所述策略結(jié)合在所述第三設(shè)備處對(duì)加密的數(shù)據(jù)加密密鑰進(jìn)行解密。
在示例實(shí)施例中,所述方法還可以包括:向所述數(shù)據(jù)中心發(fā)送請(qǐng)求,所述請(qǐng)求用于從所述數(shù)據(jù)中心刪除所述數(shù)據(jù);以及繼續(xù)所述數(shù)據(jù)加密密鑰的加密的控制和用于解密所述加密的數(shù)據(jù)加密密鑰的個(gè)性化秘密屬性密鑰的發(fā)出。
在示例性實(shí)施例中,所述方法還可以包括:向數(shù)據(jù)中心發(fā)送存儲(chǔ)所述數(shù)據(jù)的請(qǐng)求;以及從數(shù)據(jù)中心接收在所述數(shù)據(jù)中心中相同的數(shù)據(jù)沒有被存儲(chǔ)的指示。用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)可以響應(yīng)于接收到所述指示而被發(fā)送到數(shù)據(jù)中心。
根據(jù)另一實(shí)施例,一種方法包括:在數(shù)據(jù)中心,從第一設(shè)備接收在數(shù)據(jù)中心存儲(chǔ)數(shù)據(jù)的請(qǐng)求;檢查在所述數(shù)據(jù)中心中是否已經(jīng)存儲(chǔ)了相同的數(shù)據(jù);響應(yīng)于在所述數(shù)據(jù)中心沒有存儲(chǔ)相同的數(shù)據(jù)的檢查結(jié)果,將用數(shù)據(jù)加密密鑰加密的所述數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)中心;響應(yīng)于在所述數(shù)據(jù)中心已經(jīng)存儲(chǔ)了相同的數(shù)據(jù)的檢查結(jié)果,通知所述數(shù)據(jù)的所有者進(jìn)行重復(fù)刪除。數(shù)據(jù)中心可以由云計(jì)算服務(wù)提供商提供。
在示例性實(shí)施例中,該方法還可以包括:檢查第一設(shè)備的用戶是否是所述數(shù)據(jù)的所有者;以及響應(yīng)于所述第一設(shè)備的用戶是所述數(shù)據(jù)的所有者的檢查結(jié)果,將由所述所有者使用數(shù)據(jù)加密密鑰加密的所述數(shù)據(jù)存儲(chǔ)在所述數(shù)據(jù)中心。
在示例性實(shí)施例中,該方法還可以包括:響應(yīng)于在數(shù)據(jù)中心已經(jīng)存儲(chǔ)了相同的數(shù)據(jù)并且所述第一設(shè)備的用戶是所述數(shù)據(jù)的所有者的檢查結(jié)果,丟棄在所述數(shù)據(jù)中心已經(jīng)存儲(chǔ)的相同的數(shù)據(jù)。
在示例性實(shí)施例中,該方法還可以包括:響應(yīng)于在數(shù)據(jù)中心已經(jīng)存儲(chǔ)了相同的數(shù)據(jù)并且所述第一設(shè)備的用戶不是所述數(shù)據(jù)的所有者的檢查結(jié)果,丟棄來自所述第一設(shè)備的數(shù)據(jù)的存儲(chǔ)并且創(chuàng)建針對(duì)所述第一設(shè)備的數(shù)據(jù)的存儲(chǔ)的記錄。
在示例性實(shí)施例中,該方法還可以包括:從第二設(shè)備接收刪除存儲(chǔ)在數(shù)據(jù)中心的數(shù)據(jù)的請(qǐng)求;去除針對(duì)第二設(shè)備的數(shù)據(jù)的存儲(chǔ)記錄;并且在去除所述記錄之后,在沒有留下關(guān)于所述數(shù)據(jù)的存儲(chǔ)的記錄的情況下,去除所述數(shù)據(jù)。
在示例性實(shí)施例中,該方法還可以包括:在第二設(shè)備是所述數(shù)據(jù)的所有者的情況下,請(qǐng)求第二設(shè)備繼續(xù)控制所述數(shù)據(jù)的重復(fù)刪除,或者當(dāng)所述第二設(shè)備的用戶在數(shù)據(jù)中心去除其數(shù)據(jù)存儲(chǔ)時(shí),請(qǐng)求所述數(shù)據(jù)的另一用戶接管重復(fù)刪除的控制。
在示例性實(shí)施例中,該方法還可以包括:接收通過使用身份作為針對(duì)所述數(shù)據(jù)的重復(fù)刪除策略中的屬性,根據(jù)基于屬性的加密(abe)方案所加密的數(shù)據(jù)加密密鑰。
根據(jù)另一個(gè)實(shí)施例,一種裝置包括:至少一個(gè)處理器,以及包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為與所述至少一個(gè)處理器一起至少部分地使得所述裝置:向數(shù)據(jù)中心發(fā)送用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)以用于將加密的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)中心;通過在所述數(shù)據(jù)的重復(fù)刪除策略中,使用身份作為屬性,根據(jù)基于屬性的加密(abe)方案對(duì)數(shù)據(jù)加密密鑰進(jìn)行加密;并向設(shè)備發(fā)出根據(jù)基于屬性的加密(abe)方案從設(shè)備的公開密鑰導(dǎo)出的個(gè)性化秘密屬性密鑰。個(gè)性化秘密屬性密鑰與策略結(jié)合使用,用于在所述設(shè)備處對(duì)加密的數(shù)據(jù)加密密鑰進(jìn)行解密。
根據(jù)另一實(shí)施例,一種裝置包括至少一個(gè)處理器,以及包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為與所述至少一個(gè)處理器一起至少部分地使得所述裝置:從第一設(shè)備接收在數(shù)據(jù)中心存儲(chǔ)數(shù)據(jù)的請(qǐng)求;檢查數(shù)據(jù)中心是否存儲(chǔ)了相同的數(shù)據(jù);響應(yīng)于在數(shù)據(jù)中心沒有存儲(chǔ)相同的數(shù)據(jù)的檢查結(jié)果,將用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)中心;以及響應(yīng)于在數(shù)據(jù)中心處已經(jīng)存儲(chǔ)了相同的數(shù)據(jù)的檢查結(jié)果,通知所有數(shù)據(jù)的所有者以用于重復(fù)刪除。
根據(jù)另一個(gè)實(shí)施例,一種載有一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行所述一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列時(shí),所述一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列至少部分地使裝置:向數(shù)據(jù)中心發(fā)送用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)以用于在數(shù)據(jù)中心存儲(chǔ)加密的數(shù)據(jù);通過使用所述裝置的身份作為數(shù)據(jù)的重復(fù)刪除策略中的屬性,根據(jù)基于屬性的加密(abe)方案對(duì)數(shù)據(jù)加密密鑰進(jìn)行加密;并向設(shè)備發(fā)出根據(jù)基于屬性的加密(abe)方案從所述設(shè)備的公開密鑰導(dǎo)出的個(gè)性化秘密屬性密鑰。個(gè)性化秘密屬性密鑰與策略結(jié)合使用,用于在所述設(shè)備處對(duì)加密的數(shù)據(jù)加密密鑰進(jìn)行解密。
根據(jù)另一實(shí)施例,一種載有一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行所述一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列時(shí),所述一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列至少部分地使裝置:從第一設(shè)備接收在數(shù)據(jù)中心存儲(chǔ)數(shù)據(jù)的請(qǐng)求;檢查在所述數(shù)據(jù)中心是否已經(jīng)存儲(chǔ)了相同的數(shù)據(jù);響應(yīng)于在所述數(shù)據(jù)中心沒有存儲(chǔ)相同的數(shù)據(jù)的檢查結(jié)果,將用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)存儲(chǔ)在所述數(shù)據(jù)中心;以及響應(yīng)于在所述數(shù)據(jù)中心處已經(jīng)存儲(chǔ)了相同的數(shù)據(jù)的檢查結(jié)果,通知所有數(shù)據(jù)的所有者以用于重復(fù)刪除。
根據(jù)另一實(shí)施例,一種裝置包括:用于從第一設(shè)備向數(shù)據(jù)中心發(fā)送用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)以用于在數(shù)據(jù)中心存儲(chǔ)所述加密的數(shù)據(jù)的構(gòu)件;用于通過使用所述第一設(shè)備的身份作為所述數(shù)據(jù)的策略中的屬性來根據(jù)基于屬性的加密(abe)方案來加密所述數(shù)據(jù)加密密鑰的構(gòu)件;以及用于向第二設(shè)備發(fā)出根據(jù)基于屬性的加密(abe)方案從第二設(shè)備的公開密鑰導(dǎo)出的個(gè)性化秘密屬性密鑰的構(gòu)件。個(gè)性化秘密屬性密鑰與所述策略結(jié)合用于解密加密的數(shù)據(jù)加密密鑰。
根據(jù)另一個(gè)實(shí)施例,一種裝置包括:用于在數(shù)據(jù)中心處從第一設(shè)備接收在所述數(shù)據(jù)中心存儲(chǔ)數(shù)據(jù)的請(qǐng)求的構(gòu)件;用于檢查是否存在已經(jīng)存儲(chǔ)在數(shù)據(jù)中心的相同的數(shù)據(jù)的構(gòu)件;用于響應(yīng)于在數(shù)據(jù)中心不存在存儲(chǔ)在數(shù)據(jù)中心的相同的數(shù)據(jù)的檢查結(jié)果,將用數(shù)據(jù)加密密鑰加密的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)中心的構(gòu)建;以及用于響應(yīng)于存在已經(jīng)存儲(chǔ)在數(shù)據(jù)中心的相同的數(shù)據(jù)的檢查結(jié)果,通知所述數(shù)據(jù)的所有者以用于重復(fù)刪除的構(gòu)件。
僅通過說明許多具體的實(shí)施方案和實(shí)施方式,包括用于實(shí)施本發(fā)明的最佳模式,從下面的詳細(xì)說明中可以清楚地看出本發(fā)明的其它方面,特征和優(yōu)點(diǎn)。在不脫離本發(fā)明的精神和范圍的情況下,本發(fā)明還能夠具有其他和不同的實(shí)施例,并且可以在各種明顯方面修改其若干細(xì)節(jié)。因此,附圖和說明書在實(shí)際上被認(rèn)為是說明性的,而不是限制性的。
附圖說明
在附圖中通過示例而非限制的方式說明了本發(fā)明的實(shí)施例,
圖1是根據(jù)實(shí)施例的在云計(jì)算中能夠提供針對(duì)重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的系統(tǒng)的圖;
圖2是根據(jù)實(shí)施例的在云計(jì)算中用于數(shù)據(jù)重復(fù)刪除的整個(gè)系統(tǒng)過程的流程圖;
圖3是根據(jù)另一實(shí)施例的在云計(jì)算中用于數(shù)據(jù)重復(fù)刪除的整個(gè)系統(tǒng)過程的流程圖;
圖4是根據(jù)實(shí)施例的在云計(jì)算中用于數(shù)據(jù)刪除的整個(gè)系統(tǒng)過程的流程圖;
圖5是根據(jù)一個(gè)實(shí)施例的用于管理在云計(jì)算中的重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的過程的流程圖;
圖6是根據(jù)一個(gè)實(shí)施例的用于管理在云計(jì)算中的重復(fù)重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的過程的流程圖;以及
圖7是適用于在實(shí)施本發(fā)明的示例性實(shí)施例中使用的各種裝置的簡(jiǎn)化框圖。
具體實(shí)施方式
公開了用于安全且有效地管理重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的方法,裝置和計(jì)算機(jī)程序的示例。在下面的描述中,出于說明的目的,闡述了許多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的實(shí)施例的透徹理解。然而,對(duì)于本領(lǐng)域技術(shù)人員顯而易見的是,可以在沒有這些具體細(xì)節(jié)或具有等效布置的情況下實(shí)踐本發(fā)明的實(shí)施例。在其他情況下,以框圖形式示出了公知的結(jié)構(gòu)和設(shè)備,以避免不必要地模糊本發(fā)明的實(shí)施例。
如上所述,在云計(jì)算的上下文中,相同的數(shù)據(jù)可以由相同的用戶或不同的用戶在云端保存多次。例如,一個(gè)用戶(例如文檔的所有者)的文檔被保存在csp的云端,并且該文檔可以被另外的用戶共享或下載,另外的用戶也可以在自己帳戶下在云端保存相同的文檔。同時(shí),所有者也可以在不同時(shí)間保存數(shù)據(jù)(例如由于缺少存儲(chǔ)器)。因此,文檔的重復(fù)數(shù)據(jù)被存儲(chǔ)在云端。重復(fù)數(shù)據(jù)的存儲(chǔ)大大浪費(fèi)了存儲(chǔ)資源,不必要地消耗了電力能源,增加了csp的運(yùn)營(yíng)成本,并使得云端端的數(shù)據(jù)管理變得復(fù)雜(例如,搜索數(shù)據(jù)可能變得復(fù)雜)。因此,根據(jù)本發(fā)明的實(shí)施例,重復(fù)數(shù)據(jù)刪除將是有利的。然而,在通過csp應(yīng)用存儲(chǔ)數(shù)據(jù)的備份來降低存儲(chǔ)風(fēng)險(xiǎn)的情況下,由csp處理的這種重復(fù)不在本發(fā)明的范圍內(nèi),因此對(duì)于重復(fù)刪除而言,備份數(shù)據(jù)的重復(fù)可能不被處理。
另一方面,在云計(jì)算的上下文中,個(gè)人數(shù)據(jù)應(yīng)該在csp處被很好地保護(hù)。雖然數(shù)據(jù)所有者可以將個(gè)人數(shù)據(jù)上傳到csp并允許它維護(hù)這些數(shù)據(jù),但是csp可能不被數(shù)據(jù)所有者完全信任。此外,非常希望基于數(shù)據(jù)所有者的期望,可以通過csp執(zhí)行個(gè)人數(shù)據(jù)的訪問控制。因此,數(shù)據(jù)所有者可以對(duì)其關(guān)鍵數(shù)據(jù)進(jìn)行加密,并將加密數(shù)據(jù)(即密文)保存在云端。然后,可以在云端保存不同加密方案下的重復(fù)數(shù)據(jù),這與上述有同樣的問題。此外,數(shù)據(jù)所有者不僅希望控制數(shù)據(jù)訪問,而且希望控制由其他數(shù)據(jù)持有者的數(shù)據(jù)存儲(chǔ)和使用(例如作為數(shù)字版權(quán)管理的一部分)。因此,從靈活性的角度來看,非常希望根據(jù)本發(fā)明的實(shí)施例的重復(fù)數(shù)據(jù)刪除與其他數(shù)據(jù)訪問控制機(jī)制能夠很好地協(xié)調(diào)。也就是說,相同的數(shù)據(jù)(在加密狀態(tài)中)只能在云端保存一次,但可以根據(jù)各自的訪問策略由不同的用戶訪問。
在云計(jì)算中,數(shù)據(jù)所有者將個(gè)人數(shù)據(jù)上傳到云服務(wù)提供商(csp)并允許其維護(hù)這些數(shù)據(jù)。而不是完全信任csp,現(xiàn)有研究建議僅將加密數(shù)據(jù)外包給云端,以確保數(shù)據(jù)的隱私。
對(duì)加密數(shù)據(jù)的訪問控制意味著加密的數(shù)據(jù)只能被具有許可的授權(quán)實(shí)體解密。一個(gè)理想的方法是對(duì)每個(gè)數(shù)據(jù)進(jìn)行一次加密,并將適當(dāng)?shù)拿荑€分發(fā)給授權(quán)實(shí)體一次,以便每個(gè)實(shí)體只能解密其授權(quán)數(shù)據(jù)。然而,由于信任的動(dòng)態(tài)特征和不同上下文中信任關(guān)系的變化,應(yīng)該頻繁更新加密和解密密鑰,以達(dá)到預(yù)期的安全級(jí)別。
為了確保不信任或半信任方(例如,csp)中的數(shù)據(jù)安全性,可以采用傳統(tǒng)的對(duì)稱密鑰密碼系統(tǒng)來加密數(shù)據(jù)。在外包之前,數(shù)據(jù)所有者首先將具有類似訪問控制列表(acl)的數(shù)據(jù)分類到文件組中,然后使用對(duì)稱密鑰加密每個(gè)文件組。對(duì)稱密鑰將分發(fā)給acl中的用戶,只有acl中的用戶可以訪問這組文件。這種方法的主要缺點(diǎn)是數(shù)據(jù)所有者所管理的密鑰數(shù)隨著文件組的數(shù)量呈線性增長(zhǎng)。一個(gè)用戶和數(shù)據(jù)所有者之間的信任關(guān)系變化可能導(dǎo)致相關(guān)對(duì)稱密鑰的必要更新,并影響相同acl中的其他用戶。因此,該解決方案在許多實(shí)際應(yīng)用場(chǎng)景中是不切實(shí)際的。
確保數(shù)據(jù)安全性的另一種方法是基于傳統(tǒng)對(duì)稱密鑰和公開密鑰密碼系統(tǒng)的組合。數(shù)據(jù)所有者首先為其數(shù)據(jù)指定acl,然后使用對(duì)稱密鑰加密該數(shù)據(jù),使用acl中的用戶的公開密鑰來加密該密鑰。因此,只有acl中的用戶可以使用其私有密鑰恢復(fù)該數(shù)據(jù)。這種方法的主要缺點(diǎn)是加密數(shù)據(jù)的成本將隨著acl中的用戶數(shù)呈線性增長(zhǎng)。
當(dāng)選擇用于云計(jì)算的加密方案時(shí),abe(基于屬性的加密)是有希望的密碼技術(shù)和有吸引力的選擇。在abe系統(tǒng)中,通過一組屬性而不是確切的身份,來標(biāo)識(shí)用戶。使用基于屬性的訪問結(jié)構(gòu)來加密每個(gè)數(shù)據(jù),使得只有其屬性滿足訪問結(jié)構(gòu)的用戶可以對(duì)該數(shù)據(jù)進(jìn)行解密。abe已經(jīng)發(fā)展成兩個(gè)分支機(jī)構(gòu),即密鑰策略abe(kp-abe)和密文策略abe(cp-abe),具體取決于屬性和策略如何與密文和用戶的解密密鑰相關(guān)聯(lián)。在cp-abe中,根據(jù)訪問控制策略來加密密文,密文被公式化為在屬性上的布爾公式。該構(gòu)造確保只有屬性滿足訪問控制策略的用戶能夠使用其個(gè)性化秘密屬性密鑰來解密密文。在kp-abe中,用戶的密鑰與一組屬性相關(guān)聯(lián)。
最近,abe廣泛應(yīng)用于云計(jì)算的安全數(shù)據(jù)存儲(chǔ),以便在屬性,可擴(kuò)展性和細(xì)粒度訪問控制方面實(shí)現(xiàn)靈活性。然而,現(xiàn)有的針對(duì)加密的數(shù)據(jù)的訪問控制的方法沒有考慮如何解決云計(jì)算中的重復(fù)數(shù)據(jù)存儲(chǔ)問題,特別是對(duì)于加密的數(shù)據(jù)。
協(xié)調(diào)重復(fù)刪除和客戶端加密是一個(gè)積極的研究課題。云存儲(chǔ)服務(wù)提供商(如dropbox,googledrive,mozy等)通過僅存儲(chǔ)上傳的每個(gè)文件的一個(gè)副本來執(zhí)行重復(fù)刪除以節(jié)省空間。可以直接或間接傳遞給客戶的這種節(jié)省對(duì)企業(yè)的經(jīng)濟(jì)來說是重要的而且是主要的。然而,如果客戶常規(guī)地對(duì)其數(shù)據(jù)進(jìn)行加密,則不會(huì)有節(jié)省。這是因?yàn)楝F(xiàn)有的工業(yè)解決方案在加密的數(shù)據(jù)的重復(fù)刪除中是失敗的。
提出了消息鎖定加密(mle)(其最突出的表現(xiàn)是收斂加密)來解決這種不安。然而,它固有地受到暴力攻擊,其中暴力攻擊可以恢復(fù)落入已知集的數(shù)據(jù)。其最突出的實(shí)例是收斂加密(ce)。ce用于各種商業(yè)和研究存儲(chǔ)服務(wù)系統(tǒng)。讓m作為文件的內(nèi)容(以下稱為消息),客戶端首先通過對(duì)該消息應(yīng)用密碼學(xué)哈希函數(shù)h來計(jì)算密鑰k<-h(m),然后通過確定性對(duì)稱加密方案,計(jì)算密文c<-e(k,m)。短消息導(dǎo)出的密鑰k在每個(gè)客戶端密鑰或密碼下分別被加密,被存儲(chǔ)。加密相同文件m的第二個(gè)客戶端b將產(chǎn)生相同的c,使得能夠重復(fù)刪除。
然而,ce受制于固有的安全限制,即對(duì)脫機(jī)強(qiáng)力字典攻擊的敏感性。知道在目標(biāo)密文c下的目標(biāo)消息m是從大小為n的字典s={m1,...,mn}中得出的,攻擊者可以在n=|s|的離線加密的時(shí)間中恢復(fù)m:對(duì)于每個(gè)i=1,…,n,它簡(jiǎn)單地ce加密mi以得到被表示為ci的密文,并返回mi使得c=ci。(這是管用的,因?yàn)閏e是確定性和無鑰匙的。)因此,只有當(dāng)目標(biāo)消息從太大而不能耗盡的空間中得到時(shí),安全性才是可能的。這樣的消息是不可預(yù)測(cè)的。該方案的另一個(gè)問題是,對(duì)于數(shù)據(jù)所有者和持有者來支持?jǐn)?shù)據(jù)的訪問控制而言,特別是數(shù)據(jù)撤銷過程,是不靈活的,因?yàn)楹茈y使數(shù)據(jù)所有者和持有者獲得用于數(shù)據(jù)重新加密的相同的新密鑰。
另一種方法提出了一種架構(gòu),其提供安全的重復(fù)刪除的存儲(chǔ)以抵抗暴力攻擊,并在被稱為dupless的系統(tǒng)中實(shí)現(xiàn)它。在dupless中,客戶端在通過遺忘的prf(偽隨機(jī)函數(shù))協(xié)議從密鑰服務(wù)器獲得的基于消息的密鑰下進(jìn)行加密。它使客戶端能夠使用現(xiàn)有服務(wù)來存儲(chǔ)加密的數(shù)據(jù),使該服務(wù)代表它們執(zhí)行重復(fù)刪除,還實(shí)現(xiàn)強(qiáng)大的機(jī)密性保證。具體地,在dupless中,一組附屬客戶(例如,公司雇員)借助于與存儲(chǔ)服務(wù)(ss)分開的密鑰服務(wù)器(ks)對(duì)其數(shù)據(jù)進(jìn)行加密。客戶端向ks認(rèn)證它們自己,但是不向ks泄漏與它們的數(shù)據(jù)有關(guān)的任何信息。只要對(duì)攻擊者而言依然無法訪問ks,則確保高安全性。如果ks和ss兩者均受到威脅,則針對(duì)不可預(yù)測(cè)消息保持當(dāng)前mle的安全性保證。
然而,一些數(shù)據(jù)所有者不喜歡使用第三方來控制其數(shù)據(jù)存儲(chǔ),因?yàn)樵谠S多情況下,他們希望自己控制數(shù)據(jù)存儲(chǔ)和訪問并且跟蹤它們自己的數(shù)據(jù)的位置和使用狀態(tài)。上述解決方案不能以靈活的方式支持?jǐn)?shù)據(jù)所有者和數(shù)據(jù)持有者在其他數(shù)據(jù)用戶上的數(shù)據(jù)訪問控制。他們也不能支持?jǐn)?shù)字版權(quán)管理。
本公開的實(shí)施例提出了一種通過應(yīng)用基于屬性的加密(abe)以對(duì)密鑰進(jìn)行管理,來對(duì)存儲(chǔ)在csp處的數(shù)據(jù)進(jìn)行重復(fù)刪除的方案,其中該密鑰用于不同的授權(quán)數(shù)據(jù)用戶(其包括數(shù)據(jù)所有者和合格的數(shù)據(jù)持有者)的重復(fù)數(shù)據(jù)存儲(chǔ)。根據(jù)abe機(jī)制,這些授權(quán)用戶的標(biāo)識(shí)符(如id)被視為用于訪問存儲(chǔ)在csp中的加密數(shù)據(jù)的有效屬性。這種方案可以應(yīng)用于數(shù)據(jù)所有者想要自己控制數(shù)據(jù)存儲(chǔ)和訪問并跟蹤它們自己的數(shù)據(jù)位置和使用狀態(tài)的各種場(chǎng)景。
在各種實(shí)施例中,可以在涉及數(shù)據(jù)的管理,存儲(chǔ)和訪問的csp和用戶之間唯一地識(shí)別數(shù)據(jù)。例如,數(shù)據(jù)m的哈希碼可以用作數(shù)據(jù)m的指示符,用于在數(shù)據(jù)上傳和存儲(chǔ)期間檢查數(shù)據(jù)m的重復(fù)。數(shù)據(jù)m的哈希碼可以由數(shù)據(jù)所有者或數(shù)據(jù)持有者進(jìn)一步的簽名以用于由csp執(zhí)行的原始性驗(yàn)證。
如上所述,為了確保數(shù)據(jù)的安全性和隱私性,數(shù)據(jù)所有者或持有者將對(duì)其數(shù)據(jù)進(jìn)行加密,然后將加密的數(shù)據(jù)外包給云。在一個(gè)實(shí)施例中,數(shù)據(jù)所有者可以使用隨機(jī)選擇的對(duì)稱密鑰dek對(duì)數(shù)據(jù)進(jìn)行加密,然后將加密的數(shù)據(jù)與數(shù)據(jù)的簽名哈希碼一起存儲(chǔ)在csp中。根據(jù)各種實(shí)施例,數(shù)據(jù)所有者通過使用身份作為屬性,使用abe機(jī)制進(jìn)一步加密dek。然后,加密的dek也可以被傳遞給csp。
當(dāng)發(fā)生數(shù)據(jù)重復(fù)時(shí),這可以通過哈希碼比較由csp來檢查。csp可以針對(duì)來自上傳者的相同的數(shù)據(jù)的重復(fù)刪除而聯(lián)系數(shù)據(jù)所有者。然后,數(shù)據(jù)所有者向上傳者(即,數(shù)據(jù)持有者)發(fā)出用于對(duì)加密的dek進(jìn)行解密的個(gè)性化秘密密鑰。例如,個(gè)性化秘密密鑰可以通過csp或直接地發(fā)送給上傳者,例如,通過使用公開密鑰密碼系統(tǒng)(pkc)。在發(fā)出個(gè)性化秘密密鑰之前,可以由csp執(zhí)行針對(duì)上傳者的合格性的驗(yàn)證,以檢查是否允許上傳者在csp中存儲(chǔ)數(shù)據(jù)。附加地或替代地,驗(yàn)證可以由數(shù)據(jù)所有者執(zhí)行以檢查是否允許上傳者訪問所有者在csp存儲(chǔ)的加密數(shù)據(jù)。當(dāng)合格性驗(yàn)證為肯定的時(shí),將向上傳者發(fā)出個(gè)性化秘密密鑰。當(dāng)另一個(gè)合格的數(shù)據(jù)持有者在csp上存儲(chǔ)相同的數(shù)據(jù)時(shí),數(shù)據(jù)所有者可以向新的數(shù)據(jù)持有者發(fā)出另一個(gè)個(gè)性化解密密鑰,該另一個(gè)個(gè)性化解密密鑰與發(fā)出給其它上傳者的個(gè)性化解密密鑰不同。
利用各自的個(gè)性化解密密鑰,根據(jù)abe機(jī)制,每個(gè)上傳者能夠在其策略下解密加密的dek。然后,各自的解密的密鑰dek可用于對(duì)存儲(chǔ)在云端的加密數(shù)據(jù)進(jìn)行解密。在這方面,在實(shí)現(xiàn)中可以應(yīng)用kp-abe和cp-abe。
在真實(shí)的數(shù)據(jù)所有者比數(shù)據(jù)持有者更晚地上載數(shù)據(jù)的情況下,csp可以管理以將真實(shí)的數(shù)據(jù)所有者的加密數(shù)據(jù)保存在云端,并允許數(shù)據(jù)所有者管理并向其他數(shù)據(jù)持有者發(fā)出相應(yīng)的訪問密鑰。
當(dāng)數(shù)據(jù)持有者從csp中刪除數(shù)據(jù)時(shí),csp首先通過去除該用戶的副本記錄來管理重復(fù)的數(shù)據(jù)持有者的記錄。如果其余記錄不為空,csp將不會(huì)刪除存儲(chǔ)的數(shù)據(jù),而是阻止請(qǐng)求數(shù)據(jù)刪除的持有者的數(shù)據(jù)訪問。在一些實(shí)施例中,csp還可以通知數(shù)據(jù)所有者以允許其決定是否需要對(duì)原始數(shù)據(jù)進(jìn)行重新加密。當(dāng)需要重新加密時(shí),數(shù)據(jù)所有者可以選擇一個(gè)新的dek’,然后向現(xiàn)有的合格的數(shù)據(jù)持有者發(fā)出更新的加密dek’(使用abe機(jī)制)。通過替換舊的加密數(shù)據(jù),新加密的原始數(shù)據(jù)被上傳并存儲(chǔ)在csp中。在真實(shí)的數(shù)據(jù)所有者想要從csp中刪除數(shù)據(jù)的情況下,csp可以請(qǐng)求數(shù)據(jù)所有者繼續(xù)處理重復(fù)刪除,或者在數(shù)據(jù)所有者的許可下將該任務(wù)轉(zhuǎn)移到下一個(gè)最早的數(shù)據(jù)上傳者作為重復(fù)刪除的代理。
在一些實(shí)施例中,csp可以將最先上傳數(shù)據(jù)的上傳者視為底層數(shù)據(jù)的所有者,除非上傳者能夠提供證明其是真實(shí)的數(shù)據(jù)所有者的有效證據(jù)。
各種實(shí)施例可以應(yīng)用于分布式存儲(chǔ)系統(tǒng),諸如圖1所示的云計(jì)算系統(tǒng)。系統(tǒng)100包括經(jīng)由通信網(wǎng)絡(luò)105具有到數(shù)據(jù)中心107、其他ue101和其他通信實(shí)體(諸如第三方或任何其他csp用戶(未示出))的連通性的用戶設(shè)備(ue)101。作為示例,系統(tǒng)100的通信網(wǎng)絡(luò)105包括一個(gè)或多個(gè)網(wǎng)絡(luò),例如數(shù)據(jù)網(wǎng)絡(luò)(未示出),無線網(wǎng)絡(luò)(未示出),電話網(wǎng)絡(luò)(未示出)或其任何組合??梢栽O(shè)想,數(shù)據(jù)網(wǎng)絡(luò)可以是任何局域網(wǎng)(lan),城域網(wǎng)(man),廣域網(wǎng)(wan),公共數(shù)據(jù)網(wǎng)絡(luò)(例如,因特網(wǎng)),自組織移動(dòng)網(wǎng)絡(luò)或任何其他合適的分組交換網(wǎng)絡(luò),例如商業(yè)上專有的分組交換網(wǎng)絡(luò),例如專用電纜或光纖網(wǎng)絡(luò)。此外,無線網(wǎng)絡(luò)可以是例如蜂窩網(wǎng)絡(luò),并且可以采用各種技術(shù),包括用于全球演進(jìn)的增強(qiáng)數(shù)據(jù)速率(edge),通用分組無線電業(yè)務(wù)(gprs),全球移動(dòng)通信系統(tǒng)(gsm),互聯(lián)網(wǎng)協(xié)議多媒體子系統(tǒng)(ims),通用移動(dòng)電信系統(tǒng)(umts)等,以及任何其它合適的無線介質(zhì),例如全球微波接入互操作性(wimax),無線局域網(wǎng)(wlan),長(zhǎng)期演進(jìn)(lte)網(wǎng)絡(luò),碼分多址接入(cdma),寬帶碼分多址接入(wcdma),無線保真(wifi),衛(wèi)星,移動(dòng)自組織網(wǎng)絡(luò)(manet)等。
ue101可以是任何類型的移動(dòng)終端,固定終端或便攜式終端,其包括移動(dòng)手持機(jī),站,單元,設(shè)備,多媒體計(jì)算機(jī),多媒體平板,互聯(lián)網(wǎng)節(jié)點(diǎn),通信器,臺(tái)式計(jì)算機(jī),膝上型計(jì)算機(jī),個(gè)人數(shù)字助理(pda)或其任何組合。還可以設(shè)想,ue101可以支持至用戶的任何類型的接口(例如“可穿戴”電路等)。如圖1所示,用戶設(shè)備(ue)101a-101n可以用于執(zhí)行云計(jì)算服務(wù)應(yīng)用103a-103n。這些云計(jì)算服務(wù)應(yīng)用程序103可以利用通信網(wǎng)絡(luò)105與csp107進(jìn)行通信,例如數(shù)據(jù)存儲(chǔ)服務(wù)以控制在云端的數(shù)據(jù)存儲(chǔ)和訪問。
數(shù)據(jù)中心107可以將用戶數(shù)據(jù)和相關(guān)信息存儲(chǔ)在用于提供存儲(chǔ)服務(wù)的數(shù)據(jù)庫(kù)109中。用戶數(shù)據(jù)可以包括用戶的各種數(shù)據(jù),例如工作文檔,個(gè)人健康記錄,隱私照片,學(xué)習(xí)材料等。用戶信息可以包括用戶簡(jiǎn)檔。此外,用戶信息還可以包括關(guān)于對(duì)存儲(chǔ)的數(shù)據(jù)的訪問控制(例如,訪問策略和不合格用戶的黑名單)的用戶的一個(gè)或多個(gè)設(shè)置。在各種實(shí)施例中,數(shù)據(jù)中心107可以由云服務(wù)提供商提供或操作,以在云端提供數(shù)據(jù)存儲(chǔ)。
鑒于存儲(chǔ)服務(wù)中的角色,該系統(tǒng)100中的實(shí)體可以分為三種類型:經(jīng)由數(shù)據(jù)中心107和數(shù)據(jù)庫(kù)109提供存儲(chǔ)服務(wù)的csp;通過使用其ue101a將他的數(shù)據(jù)上載和保存在csp處的數(shù)據(jù)所有者;以及一個(gè)或多個(gè)數(shù)據(jù)持有者,其是合格的數(shù)據(jù)用戶以通過使用各自的ue101b-n來在csp上保存與數(shù)據(jù)所有者相同的數(shù)據(jù)。在根據(jù)本發(fā)明的實(shí)施例的重復(fù)的數(shù)據(jù)的管理下,還允許數(shù)據(jù)持有者訪問由所有者在云端存儲(chǔ)的數(shù)據(jù)。
在系統(tǒng)設(shè)置過程中,每個(gè)數(shù)據(jù)所有者或持有者(簡(jiǎn)言之,csp用戶(被表示為u)維護(hù)公開密鑰pk_u,其由其他用戶用于生成針對(duì)用戶u的個(gè)性化的秘密屬性密鑰,以及秘密密鑰sk_u,其用于與pk_u相關(guān)的解密操作。同時(shí),它還生成用于公開密鑰密碼系統(tǒng)(pkc)的密鑰對(duì)pk’_u和sk’_u,例如簽名生成和驗(yàn)證,以及公開密鑰加密和解密。上述密鑰的生成是每個(gè)用戶u的任務(wù)。用戶u的密鑰sk_u和pk_u,sk’_u和pk’_u被綁定到用戶的唯一身份。用戶的唯一身份可以是用戶u的假名。這種綁定對(duì)于用戶身份的驗(yàn)證至關(guān)重要。在系統(tǒng)設(shè)置過程中,pk_u和pk’_u可以由授權(quán)的第三方被證明為cert(pk_u),cert(pk’_u)。例如,cert(pk_u)和cert(pk’_u)可以由csp或者第三方實(shí)體(其也可以是另一個(gè)csp用戶)進(jìn)行驗(yàn)證。
這樣,每個(gè)用戶維護(hù)一個(gè)秘密密鑰sk_u,其用于基于其他用戶的相應(yīng)身份來生成和發(fā)出個(gè)性化秘密屬性密鑰給其他用戶。它也用于生成u的身份屬性的它自己的公開密鑰,其被表示為pk_(id,u)。身份屬性可以被表示為id。應(yīng)當(dāng)理解,id可以是用戶u的匿名標(biāo)識(shí)符。對(duì)于具有表示(id,u)的每個(gè)屬性,存在公開密鑰,其被表示為pk(id,u),其由u生成并且用于加密對(duì)稱密鑰dek,其中對(duì)稱密鑰dek是用于加密u的數(shù)據(jù)而隨機(jī)選擇的,旨在控制數(shù)據(jù)訪問和重復(fù)刪除。用于解密通過pk_(id,u)加密的加密密鑰的相應(yīng)的個(gè)性化秘密屬性密鑰是針對(duì)各自的合格的數(shù)據(jù)持有者而個(gè)性化的并由數(shù)據(jù)所有者u發(fā)出的個(gè)性化秘密屬性密鑰。為了防止共謀,每個(gè)持有者獲得只有它能使用的不同的個(gè)性化秘密屬性密鑰。由數(shù)據(jù)所有者u為合格的持有者(以u(píng)’表示)的屬性id的個(gè)性化秘密屬性密鑰被表示為sk_(id,u,u’)。在本公開的上下文中,用戶u’具有的秘密密鑰集(即,密鑰sk_u’和sk_(id,u,u’))可以被稱為其密鑰環(huán)。表1介紹了本發(fā)明方案中涉及的主要系統(tǒng)密鑰。
表1:系統(tǒng)密鑰
各種實(shí)施例的數(shù)據(jù)存儲(chǔ)和訪問的管理涉及許多基本算法,其可以被稱為initiatenode,createidpk,issueidsk,encryptkey,encrypt,decryptkey和decrypt。這七種算法的描述如下:
(1)initiatenode(u):
initiatenode算法將用戶u的身份id作為輸入,其通常是用戶u的唯一身份或用戶u的ue的唯一身份。它輸出一些用戶證書和公開用戶密鑰pk_u,其用于發(fā)出針對(duì)用戶u的個(gè)性化秘密屬性密鑰(例如,由另一數(shù)據(jù)所有者,相對(duì)于該另一數(shù)據(jù)所有者,用戶u擔(dān)當(dāng)數(shù)據(jù)持有者),以及秘密用戶密鑰sk_u,其用于對(duì)通過pk_u加密的密文進(jìn)行解密。同時(shí),它還生成用于公開密鑰加密系統(tǒng)(pkc)的另一個(gè)密鑰對(duì)pk’_u和sk’_u,例如簽名生成和驗(yàn)證以及公開密鑰加密和解密。該過程在用戶u(例如ue101a-n)處進(jìn)行。
(2)createidpk(id,sk_u):
每當(dāng)用戶u想要控制在云端處其數(shù)據(jù)存儲(chǔ)和由其他數(shù)據(jù)持有者的訪問時(shí),由用戶u(即,數(shù)據(jù)所有者)執(zhí)行createidpk算法。該算法還可以檢查用戶的id是否滿足與數(shù)據(jù)的管理有關(guān)的策略。例如,它可以檢查id是否是用于管理數(shù)據(jù)的存儲(chǔ)和訪問的數(shù)據(jù)所有者的合格id。如果id滿足策略,則算法根據(jù)abe機(jī)制輸出與用戶u的id相關(guān)聯(lián)的公開屬性密鑰(表示為pk_(id,u))。否則,算法可以輸出null。
(3)issueidsk(id,sk_u,pk_u’):
issueidsk算法由用戶u執(zhí)行以根據(jù)abe機(jī)制生成針對(duì)其他用戶u’的個(gè)性化的個(gè)性化秘密屬性密鑰。該過程基于身份驗(yàn)證來執(zhí)行,身份驗(yàn)證通過檢查用戶u’的cert(pk_u’)是否是由第三可信方或數(shù)據(jù)所有者自身所證明的有效標(biāo)識(shí)符。例如,在生成針對(duì)用戶u’的個(gè)性化的秘密屬性密鑰之前,該算法可以例如根據(jù)用戶u’的屬性id來檢查具有公開密鑰pk_u’的用戶u’是否是合格的。換句話說,它檢查pk_u’是否是用于保存數(shù)據(jù)的被授權(quán)方。如果是這種情況,則issueidsk以公開密鑰pk_u’作為輸入,輸出用戶u’的個(gè)性化秘密屬性密鑰sk_(id,u,u’)。否則,算法可以輸出null。個(gè)性化秘密屬性密鑰sk_(id,u,u’)可以由用戶u通過安全信道或使用pkc發(fā)送給用戶u’。
(4)encryptkey(dek_u,a,pk_(id,u)):
encryptkey算法由用戶u執(zhí)行以基于abe機(jī)制來加密其數(shù)據(jù)加密密鑰dek。dek是用于加密存儲(chǔ)在云端的數(shù)據(jù)的密鑰。dek可以是由用戶u選擇的對(duì)稱密鑰。例如,在數(shù)據(jù)所有者u允許具有id(例如綁定到pk_u’)的其他數(shù)據(jù)持有者共享其數(shù)據(jù)存儲(chǔ)的情況下,數(shù)據(jù)所有者u通過使用用戶u的身份和訪問策略作為屬性,根據(jù)abe方案來加密其數(shù)據(jù)加密密鑰dek。可以將用戶u的公開密鑰pk_(id,u)用于abe方案中的身份屬性。
例如,訪問策略可以由數(shù)據(jù)所有者u針對(duì)數(shù)據(jù)持有者u’設(shè)置為(a1:id=pk_u’)。訪問策略指定由合格的用戶的相關(guān)屬性應(yīng)滿足的條件。該策略可以用析取范式(dnf)描述,其可以被寫成
其中sj表示訪問策略中的第j個(gè)訪問條件,n是s(n=1,2,3,...)的總數(shù)。ai表示在a的第j個(gè)合取(conjunction)中出現(xiàn)的屬性。s可以是屬性集合,s1,s2,...,sn不是互不相交。
根據(jù)本發(fā)明的實(shí)施例,n個(gè)集合s1,s2,...,sn表示通過同時(shí)應(yīng)用附加數(shù)據(jù)訪問控制條件來支持重復(fù)刪除,在a的第j個(gè)合取中出現(xiàn)的屬性。然后,根據(jù)abe機(jī)制,加密密鑰算法遍歷所有j=1,…,n,為每個(gè)合取生成隨機(jī)值r_j并構(gòu)造與每個(gè)sj對(duì)應(yīng)的ck_j。獲得密文-密鑰ck,如元組ck:=<ck_1,ck_2,......,ck_n>。
因此,當(dāng)用戶u想要加密其dek(表示為dek_u)以僅允許滿足訪問策略a的其他合格的用戶訪問用戶u的數(shù)據(jù)存儲(chǔ)時(shí),encryptkey算法可以由用戶u執(zhí)行,其將與訪問策略a中出現(xiàn)的身份屬性相對(duì)應(yīng)的用戶u的密文-密鑰dek_u,訪問策略a和公開密鑰pk_(id,u)作為輸入。該算法利用訪問策略a來加密dek_u,然后輸出密碼ck_u。該過程在用戶u進(jìn)行,以支持在csp上數(shù)據(jù)存儲(chǔ)的重復(fù)刪除。
(5)decryptkey(ck_u,a,sk_u’,sk_(id,u,u’)):
decryptkey算法由用戶u’執(zhí)行以解密由用戶u基于abe機(jī)制產(chǎn)生的密文-密鑰ck_u。該算法將encryptkey算法產(chǎn)生的密文-密鑰ck_u,訪問策略a(在其下,ck_u被加密)和用戶u’的密鑰環(huán)(sk_u’,sk_(id,u,u’))作為輸入。算法decryptkey解密密文-密鑰ck_u,如果用戶u’的屬性足以滿足策略a,則輸出相應(yīng)的明文-密鑰dek_u;否則輸出null,如果重復(fù)存儲(chǔ)發(fā)生,則該過程可以在用戶u’處執(zhí)行。在一些實(shí)施例中,該算法可以首先檢查訪問策略a,然后如果滿足策略,則使用密鑰環(huán)進(jìn)行解密以獲得dek_u,。
(6)encrypt(dek_u,m):
加密算法將數(shù)據(jù)m、對(duì)稱密鑰dek_u作為輸入。該算法用dek_u對(duì)m進(jìn)行加密,然后輸出密文ct。該過程在用戶u處進(jìn)行以保護(hù)其使用dek_u存儲(chǔ)在csp的數(shù)據(jù)。
(7)decrypt(dek_u,ct):
解密算法將加密的數(shù)據(jù)ct、對(duì)稱密鑰dek_u作為輸入。該算法使用dek_u解密ct并輸出明文數(shù)據(jù)m。該過程在用戶u’或u上進(jìn)行以公開在csp上存儲(chǔ)的數(shù)據(jù)的明文內(nèi)容。
圖2示出了根據(jù)實(shí)施例的使用實(shí)際數(shù)據(jù)所有者的指令和控制的在csp處的重復(fù)數(shù)據(jù)刪除的過程。csp能夠提供數(shù)據(jù)存儲(chǔ)服務(wù)。假設(shè)用戶u1是真實(shí)的數(shù)據(jù)所有者,并且使用數(shù)據(jù)加密密鑰dek_u1保護(hù)其在csp上存儲(chǔ)的敏感的個(gè)人數(shù)據(jù)m,而另一個(gè)用戶u2是試圖在csp中保存相同的數(shù)據(jù)的數(shù)據(jù)持有者。
在數(shù)據(jù)存儲(chǔ)服務(wù)開始時(shí),每個(gè)用戶進(jìn)入系統(tǒng)設(shè)置過程。在這方面,csp的每個(gè)用戶生成個(gè)人證書和兩個(gè)密鑰對(duì)(pk_ui,sk_ui)和(pk’_ui,sk’_ui),其中i用于索引用戶(i=1,2,...)。同時(shí),每個(gè)用戶可以獲得其生成的公開密鑰的證書cert(pk_ui)和cert(pk’_ui)。在該示例中,在202a,用戶u1生成其密鑰pk_u1,sk_u1,pk’_u1和sk’_u1,并且其公開密鑰pk_u1和pk’_u1被進(jìn)一步證明為cert(pk_u1)和cert(pk’_u1)。類似地,在202b,用戶u2生成其密鑰pk_u2,sk_u2,pk’_u2和sk’_u2,并且其公開密鑰pk_u2和pk’_u2被進(jìn)一步證明為cert(pk_u2)和cert(pk’_u2)。在系統(tǒng)設(shè)置過程期間,在202c,csp可以上證明這些用戶的公開密鑰(如u1和u2)。
憑借在系統(tǒng)設(shè)置過程中生成和證明的密鑰,每個(gè)用戶可以以安全的方式在csp處存儲(chǔ)數(shù)據(jù)。在這方面,假設(shè)用戶(表示為u1)想在csp中保存其數(shù)據(jù)(表示為m),然后在204,通過調(diào)用加密算法(dek_u1,m),u1用隨機(jī)選擇的對(duì)稱密鑰dek_u1來加密用于隱私和安全保護(hù)的數(shù)據(jù)m以獲得數(shù)據(jù)m的密文(表示為ct_u1)。然后,在206處,通過調(diào)用算法encryptkey(dek_u1,a,pk_(id,u1)),使用用戶u1的身份屬性(表示為pk(id,u1))的公開密鑰來加密dek_u1以得到dek_u1的密文密鑰(表示為ck_u1)。如上所述,通過調(diào)用算法createidpk(id,sk_u1),根據(jù)用戶u1的數(shù)據(jù)策略,從密鑰sk_u1生成pk(id,u1)。在一些實(shí)施例中,可以在系統(tǒng)設(shè)置過程中生成密鑰pk_(id,u1)。此外,用戶u1可以將數(shù)據(jù)m的哈希碼計(jì)算為h(m),并進(jìn)一步用sk’_u1將它簽名為sign(h(m),sk’_u1)。哈希碼h(m)可以用作用戶(例如u1和u2)和csp中的數(shù)據(jù)存儲(chǔ)服務(wù)中的數(shù)據(jù)m的索引。然后,在206,u1將密文ct_u1和密文密鑰ck_u1發(fā)送到用于存儲(chǔ)數(shù)據(jù)m的csp。相關(guān)聯(lián)的h(m)和sign(h(m),sk’_u1)也可以被發(fā)送到csp以用于識(shí)別數(shù)據(jù)m。數(shù)據(jù)m的訪問策略a可以是公開的,或者可以與ct_u1和ck_u1一起發(fā)送到csp。在一些實(shí)施例中,cert(pk_u1)和cert(pk’_u1)也可以與ct_u1和ck_u1一起發(fā)送到csp。在其他實(shí)施例中,例如在csp處的公開密鑰pk_u1和pk’_u1的證明期間,可以在系統(tǒng)設(shè)置過程中通過csp獲得cert(pk_u1)和cert(pk’_u1)。該參數(shù)、密鑰和數(shù)據(jù)可以經(jīng)由被表示為dp1的一個(gè)數(shù)據(jù)包(其包含ct_u1,a,ck_u1,h(m),sign(h(m),sk’_u1),cert(pk_u1),cert(pk’_u1))被發(fā)送給csp。
在接收到數(shù)據(jù)包之后,在208,csp可以對(duì)加密數(shù)據(jù)m(即ct_u1)、相關(guān)密鑰和信息的存儲(chǔ)執(zhí)行重復(fù)檢查。在這方面,csp可以驗(yàn)證cert(pk_u1)和cert(pk’_u1),以檢查用戶u1是否有資格存儲(chǔ)數(shù)據(jù)m。此外,csp通過驗(yàn)證sign(h(m),sk’_u1)并在存儲(chǔ)記錄中查找是否存在相同的數(shù)據(jù),檢查是否保存了相同的數(shù)據(jù)。如果檢查是否定的,即云端沒有相同的數(shù)據(jù),則csp保存ct_u1,ck_u1和h(m),以及其他相關(guān)信息,如cert(pk_u1),cert(pk’_u1)和a。如果檢查是肯定的,并且預(yù)存的數(shù)據(jù)來自同一用戶,則csp向用戶u1通知這種情況。如果相同的數(shù)據(jù)來自諸如u2的不同用戶,則csp可以觸發(fā)如圖3所示的重復(fù)刪除過程,其細(xì)節(jié)將在后面描述。
在由用戶u1存儲(chǔ)加密的數(shù)據(jù)m之后,可能發(fā)生由另一用戶(表示為u2)的重復(fù)數(shù)據(jù)上傳。例如,用戶u2可以按照類似于步驟204和206的過程在csp上保存相同的數(shù)據(jù)m。也就是說,在210處,通過調(diào)用加密算法(dek_u2,m),用戶u2可以用對(duì)稱密鑰dek_u2加密相同的數(shù)據(jù)m以得到數(shù)據(jù)m的密文(表示為ct_u2)。dek_u2可以由u2隨機(jī)選擇,因此通常不同于dek_u1。因此,密文ct_u2與密文ct_u1不同。然而,與數(shù)據(jù)m相關(guān)聯(lián)的索引(諸如由用戶u2針對(duì)數(shù)據(jù)m計(jì)算的哈希碼h(m))與用戶u1計(jì)算出的哈希碼相同??梢酝ㄟ^調(diào)用算法encryptkey(dek_u2,a,pk_(id,u2)),用戶u2也可以加密使用其身份屬性的公開密鑰(表示為pk(id,u2))來加密dek_u2以獲得密文密鑰(表示為ck_u2)。然后,用戶u2可以將ct_u2和ck_u2發(fā)送到csp。如在212處示出的,例如連同ck_u1和ck_u2,在數(shù)據(jù)包dp2中,數(shù)據(jù)索引h(m)及其簽名sign(h(m),sk’_u2)以及用戶u2的公開密鑰,cert(pk_u2)和cert(pk’_u2)也可以被發(fā)送給csp。
在從用戶u2接收到數(shù)據(jù)包之后,csp執(zhí)行如步驟214中的重復(fù)檢查。由于相同的數(shù)據(jù)的密文ct_u1已被用戶u1保存,結(jié)果將為肯定的。在這種情況下,在216處,csp向數(shù)據(jù)所有者u1通知數(shù)據(jù)m的重復(fù)。在這點(diǎn)上,csp可以向用戶u1發(fā)送h(m)和cert(pk_u2)用于重復(fù)刪除。
響應(yīng)于接收到該通知,用戶u1可以首先驗(yàn)證用戶u2在第三方的數(shù)據(jù)保存和存儲(chǔ)的合格性。例如,可以通過檢查用戶u2的標(biāo)識(shí)符或cert(pk_u2)來驗(yàn)證用戶u2的合格性。在218處,如果驗(yàn)證是肯定的,則用戶u1通過調(diào)用issueidsk(id,sk_u1,pk_u2)生成秘密屬性密鑰sk_(id,u1,u2)。然后,在220處,用戶u1可以向用戶u2發(fā)出秘密屬性密鑰(例如通過使用安全信道或pkc),以便允許用戶u2訪問由云端由用戶u1存儲(chǔ)的數(shù)據(jù)。用戶u1還通知csp對(duì)用戶u2存儲(chǔ)的相同的數(shù)據(jù)進(jìn)行重復(fù)刪除。如222所示,用戶u1可以向csp發(fā)送包含cert(pk_u2)和h(m)的通知。
在獲得重復(fù)刪除的通知之后,csp丟棄ct_u2和ck_u2,并記錄相應(yīng)的重復(fù)刪除信息,例如關(guān)于數(shù)據(jù)m已被用戶u2上傳的記錄,并且允許用戶u2訪問由用戶u1存儲(chǔ)的數(shù)據(jù)m。此時(shí),如步驟228和226所示,用戶u1和用戶u2都可以自由地訪問保存在csp中的相同的數(shù)據(jù)m。在這點(diǎn)上,用戶u1可以使用密鑰dek_u1來直接解密ct_u1,而用戶u2可以通過調(diào)用算法decryptkey(ck_u1,a,sk_u2,sk_(id,u1,u2))以解密ck_u1來知道dek_u1,然后用解密的dek_u1解密ct_u1。
圖2所示的重復(fù)數(shù)據(jù)消除的過程可以應(yīng)用于多重重復(fù)數(shù)據(jù)刪除。在這方面,另外的用戶(表示為u3)可以將與用戶u2相同的數(shù)據(jù)m(以被表示為ct_u3的密文的形式)上傳到csp,然后用戶u1可以通過調(diào)用算法issueidsk(id,sk_u1,pk_u3),使用u3的公開密鑰cert(pk_u3),向用戶u3發(fā)出個(gè)性化秘密密鑰sk_(id,u1,u3),并通知csp對(duì)用戶u3上傳的數(shù)據(jù)進(jìn)行重復(fù)刪除。類似于針對(duì)用戶u2上傳的數(shù)據(jù)的重復(fù)刪除,在獲取此通知后,csp丟棄ct_u3和ck_u3,并記錄與由用戶u3上傳的該數(shù)據(jù)相對(duì)應(yīng)的重復(fù)刪除信息。因此,用戶u1,u2和u3都能夠自由地訪問保存在csp中的相同的數(shù)據(jù)m。用戶u1可以直接使用dek_u1,而用戶u2和u3可以通過分別調(diào)用decryptkey(ck_u1,a,sk_u2,sk_(id,u1,u2))和decryptkey(ck_u1,a,sk_u3,sk_(id,u1,u3))知道dek_u1。
本發(fā)明的實(shí)施例可以支持在csp處發(fā)生的大量重復(fù)。在這種情況下,在上傳實(shí)際數(shù)據(jù)ct_u2之前,數(shù)據(jù)持有者可以向csp僅發(fā)送要存儲(chǔ)的數(shù)據(jù)的索引和數(shù)據(jù)持有者的公開密鑰(例如,以dp={h(m),sign(h(m),sk’_u2),cert(pk_u2),cert(pk’_u2)})以用于重復(fù)檢查。根據(jù)索引h(m),csp可以確定是否發(fā)生與h(m)相關(guān)聯(lián)的數(shù)據(jù)的重復(fù),例如通過檢查在云端是否存在相同的數(shù)據(jù)的存儲(chǔ)。如果發(fā)生重復(fù),csp將通知數(shù)據(jù)所有者向數(shù)據(jù)持有者u2發(fā)出個(gè)性化的秘密屬性密鑰。同時(shí),數(shù)據(jù)持有者u2能夠從數(shù)據(jù)所有者僅獲得個(gè)性化的秘密屬性密鑰sk_(id,u1,u2),而不將實(shí)際數(shù)據(jù)(例如ct_u2)上載到云。
根據(jù)各種實(shí)施例,當(dāng)調(diào)用encryptkey(dek_u,a,pk_(id,u))時(shí),通過使用abe將控制屬性(訪問策略)引入到dek加密中,重復(fù)刪除方案可以與其他數(shù)據(jù)訪問控制機(jī)制協(xié)作。例如,可以通過更新訪問策略a來支持重復(fù)刪除和訪問控制兩者。在這種情況下,在步驟218中,相應(yīng)地重新執(zhí)行dek_u1的加密。在222處,用戶u1可以將更新的策略a’和使用更新的策略a’計(jì)算的更新的ck’_u1發(fā)送到csp。然后,可以向允許訪問存儲(chǔ)在云端的數(shù)據(jù)的用戶(除了數(shù)據(jù)持有者之外)發(fā)出個(gè)性化的秘密屬性密鑰,并且該用戶可以使用該密鑰對(duì)更新的ck’_u1進(jìn)行解密以獲得dek_u1,從而從密文ct_u1獲得原始數(shù)據(jù)m。應(yīng)當(dāng)理解,由于dek_u1不改變,所以已經(jīng)具有dek_u1的數(shù)據(jù)持有者仍然可以使用該密鑰對(duì)密文ct_u1進(jìn)行解密,而不需要獲得更新的ck’_u1。因此,使用在數(shù)據(jù)所有者的控制下適當(dāng)?shù)脑L問管理,也可以允許還沒有保存和上傳數(shù)據(jù)m的用戶來訪問數(shù)據(jù)m。這可以大大支持基于數(shù)據(jù)所有者期望的數(shù)字版權(quán)管理。
也可以應(yīng)用信任和信譽(yù)來控制云上的數(shù)據(jù)訪問。通過在重復(fù)刪除方案中使用abe機(jī)制,可以輕松構(gòu)建包含用于數(shù)據(jù)訪問的屬性(例如,信任級(jí)別和標(biāo)識(shí)符)的訪問策略樹。因此,可以容易地將基于信任和信譽(yù)的訪問控制集成到重復(fù)刪除方案中。
在真實(shí)的數(shù)據(jù)所有者在數(shù)據(jù)持有者之后上傳相同的數(shù)據(jù)m的情況下,csp可以管理以將由真實(shí)的數(shù)據(jù)所有者上傳的加密的數(shù)據(jù)保存在云端,并允許數(shù)據(jù)所有者管理并向其他數(shù)據(jù)持有者發(fā)出相應(yīng)的訪問的密鑰。該過程如圖3所示。如圖3所示,系統(tǒng)設(shè)置過程302a,302b和302c類似于圖2中的那些系統(tǒng)設(shè)置過程202a,202b,202c。數(shù)據(jù)持有者u2的數(shù)據(jù)存儲(chǔ)過程304,306類似于圖2中的步驟210、212,并且數(shù)據(jù)所有者u1的數(shù)據(jù)存儲(chǔ)過程310、312類似于圖2中的步驟204、206,除了用戶u2在數(shù)據(jù)所有者u1之前將加密的數(shù)據(jù)mct_u2上傳到csp。
然后,當(dāng)csp以與步驟214中類似的方式在308處對(duì)由用戶u2上傳的加密數(shù)據(jù)m的存儲(chǔ)進(jìn)行重復(fù)檢查時(shí),結(jié)果將是在csp沒有相同的數(shù)據(jù)。然后,csp可以保存ct_u2和相關(guān)密文密鑰ck_u2。同時(shí),其他相關(guān)信息如cert(pk_u2),cert(pk’_u2)和h(m)也可以被保存在csp中。當(dāng)csp以與步驟208類似的方式在314處對(duì)由用戶u1上傳的加密數(shù)據(jù)m的存儲(chǔ)進(jìn)行重復(fù)檢查時(shí),csp將找到來自用戶u2的預(yù)先存儲(chǔ)的數(shù)據(jù)。此外,csp可以驗(yàn)證用戶u1是數(shù)據(jù)m的真實(shí)數(shù)據(jù)所有者。然后,在316,csp可以通過向用戶u1發(fā)送h(m)和cert(pk_u2)來觸發(fā)重復(fù)刪除過程。重復(fù)刪除過程可以以與圖2中的步驟218至224所示的相似的方式進(jìn)行。在步驟324中,除了丟棄ct_u2和ck_u2之外,csp還可以保存ct_u1和ck_u1并相應(yīng)地更新重復(fù)刪除記錄。這樣,用戶u1和用戶u2都可以以與圖2所示的步驟228和226類似的方式在步驟328和326處自由訪問保存在csp中的相同的數(shù)據(jù)m。
根據(jù)各種實(shí)施例,由于只有相同的數(shù)據(jù)的一個(gè)副本被存儲(chǔ)在云端,其可由數(shù)據(jù)所有者和數(shù)據(jù)持有者共享,因此可以明顯地節(jié)省csp的存儲(chǔ)空間。雖然存儲(chǔ)重復(fù)刪除記錄可能占用一些存儲(chǔ)或內(nèi)存,但與大量的重復(fù)數(shù)據(jù)存儲(chǔ)相比,這種存儲(chǔ)成本可以被忽略。
圖4示出了在重復(fù)數(shù)據(jù)刪除的上下文中由數(shù)據(jù)持有者在csp處的數(shù)據(jù)刪除的過程。它還說明了在重復(fù)數(shù)據(jù)刪除的情況下在csp處由數(shù)據(jù)所有者的刪除數(shù)據(jù)的過程。當(dāng)數(shù)據(jù)持有者u2想從csp中刪除數(shù)據(jù)時(shí),它向csp發(fā)送刪除請(qǐng)求。如402所示,該請(qǐng)求可以包含cert(pk’_u2)和h(m)。響應(yīng)于接收到刪除請(qǐng)求,csp可以檢查請(qǐng)求的有效性。如果請(qǐng)求有效,則在404處,csp去除關(guān)于用戶u2的重復(fù)刪除記錄,然后阻止用戶u2稍后對(duì)數(shù)據(jù)m的訪問。csp還可以檢查查詢關(guān)于數(shù)據(jù)m的重復(fù)刪除記錄是否為空。如果是,則它可以刪除數(shù)據(jù)m的加密的數(shù)據(jù)ct和所有相關(guān)記錄。
當(dāng)數(shù)據(jù)所有者u1想從csp中刪除數(shù)據(jù)m時(shí),它向csp發(fā)送刪除請(qǐng)求。如406所示,該請(qǐng)求可以包含cert(pk’_u1)和h(m)。響應(yīng)于接收到刪除請(qǐng)求,csp檢查請(qǐng)求的有效性。如果請(qǐng)求有效,則在408,csp刪除u1的重復(fù)刪除記錄,并阻止用戶u1稍后訪問云端的數(shù)據(jù)m。csp可以進(jìn)一步檢查關(guān)于數(shù)據(jù)m的重復(fù)刪除記錄是否為空。如果是,則可以刪除數(shù)據(jù)m的加密數(shù)據(jù)ct和所有相關(guān)記錄。如果不是,則數(shù)據(jù)m的加密數(shù)據(jù)ct和所有相關(guān)記錄被保留在csp中,因?yàn)閷?duì)于其它用戶而言,ct仍然仍然有效。
在這種情況下,csp可以進(jìn)一步確定誰(shuí)將管理留下的數(shù)據(jù)m的存儲(chǔ)和訪問。如410所示,csp可以請(qǐng)求數(shù)據(jù)所有者u1來繼續(xù)數(shù)據(jù)m的重復(fù)刪除管理。在414,數(shù)據(jù)所有者u1可以向csp通知其決定。如果用戶u1的決定為肯定的,即u1決定繼續(xù)管理數(shù)據(jù)的重復(fù)刪除和訪問,則不需要在csp執(zhí)行任何動(dòng)作。如果決定為否定的,則csp可以選擇數(shù)據(jù)的數(shù)據(jù)持有者作為管理者來支持?jǐn)?shù)據(jù)的重復(fù)刪除和訪問。例如,可以通過發(fā)送關(guān)于重復(fù)刪除代表的請(qǐng)求來聯(lián)系下一個(gè)最早的數(shù)據(jù)上傳者u2。該請(qǐng)求可以包含h(m)以識(shí)別數(shù)據(jù)m,數(shù)據(jù)m的重復(fù)刪除和訪問被請(qǐng)求以被管理。該請(qǐng)求可以包含訪問策略a,其可以由數(shù)據(jù)所有者或其他方指定。在這種情況下,接受作為代表人的用戶(例如,u2)可以通過調(diào)用encryptkey(dek_u1)使用有其自己的身份屬性的公開密鑰(例如pk_(id,u2))來加密的原始的數(shù)據(jù)加密密鑰dek_u1,a,pk_(id,u2))以得到ck_u2,然后通過將ck_u2發(fā)送到csp,作為數(shù)據(jù)所有者的代表以支持重復(fù)刪除。
為了支持在云端的數(shù)據(jù)存儲(chǔ)的重復(fù)刪除和訪問的管理,作為數(shù)據(jù)所有者的代表執(zhí)行的數(shù)據(jù)所有者或數(shù)據(jù)持有者可以更新或改變dek和/或訪問策略a。即使在數(shù)據(jù)刪除的過程期間的,csp還可以通知數(shù)據(jù)所有者以允許數(shù)據(jù)所有者決定是否需要對(duì)原始數(shù)據(jù)進(jìn)行重新加密。如果是這樣,數(shù)據(jù)所有者可以選擇新的dek’并向合格的數(shù)據(jù)持有者(例如,通過csp或直接使用pkc)發(fā)出更新的加密dek’。
圖5是根據(jù)一個(gè)實(shí)施例的用于管理云計(jì)算中的重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的過程的流程圖。在該實(shí)施例中,存儲(chǔ)服務(wù)的一個(gè)或多個(gè)用戶(諸如數(shù)據(jù)所有者u1或充當(dāng)重復(fù)數(shù)據(jù)消除代表的數(shù)據(jù)持有者u2和u3)的一個(gè)或多個(gè)用戶的ue101執(zhí)行過程500,并且被實(shí)現(xiàn)在例如包括如圖7所示的處理器和存儲(chǔ)器的芯片組中。因此,ue101可以提供用于完成過程500的各個(gè)部分的構(gòu)件以及用于結(jié)合其他組件來完成其他過程的構(gòu)件。
在步驟501中,ue101(諸如用戶u1的ue101a)將數(shù)據(jù)(表示為m)發(fā)送到數(shù)據(jù)中心以用于在數(shù)據(jù)中心存儲(chǔ)該數(shù)據(jù)。通過使用數(shù)據(jù)加密密鑰(例如dek_u1)進(jìn)行加密,該數(shù)據(jù)處于安全形式。接下來在步驟503中,ue101通過使用身份作為數(shù)據(jù)的重復(fù)刪除策略中的屬性,根據(jù)abe方案來加密dek_u1。策略可以由ue101設(shè)置,并且可以在存儲(chǔ)服務(wù)中公開或者在存儲(chǔ)服務(wù)中的實(shí)體之間共享。在一些實(shí)施例中,重復(fù)刪除策略可以指定用于數(shù)據(jù)的存儲(chǔ)和/或訪問的策略。ue101的身份可以被綁定到公開屬性密鑰,可以通過調(diào)用算法createidpk(id,sk_u)來生成該公開屬性密鑰。例如,可以通過調(diào)用如上所述的encryptkey(dek_u1,a,pk(id,u))算法來加密dek_u1。然后,在步驟505中,ue101向數(shù)據(jù)持有者(例如用戶u2)的設(shè)備發(fā)出根據(jù)基于屬性的加密(abe)方案從第二設(shè)備的公開密鑰導(dǎo)出的數(shù)據(jù)持有者專用的個(gè)性化秘密屬性密鑰。例如,如上所述,可以通過調(diào)用算法issueidsk(id,sk_u,pk_u’)來生成用戶u2的個(gè)性化秘密屬性密鑰。該個(gè)性化秘密屬性密鑰可以與策略一起用于在第二設(shè)備處解密加密的dek_u1。例如,通過調(diào)用算法decryptkey(ck_u,a,sk_u’,sk_(id,u,u’)),用戶u2可以解密加密的dek_u1。在該示例中,加密的dek_u1可以以安全的方式從用戶u1直接發(fā)送到用戶u2?;蛘?,用戶u1可以例如與上傳的數(shù)據(jù)一起將加密的dek_u1發(fā)送到csp,然后用戶u2可以從csp檢索加密的dek_u1。
圖6是根據(jù)一個(gè)實(shí)施例的用于管理云計(jì)算中的重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的過程的流程圖。在該實(shí)施例中,數(shù)據(jù)中心107(例如csp)執(zhí)行過程600,并且被實(shí)現(xiàn)在例如的包括處理器和存儲(chǔ)器的芯片組中。因此,數(shù)據(jù)中心107可以提供用于完成過程600的各個(gè)部分的裝置以及與其它部件一起完成其它過程的裝置。
在步驟601中,數(shù)據(jù)中心從第一設(shè)備(諸如用戶u1,u2或u3的ue)接收在數(shù)據(jù)中心中(例如,在數(shù)據(jù)庫(kù)109中)存儲(chǔ)數(shù)據(jù)的請(qǐng)求。接下來在步驟603中,數(shù)據(jù)中心檢查是否存在存儲(chǔ)在數(shù)據(jù)中心的相同的數(shù)據(jù)。響應(yīng)于在數(shù)據(jù)中心沒有存儲(chǔ)相同的數(shù)據(jù)的檢查結(jié)果,數(shù)據(jù)中心將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)中心,其中數(shù)據(jù)在使用數(shù)據(jù)加密密鑰(例如dek_u1)被加密的安全形式中。響應(yīng)于在數(shù)據(jù)中心已經(jīng)存儲(chǔ)了相同的數(shù)據(jù)的檢查結(jié)果,數(shù)據(jù)中心向數(shù)據(jù)的所有者通知重復(fù)刪除。在這方面,數(shù)據(jù)中心可以進(jìn)一步確定第一設(shè)備的用戶是否是所有者。如果第一設(shè)備的用戶是所有者,則數(shù)據(jù)中心可以存儲(chǔ)該數(shù)據(jù)。數(shù)據(jù)中心可以進(jìn)一步丟棄先前存儲(chǔ)在數(shù)據(jù)中心的相同的數(shù)據(jù),并通過其其數(shù)據(jù)存儲(chǔ)被丟棄的用戶發(fā)出用于訪問數(shù)據(jù)的個(gè)人化秘密屬性密鑰,通知第一設(shè)備進(jìn)行重復(fù)刪除。
現(xiàn)在參考圖7,其示出了適用于在實(shí)踐本發(fā)明的示例性實(shí)施例中使用的各種電子設(shè)備的簡(jiǎn)化框圖。在圖7中,設(shè)備700(諸如ue101和數(shù)據(jù)中心107)適于與云計(jì)算中的通信設(shè)備進(jìn)行通信。根據(jù)如上所述的本發(fā)明的示例性實(shí)施例,設(shè)備700可以執(zhí)行用于重復(fù)數(shù)據(jù)的存儲(chǔ)和訪問的管理。
設(shè)備700包括數(shù)據(jù)處理器(dp)701,存儲(chǔ)程序(prog)705的存儲(chǔ)器(mem)703和用于通過一個(gè)或多個(gè)通信網(wǎng)與云中的其它通信設(shè)備通信的合適的通信接口707。在示例性實(shí)施例中,通信接口707可以是合適的收發(fā)器,諸如用于經(jīng)由一個(gè)或多個(gè)天線進(jìn)行雙向無線通信的射頻(rf)收發(fā)器。假設(shè)prog705包括程序指令,當(dāng)由dp701執(zhí)行時(shí),使得設(shè)備能夠根據(jù)如上所述的本發(fā)明的示例性實(shí)施例進(jìn)行工作。也就是說,本發(fā)明的示例性實(shí)施例可以至少部分地由dp701可執(zhí)行的計(jì)算機(jī)軟件,或通過硬件,或通過軟件和硬件的組合來實(shí)現(xiàn)。裝置700的基本結(jié)構(gòu)和操作是本領(lǐng)域技術(shù)人員已知的。
mem703可以具有適合于本地技術(shù)環(huán)境的任何類型,并且可以使用任何合適的數(shù)據(jù)存儲(chǔ)技術(shù)(例如基于半導(dǎo)體的存儲(chǔ)設(shè)備,閃存,磁存儲(chǔ)設(shè)備和系統(tǒng),光存儲(chǔ)設(shè)備和系統(tǒng),固定存儲(chǔ)器和可移動(dòng)存儲(chǔ)器)來實(shí)現(xiàn)。dp701可以具有適合于本地技術(shù)環(huán)境的任何類型,并且可以包括:作為非限制性示例,通用計(jì)算機(jī),專用計(jì)算機(jī),微處理器,數(shù)字信號(hào)處理器(dsp)中的一個(gè)或多個(gè)以及基于多核處理器架構(gòu)的處理器。
通常,可以在硬件或?qū)S秒娐?,軟件,邏輯或其任何組合中實(shí)現(xiàn)各種示例性實(shí)施例。例如,一些方面可以在硬件中實(shí)現(xiàn),而其他方面可以在可由控制器,微處理器或其他計(jì)算設(shè)備執(zhí)行的固件或軟件中實(shí)現(xiàn),但是本發(fā)明不限于此。盡管可以將本發(fā)明的示例性實(shí)施例的各個(gè)方面圖示和描述為框圖,流程圖或使用某些其他圖形表示,但是可以理解的是,這里描述的這些框,裝置,系統(tǒng),技術(shù)或方法可以在作為非限制性示例的硬件,軟件,固件,專用電路或邏輯,通用硬件或控制器或其他計(jì)算設(shè)備,或其某些組合中實(shí)現(xiàn)。
因此,應(yīng)當(dāng)理解,可以在諸如集成電路芯片和模塊的各種組件中實(shí)踐本發(fā)明的示例性實(shí)施例的至少一些方面。因此,應(yīng)當(dāng)理解,本發(fā)明的示例性實(shí)施例可以在體現(xiàn)為集成電路的裝置中實(shí)現(xiàn),其中集成電路可以包括用于具體化以下中的至少一個(gè)中的電路(以及可能的固件):數(shù)據(jù)處理器,數(shù)字信號(hào)處理器,基帶電路和射頻電路,其能夠被配置以便根據(jù)本發(fā)明的示例性實(shí)施例進(jìn)行操作。
應(yīng)當(dāng)理解,本發(fā)明的示例性實(shí)施例的至少一些方面可以體現(xiàn)在諸如由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的一個(gè)或多個(gè)程序模塊中的計(jì)算機(jī)可執(zhí)行指令中。通常,程序模塊包括例程,程序,對(duì)象,組件,數(shù)據(jù)結(jié)構(gòu)等,當(dāng)由計(jì)算機(jī)或其他設(shè)備中的處理器執(zhí)行它們時(shí),它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。計(jì)算機(jī)可執(zhí)行指令可以存儲(chǔ)在諸如硬盤,光盤,可移動(dòng)存儲(chǔ)介質(zhì),固態(tài)存儲(chǔ)器,ram等的計(jì)算機(jī)可讀介質(zhì)上。如本領(lǐng)域技術(shù)人員將理解的,在各種實(shí)施例中,程序模塊的功能可以根據(jù)需要被組合或分布。此外,該功能可以全部或部分地實(shí)現(xiàn)在諸如集成電路,現(xiàn)場(chǎng)可編程門陣列(fpga)等的固件或硬件等同物中。
本發(fā)明包括本文明確地或其任何概括地公開的任何新穎特征或特征的組合。鑒于前面的描述,當(dāng)結(jié)合附圖閱讀時(shí),對(duì)于本發(fā)明的前述示例性實(shí)施例的各種修改和修改對(duì)于相關(guān)領(lǐng)域的技術(shù)人員來說可以變得顯而易見。然而,任何和所有修改仍將落在本發(fā)明的非限制性和示例性實(shí)施例的范圍內(nèi)。