專利名稱:云環境下的用戶隱私數據保護方法
技術領域:
本發明屬于計算機安全領域,更具體地,涉及ー種云環境下的用戶隱私數據保護方法。
背景技術:
隨著云計算日新月異的發展,越來越多的企業和用戶投入到了云計算的浪潮中,然而,云計算在普及上卻遇到了阻礙,究其原因,對于云計算安全問題的擔心被普遍認為是阻擋云計算在短期內快速部署應用的首要障礙。IDC的一份關于云服務的調查表明,74. 6%的企業首席信息官或IT總監在考慮讓企業使用云計算時將安全列為頭號擔心。在云安全的各個問題中,數據的安全是與用戶利益息息相關的,是用戶最為關心 的問題,一旦把數據交給了云平臺,用戶就失去了對數據的控制,同時,云平臺卻擁有了對用戶數據的控制,而且在用戶使用云計算時,用戶不清楚云平臺在后臺是是怎樣服務的,所以難免會不放心將具有商業價值或個人隱私的數據放在沒有任何有公信力的第三方。目前國內外的云產品中,大多都將重點放在計算的高性能,數據的一致性,可用性及冗余備份等方面,而在安全性方面則一直沒有較好的措施,并存在以下問題(I)大部分云產品中用戶的數據依然是以明文形式存在,僅簡單地使用用戶認證、多機異地備份及安全網絡傳輸協議(SSH、SSL)等來維護用戶數據最基本的安全;(2)有些云平臺如amazon S3、金山快盤等雖然可以讓用戶選擇將存放在云端的數據進行加密,但是密鑰也是由云端產生、分發和管理,數據的控制權依然在云端,這也是造成用戶對云服務不信任的主要原因之一;(3)由于云平臺是ー個開放的、多用戶的環境,云服務提供商并不能保證云環境中是安全的,如果用戶的數據直接存放于云端,則有可能會被惡意程序以各種方式竊取到,從而給用戶造成損失;(4)云平臺的特性導致用戶不知道具體的服務流程,所以在用戶將計算任務提交給自己信任的云服務提供商吋,云服務提供商可能因為這樣那樣的原因將該任務委托給其它云服務提供商,再將結果返回給用戶,在此過程中可能也會造成用戶隱私數據的泄露;(5)傳統的密碼算法中,對稱密碼算法一旦對方知道了解密密鑰,則對方可用該密鑰解密所有用該密鑰加密的數據;而公鑰密碼算法中對方知道了解密密鑰即私鑰也能解密用戶的所有信息,而且公鑰密碼算法對于多用戶使用的數據需要進行多次加密,這都是用戶所不想看到的。
發明內容
針對現有技術的缺陷,本發明的目的在于提供一種云環境下的用戶隱私數據保護方法,g在使用改進的基于身份的代理重加密算法在云平臺中實現ー套安全接ロ,在保護用戶隱私數據的同吋,不影響用戶數據在云平臺使用的需求。為實現上述目的,本發明提供了一種云環境下的用戶隱私數據保護方法,包括以下步驟(I)云平臺接收用戶請求,并判斷用戶請求的類型是上傳數據請求還是讀取數據請求,如果是上傳數據請求,則進入步驟(2),如果是讀取數據請求,則進入步驟¢),數據讀取請求中包含待讀取數據的標識;(2)云平臺判斷上傳數據請求是要上傳新數據還是對已上傳數據進行修改,如果是要上傳新數據,則進入步驟(3),否則進入步驟(10);(3)用戶判斷待上傳的數據是否包含隱私信息,如果包含隱私信息,則進入步驟(4),否則直接將數據上傳到云平臺,過程結束;(4)對待上傳的數據進行加密,并通過安全接口上傳加密后的數據; (5)用戶對加密后的數據進行授權;(6)云平臺根據數據讀取請求中待讀取數據的標識查找對應的數據,并判斷該數據是否是密文,如果是密文,則進入步驟(7),否則將數據直接下發到用戶,過程結束;(7)云平臺在重加密密鑰服務器中查找該用戶是否已授權,若已授權,則進入步驟(8),否則進入步驟(11);(8)云平臺使用代理重加密服務及用戶對應的重加密密鑰將數據重加密為用戶能解密的密文,并將該密文下發到用戶;(9)用戶使用自己的解密密鑰和安全插件的解密接ロ解密密文,以得到明文數據;(10)用戶使用客戶端插件調用相應的應用程序接ロ對已上傳的數據進行修改,以安全寫回數據處理結果和修改訪問細粒度;(11)云平臺向用戶返回處理狀態,即無訪問權限,井向用戶提供請求授權鏈接;(12)用戶通過請求授權鏈接向數據擁有者申請授權;(13)數據擁有者對用戶進行授權;具體而言,數據擁有者通過步驟(5)中的方法對用戶進行授權;(14)云平臺在用戶申請授權成功后通知用戶。步驟⑷包括以下子步驟(4-1)利用對稱加密算法對數據進行加密;(4-2)使用改進的基于身份的代理重加密算法對對稱加密算法中的密鑰進行加密;(4-3)將加密后的密鑰的密文附在DES算法加密的數據的密文之后,以此來實現密鑰封裝;(4-4)將加密后的數據上傳到云平臺。步驟(5)包括以下子步驟(5-1)用戶使用自己的私鑰、待授權用戶的公鑰以及公共參數計算出重加密密鑰;(5-2)將重加密密鑰上傳到云平臺的密鑰服務器;(5-3)云平臺根據重加密密鑰更新用戶的授權信息。步驟(13)中數據擁有者通過步驟(5-1)至(5-3)對用戶進行授權。步驟⑶包括以下子步驟
(8-1)云平臺從密鑰服務器獲取用戶對應的重加密密鑰;(8-2)云平臺使用該重加密密鑰對密文進行轉換;(8-3)云平臺將轉換后的密文發送給用戶。步驟(10)包括以下子步驟(10-1)用戶獲取處理過后的數據內容及修改后的細粒度;(10-2)使用改進后的基于身份的代理重加密算法將數據內容寫入密文;(10-3)將寫入后的密文上傳到云平臺;(10-4)云平臺使用修改過的密文替換原有密文。。 通過本發明所構思的以上技術方案,與現有技術相比,具有以下的有益效果(I)數據控制權歸用戶自己所有在本發明中,用戶數據在云端是密文形式存在的,數據的解密密鑰由用戶自己持有,云平臺也無法獲知數據明文,只有用戶授權了的用戶(包括云平臺)才能通過代理重加密操作將密文轉化為自己能解密的密文。(2)重加密計算開銷轉移到云端在本發明中,代理重加密服務部署在在云端,這樣減小了用戶在獲取了數據密文后要先進行重加密再進行解密的開銷。同時,云平臺為用戶提供的代理重加密服務具有透明性,用戶不會感覺到代理重加密服務器的存在,在授權用戶請求了數據后云平臺自動對數據進行重加密,用戶體驗更加友好。(3)優化了性能本發明中,首先通過密文封裝的思想,將用戶數據使用對稱加密,減小了公鑰密碼算法操作的數據量;然后,使用改進的基于身份的重加密算法加密對稱密鑰,減少雙線性映射次數,將基于身份的公鑰密碼體制的密文轉化為了另ー種公鑰密碼體制的密文,在不影響安全性的同時對性能進行了優化。(4)可變更訪問控制的細粒度控制在本發明中,對數據的訪問控制細粒度進行了更加細的控制。采用改進的基于身份的代理重加密算法,對于比較耗時的加密部分即使多用戶使用的數據也只需加密一次,同時加入單個文件級細粒度控制,可在單個或多個文件的等級上進行訪問控制權限的動態控制,并且在用戶對文件進行處理后或文件生命周期結束時撤銷其他用戶訪問權限。(5)能緩解用戶信任問題本發明能緩解用戶不信任云平臺的問題,在云平臺中使用代理重加密服務器對密文數據進行密文轉換操作,用戶數據在云平臺僅由ー種密文狀態轉換成另ー種密文狀態,無法獲得數據明文,而且代理重加密密鑰由不可逆算法產生,無法由代理重加密密鑰計算出私鑰信息,對代理服務器可信的依賴程度低;對于需要訪問數據的人,權限也是由用戶自己授予,這樣,數據的控制權歸用戶自己所有,同時,由于數據明文只出現在指定的用戶處,這在一定程度上也能在出現問題后進行責任的追究;綜合這些特點,用戶對云平臺的不信任問題將會得到緩解。
圖I是本發明云環境下的用戶隱私數據保護方法的架構圖。
圖2是本發明云環境下的用戶隱私數據保護方法的流程圖。圖3是本發明方法中步驟⑷的細化流程圖。圖4是本發明方法中步驟(5)的細化流程圖。圖5是本發明方法中步驟⑶的細化流程圖。圖6是本發明方法中步驟(10)的細化流程圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進ー步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
如圖I所示,在云平臺中,本發明通過以下的架構來為用戶提供隱私數據保護服務根據云平臺的需求及規模設置多個代理重加密節點,甚至可以在每個節點都部署代理重加密服務。同吋,設計幾個代理重加密密鑰存放節點用來存放用戶授權的重加密密鑰。在客戶端及其它需要調用數據存取接ロ的平臺上提供安全插件,安全插件可根據用戶需求提供加解密服務及授權服務,且私鑰由用戶自己持有。云平臺在服務時將提供兩套數據存取接ロ,根據用戶上傳的數據的安全需求進行不同的服務。對于包含隱私信息的數據,將會在上傳之前對數據進行加密,使得數據在云平臺中除了授權方外其它位置(包括云平臺)處于密文形態。而在要云平臺或其他用戶要使用數據不是直接對數據進行解密,而是通過代理重加密服務將數據由一種密文形態轉換成另ー種密文形態。在處理完數據后若需要將結果寫入原文件,或者數據所有者要撤銷之前的授權,可采用安全插件將處理結果和修改過的授權設置寫入。如圖2所示,本發明云平臺下的用戶隱私數據保護方法包括以下步驟(I)云平臺接收用戶請求,并判斷用戶請求的類型是上傳數據請求還是讀取數據請求,如果是上傳數據請求,則進入步驟(2),如果是讀取數據請求,則進入步驟¢),數據讀取請求中包含待讀取數據的標識;(2)云平臺判斷上傳數據請求是要上傳新數據還是對已上傳數據進行修改,如果是要上傳新數據,則進入步驟(3),否則進入步驟(10);(3)用戶判斷待上傳的數據是否包含隱私信息,如果包含隱私信息,則進入步驟
(4),否則直接將數據上傳到云平臺,過程結束;(4)對待上傳的數據進行加密,并通過安全接口上傳加密后的數據;如圖3所示,本步驟包括以下子步驟(4-1)利用對稱加密算法(Data Encryption Algorithm,簡稱DES)對數據進行加密;(4-2)使用改進的基于身份的代理重加密算法(Identity-based ProxyRe-encryption)對DES算法中的密鑰進行加密;具體而言,設密鑰明文為m,隨機選擇ー個安全參數k,設原明文所在域G為素數p產生的乘法群,其階為q = Pn,其中n為明文空間{0, l}n的維數,p是產生有限域G的素數,生成元為g,雙線性映射をGXG ^G1,任選ー隨機數a G Z;,其中2;是小于P的正整數夠成的群。哈希函數H1 {0,I}*-G,H2 -.G1 -* {0, l}n, pk = g°,對于身份標示為Alice的數據擁有者,計算出他的公鑰pkAlice = H1 (Alice),私鑰
權利要求
1.一種云環境下的用戶隱私數據保護方法,其特征在于,包括以下步驟 (1)云平臺接收用戶請求,并判斷用戶請求的類型是上傳數據請求還是讀取數據請求,如果是上傳數據請求,則進入步驟(2),如果是讀取數據請求,則進入步驟出),數據讀取請求中包含待讀取數據的標識; (2)云平臺判斷上傳數據請求是要上傳新數據還是對已上傳數據進行修改,如果是要上傳新數據,則進入步驟(3),否則進入步驟(10); (3)用戶判斷待上傳的數據是否包含隱私信息,如果包含隱私信息,則進入步驟(4),否則直接將數據上傳到云平臺,過程結束; (4)對待上傳的數據進行加密,并通過安全接口上傳加密后的數據; (5)用戶對加密后的數據進行授權; (6)云平臺根據數據讀取請求中待讀取數據的標識查找對應的數據,并判斷該數據是否是密文,如果是密文,則進入步驟(7),否則將數據直接下發到用戶,過程結束; (7)云平臺在重加密密鑰服務器中查找該用戶是否已授權,若已授權,則進入步驟(8),否則進入步驟(11); (8)云平臺使用代理重加密服務及用戶對應的重加密密鑰將數據重加密為用戶能解密的密文,并將該密文下發到用戶; (9)用戶使用自己的解密密鑰和安全插件的解密接ロ解密密文,以得到明文數據; (10)用戶使用客戶端插件調用相應的應用程序接ロ對已上傳的數據進行修改,以安全寫回數據處理結果和修改訪問細粒度; (11)云平臺向用戶返回處理狀態,即無訪問權限,井向用戶提供請求授權鏈接; (12)用戶通過請求授權鏈接向數據擁有者申請授權; (13)數據擁有者對用戶進行授權;具體而言,數據擁有者通過步驟(5)中的方法對用戶進行授權; (14)云平臺在用戶申請授權成功后通知用戶。
2.根據權利要求I所述的方法,其特征在于,步驟(4)包括以下子步驟 (4-1)利用對稱加密算法對數據進行加密; (4-2)使用改進的基于身份的代理重加密算法對對稱加密算法中的密鑰進行加密; (4-3)將加密后的密鑰的密文附在DES算法加密的數據的密文之后,以此來實現密鑰封裝; (4-4)將加密后的數據上傳到云平臺。
3.根據權利要求I所述的方法,其特征在于,步驟(5)包括以下子步驟 (5-1)用戶使用自己的私鑰、待授權用戶的公鑰以及公共參數計算出重加密密鑰; (5-2)將重加密密鑰上傳到云平臺的密鑰服務器; (5-3)云平臺根據重加密密鑰更新用戶的授權信息。
4.根據權利要求3所述的方法,其特征在于,步驟(13)中數據擁有者通過步驟(5-1)至(5-3)對用戶進行授權。
5.根據權利要求I所述的方法,其特征在于,步驟(8)包括以下子步驟 (8-1)云平臺從密鑰服務器獲取用戶對應的重加密密鑰; (8-2)云平臺使用該重加密密鑰對密文進行轉換;(8-3)云平臺將轉換后的密文發送給用戶。
6.根據權利要求I所述的方法,其特征在于,步驟(10)包括以下子步驟(10-1)用戶獲取處理過后的數據內容及修改后的細粒度;(10-2)使用改進后的基于身份的代理重加密算法將數據內容寫入密文;(10-3)將寫入后的密文上傳到云平臺;(10-4)云平臺使用修改過的密文替換原有密文。
全文摘要
本發明公開了一種云環境下的用戶隱私數據保護方法,包括云平臺接收用戶請求,并判斷用戶請求的類型是上傳數據請求還是讀取數據請求,如果是讀取數據請求,則云平臺根據數據讀取請求中待讀取數據的標識查找對應的數據,并判斷該數據是否是密文,如果是密文,則云平臺在重加密密鑰服務器中查找該用戶是否已授權,若已授權,則云平臺使用代理重加密服務及用戶對應的重加密密鑰將數據重加密為用戶能解密的密文,并將該密文下發到用戶,用戶使用自己的解密密鑰和安全插件的解密接口解密密文,以得到明文數據,用戶使用客戶端插件調用相應的應用程序接口對已上傳的數據進行修改。本發明在保護用戶隱私數據的同時,不影響用戶數據在云平臺使用的需求。
文檔編號H04L29/06GK102655508SQ20121011611
公開日2012年9月5日 申請日期2012年4月19日 優先權日2012年4月19日
發明者徐鵬, 羌衛中, 鄒德清, 金海 , 陳宏武 申請人:華中科技大學