面向云計算平臺的密文訪問控制系統及其訪問控制方法
【技術領域】
[0001] 本發明屬于云服務技術領域,尤其涉及一種面向云計算平臺的密文訪問控制系統 及其訪問控制方法。
【背景技術】
[0002] 隨著信息技術的發展,云計算(CloudComputing)成為全球信息技術領域的研宄 熱點和產業創新發展的重要機遇。云計算是一種可以更有效地利用計算資源為用戶提供各 種數據服務的新型計算模式,其將大量的計算資源、存儲資源和軟件資源鏈接在一起,運用 虛擬技術,為用戶提供可定制的計算、存儲和應用服務,避免用戶自身繁重的基礎設施的構 建和維護。云計算以其便利、經濟、高可擴展性等優勢受到越來越廣泛的關注。然而,在繁 華熱鬧的云盛宴背后,集中管理的云計算中心將成為黑客攻擊的重點目標,由于前所未有 的開放性與復雜性,其安全性面臨著比以往更為嚴峻的考驗。
[0003] 在云計算平臺中,由于采用數據遠程托管技術,云服務提供商是數據的物理擁有 者,與數據屬主并不在同一個信任域中。云服務提供商管理著多個用戶及其資源,當用戶跨 邊界訪問其它用戶資源時,需要采用一定的訪問控制方案來控制對數據和服務的訪問。但 實際中,由于云計算平臺是采用虛擬化存儲技術,云計算服務同底層硬件環境之間是松耦 合的,不同用戶的數據間缺乏固定不變的安全邊界,由此增加了在云計算平臺對數據實施 訪問控制的難度。
[0004] 現有的云計算平臺可采用傳統的基于屬性的加密方案。基于屬性的加密方案可以 作為基于身份的密碼體制的泛化和擴展,更詳細地說,在基于身份的密碼體制中加入訪問 結構的概念就可以得到基于屬性的加密方案。但基于屬性的加密方案從基于身份的密碼體 制繼承了密鑰托管的問題,即是說,所有用戶的用戶私鑰是通過一個完全可信的密鑰生成 中心來產生和分發的。在這種情況下,一個懷惡意的密鑰生成中心可以解密任何用戶的所 有密文,更有甚者,密鑰生成中心可能惡意地分發用戶私鑰。同時,在云計算平臺上,用戶無 法信賴云服務提供商忠實的實施用戶定義的訪問控制方案,安全性差。
【發明內容】
[0005] 本發明的目的在于提供一種面向云計算平臺的密文訪問控制系統,旨在解決現有 采用基于屬性加密方案的云計算平臺中,用戶的私鑰是通過一個完全可信的密鑰生成中心 來產生和分發,以及無法信賴云服務提供商忠實實施用戶定義的訪問控制方案,由此帶來 訪問控制系統安全性差的問題。
[0006] 本發明是這樣實現的,一種面向云計算平臺的密文訪問控制系統,所述系統包 括:
[0007] 授權中心,用基于屬性加密機制,生成系統的第一公共參數和第一主私鑰,之后基 于屬性加密機制生成用戶的第一私鑰,將所述第一私鑰分發給用戶;
[0008] 云端,用于生成系統的第二公共參數和第二主私鑰,之后結合所述第二公共參數 和所述授權中心生成的所述第一公共參數生成并公布最終公共參數,并根據所述第二主私 鑰生成用戶的第二私鑰,之后將所述第二私鑰分發給用戶;
[0009] 由用戶運行的客戶端,用于對所述第一私鑰和所述第二私鑰進行整合,得到最終 用戶私鑰,還用于當需要上傳數據時,根據輸入的所述最終公共參數、訪問結構和消息編 號,對需上傳數據進行加密,之后將得到的密文和消息編號上傳到所述云端,還用于當需要 共享數據時,向所述云端發出訪問請求以獲取密文和消息編號,并根據所述最終用戶私鑰 和所述最終公共參數,對所述云端發送的密文進行解密。
[0010] 本發明的另一目的在于提供一種如上所述的面向云計算平臺的密文訪問控制系 統的訪問控制方法,所述方法包括以下步驟:
[0011] 授權中心基于屬性加密機制生成系統的第一公共參數和第一主私鑰,之后基于屬 性加密機制生成用戶的第一私鑰,將所述第一私鑰分發給共享用戶,并將所述第一公共參 數公布在云端;
[0012] 云端生成系統的第二公共參數和第二主私鑰,并結合所述第一公共參數和所述第 二公共參數生成并在所述云端公布最終公共參數,并根據所述第二主私鑰生成用戶的第二 私鑰,之后將所述第二私鑰分發給用戶;
[0013] 用戶對所述第一私鑰和所述第二私鑰進行整合,得到最終用戶私鑰;
[0014] 數據屬主運行客戶端,根據輸入的所述最終公共參數、訪問結構和消息編號,對需 上傳數據進行加密,之后將得到的密文和所述消息編號上傳到云端;
[0015] 共享用戶運行客戶端,向云端發出訪問請求以獲取密文和消息編號,并根據所述 最終用戶私鑰和所述最終公共參數,對云端發送的密文進行解密。
[0016] 本發明提出的面向云計算平臺的密文訪問控制系統及其訪問控制方法針對傳統 的屬性加密方案所存在的密鑰托管問題,將用戶的一部分私鑰生成工作交給授權中心完 成,將用戶的其余部分私鑰生成工作交給云端完成,授權中心與云端分別獨立且不能共謀, 從而保證了用戶數據的隱私性和機密性,保證了數據屬主的數據安全,同時支持對訪問者 實施細粒度的訪問控制,進而提高了云計算平臺的實用性、安全性與可靠性。
【附圖說明】
[0017] 圖1是本發明實施例提供的面向云計算平臺的密文訪問控制系統的結構圖;
[0018] 圖2是本發明實施例提供的面向云計算平臺的密文訪問控制系統的訪問控制方 法的流程圖。
【具體實施方式】
[0019] 為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0020] 針對現有云計算平臺采用的基于屬性加密方案所存在的密鑰托管問題,本發明面 向云計算平臺的密文訪問控制系統及方法中,將用戶的一部分私鑰生成工作交給授權中心 完成,將用戶的其余部分私鑰生成工作交給云端完成。
[0021] 圖1示出了本發明實施例提供的面向云計算平臺的密文訪問控制系統的結構,為 了便于說明,僅示出了與本發明實施例相關的部分。
[0022] 詳細地,本發明實施例提供的面向云計算平臺的密文訪問控制系統包括:授權中 心1,用基于屬性加密機制,生成系統的第一公共參數和第一主私鑰,之后基于屬性加密機 制生成用戶的第一私鑰,將第一私鑰分發給用戶;云端2,用于生成系統的第二公共參數和 第二主私鑰,之后結合第二公共參數和授權中心1生成的第一公共參數生成并公布最終公 共參數,并根據第二主私鑰生成用戶的第二私鑰,之后將第二私鑰分發給用戶;由用戶運行 的客戶端3,用于對第一私鑰和第二私鑰進行整合,得到最終用戶私鑰,還用于當需要上傳 數據時,根據輸入的最終公共參數、訪問結構和消息編號,對需上傳數據進行加密,之后將 得到的密文和消息編號上傳到云端2,還用于當需要共享數據時,向云端2發出訪問請求以 獲取密文和消息編號,并根據最終用戶私鑰和最終公共參數,對云端2發送的密文進行解 您 I_Lj〇
[0023] 本發明中,用戶可進一步區分為數據屬主和共享用戶,數據屬主、共享用戶分別是 客戶端3的運行主體。其中,數據屬主是數據文件的所有者,可以創建、更新、刪除數據,同 時希望將數據加密后上傳至云端2以實現數據共享;共享用戶是希望從云端2下載共享數 據的一方。數據屬主需要根據系統屬性的信息定義共享數據的密文的訪問控制方案,共享 用戶所擁有與屬性集合相關的密鑰只有滿足數據屬主制定的訪問結構時,才能成功解密密 文,這樣便使得數據屬主能夠自由控制共享用戶訪問自身提供的共享數據。同時,數據屬主 不需一直在線,不僅提高了數據共享的靈活性,且保護了數據的機密性。
[0024] 應當理解,定義數據屬主與共享用戶的目的是為了區別運行客戶端12的主體在 系統某次運行過程中的功能是上傳數據或下載數據,因而在系統某次運行過程中的數據屬 主可以是另一次運行過程中的共享用戶,同樣地,在系統某次運行過程中的共享用戶可以 是另一次運行過程中的數