專利名稱:以數據分布特征為密碼的云安全方法和系統的制作方法
技術領域:
本發明涉及計算機技術,尤其涉及一種以數據分布特征為密碼的云安全方法和系統。
背景技術:
云計算是指將大量網絡鏈接的計算資源統一管理和調度,構成一個計算資源池向用戶按需服務,提供資源的網絡稱為“云”。云計算中的數據包括但不限于視頻、圖片、文字、 音頻、文件、數據庫等。為了提高數據訪問的安全性,通常在云計算中,對訪問的數據需要進行密碼驗證。傳統的方式是將用戶設定的密碼保存在服務器端。當用戶端需要登錄時,將用戶輸入的密碼與服務器端存儲的密碼進行對比,如果一致,則允許登錄或訪問數據。由于傳統的這種方式由于需要在服務器端保存設定的密碼,容易被黑客或云運營商獲取,這樣,他人就很容易通過設定的密碼來訪問用戶的數據,因此安全性不高。
發明內容基于此,有必要提供能夠提高數據安全性的以數據分布特征為密碼的云安全方法。一種以數據分布特征為密碼的云安全方法,包括以下步驟獲取用戶數據和用戶設定的第一密碼;獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息;根據所述第一密碼、所述用戶數據的切分數量及切分后的各數據塊所存放的節點信息生成第二密碼;根據所述第一密碼和第二密碼進行密碼驗證。優選的,在根據第一密碼和第二密碼進行密碼驗證的步驟之前還包括根據所述第一密碼生成切分后的各數據塊在各節點上的存放路徑;根據所述存放路徑將各數據塊存放到各節點的相應路徑上;記錄各節點上存放的數據塊的大小。優選的,所述根據第一密碼和第二密碼進行密碼驗證的步驟為獲取用戶輸入的第一密碼和第二密碼;根據所述第一密碼和第二密碼計算得到分布在各節點上的數據塊的數量和各數據塊所存放的節點信息;根據所述第一密碼計算得到各數據塊在各節點上的存放路徑;根據所述計算得到的存放路徑獲取各節點上的數據塊的大小;判斷所述獲取的數據塊的大小與所述記錄的數據塊的大小是否相同,若是,則驗證通過,否則驗證失敗。優選的,所述判斷獲取的數據塊的大小與所述記錄的數據塊的大小是否相同的步驟為判斷獲取的所有數據塊的大小總和與所述記錄的所有數據塊的大小總和是否相同。
優選的,所述節點信息包括節點和節點中的磁盤信息。此外,還有必要提供能夠提高數據安全性的以數據分布特征為密碼的云安全系統。一種以數據分布特征為密碼的云安全系統,包括第一密碼獲取模塊,用于獲取用戶數據和用戶設定的第一密碼;第一分布特征獲取模塊,用于獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息;密碼生成模塊,用于根據所述第一密碼、所述用戶數據的切分數量及切分數量、切分后的各數據塊所存放的節點信息生成第二密碼;密碼驗證模塊,用于根據所述第一密碼和第二密碼進行密碼驗證。優選的,所述系統還包括第一路徑生成模塊,用于根據所述第一密碼生成切分后的各數據塊在各節點上的存放路徑;調度模塊,用于根據所述存放路徑將各數據塊存放到各節點的相應路徑上;記錄模塊,用于記錄各節點上存放的數據塊的大小。優選的,所述密碼驗證模塊包括第二密碼獲取模塊,用于獲取用戶輸入的第一密碼和第二密碼;第二分布特征獲取模塊,用于根據所述第一密碼和第二密碼計算得到分布在各節點上的數據塊的數量和各數據塊所在的節點信息;第二路徑生成模塊,用于根據所述第一密碼計算得到各數據塊在各節點上的存放路徑;數據塊大小獲取模塊,用于根據所述計算得到的存放路徑獲取各節點上的數據塊的大小;判斷模塊,用于判斷所述獲取的數據塊的大小與所述記錄的數據塊的大小是否相同,若是,則驗證通過,否則驗證失敗。優選的,所述判斷模塊還用于判斷獲取的所有數據塊的大小總和與所述記錄的所有數據塊的大小總和是否相同。優選的,所述節點信息包括節點和節點中的磁盤信息。上述以數據分布特征為密碼的云安全方法及系統,根據用戶設定的第一密碼、用戶數據的切分數量及切分后的各數據塊所存放的節點信息來生成第二密碼,根據第一密碼和第二密碼進行密碼驗證。由于第二密碼是通過用戶數據的分布特征來生成的,因此服務器端不需要保存第二密碼也不需要保存用戶數據的分布特征,根據第二密碼即可獲取到各分布的節點上存放的數據塊,因此提高了數據安全性。
圖1為一個實施例中以數據分布特征為密碼的云安全方法的流程示意圖;圖2為圖1中根據第一密碼和第二密碼進行密碼驗證的方法流程示意圖;圖3為一個實施例中以數據分布特征為密碼的云安全系統的結構示意圖;圖4為另一個實施例中以數據分布特征為密碼的云安全系統的結構示意圖5為圖4中的密碼驗證模塊的結構示意圖。
具體實施方式如圖1所示,在一個實施例中,一種以數據分布特征為密碼的云安全方法,包括以下步驟步驟S102,獲取用戶數據和用戶設定的第一密碼。在生成或上傳數據時,用戶需設定第一密碼,第一密碼決定了切分用戶數據后形成的各數據塊在節點上的存放路徑。步驟S104,獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息。云計算中,用戶數據需要進行分布式的處理和存儲,因此需要將用戶數據進行切分,并將切分后形成的各個數據塊存放到不同的節點,用戶數據需要切分為多少個數據塊以及各數據塊所存放的節點信息是根據用戶數據本身以及各節點的資源,如網絡資源、計算資源、存儲資源等來決定的。切分后的各數據塊所存放的節點信息包括節點和節點中的磁盤信息,例如節點的CPU處理能力、磁盤剩余空間、網絡帶寬大小等。步驟S106,根據第一密碼、用戶數據的切分數量及切分后的各數據塊所存放的節點信息生成第二密碼。本實施例中,將用戶設定的第一密碼、用戶數據的切分數量及上述得到的節點信息一起編碼,形成第二密碼。在一個實施例中,還可根據第一密碼生成切分后的各數據塊在各節點上的存放路徑。用戶數據切分后,形成多個數據塊,這些數據塊存放在不同的節點上,對第一密碼進行適當變形后加入到路徑中一起形成各數據塊在各節點上的存放路徑,然后根據存放路徑將各數據塊存放到各節點的相應路徑上,并記錄各節點上存放的數據塊的大小。在一個實施例中,也可以記錄所有節點上存放的用戶數據切分后的各數據塊的總大小,即各數據塊的字節數總和。步驟S108,根據第一密碼和第二密碼進行密碼驗證。在一個實施例中,如圖2所示,步驟S108的具體過程為步驟S118,獲取用戶輸入的第一密碼和第二密碼。用戶訪問數據時,需要進行密碼驗證,用戶通過輸入框輸入第一密碼和第二密碼, 則獲取用戶輸入的第一密碼和第二密碼。步驟S128,根據第一密碼和第二密碼計算得到分布在各節點上的數據塊的數量和各數據塊所存放的節點信息。由于第一密碼是通過第一密碼、用戶數據的切分數量及切分后的各數據塊所存放的節點信息進行編碼形成,因此根據第一密碼和第二密碼進行計算,就可以得到用戶數據分布在各節點上的數據塊的數量和各數據塊所存放的節點信息。該節點信息包括節點及節點中的磁盤信息,例如節點的CPU處理能力、磁盤剩余空間、網絡帶寬大小等。步驟S138,根據第一密碼計算得到各數據塊在各節點上的存放路徑。如上所述,切分用戶數據所形成的各個數據塊在各節點上的存放路徑是參考了第一密碼的,因此根據第一密碼同樣可計算得到各數據塊在各節點上的存放路徑。步驟S148,根據計算得到的存放路徑獲取各節點上的數據塊的大小。
根據步驟S138中計算得到的存放路徑則可在相應的路徑上查找到對應的數據塊,從而獲取到各數據塊的大小。步驟S158,判斷獲取的數據塊的大小與記錄的數據塊的大小是否相同,若是,則進入步驟S168,否則進入步驟S178。在一個實施例中,可將獲取的各數據塊的大小與上述記錄的各數據塊的大小進行一一對比,若都相同,則驗證通過。在另一個實施例中,也可以獲取各數據塊的大小總和,即各數據塊的字節數總和,與上述記錄的數據塊的大小總和進行對比,若相同,則驗證通過。步驟S168,驗證通過。用戶可以訪問用戶數據。步驟S178,驗證失敗。不允許用戶訪問用戶數據。由于根據第一密碼可以計算得到切分后的各數據塊在各節點上的存放路徑,且用戶數據的切分數量及切分后的各數據塊所存放的節點信息也可通過第一密碼和第二密碼計算得到,這樣,存放路徑、切分數量及節點信息這些用戶數據的分布特征不需要保存在服務器端,因此不會被惡意人員獲取到,有效提高了用戶數據的安全性。在訪問用戶數據時, 根據第一密碼和第二密碼就可以得到用戶數據的分布特征,因此不會影響用戶數據的訪問,并且訪問用戶數據必須通過第一密碼和第二密碼來實現,提高了數據訪問的安全性。如圖3所示,在一個實施例中,一種以數據分布特征為密碼的云安全系統,包括第一密碼獲取模塊102、第一分布特征獲取模塊104、密碼生成模塊106和密碼驗證模塊108, 其中第一密碼獲取模塊102用于獲取用戶數據和用戶設定的第一密碼。第一分布特征獲取模塊104用于獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息。云計算中,用戶數據需要進行分布式的處理和存儲,因此需要將用戶數據進行切分,并將切分后形成的各個數據塊存放到不同的節點,用戶數據需要切分為多少個數據塊以及各數據塊所存放的節點信息是根據用戶數據本身以及各節點的資源,如網絡資源、計算資源、存儲資源等來決定的。切分后的各數據塊所存放的節點信息包括節點和節點中的磁盤信息,例如節點的CPU處理能力、磁盤剩余空間、網絡帶寬大小等。密碼生成模塊106用于根據第一密碼、用戶數據的切分數量及切分后的各數據塊所存放的節點信息生成第二密碼。本實施例中,將用戶設定的第一密碼、用戶數據的切分數量及上述得到的節點信息一起編碼,形成第二密碼。密碼驗證模塊108用于根據第一密碼和第二密碼進行密碼驗證。在一個實施例中,如圖4所示,上述系統還包括第一路徑生成模塊110、調度模塊 112和記錄模塊114,其中第一路徑生成模塊110用于根據第一密碼生成切分后的各數據塊在各節點上的存放路徑。調度模塊112用于根據存放路徑將各數據塊存放到各節點的相應路徑上。記錄模塊114用于記錄各節點上存放的數據塊的大小。用戶數據切分后,形成多個數據塊,這些數據塊存放在不同的節點上,對第一密碼進行適當變形后加入到路徑中一起形成各數據塊在各節點上的存放路徑,然而根據存放路徑將各數據塊存放到各節點的相應路徑上,并記錄各節點上存放的數據塊的大小。在一個實施例中,也可以記錄所有節點上存放的用戶數據切分后的各數據塊的總大小,即各數據塊的字節數總和。在一個實施例中,如圖5所示,密碼驗證模塊108包括第二密碼獲取模塊118、第二分布特征獲取模塊128、第二路徑生成模塊138、數據塊大小獲取模塊148和判斷模塊158, 其中第二密碼獲取模塊118用于獲取用戶輸入的第一密碼和第二密碼。第二分布特征獲取模塊1 用于根據第一密碼和第二密碼計算得到分布在各節點上的數據塊的數量和各數據塊所存放的節點信息。由于第一密碼是通過第一密碼、用戶數據的切分數量及切分后的各數據塊所存放的節點信息進行編碼形成,因此根據第一密碼和第二密碼進行計算,就可以得到用戶數據分布在各節點上的數據塊的數量和各數據塊所存放的節點信息。該節點信息包括節點及節點中的磁盤信息,例如節點的CPU處理能力、磁盤剩余空間、網絡帶寬大小等。第二路徑生成模塊138用于根據第一密碼計算得到各數據塊在各節點上的存放路徑。如上所述,切分用戶數據所形成的各個數據塊在各節點上的存放路徑是參考了第一密碼的,因此根據第一密碼同樣可計算得到各數據塊在各節點上的存放路徑。數據塊大小獲取模塊148用于根據計算得到的存放路徑獲取各節點上的數據塊的大小。判斷模塊158用于判斷獲取的數據塊的大小與記錄的數據塊的大小是否相同,若是,則驗證通過,否則驗證失敗。在一個實施例中,判斷模塊158可將獲取的各數據塊的大小與上述記錄的各數據塊的大小進行一一對比,若都相同,則驗證通過。在另一個實施例中,判斷模塊158也可以獲取各數據塊的大小總和,即各數據塊的字節數總和,與上述記錄的數據塊的大小總和進行對比,若相同,則驗證通過。由于根據第一密碼可以計算得到切分后的各數據塊在各節點上的存放路徑,且用戶數據的切分數量及切分后的各數據塊所存放的節點信息也可通過第一密碼和第二密碼計算得到,這樣,存放路徑、切分數量及節點信息這些用戶數據的分布特征不需要保存在服務器端,因此不會被惡意人員獲取到,有效提高了用戶數據的安全性。在訪問用戶數據時, 根據第一密碼和第二密碼就可以得到用戶數據的分布特征,因此不會影響用戶數據的訪問,并且訪問用戶數據必須通過第一密碼和第二密碼來實現,提高了數據訪問的安全性。以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。
權利要求
1.一種以數據分布特征為密碼的云安全方法,包括以下步驟 獲取用戶數據和用戶設定的第一密碼;獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息; 根據所述第一密碼、所述用戶數據的切分數量及切分后的各數據塊所存放的節點信息生成第二密碼;根據所述第一密碼和第二密碼進行密碼驗證。
2.根據權利要求1所述的以數據分布特征為密碼的云安全方法,其特征在于,在根據第一密碼和第二密碼進行密碼驗證的步驟之前還包括根據所述第一密碼生成切分后的各數據塊在各節點上的存放路徑; 根據所述存放路徑將各數據塊存放到各節點的相應路徑上; 記錄各節點上存放的數據塊的大小。
3.根據權利要求2所述的以數據分布特征為密碼的云安全方法,其特征在于,所述根據第一密碼和第二密碼進行密碼驗證的步驟為獲取用戶輸入的第一密碼和第二密碼;根據所述第一密碼和第二密碼計算得到分布在各節點上的數據塊的數量和各數據塊所存放的節點信息;根據所述第一密碼計算得到各數據塊在各節點上的存放路徑; 根據所述計算得到的存放路徑獲取各節點上的數據塊的大小; 判斷所述獲取的數據塊的大小與所述記錄的數據塊的大小是否相同,若是,則驗證通過,否則驗證失敗。
4.根據權利要求3所述的以數據分布特征為密碼的云安全方法,其特征在于,所述判斷獲取的數據塊的大小與所述記錄的數據塊的大小是否相同的步驟為判斷獲取的所有數據塊的大小總和與所述記錄的所有數據塊的大小總和是否相同。
5.根據權利要求1至4中任意一項所述的以數據分布特征為密碼的云安全方法,其特征在于,所述節點信息包括節點和節點中的磁盤信息。
6.一種以數據分布特征為密碼的云安全系統,其特征在于,包括 第一密碼獲取模塊,用于獲取用戶數據和用戶設定的第一密碼;第一分布特征獲取模塊,用于獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息;密碼生成模塊,用于根據所述第一密碼、所述用戶數據的切分數量及切分數量、切分后的各數據塊所存放的節點信息生成第二密碼;密碼驗證模塊,用于根據所述第一密碼和第二密碼進行密碼驗證。
7.根據權利要求6所述的以數據分布特征為密碼的云安全系統,其特征在于,所述系統還包括第一路徑生成模塊,用于根據所述第一密碼生成切分后的各數據塊在各節點上的存放路徑;調度模塊,用于根據所述存放路徑將各數據塊存放到各節點的相應路徑上; 記錄模塊,用于記錄各節點上存放的數據塊的大小。
8.根據權利要求6所述的以數據分布特征為密碼的云安全系統,其特征在于,所述密碼驗證模塊包括第二密碼獲取模塊,用于獲取用戶輸入的第一密碼和第二密碼; 第二分布特征獲取模塊,用于根據所述第一密碼和第二密碼計算得到分布在各節點上的數據塊的數量和各數據塊所在的節點信息;第二路徑生成模塊,用于根據所述第一密碼計算得到各數據塊在各節點上的存放路徑;數據塊大小獲取模塊,用于根據所述計算得到的存放路徑獲取各節點上的數據塊的大判斷模塊,用于判斷所述獲取的數據塊的大小與所述記錄的數據塊的大小是否相同, 若是,則驗證通過,否則驗證失敗。
9.根據權利要求8所述的以數據分布特征為密碼的云安全系統,其特征在于,所述判斷模塊還用于判斷獲取的所有數據塊的大小總和與所述記錄的所有數據塊的大小總和是否相同。
10.根據權利要求6至9中任意一項所述的以數據分布特征為密碼的云安全系統,其特征在于,所述節點信息包括節點和節點中的磁盤信息。
全文摘要
一種以數據分布特征為密碼的云安全方法,包括以下步驟獲取用戶數據和用戶設定的第一密碼;獲取用戶數據的切分數量、切分后的各數據塊所存放的節點信息;根據所述第一密碼、所述用戶數據的切分數量及切分后的各數據塊所存放的節點信息生成第二密碼;根據所述第一密碼和第二密碼進行密碼驗證。采用上述方法,能提高數據安全性。此外,還提供了一種以數據分布特征為密碼的云安全系統。
文檔編號H04L29/08GK102223382SQ20111020088
公開日2011年10月19日 申請日期2011年7月18日 優先權日2011年7月18日
發明者朱定局 申請人:中國科學院深圳先進技術研究院