本公開一般涉及計算機技術領域,具體涉及信息安全領域,尤其涉及一種空氣態(tài)隱形加密保護方法和裝置。
背景技術:
目前,關于數(shù)據(jù)的本地或云端的存儲方式主要是直接存儲方式,即將數(shù)據(jù)直接存儲在本地服務器或云端服務器。這樣,其它用戶可能通過攻擊本地服務器或云端服務器的方式輕易讀取到用戶在本地或云端存儲的數(shù)據(jù),因此數(shù)據(jù)存儲安全性差。如果要求用戶自己將數(shù)據(jù)加密再發(fā)到本地服務器或云端服務器,雖然提高了數(shù)據(jù)安全性,但增加了用戶操作,用戶操作很繁瑣。
因此,需要一種減輕用戶操作、卻又能提高數(shù)據(jù)存儲安全性的方案。
技術實現(xiàn)要素:
鑒于現(xiàn)有技術中的上述缺陷或不足,期望提供一種減輕用戶操作、卻又能提高數(shù)據(jù)存儲安全性的技術。
第一方面,本申請實施例提供了一種空氣態(tài)隱形加密保護方法,所述方法包括:接收待存儲的數(shù)據(jù);識別數(shù)據(jù)存儲請求端標識;為待存儲的數(shù)據(jù)分配加密分組方案、每個分組的加密密鑰、以及與加密分組方案對應的加密流水號;將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表;根據(jù)分配的加密分組方案、每個分組的加密密鑰,加密待存儲的數(shù)據(jù)成加密數(shù)據(jù);存儲加密數(shù)據(jù);接收帶有加密流水號的數(shù)據(jù)訪問請求;根據(jù)數(shù)據(jù)訪問請求中的加密流水號,從對應關系表查找相對應的數(shù)據(jù)存儲請求端標識;判斷查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識是否一致;如果一致,從對應關系表中查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密分組方案、每個分組的加密密鑰;按照查找到的加密分組方案、每個分組的加密密鑰將加密數(shù)據(jù)解密成所述待存儲的數(shù)據(jù);發(fā)送解密出的所述待存儲的數(shù)據(jù)回數(shù)據(jù)訪問請求的請求端。
第二方面,本申請實施例提供了一種空氣態(tài)隱形加密保護裝置,所述裝置包括:待存儲的數(shù)據(jù)接收單元,用于接收待存儲的數(shù)據(jù);數(shù)據(jù)存儲請求端標識識別單元,用于識別數(shù)據(jù)存儲請求端標識;分配單元,用于為待存儲的數(shù)據(jù)分配加密分組方案、每個分組的加密密鑰、以及與加密分組方案對應的加密流水號;對應關系存儲單元,用于將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲成對應關系表;加密單元,用于根據(jù)分配的加密分組方案、每個分組的加密密鑰,加密待存儲的數(shù)據(jù)成加密數(shù)據(jù);加密數(shù)據(jù)存儲單元,用于存儲加密數(shù)據(jù);數(shù)據(jù)訪問請求接收單元,用于接收帶有加密流水號的數(shù)據(jù)訪問請求;數(shù)據(jù)存儲請求端標識查找單元,用于根據(jù)數(shù)據(jù)訪問請求中的加密流水號,從對應關系表查找相對應的數(shù)據(jù)存儲請求端標識;判斷單元,用于判斷查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識是否一致;加密分組方案及加密密鑰查找單元,用于如果一致,從對應關系表中查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密分組方案、每個分組的加密密鑰;解密單元,用于按照查找到的加密分組方案、每個分組的加密密鑰將加密數(shù)據(jù)解密成所述待存儲的數(shù)據(jù);發(fā)送單元,用于發(fā)送解密出的所述待存儲的數(shù)據(jù)回數(shù)據(jù)訪問請求的請求端。
第三方面,本申請實施例提供了一種設備,包括處理器、存儲器和顯示器;所述存儲器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行:接收待存儲的數(shù)據(jù);識別數(shù)據(jù)存儲請求端標識;為待存儲的數(shù)據(jù)分配加密分組方案、每個分組的加密密鑰、以及與加密分組方案對應的加密流水號;將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表;根據(jù)分配的加密分組方案、每個分組的加密密鑰,加密待存儲的數(shù)據(jù)成加密數(shù)據(jù);存儲加密數(shù)據(jù);接收帶有加密流水號的數(shù)據(jù)訪問請求;根據(jù)數(shù)據(jù)訪問請求中的加密流水號,從對應關系表查找相對應的數(shù)據(jù)存儲請求端標識;判斷查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識是否一致;如果一致,從對應關系表中查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密分組方案、每個分組的加密密鑰;按照查找到的加密分組方案、每個分組的加密密鑰將加密數(shù)據(jù)解密成所述待存儲的數(shù)據(jù);發(fā)送解密出的所述待存儲的數(shù)據(jù)回數(shù)據(jù)訪問請求的請求端。
第四方面,本申請實施例提供了一種機器可讀介質,包含計算機程序,所述計算機程序包括用于執(zhí)行以下的程序代碼:接收待存儲的數(shù)據(jù);識別數(shù)據(jù)存儲請求端標識;為待存儲的數(shù)據(jù)分配加密分組方案、每個分組的加密密鑰、以及與加密分組方案對應的加密流水號;將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表;根據(jù)分配的加密分組方案、每個分組的加密密鑰,加密待存儲的數(shù)據(jù)成加密數(shù)據(jù);存儲加密數(shù)據(jù);接收帶有加密流水號的數(shù)據(jù)訪問請求;根據(jù)數(shù)據(jù)訪問請求中的加密流水號,從對應關系表查找相對應的數(shù)據(jù)存儲請求端標識;判斷查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識是否一致;如果一致,從對應關系表中查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密分組方案、每個分組的加密密鑰;按照查找到的加密分組方案、每個分組的加密密鑰將加密數(shù)據(jù)解密成所述待存儲的數(shù)據(jù);發(fā)送解密出的所述待存儲的數(shù)據(jù)回數(shù)據(jù)訪問請求的請求端。
本發(fā)明實施例中,用戶的待存儲的數(shù)據(jù)不是直接存儲在本地服務器或云端服務器,而是為待存儲的數(shù)據(jù)自動加密,保證存儲在本地服務器或云端服務器的安全性。由于該加密是自動的,用戶完全覺察不到,對用戶來說是隱形的,即“空氣態(tài)“的,這種隱形加密的方式既減輕了用戶操作,又提高了數(shù)據(jù)存儲安全性。另外,本發(fā)明實施例不是用一個密鑰將待存儲的數(shù)據(jù)直接加密,而是把待存儲的數(shù)據(jù)分組,對每個分組用該分組的加密密鑰加密。這樣,即使黑客接觸到了服務器上的加密數(shù)據(jù),由于其不知道加密分組方案,也不知道每個分組的密鑰,因此很難正確解密,從而進一步提高了存儲的加密數(shù)據(jù)被破解的難度,提高了數(shù)據(jù)存儲的安全性。由于本發(fā)明實施例中,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號相對應地存儲,且用戶想訪問數(shù)據(jù)時,其發(fā)送的訪問請求中帶有加密流水號,這樣就可以找到當時為訪問的待存儲的數(shù)據(jù)分配的加密分組方案、每個分組的加密密鑰,從將加密數(shù)據(jù)解密。而且,當接收到用戶的數(shù)據(jù)訪問請求時,還會驗證發(fā)送數(shù)據(jù)訪問請求的用戶的標識是否與存入待存儲的數(shù)據(jù)的用戶的標識一致,從而保證了非存入數(shù)據(jù)的用戶不能訪問該數(shù)據(jù),進一步提高了數(shù)據(jù)存儲訪問的安全性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1示出了其中可以應用本申請實施例的示例性系統(tǒng)架構;
圖2示出了根據(jù)本申請一個實施例的空氣態(tài)隱形加密保護方法的示例性流程圖;
圖3示出了根據(jù)本申請一個實施例的空氣態(tài)隱形加密保護裝置的示例性結構框圖;
圖4示出了適于用來實現(xiàn)本申請實施例的計算機系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與發(fā)明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
請參考圖1,其示出了可以應用本申請實施例的示例性系統(tǒng)架構。
如圖1所示,系統(tǒng)架構可以包括請求端110、存儲服務器120。請求端110是請求存儲待存儲的數(shù)據(jù)的終端,也是請求訪問存儲的數(shù)據(jù)的終端。這里的終端包括通用計算機、移動終端、pda、車載設備等各種形式的終端。存儲服務器120是請求端110要將待存儲的數(shù)據(jù)存入的本地服務器或云端服務器。存儲服務器120包括空氣態(tài)隱形加密保護裝置121和存儲位置122??諝鈶B(tài)隱形加密保護裝置121是執(zhí)行本發(fā)明實施例的空氣態(tài)隱形加密保護方法的模塊。存儲位置122是存儲待存儲的數(shù)據(jù)的位置。它有可能是存儲服務器120內部的存儲空間,也有可能是插入存儲服務器120的存儲盤等。
如背景技術中提到的,目前,關于數(shù)據(jù)的本地或云端的存儲方式主要是直接存儲方式,即將數(shù)據(jù)直接存儲在本地服務器或云端服務器。這樣,其它用戶可能通過攻擊本地服務器或云端服務器的方式輕易讀取到用戶在本地或云端存儲的數(shù)據(jù),因此數(shù)據(jù)存儲安全性差。如果要求用戶自己將數(shù)據(jù)加密再發(fā)到本地服務器或云端服務器,雖然提高了數(shù)據(jù)安全性,但增加了用戶操作,用戶操作很繁瑣。因此,需要一種減輕用戶操作、卻又能提高數(shù)據(jù)存儲安全性的方案。
本發(fā)明實施例中,用戶的待存儲的數(shù)據(jù)不是直接存儲在本地服務器或云端服務器,而是為待存儲的數(shù)據(jù)自動加密,保證存儲在本地服務器或云端服務器的安全性。由于該加密是自動的,用戶完全覺察不到,對用戶來說是隱形的,即“空氣態(tài)“的,這種隱形加密的方式既減輕了用戶操作,又提高了數(shù)據(jù)存儲安全性。另外,本發(fā)明實施例不是用一個密鑰將待存儲的數(shù)據(jù)直接加密,而是把待存儲的數(shù)據(jù)分組,對每個分組用該分組的加密密鑰加密。這樣,即使黑客接觸到了服務器上的加密數(shù)據(jù),由于其不知道加密分組方案,也不知道每個分組的密鑰,因此很難正確解密,從而進一步提高了存儲的加密數(shù)據(jù)被破解的難度,提高了數(shù)據(jù)存儲的安全性。由于本發(fā)明實施例中,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號相對應地存儲,且用戶想訪問數(shù)據(jù)時,其發(fā)送的訪問請求中帶有加密流水號,這樣就可以找到加密時為訪問的待存儲的數(shù)據(jù)分配的加密分組方案、每個分組的加密密鑰,從將加密數(shù)據(jù)解密。而且,當接收到用戶的數(shù)據(jù)訪問請求時,還會驗證發(fā)送數(shù)據(jù)訪問請求的用戶的標識是否與存入待存儲的數(shù)據(jù)的用戶的標識一致,從而保證了非存入數(shù)據(jù)的用戶不能訪問該數(shù)據(jù),進一步提高了數(shù)據(jù)存儲訪問的安全性。
參考圖2,其示出了根據(jù)本申請一個實施例的空氣態(tài)隱形加密保護方法的示例性流程圖。這里的保護方法是指對數(shù)據(jù)在服務器上的存儲的安全保護方法。隱形加密是指將用戶數(shù)據(jù)加密存儲在存儲服務器上,但這種加密對于用戶來說是不知道的,是隱形的。空氣態(tài)是指加密對于用戶來說感覺不到,象空氣一樣。圖2所示的方法可以在圖1中的空氣態(tài)隱形加密保護裝置121執(zhí)行。
如圖2所示,在步驟201中,接收待存儲的數(shù)據(jù)。
待存儲的數(shù)據(jù)即來自請求端110的待存儲到存儲位置122的數(shù)據(jù),包括程序、文件、資料等。
在步驟202中,識別數(shù)據(jù)存儲請求端標識。
數(shù)據(jù)存儲請求端即請求存儲待存儲的數(shù)據(jù)的終端,即請求端110。數(shù)據(jù)存儲請求端標識即用于識別數(shù)據(jù)存儲請求端的標志,如為其分配的終端序列號。數(shù)據(jù)存儲請求端標識是互不相同的。
在一個實施例中,識別數(shù)據(jù)存儲請求端標識可以通過讀取數(shù)據(jù)存儲請求端向存儲服務器120發(fā)送待存儲的數(shù)據(jù)之前向存儲服務器120發(fā)的握手消息中的數(shù)據(jù)存儲請求端的標識實現(xiàn)的。
在步驟203中,為待存儲的數(shù)據(jù)分配加密分組方案、每個分組的加密密鑰、以及與加密分組方案對應的加密流水號。
在一個實施例中,分配加密分組方案包括:從預先設定的包括多個加密分組方案的方案集合中隨機選取加密分組方案。
也就是說,預先設定多個分組方案,將它們放在一個方案集合中。當需要為待存儲的數(shù)據(jù)分配加密分組方案時,隨機從方案集合中選取一個方案。
例如,集合中有四種加密分組方案:
方案1:按照數(shù)據(jù)量1:1:1:1等分要加密的數(shù)據(jù);
方案2:按照數(shù)據(jù)量1:2:1:2分割要加密的數(shù)據(jù);
方案3:按照數(shù)據(jù)量1:3:1:3分割要加密的數(shù)據(jù);
方案4:按照數(shù)據(jù)量1:2:3:4分割要加密的數(shù)據(jù)。
當需要為待存儲的數(shù)據(jù)分配加密分組方案時,隨機從方案集合中選,出方案4,這時意味著要把待存儲的數(shù)據(jù)按照數(shù)據(jù)量1:2:3:4分成四份。
從預先設定的包括多個加密分組方案的方案集合中隨機選取加密分組方案的好處是:由于分組方案不是固定不變的,而是每次從方案集合中隨機選出的,這樣就減少了攻擊者破解出分組方案的可能性,進一步提高了數(shù)據(jù)存儲的安全性。
在一個實施例中,分配每個分組的加密密鑰包括:為每個分組,從預先設定的包括多個加密密鑰的密鑰集合中隨機選取加密密鑰。
也就是說,預先設定多個加密密鑰,將它們放在密鑰集合中。當需要分配分組的加密密鑰時,就從密鑰集合中隨機選取一個加密密鑰。例如,預先設定100個加密密鑰,把它們放在密鑰集合中。當需要分配加密密鑰時,從100個加密密鑰中隨機選取一個。
從預先設定的包括多個加密密鑰的密鑰集合中隨機選取加密密鑰的好處是:由于加密密鑰不是固定不變的,而是每次從密鑰集合中隨機選出的,這樣,即使攻擊者破解出分組方案,也很難一一破解各分組的加密密鑰,進一步提高了數(shù)據(jù)存儲的安全性。
在一個實施例中,為待存儲的數(shù)據(jù)分配與加密分組方案對應的加密流水號時,每次為待存儲的數(shù)據(jù)分配的加密流水號互不相同。這樣做的好處是:在后續(xù)根據(jù)數(shù)據(jù)訪問請求中的加密流水號來查找與其相對應的數(shù)據(jù)存儲請求端標識、加密分組方案、以及每個分組的加密密鑰時,由于每次為待存儲的數(shù)據(jù)分配的加密流水號互不相同,就會查找到唯一的數(shù)據(jù)存儲請求端標識、加密分組方案、以及每個分組的加密密鑰,避免了依賴其它參數(shù)(例如加密時間等)來進一步識別對應的數(shù)據(jù)存儲請求端標識、加密分組方案、以及每個分組的加密密鑰,提高了訪問請求處理的效率。
在一個實施例中,在分配完加密流水號后,將分配的加密流水號返回數(shù)據(jù)存儲請求端,以便數(shù)據(jù)存儲請求端在需要訪問存儲的數(shù)據(jù)時,將加密流水號放在數(shù)據(jù)訪問請求中進行請求。
在步驟204中,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表。
對應關系表是相對應地存儲加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與數(shù)據(jù)存儲請求端標識的表。它存儲于存儲服務器120的高度機密的存儲空間。即使存儲在存儲服務器120的一般數(shù)據(jù)被攻擊者接觸到,這個表也很難被讀取。
在步驟205中,根據(jù)分配的加密分組方案、每個分組的加密密鑰,加密待存儲的數(shù)據(jù)成加密數(shù)據(jù)。
即,先根據(jù)分配的加密分組方案,把待存儲的數(shù)據(jù)分組。然后,對每個分組,利用其加密密鑰加密。然后,將加密后的各分組按照加密分組方案中的分組順序再組合到一起,成為加密數(shù)據(jù)。
在步驟206中,存儲加密數(shù)據(jù)。
即,將步驟205中得到的加密數(shù)據(jù)存儲到存儲位置122。
在步驟207中,接收帶有加密流水號的數(shù)據(jù)訪問請求。
如前面提到的,在分配完加密流水號后,將分配的加密流水號返回數(shù)據(jù)存儲請求端,即請求端110。這樣,當請求端110需要訪問存儲的數(shù)據(jù)時,將加密流水號放在數(shù)據(jù)訪問請求中,將數(shù)據(jù)訪問請求發(fā)送到存儲服務器120。數(shù)據(jù)訪問請求是訪問其存儲在存儲服務器120上的數(shù)據(jù)的請求。
在步驟208中,根據(jù)數(shù)據(jù)訪問請求中的加密流水號,從對應關系表查找相對應的數(shù)據(jù)存儲請求端標識。
由于在步驟204中,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表,因此,根據(jù)數(shù)據(jù)訪問請求中的加密流水號,就可以從對應關系表查找到相對應的數(shù)據(jù)存儲請求端標識。
在步驟209中,判斷查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識是否一致。
如果一致,就說明請求訪問數(shù)據(jù)的請求端就是將該數(shù)據(jù)存儲到存儲服務器120的請求端,可以允許訪問。如果不一致,就說明請求訪問數(shù)據(jù)的請求端不是將該數(shù)據(jù)存儲到存儲服務器120的請求端,不允許訪問。
在步驟210中,如果一致,從對應關系表中查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密分組方案、每個分組的加密密鑰。
由于在步驟204中,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表,因此,根據(jù)數(shù)據(jù)訪問請求中的加密流水號,就可以從對應關系表查找到相對應的加密分組方案、每個分組的加密密鑰。
在步驟211中,按照查找到的加密分組方案、每個分組的加密密鑰將加密數(shù)據(jù)解密成所述待存儲的數(shù)據(jù)。
即,按照查找到的加密分組方案,將加密數(shù)據(jù)分組。然后,對于每個分組,用每個分組的加密密鑰解密,得到解密后的該分組。在這里,假設加密與解密密鑰相同。然后,按照查找到的加密分組方案中的分組順序,將解密后的各分組組合,得到的數(shù)據(jù)與所述待存儲的數(shù)據(jù)一樣。
在步驟212中,發(fā)送解密出的所述待存儲的數(shù)據(jù)回數(shù)據(jù)訪問請求的請求端。
另外,在一個實施例中,所述方法還包括:為待存儲的數(shù)據(jù)分配加密后的每個分組的存儲位置。它可以作為步驟203的一部分,也可以作為在步驟204之前的單獨的一個步驟。
例如,將待存儲的數(shù)據(jù)分成4個分組。在存儲服務器120上有4個存儲分區(qū)a、b、c、d??梢詾?個加密的分組分別分配a、b、c、d四個分區(qū)。
在該實施例中,在步驟204中,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表時,所述加密后的每個分組的存儲位置也與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表。
在該實施例中,步驟206包括:將加密后的每個分組按照分配的加密后的每個分組的存儲位置存儲。
在上述例子中,可以將4個加密的分組分別存儲到a、b、c、d四個分區(qū)中。
在該實施例中,所述方法還包括:如果查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識一致,從對應關系中還查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密后的每個分組的存儲位置。該步驟可以作為步驟210的一部分,也可以作為步驟209之后、步驟211之前的單獨一個步驟。
在該實施例中,步驟211包括:按照查找到的加密分組方案,從查找到的加密后的每個分組的存儲位置取加密數(shù)據(jù),并將取回的加密數(shù)據(jù)按照查找到的每個分組的加密密鑰解密。
例如,加密分組方案是按照數(shù)據(jù)量1:2:3:4分成4組,加密后的每個分組的存儲位置分別是a、b、c、d四個分區(qū),則分別從a、b、c、d四個分區(qū)取加密數(shù)據(jù),并將取回的加密數(shù)據(jù)按照查找到的每個分組的加密密鑰解密。然后,將解密后的分組按照加密分組方案中的順序組合,成為解密數(shù)據(jù),即待存儲的數(shù)據(jù)。
為待存儲的數(shù)據(jù)除分配加密分組方案、每個分組的加密密鑰外,還分配加密后的每個分組的存儲位置的好處是,使得加密后的分組不存儲在一個位置,這樣,攻擊方破解存儲服務器120上存儲的數(shù)據(jù)的可能性更小,增強數(shù)據(jù)存儲安全性。
在一個實施例中,為待存儲的數(shù)據(jù)分配加密后的每個分組的存儲位置包括:從預先設定的包括多個存儲位置的位置集合中隨機選取加密后的每個分組的存儲位置。
也就是說,預先設定多個存儲位置,將它們放在位置集合中。當需要分配存儲位置時,就從位置集合中隨機選取一個存儲位置。例如,預先設定20個存儲位置,把它們放在位置集合中。當需要分配存儲位置時,從100個存儲位置中隨機選取一個。
從預先設定的包括多個存儲位置的位置集合中隨機選取存儲位置的好處是:由于存儲位置不是固定不變的,而是每次從位置集合中隨機選出的,這樣,即使攻擊者破解出分組方案和每個分組的加密密鑰,也不知道到哪些位置取加密數(shù)據(jù),進一步提高了數(shù)據(jù)存儲的安全性。
應當注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或將一個步驟分解為多個步驟執(zhí)行。
進一步參考圖3,其示出了根據(jù)本申請一個實施例的空氣態(tài)隱形加密保護裝置300的示例性結構框圖。
如圖3所示,空氣態(tài)隱形加密保護裝置300可以包括待存儲的數(shù)據(jù)接收單元301、數(shù)據(jù)存儲請求端標識識別單元302、分配單元303、對應關系存儲單元304、加密單元305、加密數(shù)據(jù)存儲單元306、數(shù)據(jù)訪問請求接收單元307、數(shù)據(jù)存儲請求端標識查找單元308、判斷單元309、加密分組方案及加密密鑰查找單元310、解密單元311、發(fā)送單元312。
如圖2所示,待存儲的數(shù)據(jù)接收單元301接收待存儲的數(shù)據(jù)。
待存儲的數(shù)據(jù)即來自請求端110的待存儲到存儲位置122的數(shù)據(jù),包括程序、文件、資料等。
數(shù)據(jù)存儲請求端標識識別單元302識別數(shù)據(jù)存儲請求端標識。
數(shù)據(jù)存儲請求端即請求存儲待存儲的數(shù)據(jù)的終端,即請求端110。數(shù)據(jù)存儲請求端標識即用于識別數(shù)據(jù)存儲請求端的標志,如為其分配的終端序列號。數(shù)據(jù)存儲請求端標識是互不相同的。
在一個實施例中,識別數(shù)據(jù)存儲請求端標識可以通過讀取數(shù)據(jù)存儲請求端向存儲服務器120發(fā)送待存儲的數(shù)據(jù)之前向存儲服務器120發(fā)的握手消息中的數(shù)據(jù)存儲請求端的標識實現(xiàn)的。
分配單元303為待存儲的數(shù)據(jù)分配加密分組方案、每個分組的加密密鑰、以及與加密分組方案對應的加密流水號。
在一個實施例中,分配加密分組方案包括:從預先設定的包括多個加密分組方案的方案集合中隨機選取加密分組方案。
也就是說,預先設定多個分組方案,將它們放在一個方案集合中。當需要為待存儲的數(shù)據(jù)分配加密分組方案時,隨機從方案集合中選取一個方案。
例如,集合中有四種加密分組方案:
方案1:按照數(shù)據(jù)量1:1:1:1等分要加密的數(shù)據(jù);
方案2:按照數(shù)據(jù)量1:2:1:2分割要加密的數(shù)據(jù);
方案3:按照數(shù)據(jù)量1:3:1:3分割要加密的數(shù)據(jù);
方案4:按照數(shù)據(jù)量1:2:3:4分割要加密的數(shù)據(jù)。
當需要為待存儲的數(shù)據(jù)分配加密分組方案時,隨機從方案集合中選,出方案4,這時意味著要把待存儲的數(shù)據(jù)按照數(shù)據(jù)量1:2:3:4分成四份。
從預先設定的包括多個加密分組方案的方案集合中隨機選取加密分組方案的好處是:由于分組方案不是固定不變的,而是每次從方案集合中隨機選出的,這樣就減少了攻擊者破解出分組方案的可能性,進一步提高了數(shù)據(jù)存儲的安全性。
在一個實施例中,分配每個分組的加密密鑰包括:為每個分組,從預先設定的包括多個加密密鑰的密鑰集合中隨機選取加密密鑰。
也就是說,預先設定多個加密密鑰,將它們放在密鑰集合中。當需要分配分組的加密密鑰時,就從密鑰集合中隨機選取一個加密密鑰。例如,預先設定100個加密密鑰,把它們放在密鑰集合中。當需要分配加密密鑰時,從100個加密密鑰中隨機選取一個。
從預先設定的包括多個加密密鑰的密鑰集合中隨機選取加密密鑰的好處是:由于加密密鑰不是固定不變的,而是每次從密鑰集合中隨機選出的,這樣,即使攻擊者破解出分組方案,也很難一一破解各分組的加密密鑰,進一步提高了數(shù)據(jù)存儲的安全性。
在一個實施例中,為待存儲的數(shù)據(jù)分配與加密分組方案對應的加密流水號時,每次為待存儲的數(shù)據(jù)分配的加密流水號互不相同。這樣做的好處是:在后續(xù)根據(jù)數(shù)據(jù)訪問請求中的加密流水號來查找與其相對應的數(shù)據(jù)存儲請求端標識、加密分組方案、以及每個分組的加密密鑰時,由于每次為待存儲的數(shù)據(jù)分配的加密流水號互不相同,就會查找到唯一的數(shù)據(jù)存儲請求端標識、加密分組方案、以及每個分組的加密密鑰,避免了依賴其它參數(shù)(例如加密時間等)來進一步識別對應的數(shù)據(jù)存儲請求端標識、加密分組方案、以及每個分組的加密密鑰,提高了訪問請求處理的效率。
在一個實施例中,在分配完加密流水號后,將分配的加密流水號返回數(shù)據(jù)存儲請求端,以便數(shù)據(jù)存儲請求端在需要訪問存儲的數(shù)據(jù)時,將加密流水號放在數(shù)據(jù)訪問請求中進行請求。
對應關系存儲單元304將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表。
對應關系表是相對應地存儲加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與數(shù)據(jù)存儲請求端標識的表。它存儲于存儲服務器120的高度機密的存儲空間。即使存儲在存儲服務器120的一般數(shù)據(jù)被攻擊者接觸到,這個表也很難被讀取。
加密單元305根據(jù)分配的加密分組方案、每個分組的加密密鑰,加密待存儲的數(shù)據(jù)成加密數(shù)據(jù)。
即,先根據(jù)分配的加密分組方案,把待存儲的數(shù)據(jù)分組。然后,對每個分組,利用其加密密鑰加密。然后,將加密后的各分組按照加密分組方案中的分組順序再組合到一起,成為加密數(shù)據(jù)。
加密數(shù)據(jù)存儲單元306存儲加密數(shù)據(jù)。
即,將上述得到的加密數(shù)據(jù)存儲到存儲位置122。
數(shù)據(jù)訪問請求接收單元307接收帶有加密流水號的數(shù)據(jù)訪問請求。
如前面提到的,在分配完加密流水號后,將分配的加密流水號返回數(shù)據(jù)存儲請求端,即請求端110。這樣,當請求端110需要訪問存儲的數(shù)據(jù)時,將加密流水號放在數(shù)據(jù)訪問請求中,將數(shù)據(jù)訪問請求發(fā)送到存儲服務器120。數(shù)據(jù)訪問請求是訪問其存儲在存儲服務器120上的數(shù)據(jù)的請求。
數(shù)據(jù)存儲請求端標識查找單元308根據(jù)數(shù)據(jù)訪問請求中的加密流水號,從對應關系表查找相對應的數(shù)據(jù)存儲請求端標識。
由于加密時,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表,因此,根據(jù)數(shù)據(jù)訪問請求中的加密流水號,就可以從對應關系表查找到相對應的數(shù)據(jù)存儲請求端標識。
判斷單元309判斷查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識是否一致。
如果一致,就說明請求訪問數(shù)據(jù)的請求端就是將該數(shù)據(jù)存儲到存儲服務器120的請求端,可以允許訪問。如果不一致,就說明請求訪問數(shù)據(jù)的請求端不是將該數(shù)據(jù)存儲到存儲服務器120的請求端,不允許訪問。
如果一致,加密分組方案及加密密鑰查找單元310從對應關系表中查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密分組方案、每個分組的加密密鑰。
由于加密時,將分配的加密分組方案、每個分組的加密密鑰、與加密分組方案對應的加密流水號與識別出的數(shù)據(jù)存儲請求端標識相對應地存儲在對應關系表,因此,根據(jù)數(shù)據(jù)訪問請求中的加密流水號,就可以從對應關系表查找到相對應的加密分組方案、每個分組的加密密鑰。
解密單元311按照查找到的加密分組方案、每個分組的加密密鑰將加密數(shù)據(jù)解密成所述待存儲的數(shù)據(jù)。
即,按照查找到的加密分組方案,將加密數(shù)據(jù)分組。然后,對于每個分組,用每個分組的加密密鑰解密,得到解密后的該分組。在這里,假設加密與解密密鑰相同。然后,按照查找到的加密分組方案中的分組順序,將解密后的各分組組合,得到的數(shù)據(jù)與所述待存儲的數(shù)據(jù)一樣。
發(fā)送單元312發(fā)送解密出的所述待存儲的數(shù)據(jù)回數(shù)據(jù)訪問請求的請求端。
另外,在一個實施例中,所述裝置還包括:存儲位置分配單元,用于為待存儲的數(shù)據(jù)分配加密后的每個分組的存儲位置。
例如,將待存儲的數(shù)據(jù)分成4個分組。在存儲服務器120上有4個存儲分區(qū)a、b、c、d。可以為4個加密的分組分別分配a、b、c、d四個分區(qū)。
在該實施例中,加密數(shù)據(jù)存儲單元306進一步用于:將加密后的每個分組按照分配的加密后的每個分組的存儲位置存儲。
在上述例子中,可以將4個加密的分組分別存儲到a、b、c、d四個分區(qū)中。
在該實施例中,所述裝置還包括:存儲位置查找單元,用于如果查找到的數(shù)據(jù)存儲請求端標識與數(shù)據(jù)訪問請求的請求端標識一致,從對應關系中還查找與數(shù)據(jù)訪問請求中的加密流水號相對應的加密后的每個分組的存儲位置。
在該實施例中,解密單元進一步用于:按照查找到的加密分組方案,從查找到的加密后的每個分組的存儲位置取加密數(shù)據(jù),并將取回的加密數(shù)據(jù)按照查找到的每個分組的加密密鑰解密。
例如,加密分組方案是按照數(shù)據(jù)量1:2:3:4分成4組,加密后的每個分組的存儲位置分別是a、b、c、d四個分區(qū),則分別從a、b、c、d四個分區(qū)取加密數(shù)據(jù),并將取回的加密數(shù)據(jù)按照查找到的每個分組的加密密鑰解密。然后,將解密后的分組按照加密分組方案中的順序組合,成為解密數(shù)據(jù),即待存儲的數(shù)據(jù)。
為待存儲的數(shù)據(jù)除分配加密分組方案、每個分組的加密密鑰外,還分配加密后的每個分組的存儲位置的好處是,使得加密后的分組不存儲在一個位置,這樣,攻擊方破解存儲服務器120上存儲的數(shù)據(jù)的可能性更小,增強數(shù)據(jù)存儲安全性。
在一個實施例中,為待存儲的數(shù)據(jù)分配加密后的每個分組的存儲位置包括:從預先設定的包括多個存儲位置的位置集合中隨機選取加密后的每個分組的存儲位置。
也就是說,預先設定多個存儲位置,將它們放在位置集合中。當需要分配存儲位置時,就從位置集合中隨機選取一個存儲位置。例如,預先設定20個存儲位置,把它們放在位置集合中。當需要分配存儲位置時,從100個存儲位置中隨機選取一個。
從預先設定的包括多個存儲位置的位置集合中隨機選取存儲位置的好處是:由于存儲位置不是固定不變的,而是每次從位置集合中隨機選出的,這樣,即使攻擊者破解出分組方案和每個分組的加密密鑰,也不知道到哪些位置取加密數(shù)據(jù),進一步提高了數(shù)據(jù)存儲的安全性。
下面參考圖4,其示出了適于用來實現(xiàn)本申請實施例的計算機系統(tǒng)400的結構示意圖。
如圖4所示,計算機系統(tǒng)400包括中央處理單元(cpu)401,其可以根據(jù)存儲在只讀存儲器(rom)402中的程序或者從存儲部分408加載到隨機訪問存儲器(ram)403中的程序而執(zhí)行各種適當?shù)膭幼骱吞幚?。在ram403中,還存儲有系統(tǒng)400操作所需的各種程序和數(shù)據(jù)。cpu401、rom402以及ram403通過總線404彼此相連。輸入/輸出(i/o)接口405也連接至總線404。
以下部件連接至i/o接口405:包括鍵盤、鼠標等的輸入部分406;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分407;包括硬盤等的存儲部分408;以及包括諸如lan卡、調制解調器等的網(wǎng)絡接口卡的通信部分409。通信部分409經(jīng)由諸如因特網(wǎng)的網(wǎng)絡執(zhí)行通信處理。驅動器410也根據(jù)需要連接至i/o接口405??刹鹦督橘|411,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據(jù)需要安裝在驅動器410上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分408。
特別地,根據(jù)本公開的實施例,上文參考圖2描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機器可讀介質上的計算機程序,所述計算機程序包含用于執(zhí)行圖2的方法的程序代碼。
在這樣的實施例中,該計算機程序可以通過通信部分409從網(wǎng)絡上被下載和安裝,和/或從可拆卸介質411被安裝。
附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施例的系統(tǒng)、方法和計算機程序產品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元或模塊可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元或模塊也可以設置在處理器中。這些單元或模塊的名稱在某種情況下并不構成對該單元或模塊本身的限定。
作為另一方面,本申請還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質可以是上述實施例中所述裝置中所包含的計算機可讀存儲介質;也可以是單獨存在,未裝配入設備中的計算機可讀存儲介質。計算機可讀存儲介質存儲有一個或者一個以上程序,所述程序被一個或者一個以上的處理器用來執(zhí)行描述于本申請的公式輸入方法。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發(fā)明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。