一種安全云存儲系統(tǒng)的分層密鑰管理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機存儲技術(shù)領(lǐng)域,更具體地,涉及一種安全云存儲系統(tǒng)的分層密 鑰管理方法。
【背景技術(shù)】
[0002] 云存儲的迅猛發(fā)展給用戶帶來便利的同時,也帶來了許多的安全隱患。在云存儲 環(huán)境下,數(shù)據(jù)擁有者把數(shù)據(jù)存儲到云端,失去了對數(shù)據(jù)的絕對控制。數(shù)據(jù)加密和數(shù)據(jù)的安全 訪問控制是保護數(shù)據(jù)免受非法訪問的兩種最基本技術(shù)。如何對云存儲系統(tǒng)中使用的各種密 鑰進行高效靈活的組織、分發(fā)、管理,如何應(yīng)對訪問控制策略變更帶來的數(shù)據(jù)重加密和密鑰 更新問題,已成為安全云存儲密鑰管理研宄的核心問題。
[0003] 現(xiàn)有的安全云存儲系統(tǒng)的密鑰管理方法主要是基于用戶的樹結(jié)構(gòu)的密鑰管理方 法,將密碼算法和授權(quán)結(jié)合,通過選擇性加密實施訪問控制,采減少用戶持有的密鑰數(shù)量; 密文策略屬性基加密(ciphertextpolicy-attributebasedencryption,簡稱CP-ABE)的 密鑰管理方法引入代理重加密技術(shù),降低了在密鑰更新過程中數(shù)據(jù)擁有者處理的開銷;適 用于云存儲動態(tài)策略的密文訪問控制方法(cryptographicaccesscontrolstrategyfor dynamicpolicy,簡稱CA⑶P),這種密鑰管理方法采用雙層加密策略降低文件重加密的開 銷。
[0004] 然而,現(xiàn)有的云存儲系統(tǒng)的密鑰管理方法存在有以下問題:
[0005] 1、采用基于用戶樹結(jié)構(gòu)的密鑰管理方法對于系統(tǒng)的動態(tài)性支持不好,在訪問策略 時,整個密鑰管理樹幾乎需要重建,嚴重制約了數(shù)據(jù)擁有者的處理效率;
[0006] 2、引入代理重加密技術(shù)的CP-ABE密鑰管理方法中雖然對密鑰更新的處理開銷做 了優(yōu)化,但是文件的重加密開銷仍由數(shù)據(jù)擁有者完成,且隨著加密次數(shù)的增加,密文的長度 也會不斷增加,不適合頻繁的訪問策略變更的云存儲環(huán)境;
[0007] 3、CA⑶P密鑰管理方法雖然在一定程度上降低了數(shù)據(jù)擁有者對文件重加密的開 銷,但這種方法執(zhí)行的是立即重加密,并且重加密的開銷完全由數(shù)據(jù)有者承擔。
【發(fā)明內(nèi)容】
[0008] 針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供了一種安全云存儲系統(tǒng)的分層 密鑰管理方法,其目的在于,解決現(xiàn)有云存儲系統(tǒng)的密鑰管理方法中存在的上述密鑰管理 樹需要重建、密文長度增加、數(shù)據(jù)擁有者處理文件重加密開銷過高的技術(shù)問題。
[0009] 為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種安全云存儲的分層密鑰管 理方法,包括以下步驟:
[0010] (1)數(shù)據(jù)擁有者接收來自客戶端的文件操作請求,并對該文件操作請求進行解析, 以確定該文件操作請求是發(fā)布文件請求,還是更新文件請求,還是刪除文件請求,還是文件 權(quán)限撤銷請求,如果是發(fā)布文件請求,則進入步驟(2),如果是更新文件請求,則進入步驟 (3),如果是刪除文件請求,則進入步驟(4),如果是文件權(quán)限撤銷請求,則進入步驟(5);
[0011] (2)數(shù)據(jù)擁有者根據(jù)發(fā)布文件請求創(chuàng)建新的資源類,為該資源類在密鑰管理樹中 添加一條路徑,用對稱加密算法為該路徑上的非葉子節(jié)點生成對稱密鑰,用非對稱加密算 法為該路徑上的葉子節(jié)點生成非對稱密鑰對,并根據(jù)生成的對稱密鑰和非對稱密鑰對為該 路徑上的全部N個節(jié)點生成N-1個令牌,使用與上述相同的對稱加密算法隨機生成一個角 色令牌,使用與上述相同的對稱加密算法為該發(fā)布文件請求對應(yīng)的文件生成一個隨機密 鑰,使用該隨機密鑰對該文件進行加密以生成文件密文,并使用生成的非對稱密鑰對中的 公鑰對隨機密鑰進行加密以生成密鑰密文,并將文件密文、密鑰密文、N-1個令牌以及角色 令牌上傳到云服務(wù)提供商,其中N為自然數(shù);
[0012] (3)數(shù)據(jù)擁有者根據(jù)更新文件請求從云服務(wù)提供商獲得對應(yīng)文件的密文、加密該 文件的密鑰的密文、以及該文件的令牌,根據(jù)該令牌并利用非對稱加密算法獲得用于解密 該文件密鑰的密鑰,并利用該密鑰解密該文件的密鑰的密文,以得到文件的密鑰,并根據(jù)對 稱加密算法利用得到的該密鑰解密該文件的密文,以得到文件的明文,根據(jù)更新文件請求 修改該明文,使用文件密鑰對該文件進行加密以生成文件密文,并使用生成的非對稱密鑰 對中的公鑰對隨機密鑰進行加密以生成密鑰密文,并將文件密文、密鑰密文、N-1個令牌以 及角色令牌上傳到云服務(wù)提供商;
[0013] (4)數(shù)據(jù)擁有者根據(jù)刪除文件請求判斷其對應(yīng)的文件是否存在于密鑰管理樹中, 如果存在則從云服務(wù)提供商中刪除該文件的密文、加密該文件的密鑰的密文、以及該文件 的令牌,并將該文件在密鑰管理樹中的路徑刪除,否則向客戶端返回出錯信息;
[0014] (5)數(shù)據(jù)擁有者根據(jù)文件權(quán)限撤銷請求生成一把新的文件密鑰,根據(jù)新的文件密 鑰和舊文件密鑰計算文件密鑰的重加密密鑰,把重加密密鑰傳遞給云服務(wù)提供商,并把新 的文件密鑰通過安全信道傳遞給對該文件具有訪問權(quán)限的用戶。
[0015] 優(yōu)選地,步驟(1)具體為,對文件操作請求中的CMD字段進行解析,如果該字段的 域操作符為republish,則該文件操作請求為發(fā)布文件請求,如果該域操作符為update,貝1J 該文件操作請求為更新文件請求,如果該域操作符為delete,則該文件操作請求為刪除文 件請求,如果該字段的域操作符為revocation,則該文件操作請求為文件權(quán)限撤銷請求。
[0016] 優(yōu)選地,步驟(2)中的對稱加密算法采用的是AES算法,非對稱加密算法采用的是 ElGamal算法。
[0017] 優(yōu)選地,步驟(2)包括以下子步驟:
[0018] (2-1)數(shù)據(jù)擁有者將文件的基本信息及訪問控制向量發(fā)送給云服務(wù)提供商,并且 云服務(wù)提供商判斷數(shù)據(jù)擁有者的訪問控制向量是否已經(jīng)在系統(tǒng)中存在,如果不存在,則進 入步驟(2-2),如果存在,則進入步驟(2-5);
[0019] (2-2)數(shù)據(jù)擁有者創(chuàng)建新的資源類,為新的資源類創(chuàng)建從密鑰管理樹的樹根到RCf 這個葉節(jié)點的路徑上的節(jié)點Ni,N2,N3,…隊,其中i為路徑上所有節(jié)點的數(shù)量;
[0020] (2-3)為路徑上的非葉子節(jié)點Ni,N2,隊…?Nh隨機生成對稱密鑰Ki,K2,心…Kh, 為葉子節(jié)點隊隨機生成非對稱加密密鑰AKi,為對應(yīng)的文件生成AES對稱加密的文件密鑰 ,為每個對該資源類具有訪問權(quán)限的用戶分發(fā)角色密鑰KMle;
[0021] (2-4)根據(jù)公式7^2=A?Hash(義丨)建立路徑上父節(jié)點與子節(jié)點的關(guān)系,以得 到令牌鏈,其中I為密鑰管理樹中的任一父節(jié)點,K2為Ki的孩子節(jié)點,T12是得到的令牌,Hash是使用的SHA-1算法。
[0022] (2-5)使用KaJm密資源類中的文件得到文件的密文,使用非對稱加密密鑰AK^口 密文件的對稱加密密鑰Kaes,以得到文件密鑰的密文,并把文件密文、密鑰密文,文件的訪問 控制向量上傳到云服務(wù)提供商;
[0023] (2-6)數(shù)據(jù)擁有者為每一個對此文件具有訪問權(quán)限的用戶分發(fā)角色密鑰KMle。
[0024] 優(yōu)選地,步驟(5)包括以下子步驟:
[0025] (5-1)數(shù)據(jù)擁有者根據(jù)文件權(quán)限撤銷請求生成一把新的對稱加密密鑰K',把密鑰 K'分發(fā)到除了數(shù)據(jù)使用者之外的所有對文件權(quán)限撤銷請求對應(yīng)的文件具有訪問權(quán)限的數(shù) 據(jù)使用者;
[0026] (5-2)另一個數(shù)據(jù)使用者向云服務(wù)提供商發(fā)送數(shù)據(jù)請求,發(fā)送的數(shù)據(jù)包括數(shù)據(jù)使 用者的身份信息和文件的索引信息;
[0027] (5-3)云服務(wù)提供商返回另一個