• / 15
  • 下載費用:30 金幣  

一種基于用戶感知的高效安全數據去重方法及系統.pdf

摘要
申請專利號:

CN201510257654.7

申請日:

2015.05.19

公開號:

CN104917609A

公開日:

2015.09.16

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):H04L 9/08申請日:20150519|||公開
IPC分類號: H04L9/08; H04L29/06; G06F17/30 主分類號: H04L9/08
申請人: 華中科技大學
發明人: 馮丹; 周玉坤; 夏文; 付忞; 黃方亭; 張宇成; 李春光
地址: 430074湖北省武漢市洪山區珞喻路1037號
優先權:
專利代理機構: 華中科技大學專利中心42201 代理人: 曹葆青
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510257654.7

授權公告號:

||||||

法律狀態公告日:

2017.11.10|||2015.10.14|||2015.09.16

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供了一種基于用戶感知的高效安全數據去重方法,包括:客戶端采用密鑰服務器協助的基于哈希的收斂加密進行跨用戶文件級數據去重;若文件不重復采用用戶協助的收斂加密進行用戶內部的塊級去重;采用多級密鑰管理,使用文件級密鑰加密塊級密鑰,使用秘密共享將文件級密鑰切分成分片級密鑰存儲到分布式密鑰服務器。本發明還提供了一種基于用戶感知的高效安全數據去重系統。本發明通過在文件級采用密鑰服務器協助的基于哈希的收斂加密和在塊級采用用戶協助的收斂加密添加隨機信息,使用戶文件級和塊級密鑰隨機化,能有效地抵抗敵手的暴力破解攻擊,保證用戶數據機密性和安全性;采用多級密鑰管理方案保證密鑰安全性,減少密鑰空間開銷。

權利要求書

權利要求書
1.  一種基于用戶感知的高效安全數據去重方法,其特征在于,所述方法包括如下步驟:
(1)準備階段,系統初始化參數,包括初始化公共安全參數P、Shamir秘密共享的參數(w,t),生成密鑰服務器的RSA公鑰(N,e)、私鑰(N,d),初始化哈希函數Hash,帶密鑰的哈希函數HMAC和加密函數Encry,并且每個用戶產生自己的安全秘密salt,密鑰服務器獲得RSA私鑰(N,d),將公鑰(N,e)分發給所有用戶;
(2)備份階段,包括以下步驟:
(2.1)用戶輸入文件F,產生文件哈希HF=Hash(P,F),用戶對文件哈希HF采用密鑰服務器協助的基于哈希的收斂加密,產生文件級密鑰KF和文件指紋TF,并將文件指紋TF發送到存儲服務提供商;
(2.2)存儲服務提供商接收用戶發送的文件指紋TF,在文件指紋索引中查找文件指紋TF是否存在,并將查詢結果返回用戶;
(2.3)用戶接收查詢結果;若查詢結果顯示文件指紋TF存在,則用戶更新文件元數據信息,備份階段結束;若查詢結果顯示文件指紋TF不存在,則用戶將文件F切分成細粒度的數據塊,并在用戶內部執行塊級去重;
(2.4)在用戶內部的塊級去重中,對于每個數據塊Bi采用用戶協助的收斂加密算法獲得數據塊Bi的加密密鑰和數據塊的指紋將所有數據塊的指紋發送到存儲服務提供商端,并進行重復數據檢測,其中i=1,2,...n,,n是數據塊數目;
(2.5)存儲服務提供商接收用戶發送的數據塊指紋并在用戶的塊級指紋索引表中對所有的數據塊指紋進行查詢;對于每一個數據塊將所有的數據塊的查詢結果寫入到標識信息數組中,并將數據塊指紋是否存在的標識信息數組返回用戶;
(2.6)用戶接收存儲服務提供商發送的標識信息數組;針對每個數據塊Bi,若標識信息數組顯示數據塊指紋不存在,用戶將數據塊的密文發送到存儲服務提供商;用戶生成相應的文件譜,并按順序將數據塊的指紋寫入到文件譜中用于文件恢復;
(2.7)若標識信息數組顯示數據塊指紋存在,則用戶更新文件譜和元數據信息;用戶使用秘密共享將文件級密鑰KF切分成分片級密鑰{Sj},其中j=1,2,...,w,w是分布式密鑰服務器的數目;
(3)恢復階段,其包括以下步驟:
(3.1)用戶要恢復文件F時,將恢復文件請求和文件名發送到存儲服務提供商,存儲服務提供商接收用戶的文件恢復請求,并驗證用戶的身份;若身份驗證失敗,存儲服務提供商將拒絕用戶的請求,恢復過程結束;
(3.2)若身份驗證通過,存儲服務提供商讀取文件譜,并將文件譜以及文件對應的所有數據塊密文發送給用戶;用戶接收文件譜和所有數據塊的密文
(3.3)用戶向t個不同的密鑰服務器來獲取分片級的密鑰Sj;每個密鑰服務器驗證用戶的身份,密鑰服務器讀取分片級密鑰Sj,并將它們發送回該用戶;用戶使用秘密共享,根據t個分片級密鑰恢復文件F的文件級密鑰KF;
(3.4)用戶獲得文件譜和文件級密鑰KF;用戶使用文件級密鑰KF根據對稱加密算法來解密每個數據的塊級密鑰并使用對應的數據塊塊級密鑰來解密每個數據塊Bi;最后按照文件譜的順序來依次排列數據塊并恢復文件F。

2.  如權利要求1所述的方法,其特征在于,所述步驟(2.1)具體為:用戶選擇隨機數r∈Ν并計算r的逆r-1,r與r-1滿足r·r-1≡1,計算文件哈希HF的盲化信息x=HF·re(modΝ),用戶將x發送到分布式密鑰服務器;分布 式密鑰服務器接收x,計算簽名信息y=xd(modΝ),分布式密鑰服務器將y返回用戶;用戶接收到y并消除盲化信息得到中間變量z=y·r-1(modN);用戶驗證HF≡zd(modN),若滿足條件z就是文件F的文件級密鑰KF,否則密鑰生成失敗,用戶計算文件級密鑰的哈希得到文件指紋TF,TF=Hash(P,KF)。

3.  如權利要求1或2所述的方法,其特征在于,所述步驟(2.4)具體包括:
(2.4.1)用戶使用分塊算法將文件F切分成多個數據塊{Bi};
(2.4.2)對于每個數據塊Bi,用戶使用用戶自身協助的收斂加密方案產生塊級密鑰和數據塊指紋
(2.4.3)對每個數據塊Bi,用戶以其塊級密鑰為加密密鑰采用對稱加密算法來加密數據塊Bi生成密文然后對密文計算哈希得到數據塊的指紋
(2.4.4)用戶將產生的數據塊指紋發送到存儲服務提供商,進行重復數據查詢。

4.  如權利要求1或2所述的方法,其特征在于,所述步驟(2.4)中:所述Hash函數,HMAC函數和Encry函數采用SHA-1,或者SHA-256,或者HMAC-SHA1,或者HMAC-SHA256,或者AES。

5.  如權利要求3所述的方法,其特征在于,所述步驟(2.4.1)中:所述分塊算法是定長分塊或者基于內容的分塊。

6.  如權利要求3所述的方法,其特征在于,所述步驟(2.4.2)具體包括:用戶對數據塊Bi計算數據塊Bi的哈希值其哈希函數采用SHA-1或SHA-256;用戶產生每個數據塊Bi的密鑰HMAC采用HMAC-SHA1或HMAC-SHA256,其中salt是由用戶自己保存的秘密信息。

7.  如權利要求1或2所述的方法,其特征在于,所述步驟(2.5)中:用戶的塊級指紋索引表通過哈希表或鍵值存儲來實現。

8.  如權利要求1或2所述的方法,其特征在于,所述步驟(2.6)中:文件譜包含文件的指紋、文件大小,并按順序記錄所有數據塊的指紋和數據塊大小。

9.  如權利要求1或2所述的方法,其特征在于,所述步驟(2.7)具體包括:當所有數據塊查詢結果之后,用戶通過秘密共享將文件級密鑰KF切分成w個不同的分片級密鑰{Sj},并將分片Sj發送到w個不同的密鑰服務器中存儲,其中j=1,2,...,w,w是分布式密鑰服務器的數目。

10.  一種基于用戶感知的高效安全數據去重系統,其特征在于,所述系統包括客戶端、存儲服務提供商和分布式密鑰服務器,其中:
所述客戶端包括跨用戶文件級去重模塊、用戶內部塊級去重模塊以及多密鑰管理模塊,其中,
所述跨用戶文件級去重模塊包括文件級密鑰模塊和文件指紋模塊,所述文件級密鑰模塊用于在用戶輸入備份文件時計算文件級密鑰;所述文件指紋模塊用于根據所述文件級密鑰計算哈希值得到文件指紋;
所述用戶內部塊級去重模塊包括分塊模塊、塊級密鑰模塊、塊級指紋模塊以及數據傳輸模塊,所述分塊模塊用于在文件不重復時,將文件切分成多個數據塊;所述塊級密鑰模塊用于對每個數據塊產生塊級密鑰,根據塊級密鑰加密數據塊得到數據塊密文;所述塊級指紋模塊用于對所述數據塊密文計算哈希值得到塊級指紋;所述數據傳輸模塊用于在進行塊級重復數據檢測之后將非重復數據塊密文發送到存儲服務提供商儲存;
所述多級密鑰管理模塊包括密鑰加密模塊和秘密共享模塊,所述密鑰加密模塊用于根據文件級密鑰加密塊級密鑰,并將塊級密鑰的密文寫入文件譜中;對于非重復的文件,所述秘密共享模塊用于將文件級密鑰切分成多個分片級密鑰并發送到分布式密鑰服務器儲存;
所述存儲服務提供商包括跨用戶文件指紋索引表模塊、用戶內部塊級指紋索引表模塊、元數據存儲模塊、文件譜存儲模塊和數據塊存儲模塊, 其中所述跨用戶文件指紋索引模塊用于生成并維護跨用戶文件指紋索引表,接收客戶端傳輸的文件指紋并在跨用戶文件指紋索引表中查詢,若文件指紋存在,則返回文件指紋存在的查詢結果;否則,將文件指紋插入到文件指紋索引表,并返回文件指紋不存在的查詢結果;所述用戶內部塊級指紋索引表模塊用于生成并維護用戶內部塊級指紋索引表,接受客戶端的塊級指紋并在用戶內部塊級指紋索引表中查詢,若塊級指紋存在,則返回塊級指紋存在的查詢結果;否則,將塊級指紋插入到塊級指紋索引表,并返回塊級指紋不存在的查詢結果;所述元數據存儲模塊用于存儲并管理文件元數據信息;所述文件譜存儲模塊用于存儲并管理文件譜信息;所述數據塊存儲模塊用于存儲數據塊密文;
所述分布式密鑰服務器包括密鑰服務器協助文件級密鑰模塊和分片級密鑰存儲模塊,其中,所述密鑰服務器協助文件級密鑰模塊用于接收客戶端傳輸的信息,對該信息模進行指數運算并返回客戶端,生成文件級密鑰;分片級密鑰存儲模塊用于接收客戶端發送的分片級密鑰,存儲并管理分片級密鑰。

說明書

說明書一種基于用戶感知的高效安全數據去重方法及系統
技術領域
本發明屬于計算機存儲領域,更具體地,涉及一種基于用戶感知的高效安全數據去重方法及系統。
背景技術
近年來,隨著云計算的快速發展,越來越多的用戶和企業將他們的數據備份到云存儲。IDC預計,到2020年,全球電子數據的規模將超出預期,達到44ZB。最近大量的研究和調查結果顯示,存儲系統,特別是備份系統中不同用戶之間和用戶內部都存在大量的重復數據。在線數字內容的增長導致了硬件、人力維護在內的存儲系統成本的增加,減少傳輸、存儲管理過程中的數據量變得極其重要。云備份系統通常存儲和操作同一數據的若干副本,這些冗余數據占用了大量的存儲空間。數據去重技術是一種通過大規模消除冗余數據,降低存儲成本節約傳輸帶寬的重要技術,因此已經逐漸被諸如,Dropbox,SpiderOak,和Mozy等云存儲和云備份提供商使用。總的來說,數據去重技術通過只保存數據的一個物理版本,其他的重復數據通過索引來指向的方式消除冗余數據。數據去重技術可以在不同的粒度實現:一個文件(如:文件級去重),或者細粒度的數據塊(如;塊級去重)。細粒度的塊級去重應用更加廣泛,因為它能使系統更加靈活和高效。
為了保護數據的機密性,用戶通常會使用它們自己的密鑰加密數據使得數據隨機化,這將導致無法進行數據去重。具體而言,相同的數據被用戶采用不同的密鑰加密會生成不同的密文,這樣就不存在重復數據。在不同的用戶之間共享密鑰開銷很大且存在信息泄露的隱患,這是因為如果其中一個用戶的密鑰泄露,就會導致其他用戶的數據泄露。因此,在云備份 系統中,如何保證數據的安全性是跨用戶細粒度的數據去重面臨的主要問題。現有前言的安全數據去重方法是使用確定化的加密,稱為收斂加密。收斂加密使用數據的哈希值作為密鑰來加密數據。相同的數據會生成相同的密文,使得我們可以在密文上做數據去重。
然而,收斂加密也帶來了新的挑戰和問題。第一,在基于細粒度數據去重去重的方案中,收斂加密要么遭受到暴力破解攻擊,或者會產生巨大的計算開銷。具體而言,由于加密方式的確定化和密鑰的確定化問題(密鑰來自數據內容),收斂加密遭受到暴力破解攻擊。暴力破解攻擊是,如果敵手知道用戶數據M的密文C來自某個特定的集合S={M1,…,Mn}(集合S的大小為n)。敵手就可以通過線下加密的方式從集合S中恢復明文M。具體而言,對于集合S中的每一個元素Mi,使用收斂加密方案對Mi生成密文Ci,并對比驗證Ci是否等于密文C。為了解決暴力破解攻擊的問題,Bellare等人提出了DupLESS,DupLESS的密鑰密鑰服務器協助的基于內容的密鑰使得密鑰隨機化,密文也會隨機化來抵抗暴力破解攻擊。且用戶通過RSA-OPRF協議連接密鑰服務器。DupLESS方式只適合文件級去重,對于塊級去重存在巨大的計算開銷。第二,前沿的收斂密鑰管理方案存在很多的局限性,包括巨大的密鑰空間開銷和單點故障。在跨用戶細粒度的數據去重中,由于不同用戶之間存在大量的共享數據塊,為保證每個用戶的數據恢復,每個用戶需保存數據塊的密鑰,這導致密鑰的存儲空間隨共享用戶數和共享的數據塊數量線性增長。同時,為保證密鑰的安全性,用戶通常會使用自己的私鑰加密數據塊的密鑰,使得用戶私鑰存在單點故障問題。
發明內容
針對現有技術的以上缺陷或改進需求,本發明提供了一種基于用戶感知的多級密鑰管理的細粒度高效安全數據去重方法,其目的在于保證在用戶數據機密性,安全性和數據去重壓縮率的前提下,利用重復數據在不同用戶,在文件和數據塊的分布來減少安全措施帶來的計算和時間開銷,提 高云備份系統性能。同時,我們的方案和系統也保證密鑰的安全性和可靠性,減少密鑰的存儲空間開銷。
為實現上述目的,按照本發明的一個方面,提供了一種基于用戶感知的高效安全數據去重方法,包括如下步驟:
(1)準備階段,系統初始化參數,包括初始化公共安全參數P、Shamir秘密共享的參數(w,t),生成密鑰服務器的RSA公鑰(N,e)、私鑰(N,d),初始化哈希函數Hash,帶密鑰的哈希函數HMAC和加密函數Encry,并且每個用戶產生自己的安全秘密salt,密鑰服務器獲得RSA私鑰(N,d),將公鑰(N,e)分發給所有用戶;
(2)備份階段,包括以下步驟:
(2.1)用戶輸入文件F,產生文件哈希HF=Hash(P,F),用戶對文件哈希HF采用密鑰服務器協助的基于哈希的收斂加密,產生文件級密鑰KF和文件指紋TF,并將文件指紋TF發送到存儲服務提供商;
(2.2)存儲服務提供商接收用戶發送的文件指紋TF,在文件指紋索引中查找文件指紋TF是否存在,并將查詢結果返回用戶;
(2.3)用戶接收查詢結果;若查詢結果顯示文件指紋TF存在,則用戶更新文件元數據信息,備份階段結束;若查詢結果顯示不存在,則用戶將文件F切分成細粒度的數據塊,并在用戶內部執行塊級去重;
(2.4)在用戶內部的塊級去重中,對于每個數據塊Bi采用用戶協助的收斂加密算法獲得數據塊Bi的加密密鑰和數據塊的指紋將所有數據塊的指紋發送到存儲服務提供商端進行重復數據檢測,其中 n是數據塊數目;
(2.5)存儲服務提供商接收用戶發送的數據塊指紋并在用戶的塊級指紋索引表中對所有的數據塊指紋進行查詢;對于每一個數據塊{Bi},將所有的數據塊的查詢結果寫入到標識信息數組中,并將數據塊指紋 是否存在的標識信息數組返回用戶;
(2.6)用戶接收存儲服務提供商發送的標識信息數組;針對每一個數據塊Bi,若標識信息數組顯示數據塊指紋不存在,用戶將數據塊的密文發送到存儲服務提供商;用戶生成相應的文件譜并按順序將數據塊的指紋寫入到文件譜中用于文件恢復;
(2.7)若標識信息數組顯示數據塊指紋存在,則用戶更新文件譜和元數據信息;用戶使用秘密共享將文件級密鑰KF切分成分片級密鑰{Sj},其中j=1,2,...,w,w是分布式密鑰服務器的數目;
(3)恢復階段,其包括以下步驟:
(3.1)用戶要恢復文件F時,將恢復文件請求和文件名發送到存儲服務提供商,存儲服務提供商接收用戶的文件恢復請求,并驗證用戶的身份;若身份驗證失敗,存儲服務提供商拒絕用戶的請求,恢復過程結束;
(3.2)若身份驗證通過,存儲服務提供商讀取文件譜,并將文件譜以及文件對應的所有數據塊密文發送給用戶;用戶接收文件譜和所有數據塊的密文
(3.3)用戶向t個不同的密鑰服務器來獲取分片級的密鑰Sj;每個密鑰服務器驗證用戶的身份,密鑰服務器讀取分片級密鑰Sj,并將它們發送回該用戶;用戶使用秘密共享,根據t個分片級密鑰恢復文件F的文件級密鑰KF;其中j=1,2,...,w,w為分布式密鑰服務器數目。
(3.4)用戶獲得文件譜和文件級密鑰KF;用戶使用文件級密鑰KF根據對稱加密算法來解密每個數據的塊級密鑰并使用對應的數據塊塊級密鑰來解密每個數據塊Bi;最后按照文件譜的順序來依次排列數據塊并恢復文件F。
按照本發明的另一方面,還提供了一種基于用戶感知的高效安全數據去重系統,包括:客戶端、存儲服務提供商和分布式密鑰服務器,其中:
所述客戶端包括跨用戶文件級去重模塊、用戶內部塊級去重模塊以及多密鑰管理模塊,其中,
所述跨用戶文件級去重模塊包括文件級密鑰模塊和文件指紋模塊,所述文件級密鑰模塊用于在用戶輸入備份文件時計算文件級密鑰;所述文件指紋模塊用于根據所述文件級密鑰計算哈希值得到文件指紋;
所述用戶內部塊級去重模塊包括分塊模塊、塊級密鑰模塊、塊級指紋模塊以及數據傳輸模塊,所述分塊模塊用于在文件不重復時,將文件切分成多個數據塊;所述塊級密鑰模塊用于對每個數據塊產生塊級密鑰,根據塊級密鑰加密數據塊得到數據塊密文;所述塊級指紋模塊用于對所述數據塊密文計算哈希值得到塊級指紋;所述數據傳輸模塊用于在進行塊級重復數據檢測之后將非重復數據塊密文發送到存儲服務提供商儲存;
所述多級密鑰管理模塊包括密鑰加密模塊和秘密共享模塊,所述密鑰加密模塊用于根據文件級密鑰加密塊級密鑰,并將塊級密鑰的密文寫入文件譜中;對于非重復的文件,所述秘密共享模塊用于將文件級密鑰切分成多個分片級密鑰并發送到分布式密鑰服務器儲存;
所述存儲服務提供商包括跨用戶文件指紋索引表模塊、用戶內部塊級指紋索引表模塊、元數據存儲模塊、文件譜存儲模塊和數據塊存儲模塊,其中所述跨用戶文件指紋索引模塊用于生成并維護跨用戶文件指紋索引表,接收客戶端傳輸的文件指紋并在跨用戶文件指紋索引表中查詢,若文件指紋存在,則返回文件指紋存在的查詢結果;否則,將文件指紋插入到文件指紋索引表,并返回文件指紋不存在的查詢結果;所述用戶內部塊級指紋索引表模塊用于生成并維護用戶內部塊級指紋索引表,接受客戶端的塊級指紋并在用戶內部塊級指紋索引表中查詢,若塊級指紋存在,則返回塊級指紋存在的查詢結果;否則,將塊級指紋插入到塊級指紋索引表,并返回塊級指紋不存在的查詢結果;所述元數據存儲模塊用于存儲并管理文件元數據信息;所述文件譜存儲模塊用于存儲并管理文件譜信息;所述數 據塊存儲模塊用于存儲數據塊密文;
所述分布式密鑰服務器包括密鑰服務器協助文件級密鑰模塊和分片級密鑰存儲模塊,其中,所述密鑰服務器協助文件級密鑰模塊用于接收客戶端傳輸的信息,對該信息模進行指數運算并返回客戶端,生成文件級密鑰;分片級密鑰存儲模塊用于接收客戶端發送的分片級密鑰,存儲并管理分片級密鑰。
總體而言,通過本發明所構思的以上技術方案與現有技術相比,能夠取得下列有益效果:
1、本發明基于用戶感知的安全數據去重方法,通過在文件級采用密鑰服務器協助的基于哈希的收斂加密和塊級的采用用戶協助的收斂加密方案添加隨機信息,使得用戶的文件級和塊級密鑰隨機化,能夠有效地抵抗敵手的暴力破解攻擊,保證用戶數據的機密性和安全性。
2、本發明基于用戶感知的高效安全數據去重方法,在跨用戶的文件級采用安全的密鑰和指紋生成方式,而在用戶內部的塊級去重中采用更加高效的塊級密鑰和指紋生成方式,能有效地減少在細粒度的安全數據去重方案中的計算開銷,減少備份時間。
3、本發明基于用戶感知的高效安全數據去重方法,構建了細粒度的多級密鑰管理方案,該密鑰管理方案采用文件級密鑰來加密塊級密鑰,能夠有效地保證塊級密鑰的安全性。同時采用秘密共享將文件級密鑰切分成分片級密鑰,并分發到多個密鑰服務器存儲,能夠有效地保證文件級密鑰的安全性,防止單點故障問題,保證文件級密鑰的可靠性。
4、本發明基于用戶感知的高效安全數據去重方法,提供了存儲空間開銷低的多級密鑰管理方案,該方案通過文件級密鑰來管理塊級密鑰,能夠有效地防止密鑰存儲空間隨共享用戶數和數據塊數目的線性增長。
5、本發明提供了一種包括客戶端、存儲服務提供商以及分布式密鑰服務器構成的基于用戶感知的高效安全數據去重系統,用戶通過客戶端向存 儲服務提供商提交數據備份/恢復請求;客戶端通過分布式密鑰服務器協助處理文件級密鑰,生成文件指紋;用戶通過客戶端向存儲服務提供商發送文件指紋進行文件級重復數據檢測;若文件不重復,在客戶端將文件切分成數據塊并計算數據塊密鑰和指紋,將數據塊指紋發送到存儲服務提供商進行塊級重復數據檢測;用戶通過客戶端向存儲服務提供商傳輸元數據、文件譜和非重復數據塊密文;用戶通過客戶端將文件級密鑰切分成分片級密鑰傳輸到分布式密鑰服務器儲存。本系統通過在文件級采用密鑰服務器協助的基于哈希的收斂加密和在塊級采用用戶協助的收斂加密添加隨機信息,使用戶文件級和塊級密鑰隨機化,能有效地抵抗敵手的暴力破解攻擊,保證用戶數據機密性和安全性。采用多級密鑰管理方案保證密鑰安全性,減少密鑰空間開銷。
附圖說明
圖1是本發明基于用戶感知的高效安全數據去重系統架構圖;
圖2是本發明基于用戶感知的高效安全數據去重方法的系統備份流程圖;
圖3是本發明的基于用戶感知的高效安全數據去重方法的原理圖;其中:
圖3(a)是跨用戶文件級的密鑰服務器協助的基于哈希的收斂加密算法原理圖;
圖3(b)是用戶內部塊級的用戶協助的收斂加密算法原理圖;
圖4是本發明基于用戶感知的安全數據去重系統的多級密鑰管理方案原理圖;
圖5是本發明基于用戶感知的高效安全數據去重的系統恢復流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體 實施例僅僅用以解釋本發明,并不用于限定本發明。此外,下面所描述的本發明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
如圖1所示,為本發明基于用戶感知的高效安全數據去重系統的架構圖。本發明的系統包含3個組成部分:用戶(客戶端)、存儲服務提供商和分布式密鑰服務器,它們之間通過企業級網絡連接,采用安全的網絡傳輸協議保障數據的機密性和完整性。用戶(客戶端)向存儲服務提供商發起數據備份/恢復請求,存儲服務提供商提供文件級和塊級重復數據檢測,元數據、數據塊和塊級密鑰存儲,分布式密鑰服務器協助用戶處理文件級密鑰并存儲分片級密鑰。用戶連接存儲服務提供商和分布式密鑰服務器需要進行身份驗證,其存儲的數據和用戶操作需要遵守訪問控制策略。
具體而言,本系統包括客戶端、存儲服務提供商和分布式密鑰服務器,其中,客戶端和存儲服務提供商、分布式密鑰服務器之間的交互采用安全網絡傳輸協議;用戶訪問存儲服務提供商和分布式密鑰服務器需要進行身份驗證;所有存儲在存儲服務提供商和分布式密鑰服務器的數據和密鑰實行訪問控制策略保證數據隱私性。其中,安全的網絡傳輸協議采用安全套接層協議(Secure Socket Layer,SSL)或者傳輸層安全協議(Transport Layer Security,TLS)。身份認證技術采用基于密碼和證書的身份認證,其訪問控制策略采用基于角色的訪問控制(Role-Based Access Control,RBAC)。
客戶端與存儲服務提供商之間,客戶端與分布式密鑰服務器之間的交互協議如下:(1)用戶通過客戶端向存儲服務提供商提交數據備份/恢復請求;(2)客戶端通過分布式密鑰服務器協助處理文件級密鑰,生成文件指紋;(3)用戶通過客戶端向存儲服務提供商發送文件指紋進行文件級重復數據檢測;(4)若文件不重復,在客戶端將文件切分成數據塊并計算數據塊密鑰和指紋,將數據塊指紋發送到存儲服務提供商進行塊級重復數據檢測;(5)用戶通過客戶端向存儲服務提供商傳輸元數據、文件譜和非重 復數據塊密文;(6)用戶通過客戶端將文件級密鑰切分成分片級米喲啊并傳輸到分布式密鑰服務器儲存。
其中客戶端包括跨用戶文件級去重模塊,用戶內部塊級去重模塊以及多密鑰管理模塊,其中,
跨用戶文件級去重模塊包括文件級密鑰模塊和文件指紋模塊,當用戶輸入備份文件時,用戶首先使用文件級密鑰模塊計算文件級密鑰根據文件級密鑰通過文件指紋模塊對文件級密鑰計算哈希值得到文件指紋
用戶內部塊級去重模塊包括分塊模塊,塊級密鑰模塊,塊級指紋模塊,數據傳輸模塊。當文件不重復時,用戶使用分塊模塊將文件切分成多個數據塊,對每個數據塊使用塊級密鑰模塊產生塊級密鑰,根據塊級密鑰加密數據塊得到密文,利用塊級指紋模塊對數據塊密文計算哈希值得到塊級指紋;在進行塊級重復數據檢測之后,使用數據傳輸模塊將非重復數據塊密文發送到存儲服務提供商儲存。
多級密鑰管理模塊包括密鑰加密模塊和秘密共享模塊。用戶在客戶端根據文件級密鑰利用密鑰加密模塊加密塊級密鑰,并將塊級密鑰的密文寫入文件譜中。對于非重復的文件,用戶在客戶端使用秘密共享模塊將文件級密鑰切分成多個分片級密鑰并發送到分布式密鑰服務器儲存。
存儲服務提供商包括跨用戶文件指紋索引表模塊、用戶內部塊級指紋索引表模塊、元數據存儲模塊、文件譜(密鑰)存儲模塊和數據塊存儲模塊,其中跨用戶文件指紋索引模塊生成并維護跨用戶文件指紋索引表,接收客戶端傳輸的文件指紋并在跨用戶文件指紋索引表中查詢,若文件指紋存在,則返回文件指紋存在的查詢結果;否則,將文件指紋插入到文件指紋索引表,并返回文件指紋不存在的查詢結果。與上相似,用戶內部塊級指紋索引表模塊生成并維護用戶內部塊級指紋索引表,接受客戶端的塊級指紋并在用戶內部塊級指紋索引表中查詢,若塊級指紋存在,則返回塊級指紋存在的查詢結果;否則,將塊級指紋插入到塊級指紋索引表,并返回 塊級指紋不存在的查詢結果。元數據存儲模塊存儲并管理文件元數據信息;文件譜(密鑰)存儲模塊存儲并管理文件譜信息;數據塊存儲模塊存儲數據塊密文。
分布式密鑰服務器包括密鑰服務器協助文件級密鑰模塊和分片級密鑰存儲模塊,其中,密鑰服務器協助文件級密鑰模塊接收客戶端傳輸的信息,對該信息模指數運算并返回客戶端,生成文件級密鑰;分片級密鑰存儲模塊接收客戶端發送的分片級密鑰,存儲并管理分片級密鑰。
本發明提供了一種基于用戶感知的高效安全數據去重方法,包括:
(1)準備階段,其包括以下步驟:
系統初始化參數,包括初始化公共安全參數P、Shamir秘密共享的參數(w,t),生成密鑰服務器的RSA公鑰(N,e)、私鑰(N,d),初始化哈希函數Hash,帶密鑰的哈希函數HMAC和加密函數Encry,并且每個用戶產生自己的安全秘密salt,密鑰服務器獲得RSA私鑰(N,d),將公鑰(N,e)分發給所有用戶;
Hash函數通常采用SHA-1,或者SHA-256;HMAC函數通常采用HMAC-SHA1,或者HMAC-SHA256和Encry函數通常采用高級加密標準(Advanced Encryption Standard,AES)。
如圖2所示,為本發明的備份階段流程圖。
(2)備份階段,其包括以下步驟:
(2.1)用戶輸入文件F,用戶產生文件哈希HF,HF=Hash(P,F),哈希函數可以采用SHA-1或者SHA-256。用戶對文件哈希HF采用密鑰服務器協助的基于哈希的收斂加密(Hash Convergent Encryption,HCE),產生文件級密鑰KF和文件指紋TF,并將文件指紋TF發送到存儲服務提供商。
如圖3(a)所示,為跨用戶文件級的密鑰服務器協助的基于哈希收斂加密算法原理圖具體而言,產生文件級密鑰KF和文件的指紋TF的方法為:用戶選擇隨機數r∈Ν并計算r的逆r-1滿足r·r-1≡1,并計算文件哈希HF的盲化信息x=HF·re(modΝ),用戶將x發送到分布式密鑰服務器。分布式密鑰服 務器接收x,計算簽名信息y=xd(modΝ),分布式密鑰服務器將y返回用戶。用戶接收到y并消除盲化信息得到中間變量z=y·r-1(modN)。用戶可以驗證HF≡zd(modN),若滿足條件z就是文件F的文件級密鑰KF,否則密鑰生成失敗。用戶計算文件級密鑰的哈希得到文件指紋TF,TF=Hash(P,KF)。
(2.2)存儲服務提供商接收用戶發送的文件指紋TF,并在文件指紋索引中查找是否存在,并將查詢結果返回用戶。
具體而言,文件指紋索引采用哈希表或鍵值存儲等,在文件指紋索引中查詢指紋時,若指紋不存在,返回查詢結果不存在并將該指紋插入到文件指紋索引中;若存在,返回查詢結果存在。
(2.3)用戶接收查詢結果。若查詢結果顯示存在,則用戶將會更新文件元數據信息,備份階段結束。若查詢結果顯示不存在,則用戶將文件F切分成細粒度的數據塊,并在用戶內部將會執行塊級去重。
(2.4)在用戶內部的塊級去重中,他們采用用戶協助的收斂加密算法獲得數據塊Bi的加密密鑰和數據塊的指紋將發送到存儲服務提供商端進行重復數據檢測;其中i=1,2,...,n,n是數據塊數目具體而言,包括如下步驟:
(2.4.1)用戶使用分塊算法將文件F切分成多個數據塊{Bi}。
具體而言,分塊算法可以是定長分塊或者基于內容的分塊(Content-Defined Chunking,CDC,例如,Rabin算法)。
(2.4.2)如圖3(b)所示,對于每個數據塊{Bi},用戶使用用戶協助的收斂加密方案產生塊級密鑰和數據塊指紋
具體而言,用戶對數據塊Bi計算數據塊Bi的哈希值其哈希函數采用SHA-1或SHA-256。用戶產生每個數據塊Bi的密鑰HMAC采用HMAC-SHA1或HMAC-SHA256,salt是由用戶自己保存的秘密信息。
(2.4.3)對每個數據塊Bi,用戶以其塊級密鑰為加密密鑰采用對稱加密算法來加密數據塊Bi生成密文然后對密文計算哈希得到數據塊的指紋
具體而言,CBi=Encry(P,KBi,Bi),TBi=Hash(P,CBi)]]>對稱加密算法選擇高級加密標準(Advanced Encryption Standard,AES)。
(2.4.4)用戶將產生的數據塊指紋發送到存儲服務提供商,進行重復數據查詢。
(2.5)存儲服務提供商接收用戶發送的數據塊指紋并在用戶的塊級指紋索引表中對所有的數據塊指紋進行查詢。對于每一個數據塊Bi,將所有的數據塊是否重復的查詢結果寫入到標識信息數組中,并將數據塊指紋是否存在的標識信息數組返回用戶。
具體而言,用戶的塊級指紋索引表可以通過哈希表或鍵值存儲來實現。
(2.6)用戶接收存儲服務提供商發送的標識信息數組;針對每個數據塊Bi,若標識信息數組顯示數據塊指紋不存在,用戶將數據塊的密文發送到存儲服務提供商。用戶會生成相應的文件譜并按順序將數據塊的指紋寫入到文件譜中用于文件恢復。
如圖4所示,為本發明基于用戶感知的高效安全數據去重的多級密鑰管理方案,方案中包含文件級、塊級和分片級三級密鑰。用戶會使用文件級密鑰KF來加密塊級密鑰并將塊級密鑰的密文寫入到文件譜中,將文件譜發送到存儲服務提供商。
具體而言,文件譜包含文件的指紋,文件大小,并按順序記錄所有數據塊的指紋和數據塊大小。
(2.7)若標識信息數組顯示數據塊指紋存在,則用戶將會更新文件譜和元數據信息;
當所有數據塊查詢結束之后,用戶通過秘密共享將文件級密鑰KF切分 成w個不同的分片級密鑰{Sj},并將分片Sj發送到w個不同的密鑰服務器中存儲;其中j=1,2,...,w,w為分布式密鑰服務器數目;
具體而言,秘密共享可以采用Shamir秘密共享(Shamir Secret Sharing Scheme,SSSS(w,t))。
如圖5所示,為本發明的基于用戶感知細粒度的高效安全數據去重方法的系統恢復流程圖。
(3)恢復階段,其包括以下步驟:
(3.1)用戶想要恢復文件F時,用戶需要將恢復文件請求和文件名發送到存儲服務提供商。存儲服務提供商接收用戶的文件恢復請求,并驗證用戶的身份。若身份驗證失敗,存儲服務提供商會拒絕用戶的請求,恢復過程結束。
(3.2)若身份驗證通過,存儲服務提供商將會讀取文件譜,并將文件譜以及文件對應的所有數據塊密文發送給用戶。用戶將會接收文件譜和所有數據塊的密文
(3.3)用戶需要向t個不同的密鑰服務器來獲取分片級的密鑰Sj。每個密鑰服務器都會驗證用戶的身份,密鑰服務器會讀取分片級密鑰Sj,并將它們發送回該用戶。用戶使用秘密共享,根據t個分片級密鑰恢復文件F的文件級密鑰KF。
具體而言,秘密共享采用Shamir秘密共享(Shamir Secret Sharing Scheme,SSSS(w,t))。
(3.4)用戶獲得文件譜和文件級密鑰KF。用戶使用文件級密鑰KF根據對稱加密算法來解密每個數據的塊級密鑰緊接著,該用戶使用對應的數據塊塊級密鑰來解密每個數據塊Bi。最后按照文件譜的順序來依次排列數據塊并恢復文件F。
本領域的技術人員容易理解,以上所述僅為本發明的較佳實施例而已, 并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。

關 鍵 詞:
一種 基于 用戶 感知 高效 安全 數據 方法 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種基于用戶感知的高效安全數據去重方法及系統.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373642.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图