本發(fā)明涉及計算機網絡
技術領域:
,尤其涉及一種基于云存儲環(huán)境的用戶可控的數(shù)據(jù)檢索方法以及用戶可控的數(shù)據(jù)存儲方法、終端、系統(tǒng)。
背景技術:
:在開放的網絡環(huán)境下,人們在學習、工作和生活中通過網絡進行存儲共享資料越來越多,而云存儲服務作為一種新興的網絡應用模式,它通過集群應用、網格技術和分布式文件系統(tǒng)等功能,將網絡中大量不同類型的存儲設備通過應用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務訪問服務。用戶可將自己的數(shù)據(jù)遠程存儲在云存儲中心,按需訪問,便于用戶存取,為企業(yè)節(jié)約開銷,提高可用性和可靠性。但是,用戶和企業(yè)對其存儲于云端的數(shù)據(jù)失去了根本的物理控制,對其數(shù)據(jù)的機密性與完整性就會心存疑慮,不可避免的引起了其對數(shù)據(jù)安全性與隱私性方面的擔憂。究其原因有兩個:一是云服務提供商會面臨廣泛的內外攻擊,有惡意的敵人就會刪除或破壞用戶數(shù)據(jù);二是云服務提供商可能不誠實,他們或許會為了保全自己信譽或謀取利益而試圖隱藏存儲在上面的數(shù)據(jù)被盜或破壞信息。因此,基于云存儲環(huán)境的動態(tài)復雜性和開放性等特征,用戶無法完全依賴不可信的云存儲提供商進行數(shù)據(jù)的存儲和管理等因素,如何進行開放式云存儲環(huán)境下的數(shù)據(jù)存儲是云存儲應用亟需解決的問題。技術實現(xiàn)要素:鑒于上述問題,本發(fā)明提出了一種用戶可控的數(shù)據(jù)檢索方法以及用戶可控的數(shù)據(jù)存儲方法、終端、系統(tǒng),通過對數(shù)據(jù)進行三重加密和完整性校驗,并由用戶控制密文數(shù)據(jù)的訪問權限,實現(xiàn)了云存儲環(huán)境下數(shù)據(jù)高效、安全的共享。本發(fā)明的一個方面,提供了一種用戶可控的數(shù)據(jù)存儲方法,為待存儲數(shù)據(jù)創(chuàng)建索引文件;根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引文件進行對稱加密,得到加密索引;根據(jù)用戶提供的第二私鑰對所述待存儲數(shù)據(jù)進行對稱加密,得到加密數(shù)據(jù);根據(jù)預先設置的用戶訪問策略,為所述待存儲數(shù)據(jù)創(chuàng)建對應的訪問結構,并采用CP-ABE算法以所述訪問結構對所述第二私鑰進行加密,得到加密密鑰;所述訪問結構與所述待存儲數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配;將所述加密數(shù)據(jù)、加密索引以及加密密鑰作為密文數(shù)據(jù)上傳到系統(tǒng)服務器,以供所述系統(tǒng)服務器在通過所述認證服務器對所述密文數(shù)據(jù)的完整性檢驗后,將所述密文數(shù)據(jù)上傳至云存儲服務器??蛇x地,所述并采用CP-ABE算法以所述訪問結構對所述第二私鑰進行加密,進一步包括:根據(jù)預設的用戶屬性信息采用Setup算法生成主密鑰MK和公鑰PK;采用Encypt算法以所述公鑰PK和所述訪問結構對所述第二私鑰進行加密,得到加密密鑰;采用keygen算法根據(jù)所述預設的用戶屬性信息以及所述主密鑰MK生成所述用戶解密所需的私鑰SK,以供在數(shù)據(jù)下載時,采用decrypt解密算法根據(jù)所述私鑰SK對相應的加密密鑰進行解密??蛇x地,所述通過獲取的第一密鑰對所述索引文件進行對稱加密,進一步包括:通過獲取的第一密鑰對所述索引文件的索引關鍵詞進行對稱加密??蛇x地,所述方法還包括:獲取所述加密數(shù)據(jù)的MD5值,并將所述MD5值上傳至所述認證服務器,以供所述認證服務器對系統(tǒng)服務器上傳的加密數(shù)據(jù)的MD5值進行一致性比較,若一致,則系統(tǒng)服務器中的密文數(shù)據(jù)通過數(shù)據(jù)完整性驗證。本發(fā)明的另一個方面,提供了一種用戶可控的數(shù)據(jù)檢索方法,包括:接收用戶的檢索請求以及所述檢索請求中攜帶的索引關鍵詞和用戶屬性信息;根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引關鍵詞進行加密;根據(jù)所述加密后的索引關鍵詞采用Lucene全文檢索引擎對所述系統(tǒng)服務器中的索引文件進行全文檢索,以供所述系統(tǒng)服務器根據(jù)檢索結果,獲取檢索結果中包括的至少一個待下載數(shù)據(jù)對應的訪問結構,所述訪問結構與所述數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配;將當前用戶的用戶屬性信息于每一待下載數(shù)據(jù)對應的訪問結構進行匹配,下載匹配成功的待下載數(shù)據(jù)??蛇x地,所述方法還包括:根據(jù)訪問用戶的訪問數(shù)據(jù)生成訪問操作日志,并對訪問用戶進行統(tǒng)計分析,返回分析結果至待下載數(shù)據(jù)的所屬用戶。本發(fā)明的再一個方面,提供了一種用戶可控的數(shù)據(jù)存儲終端,包括:索引創(chuàng)建模塊,用于為待存儲數(shù)據(jù)創(chuàng)建索引文件;第一加密模塊,用于根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引文件進行對稱加密,得到加密索引;第二加密模塊,用于根據(jù)用戶提供的第二私鑰對所述待存儲數(shù)據(jù)進行對稱加密,得到加密數(shù)據(jù);第三加密模塊,用于根據(jù)預先設置的用戶訪問策略,為所述待存儲數(shù)據(jù)創(chuàng)建對應的訪問結構,并采用CP-ABE算法以所述訪問結構對所述第二私鑰進行加密,得到加密密鑰;所述訪問結構與所述待存儲數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配;上傳模塊,用于將所述加密數(shù)據(jù)、加密索引以及加密密鑰作為密文數(shù)據(jù)上傳到系統(tǒng)服務器,以供所述系統(tǒng)服務器在通過所述認證服務器對所述密文數(shù)據(jù)的完整性檢驗后,將所述密文數(shù)據(jù)上傳至云存儲服務器??蛇x地,所述終端還包括:數(shù)據(jù)處理模塊,用于計算所述加密數(shù)據(jù)的MD5值,并將所述MD5值上傳至所述認證服務器,以供所述認證服務器對系統(tǒng)服務器上傳的加密數(shù)據(jù)的MD5值進行一致性比較,若一致,則系統(tǒng)服務器中的密文數(shù)據(jù)通過數(shù)據(jù)完整性驗證。可選地,所述終端還包括:接收模塊,用于接收用戶的檢索請求以及所述檢索請求中攜帶的索引關鍵詞和用戶屬性信息;第四加密模塊,用于根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引關鍵詞進行加密;檢索模塊,用于根據(jù)所述加密后的索引關鍵詞采用Lucene全文檢索引擎對所述系統(tǒng)服務器中的索引文件進行全文檢索,以供所述系統(tǒng)服務器根據(jù)檢索結果,獲取檢索結果中包括的至少一個待下載數(shù)據(jù)對應的訪問結構,所述訪問結構與所述數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配,下載模塊,用于將當前用戶的用戶屬性信息于每一待下載數(shù)據(jù)對應的訪問結構進行匹配,下載匹配成功的待下載數(shù)據(jù)。本發(fā)明的又一個方面,提供了一種用戶可控的數(shù)據(jù)存儲系統(tǒng),包括認證服務器、系統(tǒng)服務器、云存儲服務器以及如上所述的用戶可控的數(shù)據(jù)存儲終端;所述認證服務器與所述終端預先約定加密策略,并根據(jù)預先約定加密策略將第一密鑰發(fā)送至所述終端,以供所述終端通過所述第一密鑰對待存儲數(shù)據(jù)的索引文件進行對稱加密;所述系統(tǒng)服務器接收所述終端發(fā)送的密文數(shù)據(jù),所述密文數(shù)據(jù)包括加密數(shù)據(jù)、加密索引以及加密密鑰,計算該加密數(shù)據(jù)的MD5值,并將得到的MD5值上傳至所述認證服務器;所述認證服務器將所述終端上傳的MD5值于系統(tǒng)服務器上傳的加密數(shù)據(jù)的MD5值進行一致性比較,若一致,則確認系統(tǒng)服務器中的密文數(shù)據(jù)通過數(shù)據(jù)完整性驗證;所述系統(tǒng)服務器在通過所述認證服務器的數(shù)據(jù)完整性驗證后,根據(jù)所述加密索引對服務器本地索引信息進行更新,并將所述密文數(shù)據(jù)上傳至云存儲服務器。本發(fā)明實施例提供的用戶可控的數(shù)據(jù)檢索方法以及用戶可控的數(shù)據(jù)存儲方法、終端、系統(tǒng),通過對數(shù)據(jù)進行三重加密和完整性校驗,并由用戶控制密文數(shù)據(jù)的訪問權限,實現(xiàn)用戶對云存儲數(shù)據(jù)的安全可控和高效存取,進而保證了云存儲環(huán)境下數(shù)據(jù)高效、安全的共享。上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。附圖說明通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了本發(fā)明實施例的一種用戶可控的數(shù)據(jù)存儲方法的流程圖;圖2示出了本發(fā)明實施例的一種用戶可控的數(shù)據(jù)存儲方法中待存儲數(shù)據(jù)對應的訪問結構的示例圖;圖3示出了本發(fā)明實施例中一種用戶可控的數(shù)據(jù)檢索方法的流程圖;圖4示出了本發(fā)明實施例的一種用戶可控的數(shù)據(jù)存儲終端的框圖;圖5示出了本發(fā)明實施例的一種用戶可控的數(shù)據(jù)存儲系統(tǒng)的結構示意圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。本
技術領域:
技術人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復數(shù)形式。應該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。本
技術領域:
技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語),具有與本發(fā)明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現(xiàn)有技術的上下文中的意義一致的意義,并且除非被特定定義,否則不會用理想化或過于正式的含義來解釋。圖1示意性示出了本發(fā)明一個實施例的用戶可控的數(shù)據(jù)存儲方法的流程圖。參照圖1,本發(fā)明實施例的用戶可控的數(shù)據(jù)存儲方法具體包括以下步驟:S11、為待存儲數(shù)據(jù)創(chuàng)建索引文件;S12、根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引文件進行對稱加密,得到加密索引;S13、根據(jù)用戶提供的第二私鑰對所述待存儲數(shù)據(jù)進行對稱加密,得到加密數(shù)據(jù);S14、根據(jù)預先設置的用戶訪問策略,為所述待存儲數(shù)據(jù)創(chuàng)建對應的訪問結構,并采用CP-ABE算法以所述訪問結構對所述第二私鑰進行加密,得到加密密鑰;所述訪問結構與所述待存儲數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配;S15、將所述加密數(shù)據(jù)、加密索引以及加密密鑰作為密文數(shù)據(jù)上傳到系統(tǒng)服務器,以供所述系統(tǒng)服務器在通過所述認證服務器對所述密文數(shù)據(jù)的完整性檢驗后,將所述密文數(shù)據(jù)上傳至云存儲服務器。在本發(fā)明的一個可選實施例中,所述并采用CP-ABE算法以所述訪問結構對所述第二私鑰進行加密,進一步包括一下步驟:根據(jù)預設的用戶屬性信息采用Setup算法生成主密鑰MK和公鑰PK;采用Encypt算法以所述公鑰PK和所述訪問結構對所述第二私鑰進行加密,得到加密密鑰;采用keygen算法根據(jù)所述預設的用戶屬性信息以及所述主密鑰MK生成所述用戶解密所需的私鑰SK,以供在數(shù)據(jù)下載時,采用decrypt解密算法根據(jù)所述私鑰SK對相應的加密密鑰進行解密。在本發(fā)明的一個可選實施例中,所述通過獲取的第一密鑰對所述索引文件進行對稱加密,進一步包括一下步驟:通過獲取的第一密鑰對所述索引文件的索引關鍵詞進行對稱加密。在本發(fā)明的一個可選實施例中,所述方法還包括:獲取所述加密數(shù)據(jù)的MD5值,并將所述MD5值上傳至所述認證服務器,以供所述認證服務器對系統(tǒng)服務器上傳的加密數(shù)據(jù)的MD5值進行一致性比較,若一致,則系統(tǒng)服務器中的密文數(shù)據(jù)通過數(shù)據(jù)完整性驗證。本發(fā)明實施例中提供的數(shù)據(jù)存儲方法中,客戶端用戶上傳文檔:上傳文件,對明文進行索引創(chuàng)建,設置文件加密密鑰和CP-ABE用戶訪問策略。加密:三重加密:對文件設置加密密鑰,然后再通過CP-ABE對密鑰進行加密,再是對新建的索引關鍵詞進行加密。索引更新:將客戶端生成的加密的新索引進行合并更新。密文上傳:將密文上傳至云服務器中。該密文存儲算法偽代碼描述如下:輸入:文檔輸出:DEK(File,SK),并對密文進行MD5創(chuàng)建索引,并加密索引對密鑰進行cp-abe上傳加密索引和密文更新索引,并上傳密文到云服務器記錄數(shù)據(jù)存儲情況。下面通過一個具體實施例對本發(fā)明技術方案進行解釋說明。需要說明的是,本發(fā)明實施例提出的用戶可控的數(shù)據(jù)存儲方法,是基于非結構化文檔在云端進行網絡存儲和共享的方法,該方法所涉及的系統(tǒng)中由三層存儲架構組成:云用戶層、系統(tǒng)服務層、云存儲層。分別包括云客戶終端、認證服務器(AuthenticationServers,AS)、系統(tǒng)服務器(SystemServers,SS)和云存儲服務器提供商(CloudServersProvider,CSP)。本實施例中,假設:SS和CSP均是允許購買的服務,也可以屬于同一個服務提供商,假定它們誠實。本發(fā)明實施例中是應用在基于云存儲的網絡文檔共享應用系統(tǒng)中,某公司的一個員工上傳了一份機密文檔,規(guī)定這份文檔需要獲取用戶符合訪問策略如圖2所示。參見圖2,圖2示出了本發(fā)明實施例的一種用戶可控的數(shù)據(jù)存儲方法中待存儲數(shù)據(jù)對應的訪問結構的示例圖。下面對一些符號進行描述說明:本實施例中,的安全加密主要包括兩方面:用戶主動設置和系統(tǒng)主動監(jiān)控。1)用戶主動:這個階段主要采用基于對稱加密和CP-ABE的三重加密方案,通過三重加密,可以更好地讓用戶放心提交數(shù)據(jù)到云存儲服務。(1)索引加密//DEK(I,SK’):通過對用戶上傳的文檔進行索引創(chuàng)建時涉及到的索引關鍵詞,由AS統(tǒng)一提供的密鑰進行對稱加密。①GenerateStrategy()->SKi:用戶在云客戶端創(chuàng)建完索引以后,接著對索引進行加密,而密鑰通過AS來獲取,AS根據(jù)密鑰生成策略生成統(tǒng)一的密鑰返回給客戶端,索引密鑰生成策略使用UUID的方式。②AES(I,SKi)->I’:客戶端獲取到索引加密密鑰之后對索引進行對稱加密。(2)文件加密AES(File,SKf)->File’:用戶設置密鑰SKf,對其上傳的文檔進行對稱加密。(3)將對稱密鑰SKf進行CP-ABE加密;①Setup->(MK,PK):生成主密鑰MK和公共參數(shù)PK;②Encrypt(PK,SKf,T)->CT:使用公鑰PK及訪問結構T加密明文數(shù)據(jù)SKf,生成相應的密文CT;③KeyGen(MK,S)->SKc:使用MK及用戶屬性值S,生成對應用戶的私鑰SKc;④Decrypt(CT,SKc)->M:使用私鑰SKc解密CT,得到明文SKf。2)系統(tǒng)主動:這個階段主要是AS對SS進行審核和檢測,驗證密文數(shù)據(jù)完整性和通過對日志分析獲取數(shù)據(jù)訪問情況。(1)MD5對密文進行完整性驗證①客戶端和SS分別對密文進行MD5生成摘要值a.MD5(File’)->DV:客戶端通過MD5對密文加密生成摘要值DV,傳給AS存儲;b.MD5(File”)->DV’:SS通過MD5對密文加密生成摘要值DV’,傳給AS;②AS進行數(shù)據(jù)完整性驗證IfDV=DV’returntrue//如果DV=DV’,返回真,數(shù)據(jù)完整Elsereturnfalse//否則,返回假,數(shù)據(jù)被篡改EndIf(2)用戶訪問操作日志分析Analytics(Id,Unit,Username,IP,Action,Date)->Flog:分析用戶訪問操作日志,并返回數(shù)據(jù)訪問情況給文檔擁有者。本發(fā)明實施例提供的用戶可控的數(shù)據(jù)檢索方法,通過對數(shù)據(jù)進行三重加密和完整性校驗,并由用戶控制密文數(shù)據(jù)的訪問權限,實現(xiàn)用戶對云存儲數(shù)據(jù)的安全可控和高效存取,進而保證了云存儲環(huán)境下數(shù)據(jù)高效、安全的共享。圖3示意性示出了本發(fā)明一個實施例的用戶可控的數(shù)據(jù)檢索方法的流程圖。參照圖3,本發(fā)明實施例的用戶可控的數(shù)據(jù)檢索方法具體包括以下步驟:S21、接收用戶的檢索請求以及所述檢索請求中攜帶的索引關鍵詞和用戶屬性信息;S22、根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引關鍵詞進行加密;S23、根據(jù)所述加密后的索引關鍵詞采用Lucene全文檢索引擎對所述系統(tǒng)服務器中的索引文件進行全文檢索,以供所述系統(tǒng)服務器根據(jù)檢索結果,獲取檢索結果中包括的至少一個待下載數(shù)據(jù)對應的訪問結構,所述訪問結構與所述數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配;S24、將當前用戶的用戶屬性信息于每一待下載數(shù)據(jù)對應的訪問結構進行匹配,下載匹配成功的待下載數(shù)據(jù)。在本發(fā)明的一個可選實施例中,所述方法還包括以下步驟:根據(jù)訪問用戶的訪問數(shù)據(jù)生成訪問操作日志,并對訪問用戶進行統(tǒng)計分析,返回分析結果至待下載數(shù)據(jù)的所屬用戶。本發(fā)明實施例提供的數(shù)據(jù)檢索方法,對關鍵詞進行了加密,然后與加密的索引文件進行匹配,所以索引文件的安全級別是較高的,同時也提高了檢索效率。用戶下載解密:只有符合用戶訪問策略的用戶才能夠搜索和獲取相應文檔并進行解密,如果不能夠滿足密文文件的解密策略,是無法搜索和獲取到密文。因此,驗證了數(shù)據(jù)機密性及細粒度訪問控制的安全,并減少了流量消耗。用戶數(shù)據(jù)訪問情況:通過監(jiān)測,檢查用戶數(shù)據(jù)的訪問情況,驗證系統(tǒng)進行主動推送安全信息。該密文檢索算法偽代碼描述如下:輸入:關鍵詞、用戶輸出:S(U,T),根據(jù)用戶的策略樹進行篩選,獲取相關密文集加密關鍵詞,并對該密文集的密文進行Lucene檢索,獲取最終密文集獲取密文并進行MD5驗證數(shù)據(jù)完整性解密記錄數(shù)據(jù)訪問情況將數(shù)據(jù)訪問情況返回給數(shù)據(jù)擁有者。本發(fā)明實施例的檢索方法主要包括兩方面:用戶主動檢索和系統(tǒng)主動篩選。1)用戶主動:這個階段主要采用Lucene技術進行全文搜索,獲取用戶按關鍵詞搜索的密文集。用戶在上傳文檔時同時也將文檔的索引上傳到SS上去;隨后SS將上傳的索引進行合并;完成合并后用戶就可以通過關鍵詞來搜索到該文檔。下面逐步介紹每個過程:表1.上傳和存儲過程表2.搜索和下載過程2)系統(tǒng)主動:這個階段主要是將用戶與CP-ABE的訪問結構結合,系統(tǒng)提供主動推薦服務,進行一次細粒度篩選,這樣有利于使撤銷用戶不再獲取相關數(shù)據(jù)。首先判斷用戶是否是授權用戶,如果是已經撤銷用戶,就不會再出現(xiàn)原角色授權的相關數(shù)據(jù),如果是授權用戶,那就根據(jù)訪問結構T獲取密文集。Authorize(U):認證用戶權限IfAuthorize(U)=truegetT(U);getDocs(T);ElseView(Public)EndIf為了驗證本發(fā)明技術方案的可行性,基于4臺PC機的CentOS6.5搭建了Hadoop集群環(huán)境,應用于基于云存儲的網絡文檔共享應用系統(tǒng),用來測試具體的應用實例。一共使用4臺普通PC機來搭建網絡文檔共享應用系統(tǒng)集群,包括系統(tǒng)服務層服務器和Hadoop集群。其中1臺部署為系統(tǒng)服務層的SS和AS服務器,另外三臺部署為Hadoop集群。我們在PC機上安裝的操作系統(tǒng)為CentOS6.0,Java運行環(huán)境為jdk1.7.0_21,Hadoop為hadoop-2.6版本,Mahout為Mahout0.9版本;程序開發(fā)平臺為IntelliJIDEA13.1.2版本,數(shù)據(jù)庫使用MySQL5.5。表3為用戶獲取包含“銷售經費預算”的加密文件,只有符合密文解密策略和用戶角色權限,才可以得到明文文件,因此,驗證了數(shù)據(jù)機密性及訪問控制的安全和高效檢索。表3用戶可訪問文件列表屬性可獲取文件序號銷售部主管財務經理1、2、3銷售部經理1、2銷售部員工1人事部員工4安全性分析數(shù)據(jù)的機密性和完整性是實現(xiàn)安全云存儲的基礎。UESMCS采用CP-ABE和對稱加密算法對用戶數(shù)據(jù)進行加密以保證數(shù)據(jù)的機密性,采用MD5算法來保證數(shù)據(jù)的完整性。性能分析實驗中采用信息檢索系統(tǒng)中的查準率P、搜索時間T和文件有效性E作為搜索結果評價指標,其中查準率定義如下:P=(搜索出用戶感興趣的文檔數(shù)/搜索出的文檔總數(shù))×100%根據(jù)Lucene的搜索緩沖策略:在大規(guī)模文檔的系統(tǒng)中,Lucene面向全文檢索的優(yōu)化在于首次索引檢索后,不會將所有的記錄讀取出來,而是加載一部分(本文設置加載100篇),在用戶還需要加載大于100篇的文檔時,Lucene再去加載下100篇。(1)準確性方面:在UESMCS中,基于策略樹細粒度訪問控制使得文檔的命中率更高,從而減少了Lucene的加載次數(shù),因此在lucene同等加載次數(shù)的情況下UESMCS的命中率更高;(2)搜索時間方面:因為UESMCS是先通過策略樹進行一次篩選縮小了文檔集規(guī)模,然后再進行Lucene檢索,所以在搜索時間T方面會用時較短;(3)獲取文檔有效性方面:通過UESMCS搜索到的文件用戶均可以用有效解密,而僅僅通過lucene搜索出的文檔大部分因不能夠滿足CP-ABE解密策略而無效,耗費流量。其性能測試結果如下表4。表4性能測試結果PRankTELucene72%100186ms48%UESMCS83%100163ms100%綜上,本發(fā)明實施例通過在Hadoop搭建的集群環(huán)境下,利用對稱加密、CP-ABE和MD5等加密技術,結合Lucene分布式框架和基于策略樹細粒度訪問控制,實現(xiàn)了一種云存儲環(huán)境下用戶可控密文高效共享原型系統(tǒng)。實驗證明,本發(fā)明實施例提出的用戶可控的數(shù)據(jù)存儲方法,實現(xiàn)了網絡文檔資源的高效、安全共享。對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。圖4示意性示出了本發(fā)明一個實施例的用戶可控的數(shù)據(jù)存儲終端的框圖。參照圖4,本發(fā)明實施例的用戶可控的數(shù)據(jù)存儲終端具體包括索引創(chuàng)建模塊401、第一加密模塊402、第二加密模塊403、第三加密模塊404以及上傳模塊405,其中:索引創(chuàng)建模塊401,用于為待存儲數(shù)據(jù)創(chuàng)建索引文件;第一加密模塊402,用于根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引文件進行對稱加密,得到加密索引;第二加密模塊403,用于根據(jù)用戶提供的第二私鑰對所述待存儲數(shù)據(jù)進行對稱加密,得到加密數(shù)據(jù);第三加密模塊404,用于根據(jù)預先設置的用戶訪問策略,為所述待存儲數(shù)據(jù)創(chuàng)建對應的訪問結構,并采用CP-ABE算法以所述訪問結構對所述第二私鑰進行加密,得到加密密鑰;所述訪問結構與所述待存儲數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配;上傳模塊405,用于將所述加密數(shù)據(jù)、加密索引以及加密密鑰作為密文數(shù)據(jù)上傳到系統(tǒng)服務器,以供所述系統(tǒng)服務器在通過所述認證服務器對所述密文數(shù)據(jù)的完整性檢驗后,將所述密文數(shù)據(jù)上傳至云存儲服務器。在本發(fā)明的一個可選實施例中,所述終端還包括附圖中未示出的數(shù)據(jù)處理模塊,所述數(shù)據(jù)處理模塊,用于計算所述加密數(shù)據(jù)的MD5值,并將所述MD5值上傳至所述認證服務器,以供所述認證服務器對系統(tǒng)服務器上傳的加密數(shù)據(jù)的MD5值進行一致性比較,若一致,則系統(tǒng)服務器中的密文數(shù)據(jù)通過數(shù)據(jù)完整性驗證。為了實現(xiàn)終端對數(shù)據(jù)的檢索,在本發(fā)明的一個可選實施例中,所述終端還包括一下模塊:接收模塊,用于接收用戶的檢索請求以及所述檢索請求中攜帶的索引關鍵詞和用戶屬性信息;第四加密模塊,用于根據(jù)與認證服務器預先設定的加密策略,從所述認證服務器獲取第一密鑰,并通過獲取的第一密鑰對所述索引關鍵詞進行加密;檢索模塊,用于根據(jù)所述加密后的索引關鍵詞采用Lucene全文檢索引擎對所述系統(tǒng)服務器中的索引文件進行全文檢索,以供所述系統(tǒng)服務器根據(jù)檢索結果,獲取檢索結果中包括的至少一個待下載數(shù)據(jù)對應的訪問結構,所述訪問結構與所述數(shù)據(jù)對應的授權用戶的用戶屬性信息相匹配,下載模塊,用于將當前用戶的用戶屬性信息于每一待下載數(shù)據(jù)對應的訪問結構進行匹配,下載匹配成功的待下載數(shù)據(jù)。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。此外,本發(fā)明還提供了一種用戶可控的數(shù)據(jù)存儲系統(tǒng)。圖5示出了本發(fā)明實施例的一種用戶可控的數(shù)據(jù)存儲系統(tǒng)的結構示意圖。參照圖5,本發(fā)明實施例的用戶可控的數(shù)據(jù)存儲系統(tǒng),包括認證服務器、系統(tǒng)服務器、云存儲服務器以及如上所述的用戶可控的數(shù)據(jù)存儲終端;所述認證服務器與所述終端預先約定加密策略,并根據(jù)預先約定加密策略將第一密鑰發(fā)送至所述終端,以供所述終端通過所述第一密鑰對待存儲數(shù)據(jù)的索引文件進行對稱加密;所述系統(tǒng)服務器接收所述終端發(fā)送的密文數(shù)據(jù),所述密文數(shù)據(jù)包括加密數(shù)據(jù)、加密索引以及加密密鑰,計算該加密數(shù)據(jù)的MD5值,并將得到的MD5值上傳至所述認證服務器;所述認證服務器將所述終端上傳的MD5值于系統(tǒng)服務器上傳的加密數(shù)據(jù)的MD5值進行一致性比較,若一致,則確認系統(tǒng)服務器中的密文數(shù)據(jù)通過數(shù)據(jù)完整性驗證;所述系統(tǒng)服務器在通過所述認證服務器的數(shù)據(jù)完整性驗證后,根據(jù)所述加密索引對服務器本地索引信息進行更新,并將所述密文數(shù)據(jù)上傳至云存儲服務器。本發(fā)明實施例提出的用戶可控的數(shù)據(jù)存儲系統(tǒng),是基于非結構化文檔在云端進行網絡存儲和共享場景,在該模型中由三層存儲架構組成:云用戶層、系統(tǒng)服務層、云存儲層。分別包括云客戶終端、認證服務器(AuthenticationServers,AS)、系統(tǒng)服務器(SystemServers,SS)和云存儲服務器提供商(CloudServersProvider,CSP),具體實現(xiàn)流程如下:1)由文檔擁有者(Owner)和使用者(User)組成的云客戶終端,用戶直接使用應用,進行文檔的上傳、檢索等資源共享服務。它與AS和SS交互。云客戶端主要有如下功能:①將用戶上傳明文進行索引創(chuàng)建,并對索引的關鍵詞進行加密;②根據(jù)用戶設置的加密密鑰和用戶訪問策略,對明文和密鑰分別進行加密;③將密文和創(chuàng)建好的加密索引文件打包上傳給SS;④從SS獲取密文并解密以及密文數(shù)據(jù)的檢測和審核情況。2)認證服務器AS作為可信第三方,與云客戶端交互,存儲用戶信息和加密策略,并提供密鑰服務,幫助用戶完成加解密;對數(shù)據(jù)訪問進行審核和監(jiān)測,從SS獲取相關數(shù)據(jù);從云用戶層獲取文檔的MD5摘要值和SS生成的文檔MD5摘要值做校驗。3)系統(tǒng)服務器SS支持云客戶端和云服務器提供商的交互,提供解壓更新索引和全文檢索功能,將密文上傳給云服務器提供商或者下載密文并返回給用戶。4)云服務器提供商CSP作為云存儲層,主要與SS交互,提供存儲服務。實際應用中,云存儲服務以其低成本、高擴展等優(yōu)勢為海量數(shù)據(jù)的存儲和共享提供方便的同時也帶來了安全隱患。為保證數(shù)據(jù)安全,用戶將自己的隱私數(shù)據(jù)加密后存儲在開放的云存儲環(huán)境中,如何建立云存儲環(huán)境下的密文訪問控制機制是急需解決的問題。本發(fā)明實施例提供的用戶可控的數(shù)據(jù)存儲系統(tǒng)。UESMCS通過基于CP-ABE的密文訪問控制和完整性驗證三重加密方案對用戶數(shù)據(jù)進行預處理來保證數(shù)據(jù)的機密性與完整性;使用Lucene分布式技術與細粒度決策樹二次篩選方案實現(xiàn)密文高效檢索;引入可信第三方存儲密鑰信息,以實現(xiàn)安全、可靠的數(shù)據(jù)共享;采用用戶主動和系統(tǒng)主動兩方面的結合,提供數(shù)據(jù)安全保護和高效檢索?;诎踩亩喾接嬎憷碚摚C明了UESMCS的安全性。仿真實驗表明,UESMCS在不降低云存儲服務平臺數(shù)據(jù)操作性能的基礎上,保證了數(shù)據(jù)的安全性。該安全共享機制在保障云存儲環(huán)境下數(shù)據(jù)安全共享的同時,適用于實際的云存儲環(huán)境。本發(fā)明實施例提供的用戶可控的數(shù)據(jù)檢索方法以及用戶可控的數(shù)據(jù)存儲方法、終端、系統(tǒng),通過對數(shù)據(jù)進行三重加密和完整性校驗,并由用戶控制密文數(shù)據(jù)的訪問權限,實現(xiàn)用戶對云存儲數(shù)據(jù)的安全可控和高效存取,進而保證了云存儲環(huán)境下數(shù)據(jù)高效、安全的共享。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。此外,本領域的技術人員能夠理解,盡管在此的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。當前第1頁1 2 3