亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

分布式key?value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法與流程

文檔序號:12132576閱讀:566來源:國知局
分布式key?value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法與流程

本發(fā)明公開一種分布式key-value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法,屬于信息安全技術(shù)領(lǐng)域。



背景技術(shù):

隨著個人與企業(yè)用戶對數(shù)據(jù)存儲業(yè)務(wù)需求的快速增長,云端存儲系統(tǒng)技術(shù)快速發(fā)展,分布式key-value存儲系統(tǒng)以其良好的拓展性、可靠性、高效性及成本優(yōu)勢獲得了極大的發(fā)展,在其之上可以構(gòu)建多種云端應用,包括網(wǎng)上云盤、云主機的底層存儲等,且,基于大數(shù)據(jù)技術(shù)對數(shù)據(jù)進行有效利用也具有極高的數(shù)據(jù)價值。

云端存儲系統(tǒng)中存儲有個人及企業(yè)用戶的各種數(shù)據(jù),包括賬戶數(shù)據(jù)、隱私數(shù)據(jù)、涉密數(shù)據(jù)等,因而,存儲系統(tǒng)的數(shù)據(jù)安全性需要很好的解決,以保證用戶私有數(shù)據(jù)的安全可靠性;傳統(tǒng)的分布式key-value存儲系統(tǒng)要么沒有對數(shù)據(jù)進行加密處理,使得系統(tǒng)管理員可利用其高權(quán)限任意查看用戶數(shù)據(jù),甚者造成用戶數(shù)據(jù)的泄露,要么直接對數(shù)據(jù)文件進行加密,導致系統(tǒng)性能低下,也對大數(shù)據(jù)分析帶來極大的困難。



技術(shù)實現(xiàn)要素:

鑒于上述原因,本發(fā)明的目的在于提供一種分布式key-value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法,通過對數(shù)據(jù)存儲路徑進行加密處理,使得管理員無法任意查看用戶數(shù)據(jù),既增加了數(shù)據(jù)安全性,又保證了系統(tǒng)性能穩(wěn)定高效。

為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:

一種分布式key-value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法,系統(tǒng)包括若干存儲節(jié)點,包括:

設(shè)置用戶密鑰;

根據(jù)存儲數(shù)據(jù)生成數(shù)據(jù)對象存儲位置,該數(shù)據(jù)對象存儲位置包括數(shù)據(jù)對象鍵值;

根據(jù)數(shù)據(jù)對象存儲位置,利用用戶密鑰生成數(shù)據(jù)文件存儲路徑,生成密文數(shù)據(jù)對象鍵值,

根據(jù)密文數(shù)據(jù)對象鍵值確定特定存儲節(jié)點;

將存儲數(shù)據(jù)存儲于該特定存儲節(jié)點。

進一步的,

所述數(shù)據(jù)對象存儲位置包括用戶名、應用名稱、所述數(shù)據(jù)對象鍵值及數(shù)據(jù)對象值,所述數(shù)據(jù)文件存儲路徑包括根據(jù)該用戶名生成的用戶目錄,根據(jù)該應用名稱生成的業(yè)務(wù)目錄,且用戶目錄/業(yè)務(wù)目錄。

在所述特定存儲節(jié)點的用戶目錄/業(yè)務(wù)目錄下,生成m個密文目錄{DIR31,DIR32,…DIR3m},根據(jù)所述密文數(shù)據(jù)對象鍵值獲取數(shù)值q,q∈{1,2,…,m},將所述存儲數(shù)據(jù)保存于第q個密文目錄DIR3q下。

根據(jù)所述密文數(shù)據(jù)對象鍵值基于一致性哈希算法確定主存儲節(jié)點和副本存儲節(jié)點,所述存儲數(shù)據(jù)分別保存于主存儲節(jié)點與副本存儲節(jié)點中。

對所述密文數(shù)據(jù)對象鍵值進行求余計算獲得所述數(shù)值q。

數(shù)據(jù)存儲過程為:

S10:客戶端配置所述用戶密鑰;

S11:根據(jù)存儲數(shù)據(jù)生成所述數(shù)據(jù)對象存儲位置;

S12:根據(jù)所述數(shù)據(jù)對象存儲位置,利用所述用戶密鑰生成所述數(shù)據(jù)文件存儲路徑,生成密文數(shù)據(jù)對象鍵值;

S13:客戶端向系統(tǒng)任意一存儲節(jié)點發(fā)送寫數(shù)據(jù)請求,該存儲節(jié)點確定所述特定存儲節(jié)點;

該寫數(shù)據(jù)請求包括所述用戶目錄、業(yè)務(wù)目錄、數(shù)據(jù)對象鍵值、數(shù)據(jù)對象值、密文數(shù)據(jù)對象鍵值,

S14:所述特定存儲節(jié)點根據(jù)寫數(shù)據(jù)請求存儲數(shù)據(jù);

所述特定存儲節(jié)點查找是否存在相應的用戶目錄/業(yè)務(wù)目錄,若不存在,則創(chuàng)建該用戶目錄/業(yè)務(wù)目錄,在該業(yè)務(wù)目錄下創(chuàng)建m個密文目錄{DIR31,DIR32,…DIR3m},對密文數(shù)據(jù)對象鍵值進行求余計算,根據(jù)得到的值q確定對應的目錄DIR3q,將該數(shù)據(jù)對象值保存于目錄DIR3q下;

若已存在相應的用戶目錄/業(yè)務(wù)目錄,在該業(yè)務(wù)目錄下,對密文數(shù)據(jù)對象鍵值進行求余計算,根據(jù)得到的值q確定對應的目錄DIR3q,將該數(shù)據(jù)對象值保存于目錄DIR3q中。

數(shù)據(jù)讀取過程為:

S20:客戶端輸入讀取密鑰;

S21:根據(jù)讀取的數(shù)據(jù)生成所述數(shù)據(jù)對象存儲位置;

S22:根據(jù)生成的數(shù)據(jù)對象存儲位置,利用讀取密鑰生成所述數(shù)據(jù)文件存儲路徑,生成密文讀取數(shù)據(jù)對象鍵值;

S23:客戶端向系統(tǒng)中任意一存儲節(jié)點發(fā)送讀數(shù)據(jù)請求,該存儲節(jié)點確定所述特定存儲節(jié)點;

該讀數(shù)據(jù)請求包括所述用戶目錄、業(yè)務(wù)目錄、數(shù)據(jù)對象鍵值、數(shù)據(jù)對象值、密文讀取數(shù)據(jù)對象鍵值,

S24:所述特定存儲節(jié)點查找并讀取數(shù)據(jù);

所述特定存儲節(jié)點根據(jù)該用戶目錄、業(yè)務(wù)目錄,查找是否存在相應的用戶目錄/業(yè)務(wù)目錄,若未找到,則無法讀取數(shù)據(jù);

若查找到,則在該業(yè)務(wù)目錄下,對所述密文讀取數(shù)據(jù)對象鍵值進行求余計算,根據(jù)得到的數(shù)值q確定對應的目錄DIR3q,從該目錄DIR3q下讀取數(shù)據(jù)。

所述任意一存儲節(jié)點根據(jù)密文讀取數(shù)據(jù)對象鍵值基于一致性哈希算法確定主存儲節(jié)點和副本存儲節(jié)點,所述存儲數(shù)據(jù)分別保存于該主存儲節(jié)點與副本存儲節(jié)點;所述任意一存儲節(jié)點根據(jù)密文讀取數(shù)據(jù)對象鍵值基于一致性哈希算法確定主存儲節(jié)點和副本存儲節(jié)點,從該主存儲節(jié)點與副本存儲節(jié)點中查找并讀取數(shù)據(jù)。

本發(fā)明的優(yōu)點是:

本發(fā)明的分布式key-value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法,通過對數(shù)據(jù)存儲位置進行加密,而不對數(shù)據(jù)文件本身進行加密,一方面,攻擊者或管理員若無用戶密鑰則無法成功讀取數(shù)據(jù),保證了數(shù)據(jù)安全性,另一方面,大幅降低了加密運算量,保證了系統(tǒng)性能的穩(wěn)定性和高效性,不會對利用數(shù)據(jù)進行大數(shù)據(jù)分析造成影響。

附圖說明

圖1是本發(fā)明的系統(tǒng)架構(gòu)示意圖。

圖2是本發(fā)明的存儲數(shù)據(jù)的方法流程圖。

圖3是本發(fā)明的讀取數(shù)據(jù)的方法流程示意圖。

具體實施方式

以下結(jié)合附圖和實施例對本發(fā)明作進一步詳細的描述。

如圖1所示,本發(fā)明公開的分布式key-value存儲系統(tǒng)的數(shù)據(jù)存儲位置加密方法,基于分布式key-value存儲系統(tǒng)實現(xiàn),該系統(tǒng)包括主存儲節(jié)點(以下簡稱主節(jié)點)和副本存儲節(jié)點(以下簡稱副本節(jié)點),n個存儲節(jié)點中每個存儲節(jié)點既可以是主節(jié)點也可以是副本節(jié)點,客戶端的用戶數(shù)據(jù)存儲于主節(jié)點中,備份的用戶數(shù)據(jù)存儲于副本節(jié)點中,副本節(jié)點的數(shù)量可根據(jù)需要設(shè)置,客戶端與分布式key-value存儲系統(tǒng)通過網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)交互。

主節(jié)點與副本節(jié)點上文件系統(tǒng)的數(shù)據(jù)文件存儲路徑為D(文件目錄D),其中逐級向下劃分為用戶目錄層DIR1、業(yè)務(wù)目錄層DIR2、密文目錄層DIR3,用戶數(shù)據(jù)文件保存于目錄DIR3下,即:D/DIR1/DIR2/DIR3/FILENAME。

如圖2所示,用戶于客戶端存儲數(shù)據(jù)的方法流程為:

S10:用戶配置密鑰P;

用戶可以設(shè)置密鑰,或是通過第三方認證機構(gòu)獲取密鑰。

S11:用戶存儲數(shù)據(jù),根據(jù)存儲數(shù)據(jù)生成數(shù)據(jù)對象存儲位置;

用戶數(shù)據(jù)的數(shù)據(jù)對象存儲位置格式為L(username,application,key,value),其中,username為用戶名,application為應用名稱,key為數(shù)據(jù)對象鍵值,一般為數(shù)據(jù)文件的名稱,value為數(shù)據(jù)對象值,對應數(shù)據(jù)文件。

例如,用戶admin欲將圖片文件test.jpg存儲于網(wǎng)盤應用中,則對應的數(shù)據(jù)對象存儲位置格式為:L(admin,網(wǎng)盤,test,test.jpg)。

S12:根據(jù)數(shù)據(jù)對象存儲位置,利用密鑰P生成數(shù)據(jù)文件存儲路徑,并生成密文鍵值key_P;

利用密鑰P基于對稱加密算法對用戶名username進行加密處理生成DIR1,利用密鑰P基于對稱加密算法對應用名稱application進行加密處理生成DIR2,利用密鑰P基于對稱加密算法對數(shù)據(jù)對象鍵值key進行加密處理生成密文鍵值key_P。

S13:客戶端向系統(tǒng)發(fā)送寫數(shù)據(jù)請求,系統(tǒng)確定主節(jié)點和副本節(jié)點;

客戶端向系統(tǒng)發(fā)送寫數(shù)據(jù)請求,該寫數(shù)據(jù)請求包括數(shù)據(jù)文件存儲路徑(DIR1,DIR2)、鍵-值對(key,value)及密文鍵值key_P,即寫數(shù)據(jù)請求包括(DIR1,DIR2,key,value,key_P),分布式key-value存儲系統(tǒng)中的任意一個存儲節(jié)點接收該寫數(shù)據(jù)請求,該存儲節(jié)點利用key_P基于一致性哈希算法確定主節(jié)點和副本節(jié)點,然后將該寫數(shù)據(jù)請求分別發(fā)送至確定出的主節(jié)點和副本節(jié)點。

S14:主節(jié)點和副本節(jié)點根據(jù)寫數(shù)據(jù)請求存儲用戶數(shù)據(jù)。

主節(jié)點與副本節(jié)點分別接收寫數(shù)據(jù)請求,主節(jié)點與副本節(jié)點存儲用戶數(shù)據(jù)的過程相同,以下僅以主節(jié)點為例說明存儲過程。

主節(jié)點未查找到目錄DIR1,DIR2,判定為初次存儲數(shù)據(jù),主節(jié)點根據(jù)DIR1,DIR2依次創(chuàng)建存儲路徑DIR1/DIR2,在目錄DIR2下,創(chuàng)建m個目錄DIR3,即:DIR31、DIR32、DIR33……DIR3m,m值可以根據(jù)用戶設(shè)置確定,或是取系統(tǒng)默認值,主節(jié)點對密文鍵值key_P進行求余數(shù)計算,即計算q=key_P%m,得到的q值即對應目錄DIR3q,然后將用戶欲存儲的數(shù)據(jù)文件value保存于目錄DIR3q中。

主節(jié)點查找到目錄DIR1,DIR2,則為非初次存儲數(shù)據(jù),主節(jié)點根據(jù)DIR1,DIR2查找存儲路徑DIR1/DIR2,在目錄DIR2下,對密文鍵值key_P進行求余數(shù)計算,即計算q=key_P%m,得到q值對應目錄DIR3q,然后將用戶欲存儲的數(shù)據(jù)文件value保存于目錄DIR3q中。

如圖3所示,用戶于客戶端讀取數(shù)據(jù)的方法流程為:

S20:用戶讀取數(shù)據(jù),輸入密鑰P`;

S21:根據(jù)讀取的數(shù)據(jù)生成數(shù)據(jù)對象存儲位置;

該數(shù)據(jù)對象存儲位置格式為L(username`,application`,key`,value`)。

S22:根據(jù)生成的數(shù)據(jù)對象存儲位置,利用密鑰P`生成數(shù)據(jù)文件存儲路徑,并生成密文鍵值key_P`;

利用密鑰P`基于對稱加密算法對用戶名username`進行加密處理生成DIR1`,利用密鑰P`基于對稱加密算法對應用名稱application`進行加密處理生成DIR2`,同時,利用密鑰P`基于對稱加密算法對數(shù)據(jù)對象鍵值key`進行加密處理生成密文鍵值key_P`。

S23:客戶端向系統(tǒng)發(fā)送讀數(shù)據(jù)請求,系統(tǒng)確定主節(jié)點和副本節(jié)點;

該讀數(shù)據(jù)請求包括數(shù)據(jù)文件存儲路徑(DIR1`,DIR2`)、鍵-值對(key`,value`)及密文鍵值key_P`,即讀數(shù)據(jù)請求包括(DIR1`,DIR2`,key`,value`,key_P`);分布式key-value存儲系統(tǒng)中的任意一個存儲節(jié)點接收該讀數(shù)據(jù)請求,該存儲節(jié)點利用key_P`基于一致性哈希算法確定主節(jié)點和副本節(jié)點,然后將該讀數(shù)據(jù)請求分別發(fā)送至確定出的主節(jié)點和副本節(jié)點。

S24:主節(jié)點和副本節(jié)點查找并讀取用戶數(shù)據(jù)。

主節(jié)點與副本節(jié)點分別接收讀數(shù)據(jù)請求,主節(jié)點與副本節(jié)點查找、讀取用戶數(shù)據(jù)的過程相同,以下僅以主節(jié)點為例說明數(shù)據(jù)讀取過程。

主節(jié)點根據(jù)DIR1`、DIR2`查找目錄DIR1`、DIR2`,若未找到,表明密鑰與存儲數(shù)據(jù)時的密鑰不一致,密鑰錯誤,無法讀取數(shù)據(jù);若查找到,則在目錄DIR2`下,對key_P`進行求余數(shù)計算,即計算q`=key_P`%m,根據(jù)得到的q`值,找到對應的目錄DIR3q`,然后從目錄DIR3q`下讀取出數(shù)據(jù)文件value`。

本發(fā)明中,系統(tǒng)的數(shù)據(jù)安全性取決于存儲節(jié)點數(shù)n,副本節(jié)點數(shù)r,用戶數(shù)u,總應用數(shù)a,以及密文目錄DIR3數(shù)m,數(shù)據(jù)對象存儲位置L的最終取值為C(n,r)*u*a*m,在u、a一定的情況下,n、m值越大,數(shù)據(jù)安全性越高。系統(tǒng)性能方面,系統(tǒng)的性能損失為對L值的加密損失,當L值大小在千字節(jié)范圍內(nèi)時,加密速度將遠遠大于一個大數(shù)據(jù)文件的存儲速度,對系統(tǒng)性能的影響較小,因此,本發(fā)明的方法特別適用于大規(guī)模、多用戶的分布式key-value存儲系統(tǒng)中。

以上所述是本發(fā)明的較佳實施例及其所運用的技術(shù)原理,對于本領(lǐng)域的技術(shù)人員來說,在不背離本發(fā)明的精神和范圍的情況下,任何基于本發(fā)明技術(shù)方案基礎(chǔ)上的等效變換、簡單替換等顯而易見的改變,均屬于本發(fā)明保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1