一種云存儲環(huán)境中的用戶訪問權(quán)限回收方法
【專利摘要】本發(fā)明公開了一種云存儲環(huán)境中用戶權(quán)限回收的方法,解決現(xiàn)有云環(huán)境中用戶權(quán)限回收時(shí)引起安全隱患和數(shù)據(jù)重加密帶來的性能開銷問題。包括:客戶端進(jìn)程,云存儲系統(tǒng)進(jìn)程和安全管理中心進(jìn)程,云存儲系統(tǒng)實(shí)現(xiàn)令牌鏈管理更新,通知安全管理中心分發(fā)密鑰、令牌,對密文置入干擾塊處理以及用戶訪問請求判斷回復(fù);安全管理中心實(shí)現(xiàn)用戶注冊、登錄,權(quán)限授予、回收,密鑰管理、分發(fā),以及用戶令牌分發(fā)。本發(fā)明利用令牌機(jī)制實(shí)現(xiàn)密文的干擾處理,采用立即回收機(jī)制,當(dāng)回收用戶權(quán)限時(shí),立即更新令牌并對密文進(jìn)行重干擾處理,解決了非立即回收機(jī)制中用戶權(quán)限回收時(shí)引起的安全隱患。本方法無需對數(shù)據(jù)進(jìn)行重加密處理,極大地減少了系統(tǒng)的性能開銷。
【專利說明】—種云存儲環(huán)境中的用戶訪問權(quán)限回收方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)存儲技術(shù)和信息安全【技術(shù)領(lǐng)域】,更具體地,涉及一種云存儲環(huán)境中的用戶訪問權(quán)限回收方法。
【背景技術(shù)】
[0002]云存儲系統(tǒng)在為用戶提供數(shù)據(jù)存儲和業(yè)務(wù)服務(wù)的同時(shí),其云端數(shù)據(jù)的安全性一直是用戶和企業(yè)管理者尤為關(guān)注的重要問題。為保障用戶數(shù)據(jù)的私密性,當(dāng)前的云存儲安全框架一般是對數(shù)據(jù)進(jìn)行加密存儲,云服務(wù)提供商使用相應(yīng)的訪問控制策略來判斷用戶對該數(shù)據(jù)是否擁有合法的的訪問權(quán)限,密鑰的管理和分發(fā)由可信第三方負(fù)責(zé)。雖然這在一定程度上加強(qiáng)了云端數(shù)據(jù)的安全性,但密文存儲的形式也會引發(fā)新的問題。當(dāng)需要變更用戶對某數(shù)據(jù)的訪問權(quán)限時(shí),為保證回收權(quán)限的用戶持有該數(shù)據(jù)的密鑰無效,一般的方案是對該數(shù)據(jù)進(jìn)行重加密處理,然后進(jìn)行密鑰的更新與重新分發(fā)。由于云環(huán)境中用戶規(guī)模龐大且用戶權(quán)限可能頻繁變更,數(shù)據(jù)的重加密和密鑰的重分發(fā)將會帶來極大的性能開銷。如果將重加密放在用戶上傳數(shù)據(jù)時(shí)進(jìn)行,由于用戶執(zhí)行上傳數(shù)據(jù)操作時(shí)間是不確定的,導(dǎo)致數(shù)據(jù)的重加密時(shí)機(jī)也是不確定的,而這期間已被回收權(quán)限的用戶依然可以訪問該數(shù)據(jù),可能出現(xiàn)回收權(quán)限用戶惡意向系統(tǒng)寫臟數(shù)據(jù),此外此方案無法解決只讀數(shù)據(jù)的重加密問題。
【發(fā)明內(nèi)容】
[0003]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種云存儲環(huán)境中的用戶訪問權(quán)限回收方法,其目的在于,通過云端基于密文的擲亂處理,以實(shí)現(xiàn)用戶權(quán)限的立即回收,以解決現(xiàn)有用戶權(quán)限回收時(shí)引起的安全隱患以及對數(shù)據(jù)進(jìn)行重加密引起極大性能開銷的技術(shù)問題。
[0004]為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種云存儲環(huán)境中的用戶訪問權(quán)限回收方法,包括以下步驟:
[0005](I)客戶端接收來自用戶的數(shù)據(jù)操作請求,并判斷該請求類型,讀數(shù)據(jù)請求還是權(quán)限操作請求,如果是寫數(shù)據(jù)請求,則轉(zhuǎn)入步驟(2),如果是讀數(shù)據(jù)請求,則轉(zhuǎn)入步驟(6),如果是權(quán)限操作請求,則轉(zhuǎn)入步驟(11);
[0006](2)客戶端隨機(jī)生成用于對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)進(jìn)行加密的對稱密鑰,并向安全管理中心提交加密密鑰請求;
[0007](3)安全管理中心根據(jù)加密密鑰請求確定該用戶的合法性,并判斷合法用戶是否在寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若不在則獲得該數(shù)據(jù)對應(yīng)的加密密鑰,并將該加密密鑰返回給客戶端;
[0008](4)客戶端利用步驟(2)中生成的對稱密鑰,利用對稱加密算法加密寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù),以得到密文數(shù)據(jù),利用接收到的加密密鑰和公私鑰加密算法加密生成的對稱密鑰,以得到密文密鑰,將密文數(shù)據(jù)及密文密鑰打包為密文數(shù)據(jù)包,并向云存儲端發(fā)送寫數(shù)據(jù)請求;[0009](5)云存儲端接收來自客戶端的寫數(shù)據(jù)請求,根據(jù)該寫數(shù)據(jù)請求確定該用戶的合法性,并在合法的用戶對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)擁有寫訪問權(quán)限時(shí)隨機(jī)生成一個(gè)令牌,并將該令牌作為寫數(shù)據(jù)請求中的數(shù)據(jù)對應(yīng)令牌鏈的鏈尾令牌,隨機(jī)生成干擾塊并按照令牌中制定的規(guī)則,將干擾塊插入密文數(shù)據(jù),并保存得到的數(shù)據(jù);
[0010](6)客戶端向云存儲端發(fā)出讀數(shù)據(jù)請求;
[0011](7)云存儲端根據(jù)來自客戶端的讀數(shù)據(jù)請求中的用戶身份證書確定該用戶的合法性,并在合法的用戶擁有對該數(shù)據(jù)的讀訪問權(quán)限時(shí)將該數(shù)據(jù)返回給客戶端,查找該數(shù)據(jù)對應(yīng)的令牌鏈中的鏈尾令牌,向安全管理中心發(fā)送密鑰請求;
[0012](8)安全管理中心根據(jù)該密鑰請求判斷用戶是否在讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若不在則查找請求數(shù)據(jù)所對應(yīng)的解密密鑰,并將解密密鑰、令牌返回給客戶端,然后進(jìn)入步驟(9),若存在,則向客戶端返回客戶端拒絕服務(wù)信息,然后過程結(jié)束;
[0013](9)客戶端等待并接收云存儲端及安全管理中心返回的信息,若云存儲端返回信息為請求的數(shù)據(jù)信息且安全管理中心返回信息為解密密鑰及令牌,則轉(zhuǎn)步驟(10),否則過程結(jié)束;
[0014](10)客戶端利用返回的令牌處理返回的數(shù)據(jù),剔除數(shù)據(jù)中的干擾塊,得到密文數(shù)據(jù),利用返回的解密密鑰解密返回?cái)?shù)據(jù)中的密文密鑰得到對稱密鑰,并利用對稱密鑰解密密文數(shù)據(jù),以得到用戶請求原始數(shù)據(jù);
[0015](11)客戶端向安全管理中心發(fā)出用戶權(quán)限回收請求;
[0016](12)安全管理中心根據(jù)客戶端用戶權(quán)限回收請求驗(yàn)證用戶身份證書,以判斷用戶是否合法,如果合法則轉(zhuǎn)步驟(13),否則向客戶端返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束;
[0017](13)安全管理中心判斷回收權(quán)限的用戶是否在該用戶權(quán)限回收請求對應(yīng)數(shù)據(jù)ID所對應(yīng)的權(quán)限回收列表中,若用戶不在權(quán)限回收列表中,則將回收權(quán)限的用戶ID插入權(quán)限回收列表,向云存儲端發(fā)出用戶權(quán)限回收請求,并向客戶端返回用戶權(quán)限回收成功信息,然后轉(zhuǎn)入步驟(14);若用戶在權(quán)限回收列表中,則向客戶端返回該用戶已在權(quán)限回收列表中提示信息;
[0018](14)云存儲端根據(jù)用戶權(quán)限回收請求查找其中數(shù)據(jù)ID所對應(yīng)的令牌鏈,并獲得鏈尾令牌,利用獲得的鏈尾令牌剔除數(shù)據(jù)ID所對應(yīng)的數(shù)據(jù)中的干擾塊,得到未經(jīng)過干擾處理的密文數(shù)據(jù),利用令牌生成規(guī)則,隨機(jī)生成一把新的令牌,并將其加入令牌鏈,作為新的鏈尾令牌,隨機(jī)生成干擾塊并按照新令牌中制定的規(guī)則,將干擾塊插入獲得的密文數(shù)據(jù),得到并保存新的干擾數(shù)據(jù),并返回客戶端用戶權(quán)限回收成功信息。
[0019]優(yōu)選地,加密密鑰請求包括用戶身份證書、以及寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的ID號,寫數(shù)據(jù)請求包括用戶身份證書、打包后的密文數(shù)據(jù)、密文密鑰、寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的元數(shù)據(jù),讀數(shù)據(jù)請求包括用戶身份證書和讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的ID,用戶權(quán)限回收請求包括用戶身份證書、用戶權(quán)限回收請求對應(yīng)的數(shù)據(jù)的ID和回收權(quán)限的用戶ID。
[0020]優(yōu)選地,步驟(3)包括以下子步驟:
[0021](3-1)安全管理中心根據(jù)加密密鑰請求中的用戶身份證書判斷用戶是否合法,如果合法則轉(zhuǎn)入步驟(3-2),否則向用戶返回請求失敗信息,然后過程結(jié)束;
[0022](3-2)安全管理中心判斷該用戶是否在寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若在則返回用戶請求失敗信息,否則轉(zhuǎn)入步驟(3-3),其中若權(quán)限列表不存在則表示用戶不在權(quán)限回收列表中;
[0023](3-3)安全管理中心查找是否可以在本地密鑰庫中找到該數(shù)據(jù)對應(yīng)的加密密鑰,若找到則轉(zhuǎn)入步驟(3-4),否則轉(zhuǎn)入步驟(3-5);
[0024](3-4)安全管理中心將查找到的加密密鑰返回給客戶端,然后進(jìn)入步驟(4);
[0025](3-5)安全管理中心根據(jù)該數(shù)據(jù)并利用公私鑰加密機(jī)制隨機(jī)生成并保存加密密鑰,并將生成的加密密鑰返回給客戶端,然后進(jìn)入步驟(4)。
[0026]優(yōu)選地,還包括步驟:客戶端在接收到來自安全管理中心的加密密鑰后,向安全管理中心發(fā)送正確接收應(yīng)答,
[0027]優(yōu)選地,步驟(5)包括以下子步驟:
[0028](5-1)云存儲端接收來自客戶端的寫數(shù)據(jù)請求,驗(yàn)證用戶身份證書,以判斷用戶是否合法,若非法則返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束;若合法則轉(zhuǎn)步驟(5-2);
[0029](5-2)云存儲端判斷用戶是否擁有對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的寫訪問權(quán)限,若沒有權(quán)限則返回用戶無寫訪問權(quán)限信息,然后過程結(jié)束,若有寫訪問權(quán)限,則轉(zhuǎn)步驟(5-3);
[0030](5-3)云存儲端隨機(jī)生成一個(gè)令牌,并將該令牌作為寫數(shù)據(jù)請求中的數(shù)據(jù)對應(yīng)令牌鏈的鏈尾令牌,隨機(jī)生成干擾塊并按照令牌中制定的規(guī)則,將干擾塊插入密文數(shù)據(jù),保存得到的數(shù)據(jù),并向客戶端返回用戶寫數(shù)據(jù)成功信息。
[0031]優(yōu)選地,步驟(7)包括以下子步驟:
[0032](7-1)云存儲端根據(jù)來自客戶端的讀數(shù)據(jù)請求中的用戶身份證書判斷用戶是否合法,如果合法則轉(zhuǎn)步驟(7-2),否則向客戶端返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束;
[0033](7-2)云存儲端判斷讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)是否存在,若存在則轉(zhuǎn)步驟(7-3),否則向客戶端返回請求數(shù)據(jù)不存在信息,然后過程結(jié)束;
[0034](7-3)云存儲端判斷用戶是否擁有對該數(shù)據(jù)的讀訪問權(quán)限,若有則將該數(shù)據(jù)返回給客戶端,查找該數(shù)據(jù)對應(yīng)的令牌鏈中的鏈尾令牌,向安全管理中心發(fā)送密鑰請求,該請求包括數(shù)據(jù)的ID、鏈尾令牌、用戶身份證書;否則向客戶端返回用戶無讀訪問權(quán)限信息。
[0035]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
[0036](I)可以實(shí)現(xiàn)用戶權(quán)限的立即回收,避免由于用戶權(quán)限回收可能出現(xiàn)的安全隱患,如在非立即回收機(jī)制中,回收權(quán)限的用戶由于其依舊滿足訪問控制條件,依然可以對數(shù)據(jù)進(jìn)行訪問,甚至可以進(jìn)行惡意的寫臟數(shù)據(jù);其次,用戶權(quán)限回收時(shí)間的不確定性,會造成系統(tǒng)的安全漏洞;此外非立即回收機(jī)制無法解決只讀數(shù)據(jù)重加密問題;
[0037](2)傳統(tǒng)的用戶權(quán)限回收機(jī)制中,不可避免的需要進(jìn)行重加密操作,使回收權(quán)限用戶的舊密鑰失效以避免其利用舊密鑰解密密文獲得最新的數(shù)據(jù)。而本發(fā)明提出的干擾塊處理方法,只需要對云端存儲的密文數(shù)據(jù)利用隨機(jī)生成的令牌中制定的規(guī)則,重新插入干擾塊,對于回收權(quán)限用戶由于無法獲得最新的令牌,因此即便擁有舊密鑰也無法解密得到原始數(shù)據(jù)。由于加密算法的性能瓶頸,因此重加密往往會帶來極大的性能開銷,而本發(fā)明利用密文數(shù)據(jù)的重新干擾處理,避免用戶權(quán)限回收時(shí)的重加密問題,極大的減少了系統(tǒng)的性能開銷;
[0038](3)本發(fā)明完全支持寫數(shù)據(jù)請求,本發(fā)明的用戶寫數(shù)據(jù)請求和現(xiàn)在通用寫數(shù)據(jù)流程區(qū)別在于云存儲端數(shù)據(jù)保存時(shí)增加了一步,利用令牌對上傳數(shù)據(jù)進(jìn)行插入干擾塊的處理,同理本發(fā)明也同樣支持用戶的數(shù)據(jù)其他訪問請求,如刪除、移動(dòng)、重命名等請求。
[0039](4)本發(fā)明適用性廣,并不局限于云環(huán)境系統(tǒng),由于令牌的生成規(guī)則、密文數(shù)據(jù)的干擾處理與云存儲系統(tǒng)都沒有必然聯(lián)系,因此對于任意一個(gè)存在用戶權(quán)限回收的系統(tǒng),本發(fā)明都將適用。
【專利附圖】
【附圖說明】
[0040]圖1為本發(fā)明的流程示意圖。
[0041]圖2為客戶端進(jìn)程示意圖。
[0042]圖3為云存儲端進(jìn)程示意圖。
[0043]圖4為令牌結(jié)構(gòu)示意圖。
[0044]圖5為令牌鏈結(jié)構(gòu)示意圖。
[0045]圖6為干擾塊結(jié)構(gòu)示意圖。
[0046]圖7為對密文數(shù)據(jù)進(jìn)行干擾處理示意圖。
[0047]圖8為安全管理中心進(jìn)程示意圖。
[0048]圖9為用戶登錄和讀訪問數(shù)據(jù)時(shí)序圖。
[0049]圖10為用戶登錄和寫訪問數(shù)據(jù)時(shí)序圖。
[0050]圖11為用戶登錄和回收用戶權(quán)限時(shí)序圖。
【具體實(shí)施方式】
[0051]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0052]以下首先就本發(fā)明的技術(shù)術(shù)語進(jìn)行解釋和說明:
[0053]原文件:指未加密的文件;
[0054]身份證書:一種標(biāo)志用戶身份特征的數(shù)據(jù)結(jié)構(gòu),用于用戶身份判斷以及訪問控制中判斷用戶是否擁有訪問權(quán)限;
[0055]對稱密碼機(jī)制:加密和解密采用相同的密鑰,解密是加密的逆運(yùn)算;
[0056]對稱密鑰:隨機(jī)生成的二進(jìn)制數(shù)據(jù),用于對原文件加密或解密;
[0057]加密文件:使用對稱密鑰對原文件采用對稱密鑰密碼機(jī)制加密后得到的文件;
[0058]完整性校驗(yàn)密鑰:隨機(jī)生成的二進(jìn)制數(shù)據(jù),用于對加密文件加密;
[0059]簽名文件:使用完整性校驗(yàn)密鑰,采用哈希函數(shù)對加密文件進(jìn)行加密得到的二進(jìn)制數(shù)據(jù);
[0060]權(quán)限回收列表:記錄回收權(quán)限的用戶標(biāo)識信息;
[0061]干擾塊:可自定義長度的二進(jìn)制數(shù)據(jù)塊;
[0062]令牌:記錄插入加密文件中所有的干擾塊的基本信息的數(shù)據(jù)結(jié)構(gòu),用于加密文件中插入或副除干擾塊;
[0063]令牌鏈:由令牌組成的鏈?zhǔn)浇Y(jié)構(gòu),其中鏈后面的令牌可以推導(dǎo)出之前的令牌,而之前的令牌無法推導(dǎo)出后面的令牌;
[0064]以下結(jié)合實(shí)施例和附圖對本發(fā)明進(jìn)一步說明。
[0065]如圖1所示,本發(fā)明包括客戶端進(jìn)程、云存儲系統(tǒng)進(jìn)程和安全管理中心進(jìn)程,分別運(yùn)行在分布式文件系統(tǒng)的客戶端主機(jī)、認(rèn)證端主機(jī)和云存儲系統(tǒng)主機(jī)上。三個(gè)模塊協(xié)同運(yùn)行,其中客戶端實(shí)現(xiàn)各種訪問操作請求,包括登陸系統(tǒng)、讀訪問數(shù)據(jù)請求,寫數(shù)據(jù)上傳和回收用戶權(quán)限,在客戶端,讀訪問數(shù)據(jù)時(shí),首先通過從安全管理中心接收的令牌剔除云存儲系統(tǒng)返回?cái)?shù)據(jù)中的干擾塊,恢復(fù)密文,然后利用密鑰進(jìn)行解密得到原始數(shù)據(jù);而寫訪問則是加密數(shù)據(jù),密文上傳;云存儲系統(tǒng)實(shí)現(xiàn)令牌鏈管理更新,通知安全管理中心分發(fā)密鑰、令牌,對密文置入干擾塊處理以及用戶訪問請求判斷回復(fù);安全管理中心實(shí)現(xiàn)用戶注冊、登錄,權(quán)限授予、回收,密鑰管理和分發(fā),以及用戶令牌分發(fā)。
[0066]本發(fā)明采用令牌鏈機(jī)制對用戶上傳的密文數(shù)據(jù)進(jìn)行干擾處理,因此用戶即便擁有解密密鑰,在沒有獲得相應(yīng)的令牌時(shí),用戶無法恢復(fù)密文數(shù)據(jù),因此無法解密密文得到原始數(shù)據(jù),從而避免了用戶權(quán)限回收時(shí)必要的重加密操作。
[0067]令牌是一個(gè)包含干擾塊生成及插入密文規(guī)則的數(shù)據(jù)結(jié)構(gòu),云端可以通過令牌對密文進(jìn)行干擾處理;用戶可以通過令牌將干擾處理后的數(shù)據(jù)中的干擾塊剔除,從而恢復(fù)密文數(shù)據(jù)。令牌鏈,是由令牌組成的鏈?zhǔn)浇Y(jié)構(gòu),其中鏈后面的令牌可以推出之前的令牌,而之前的令牌無法推出后面的令牌,其中鏈尾令牌為云端用于干擾處理密文數(shù)據(jù)的關(guān)鍵令牌,同時(shí)也是用戶進(jìn)行剔除干擾塊處理的令牌。當(dāng)用戶權(quán)限回收時(shí),只需要在令牌鏈上新生成一個(gè)鏈尾令牌,并利用新生成的令牌對密文數(shù)據(jù)進(jìn)行重新干擾處理,即可實(shí)現(xiàn)用戶權(quán)限的立即回收。
[0068]如圖1所示,本發(fā)明云存儲環(huán)境中的用戶訪問權(quán)限回收方法包括以下步驟:
[0069](I)客戶端接收來自用戶的數(shù)據(jù)操作請求,并判斷該請求類型,讀數(shù)據(jù)請求還是權(quán)限操作請求,如果是寫數(shù)據(jù)請求,則轉(zhuǎn)入步驟(2),如果是讀數(shù)據(jù)請求,則轉(zhuǎn)入步驟(13),如果是權(quán)限操作請求,則轉(zhuǎn)入步驟(20);
[0070](2)客戶端隨機(jī)生成用于對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)進(jìn)行加密的對稱密鑰,并向安全管理中心提交加密密鑰請求,該請求包括用戶身份證書、以及寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的ID號;具體而言,本步驟是采用對稱加密算法(如Advanced Encryption Standard,簡稱AES)生成密鑰;
[0071](3)安全管理中心根據(jù)加密密鑰請求中的用戶身份證書判斷用戶是否合法,如果合法則轉(zhuǎn)入步驟(4),否則向用戶返回請求失敗信息,然后過程結(jié)束;
[0072](4)安全管理中心判斷該用戶是否在寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若在則返回用戶請求失敗信息,否則轉(zhuǎn)入步驟(5),其中若權(quán)限列表不存在則表示用戶不在權(quán)限回收列表中;
[0073](5)安全管理中心查找是否可以在本地密鑰庫中找到該數(shù)據(jù)對應(yīng)的加密密鑰,若找到則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(7);
[0074](6)安全管理中心將查找到的加密密鑰返回給客戶端,然后進(jìn)入步驟(8);
[0075](7)安全管理中心根據(jù)該數(shù)據(jù)并利用公私鑰加密機(jī)制隨機(jī)生成并保存加密密鑰,并將生成的加密密鑰返回給客戶端,然后轉(zhuǎn)入步驟(8);具體而言,隨機(jī)生成加密密鑰是采用采用非對稱加密機(jī)制,例如RSA算法;[0076](8)客戶端在接收到來自安全管理中心的加密密鑰后向安全管理中心發(fā)送正確接收應(yīng)答,并轉(zhuǎn)步驟(9);
[0077](9)客戶端利用步驟(2)中生成的對稱密鑰,利用對稱加密算法加密寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù),以得到密文數(shù)據(jù),然后利用(8)中接收到的加密密鑰和公私鑰加密算法加密步驟(2)中生成的對稱密鑰,以得到密文密鑰,將密文數(shù)據(jù)及密文密鑰打包為密文數(shù)據(jù)包,并向云存儲端發(fā)送寫數(shù)據(jù)請求,具體而言,寫數(shù)據(jù)請求包括用戶身份證書、打包后的密文數(shù)據(jù)、密文密鑰、寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的元數(shù)據(jù)等;
[0078](10)云存儲端接收來自客戶端的寫數(shù)據(jù)請求,驗(yàn)證用戶身份證書,以判斷用戶是否合法,若非法則返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束;若合法則轉(zhuǎn)步驟(11);
[0079](11)云存儲端判斷用戶是否擁有對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的寫訪問權(quán)限,若沒有權(quán)限則返回用戶無寫訪問權(quán)限信息,然后過程結(jié)束,若有寫訪問權(quán)限,則轉(zhuǎn)步驟(12);
[0080]具體而言,用戶權(quán)限判斷主要依賴于云存儲端采用的訪問控制策略,如基于身份的訪問控制策略采用訪問控制列表授予用戶權(quán)限,若用戶在訪問控制列表中,則表示用戶擁有讀訪問權(quán)限,否則表示用戶沒有讀訪問權(quán)限;
[0081](12)云存儲端隨機(jī)生成一個(gè)令牌(token),并將該令牌作為寫數(shù)據(jù)請求中的數(shù)據(jù)對應(yīng)令牌鏈的鏈尾令牌,隨機(jī)生成干擾塊并按照令牌中制定的規(guī)則,將干擾塊插入步驟(9)得到的密文數(shù)據(jù),保存得到的數(shù)據(jù),并向客戶端返回用戶寫數(shù)據(jù)成功信息;具體而言,若令牌鏈不存在,則新建一條空令牌鏈,并將隨機(jī)生成的令牌作為空令牌鏈的首令牌;
[0082]其中,云存儲端判斷并存儲用戶上傳數(shù)據(jù)的過程結(jié)合實(shí)例作進(jìn)一步說明:
[0083]設(shè)用戶寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)為Data,并假設(shè)用戶擁有合法的訪問權(quán)限,則云存儲端首先是判斷Data是否已經(jīng)存在,即判斷用戶是寫數(shù)據(jù)還是新上傳數(shù)據(jù),其中寫數(shù)據(jù)由于令牌鏈已經(jīng)存在,直接獲得鏈尾令牌token即可;新上傳數(shù)據(jù)則隨機(jī)生成一個(gè)新的令牌token,并將其作為該數(shù)據(jù)對應(yīng)的令牌鏈的第一個(gè)令牌;
[0084]按照token制定原則,生成如圖6的干擾塊,并將干擾塊插入用戶上傳數(shù)據(jù),得到如圖7所示的置入干擾塊后的數(shù)據(jù)Data’并保存;
[0085](13)客戶端向云存儲端發(fā)出讀數(shù)據(jù)請求,其中讀數(shù)據(jù)請求包括用戶身份證書和讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的ID ;
[0086](14)云存儲端根據(jù)來自客戶端的讀數(shù)據(jù)請求中的用戶身份證書判斷用戶是否合法,如果合法則轉(zhuǎn)步驟(16),否則向客戶端返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束;
[0087](15)云存儲端判斷讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)是否存在,若存在則轉(zhuǎn)步驟(16),否則向客戶端返回請求數(shù)據(jù)不存在信息,然后過程結(jié)束;
[0088](16)云存儲端判斷用戶是否擁有對該數(shù)據(jù)的讀訪問權(quán)限,若有則將該數(shù)據(jù)返回給客戶端,查找該數(shù)據(jù)對應(yīng)的令牌鏈中的鏈尾令牌,向安全管理中心發(fā)送密鑰請求,該請求包括數(shù)據(jù)的ID、鏈尾令牌、用戶身份證書;否則向客戶端返回用戶無讀訪問權(quán)限信息;
[0089]具體而言,用戶權(quán)限判斷主要依賴于云存儲端利采用的訪問控制策略,如基于身份的訪問控制策略采用訪問控制列表授予用戶權(quán)限,若用戶在訪問控制列表中,則表示用戶擁有讀訪問權(quán)限,否則表示用戶沒有讀訪問權(quán)限;返回客戶端的數(shù)據(jù)包括用戶請求的數(shù)據(jù)、請求數(shù)據(jù)對應(yīng)的密文密鑰。
[0090](17)安全管理中心根據(jù)該密鑰請求判斷用戶是否在讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若不在(其中若權(quán)限回收列表不存在,亦表示用戶不在權(quán)限回收列表中)則查找請求數(shù)據(jù)所對應(yīng)的解密密鑰,并將解密密鑰、令牌返回給客戶端,然后進(jìn)入步驟(18),若存在,則向客戶端返回客戶端拒絕服務(wù)信息,然后過程結(jié)束
[0091](18)客戶端等待并接收云存儲端及安全管理中心返回的信息,若云存儲端返回信息為請求的數(shù)據(jù)信息且安全管理中心返回信息為解密密鑰及令牌則轉(zhuǎn)步驟(19),否則表示用戶無權(quán)讀取該請求數(shù)據(jù),然后過程結(jié)束;
[0092](19)客戶端首先利用步驟(17)返回的令牌處理步驟(16)返回的數(shù)據(jù),剔除數(shù)據(jù)中的干擾塊,得到密文數(shù)據(jù),利用步驟(17)返回的解密密鑰解密步驟(16)返回?cái)?shù)據(jù)中的密文密鑰得到對稱密鑰,并利用對稱密鑰解密密文數(shù)據(jù),以得到用戶請求原始數(shù)據(jù);
[0093]下面結(jié)合實(shí)施例對獲得云存儲端及安全管理中心返回信息后的過程作進(jìn)一步的說明:
[0094]用戶接收到云端返回的密文數(shù)據(jù)Data、密文密鑰Enc(K AES)及其元數(shù)據(jù)metadata,接收到安全管理中心返回的解密密鑰Ks及令牌token ;
[0095]首先用戶更具token中制定的干擾塊插入規(guī)則,將Data中的干擾塊去除,獲得沒有干擾塊的數(shù)據(jù)Data’,如圖7,剔除干擾塊即為插入干擾塊的逆過程;用戶利用Ks解密Enc (K AES)得到對稱密鑰K AES,以上兩個(gè)步驟可以并行處理;然后用戶利用Kaes解密Data’便可得到請求的原始數(shù)據(jù)。
[0096](20)客戶端向安全管理中心發(fā)出用戶權(quán)限回收請求,該用戶權(quán)限回收請求包括用戶身份證書、用戶權(quán)限回收請求對應(yīng)的數(shù)據(jù)的ID和回收權(quán)限的用戶ID ;
[0097](21)安全管理中心根據(jù)客戶端用戶權(quán)限回收請求驗(yàn)證用戶身份證書,以判斷用戶是否合法,如果合法則轉(zhuǎn)步驟(22),否則向客戶端返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束
[0098](22)安全管理中心判斷回收權(quán)限的用戶是否在該用戶權(quán)限回收請求對應(yīng)數(shù)據(jù)ID所對應(yīng)的權(quán)限回收列表中,若用戶不在權(quán)限回收列表中,則將回收權(quán)限的用戶ID插入權(quán)限回收列表,向云存儲端發(fā)出用戶權(quán)限回收請求,并向客戶端返回用戶權(quán)限回收成功信息,然后轉(zhuǎn)入步驟(23),該用戶權(quán)限回收請求包括該數(shù)據(jù)ID和回收權(quán)限的用戶ID ;若用戶在權(quán)限回收列表中,則向客戶端返回該用戶已在權(quán)限回收列表中提示信息;若回收權(quán)限列表不存在則新建一個(gè)權(quán)限回收列表,具體新建權(quán)限回收列表方法可根據(jù)系統(tǒng)具體采用的訪問控制策略來選定(如基于身份的訪問控制中,采用訪問控制列表ACL來實(shí)現(xiàn)),然后按照用戶不在權(quán)限回收列表執(zhí)行后續(xù)操作;
[0099](23)云存儲端根據(jù)用戶權(quán)限回收請求查找其中數(shù)據(jù)ID所對應(yīng)的令牌鏈,并獲得鏈尾令牌;
[0100](24)云存儲端利用(23)獲得的鏈尾令牌剔除數(shù)據(jù)ID所對應(yīng)的數(shù)據(jù)中的干擾塊,得到未經(jīng)過干擾處理的密文數(shù)據(jù);利用令牌生成規(guī)則,隨機(jī)生成一把新的令牌,并將其加入令牌鏈,作為新的鏈尾令牌,隨機(jī)生成干擾塊并按照新令牌中制定的規(guī)則,將干擾塊插入獲得的密文數(shù)據(jù),得到并保存新的干擾數(shù)據(jù);返回客戶端用戶權(quán)限回收成功信息。
[0101]具體而言,圖2詳細(xì)描述客戶端進(jìn)程示意圖,圖3為云存儲端進(jìn)程示意圖,圖8為安全管理中心進(jìn)程示意圖,三個(gè)進(jìn)程協(xié)同合作,完成用戶的操作請求,整體操作流程如圖1所示。上述步驟(13)至(19)對應(yīng)讀數(shù)據(jù)請求,其時(shí)序圖如圖9所示;上述步驟(2)至(12)對應(yīng)寫數(shù)據(jù)請求,其時(shí)序圖如圖10所示;上述步驟(20)至(24)對應(yīng)權(quán)限回收請求,其時(shí)序圖如圖11所示。
[0102]此外圖4至7表示令牌及令牌鏈的數(shù)據(jù)結(jié)構(gòu)和令牌及干擾塊的使用原則,針對上述步驟(12)、(24),本發(fā)明采用偽隨機(jī)算法進(jìn)行令牌鏈的構(gòu)造,因此可實(shí)現(xiàn)令牌生成的不可預(yù)測性,上述步驟(12)、(19)、(24)利用令牌處理數(shù)據(jù)方法主要利用令牌定義的數(shù)據(jù)結(jié)構(gòu),圖6、圖7顯示了根據(jù)令牌進(jìn)行數(shù)據(jù)處理的過程。
[0103]本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種云存儲環(huán)境中的用戶訪問權(quán)限回收方法,其特征在于,包括以下步驟: (1)客戶端接收來自用戶的數(shù)據(jù)操作請求,并判斷該請求類型,讀數(shù)據(jù)請求還是權(quán)限操作請求,如果是寫數(shù)據(jù)請求,則轉(zhuǎn)入步驟(2),如果是讀數(shù)據(jù)請求,則轉(zhuǎn)入步驟(6),如果是權(quán)限操作請求,則轉(zhuǎn)入步驟(11); (2)客戶端隨機(jī)生成用于對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)進(jìn)行加密的對稱密鑰,并向安全管理中心提交加密密鑰請求; (3)安全管理中心根據(jù)加密密鑰請求確定該用戶的合法性,并判斷合法用戶是否在寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若不在則獲得該數(shù)據(jù)對應(yīng)的加密密鑰,并將該加密密鑰返回給客戶端; (4)客戶端利用步驟(2)中生成的對稱密鑰,利用對稱加密算法加密寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù),以得到密文數(shù)據(jù),利用接收到的加密密鑰和公私鑰加密算法加密生成的對稱密鑰,以得到密文密鑰,將密文數(shù)據(jù)及密文密鑰打包為密文數(shù)據(jù)包,并向云存儲端發(fā)送寫數(shù)據(jù)請求; (5)云存儲端接收 來自客戶端的寫數(shù)據(jù)請求,根據(jù)該寫數(shù)據(jù)請求確定該用戶的合法性,并在合法的用戶對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)擁有寫訪問權(quán)限時(shí)隨機(jī)生成一個(gè)令牌,并將該令牌作為寫數(shù)據(jù)請求中的數(shù)據(jù)對應(yīng)令牌鏈的鏈尾令牌,隨機(jī)生成干擾塊并按照令牌中制定的規(guī)則,將干擾塊插入密文數(shù)據(jù),并保存得到的數(shù)據(jù); (6)客戶端向云存儲端發(fā)出讀數(shù)據(jù)請求; (7)云存儲端根據(jù)來自客戶端的讀數(shù)據(jù)請求中的用戶身份證書確定該用戶的合法性,并在合法的用戶擁有對該數(shù)據(jù)的讀訪問權(quán)限時(shí)將該數(shù)據(jù)返回給客戶端,查找該數(shù)據(jù)對應(yīng)的令牌鏈中的鏈尾令牌,向安全管理中心發(fā)送密鑰請求; (8)安全管理中心根據(jù)該密鑰請求判斷用戶是否在讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若不在則查找請求數(shù)據(jù)所對應(yīng)的解密密鑰,并將解密密鑰、令牌返回給客戶端,然后進(jìn)入步驟(9),若存在,則向客戶端返回客戶端拒絕服務(wù)信息,然后過程結(jié)束; (9)客戶端等待并接收云存儲端及安全管理中心返回的信息,若云存儲端返回信息為請求的數(shù)據(jù)信息且安全管理中心返回信息為解密密鑰及令牌,則轉(zhuǎn)步驟(10),否則過程結(jié)束; (10)客戶端利用返回的令牌處理返回的數(shù)據(jù),剔除數(shù)據(jù)中的干擾塊,得到密文數(shù)據(jù),利用返回的解密密鑰解密返回?cái)?shù)據(jù)中的密文密鑰得到對稱密鑰,并利用對稱密鑰解密密文數(shù)據(jù),以得到用戶請求原始數(shù)據(jù); (11)客戶端向安全管理中心發(fā)出用戶權(quán)限回收請求; (12)安全管理中心根據(jù)客戶端用戶權(quán)限回收請求驗(yàn)證用戶身份證書,以判斷用戶是否合法,如果合法則轉(zhuǎn)步驟(13),否則向客戶端返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束; (13)安全管理中心判斷回收權(quán)限的用戶是否在該用戶權(quán)限回收請求對應(yīng)數(shù)據(jù)ID所對應(yīng)的權(quán)限回收列表中,若用戶不在權(quán)限回收列表中,則將回收權(quán)限的用戶ID插入權(quán)限回收列表,向云存儲端發(fā)出用戶權(quán)限回收請求,并向客戶端返回用戶權(quán)限回收成功信息,然后轉(zhuǎn)入步驟(14);若用戶在權(quán)限回收列表中,則向客戶端返回該用戶已在權(quán)限回收列表中提示信息; (14)云存儲端根據(jù)用戶權(quán)限回收請求查找其中數(shù)據(jù)ID所對應(yīng)的令牌鏈,并獲得鏈尾令牌,利用獲得的鏈尾令牌剔除數(shù)據(jù)ID所對應(yīng)的數(shù)據(jù)中的干擾塊,得到未經(jīng)過干擾處理的密文數(shù)據(jù),利用令牌生成規(guī)則,隨機(jī)生成一把新的令牌,并將其加入令牌鏈,作為新的鏈尾令牌,隨機(jī)生成干擾塊并按照新令牌中制定的規(guī)則,將干擾塊插入獲得的密文數(shù)據(jù),得到并保存新的干擾數(shù)據(jù),并返回客戶端用戶權(quán)限回收成功信息。
2.根據(jù)權(quán)利要求1所述的用戶訪問權(quán)限回收方法,其特征在于, 加密密鑰請求包括用戶身份證書、以及寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的ID號; 寫數(shù)據(jù)請求包括用戶身份證書、打包后的密文數(shù)據(jù)、密文密鑰、寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的元數(shù)據(jù); 讀數(shù)據(jù)請求包括用戶身份證書和讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的ID ; 用戶權(quán)限回收請求包括用戶身份證書、用戶權(quán)限回收請求對應(yīng)的數(shù)據(jù)的ID和回收權(quán)限的用戶ID。
3.根據(jù)權(quán)利要求1所述的用戶訪問權(quán)限回收方法,其特征在于,步驟(3)包括以下子步驟: (3-1)安全管理中心根據(jù)加密密鑰請求中的用戶身份證書判斷用戶是否合法,如果合法則轉(zhuǎn)入步驟(3-2),否則向用戶返回請求失敗信息,然后過程結(jié)束; (3-2)安全管理中心判斷該用戶是否在寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)所對應(yīng)的權(quán)限回收列表中,若在則返回用戶請求失敗信息,否則轉(zhuǎn)入步驟(3-3),其中若權(quán)限列表不存在則表示用戶不在權(quán)限回收列表中; (3-3)安全管理中心查找是否可以在本地密鑰庫中找到該數(shù)據(jù)對應(yīng)的加密密鑰,若找到則轉(zhuǎn)入步驟(3-4),否則轉(zhuǎn)入步驟(3-5); (3-4)安全管理中心將查找到的加密密鑰返回給客戶端,然后進(jìn)入步驟(4); (3-5)安全管理中心根據(jù)該數(shù)據(jù)并利用公私鑰加密機(jī)制隨機(jī)生成并保存加密密鑰,并將生成的加密密鑰返回給客戶端,然后進(jìn)入步驟(4)。
4.根據(jù)權(quán)利要求1所述的用戶訪問權(quán)限回收方法,其特征在于,還包括步驟:客戶端在接收到來自安全管理中心的加密密鑰后,向安全管理中心發(fā)送正確接收應(yīng)答。
5.根據(jù)權(quán)利要求1所述的用戶訪問權(quán)限回收方法,其特征在于,步驟(5)包括以下子步驟: (5-1)云存儲端接收來自客戶端的寫數(shù)據(jù)請求,驗(yàn)證用戶身份證書,以判斷用戶是否合法,若非法則返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束;若合法則轉(zhuǎn)步驟(5-2); (5-2)云存儲端判斷用戶是否擁有對寫數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)的寫訪問權(quán)限,若沒有權(quán)限則返回用戶無寫訪問權(quán)限信息,然后過程結(jié)束,若有寫訪問權(quán)限,則轉(zhuǎn)步驟(5-3); (5-3)云存儲端隨機(jī)生成一個(gè)令牌,并將該令牌作為寫數(shù)據(jù)請求中的數(shù)據(jù)對應(yīng)令牌鏈的鏈尾令牌,隨機(jī)生成干擾塊并按照令牌中制定的規(guī)則,將干擾塊插入密文數(shù)據(jù),保存得到的數(shù)據(jù),并向客戶端返回用戶寫數(shù)據(jù)成功信息。
6.根據(jù)權(quán)利要求1所述的用戶訪問權(quán)限回收方法,其特征在于,步驟(7)包括以下子步驟: (7-1)云存儲端根據(jù)來自客戶端的讀數(shù)據(jù)請求中的用戶身份證書判斷用戶是否合法,如果合法則轉(zhuǎn)步驟(7-2),否則向客戶端返回用戶身份證書錯(cuò)誤信息,然后過程結(jié)束; (7-2)云存儲端判斷讀數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)是否存在,若存在則轉(zhuǎn)步驟(7-3),否則向客戶端返回請求數(shù)據(jù)不存在信息,然后過程結(jié)束; (7-3)云存儲端判斷用戶是否擁有對該數(shù)據(jù)的讀訪問權(quán)限,若有則將該數(shù)據(jù)返回給客戶端,查找該數(shù)據(jù)對應(yīng)的令牌鏈中的鏈尾令牌,向安全管理中心發(fā)送密鑰請求,該請求包括數(shù)據(jù)的ID、鏈尾令 牌、用戶身份證書;否則向客戶端返回用戶無讀訪問權(quán)限信息。
【文檔編號】H04L29/08GK103973698SQ201410213922
【公開日】2014年8月6日 申請日期:2014年5月19日 優(yōu)先權(quán)日:2014年5月19日
【發(fā)明者】李春花, 周可, 吳澤邦, 魏榮磊, 邊澤明, 楊勇, 張彥哲 申請人:華中科技大學(xué)