專利名稱:一種云存儲系統(tǒng)的安全認證方法
技術(shù)領域:
本發(fā)明屬于計算機存儲技術(shù)和信息安全技術(shù)領域,具體涉及一種云存儲系統(tǒng)的安全認證方法。
背景技術(shù):
云存儲系統(tǒng)是在云計算概念上延伸和發(fā)展出來的一個新的概念,云存儲系統(tǒng)對使用者來講,不是指某一個具體的設備,而是指一個由許多存儲設備和服務器所構(gòu)成的集合體。云存儲系統(tǒng)的安全,根本的目標是保證存儲和訪問數(shù)據(jù)的安全,所以在進行授權(quán)用戶訪問數(shù)據(jù)前,云存儲系統(tǒng)應該認證該用戶的身份。當用戶訪問一個數(shù)據(jù)對象時,通過在認證端查詢該數(shù)據(jù)對象的訪問控制列表,如果能夠找到該用戶的訪問控制項,并且具有請求操作的權(quán)限時,才會授予用戶訪問數(shù)據(jù),否則拒絕用戶的請求。在云存儲系統(tǒng)的環(huán)境下,存儲端直連于復雜的客戶網(wǎng)絡以獲取系統(tǒng)的高并發(fā)性,因此,認證端和存儲端均需要驗證用戶對文件的訪問權(quán)限。如何提供具有簡單、靈活、高效、高可擴展性和高安全性的認證,成為云存儲系統(tǒng)安全認證的設計目的?,F(xiàn)有云存儲系統(tǒng)的安全認證方法,存儲端和認證端必須維護同一個訪問權(quán)限列表來驗證用戶對文件是否具有訪問權(quán)限。當用戶和文件數(shù)量急劇上升時,必然會產(chǎn)生巨大信息數(shù)量的訪問控制列表,認證端和存儲端需要花費極大的網(wǎng)絡控制開銷去維護同一個訪問權(quán)限列表,來保證訪問權(quán)限的信息一致;同時,查詢訪問控制列表的時間復雜度會隨著訪問控制列表的信息數(shù)量增大而增大。以下是本發(fā)明中的名詞解釋操作類型,包括“讀”、“寫”和“刪除”,以字符串表示;訪問控制庫,是記錄所有文件的訪問控制列表的數(shù)據(jù)庫;訪問控制列表,是對應一份文件的所有訪問控制項的列表;訪問控制項,表示指定用戶對文件的訪問權(quán)限;訪問權(quán)限,是由不同的操作類型組合而成的集合;例如{ “讀”,“寫”},{ “寫”,“刪除” };訪問控制串,是用戶標識、文件標識和訪問權(quán)限連接構(gòu)成的字符串;訪問票據(jù),是認證端為用戶的文件操作請求計算得到的二進制數(shù)據(jù);驗證票據(jù),是存儲端為用戶的用戶訪問請求計算得到的二進制數(shù)據(jù);過期時間點,是訪問票據(jù)的過期時間,超過這個時間相應的訪問票據(jù)失效;全局密鑰,是認證端和存儲端共享的保密的二進制數(shù)據(jù);安全通道,是通過密鑰協(xié)商的方式使得通信雙方安全獲得共同的密鑰,使用該密鑰來加密通信消息來保證通信消息傳輸?shù)陌踩?br>
發(fā)明內(nèi)容
本發(fā)明提出一種云存儲系統(tǒng)的安全認證方法,解決現(xiàn)有安全認證方法存在的認證過程復雜、認證消耗巨大的問題,為云存儲系統(tǒng)服務安全提供簡單、靈活、高效、高可擴展性和高安全性的認證,防止外部或者內(nèi)部攻擊者對存儲系統(tǒng)的侵入。本發(fā)明的一種云存儲系統(tǒng)的安全認證方法,包括客戶端進程、認證端進程和存儲端進程;客戶端裝載所有登陸用戶的用戶標識,認證端裝載訪問控制庫;啟動后,客戶端、 認證端、存儲端相互之間兩兩分別連接,認證端和存儲端之間建立安全通道;其特征在于A.所述客戶端進程,包括下述步驟(Al)客戶端隨機生成一個訪問請求序列號R0,發(fā)送給存儲端,等待存儲端的返回信息,接收到存儲端的返回信息后,判斷該信息是否序列號存儲成功標志,是則轉(zhuǎn)步驟 (A2);否則轉(zhuǎn)步驟(Al);(A2)等待用戶發(fā)起文件操作請求,接收到文件操作請求后,轉(zhuǎn)步驟(A3);其中,文件操作請求包括用戶標識、文件標識和操作類型,操作類型包括“讀”、 “寫”和“刪除”;(A3)向認證端遞交文件操作請求,然后判斷認證端是否返回用戶驗證結(jié)果,是則緩存用戶驗證結(jié)果,轉(zhuǎn)步驟(A4);否則禁止用戶的文件操作請求,轉(zhuǎn)步驟(A2);其中,用戶驗證結(jié)果包括訪問票據(jù)TK、過期時間點ET和訪問控制串V ;(A4)判斷當前時間是否超過用戶驗證結(jié)果中的過期時間點ET,是則刪除該用戶驗證結(jié)果,轉(zhuǎn)步驟(A3);否則生成一個與存儲端同步的訪問請求序列號R1,使用用戶驗證結(jié)果,計算訪問標識TG:TG = H(TK, Rl, V);其中,HO表示對括號內(nèi)的變量使用哈希算法進行計算,轉(zhuǎn)步驟(A5);(A5)將訪問標識TG、訪問字符串V、過期時間點ET以及文件操作請求組成用戶訪問請求,發(fā)送到存儲端,然后判斷存儲端返回的信息類型所需數(shù)據(jù),則向用戶返回請求所需數(shù)據(jù),刪除該用戶驗證結(jié)果,轉(zhuǎn)步驟m ;請求過期,則轉(zhuǎn)步驟(A4);拒絕訪問,則禁止用戶的文件操作請求,刪除該用戶驗證結(jié)果,轉(zhuǎn)步驟(A2);其中,存儲端返回信息分為所需數(shù)據(jù)、請求過期和拒絕訪問;B.所述認證端進程包括下述步驟(Bi)認證端隨機生成一個全局密鑰K,通過安全通道向存儲端發(fā)送全局密鑰K ;等待存儲端的返回信息,接收到存儲端的返回信息,判斷該信息是否全局密鑰存儲成功標志, 是則進行步驟(B2),同時轉(zhuǎn)步驟(B4);否則轉(zhuǎn)步驟(Bi);(B2)等待時間T后,轉(zhuǎn)步驟(B3) ;T = 0. 01秒 1年,由系統(tǒng)設定;(B3)隨機生成一把新全局密鑰,然后通過安全通道向存儲端遞交更換密鑰請求, 更換密鑰請求包括新全局密鑰;判斷存儲端返回的信息是否密鑰更新成功標志,是則使用新全局密鑰替換原全局密鑰,等待時間T后轉(zhuǎn)步驟(B3);否則轉(zhuǎn)步驟(B3);(B4)等待客戶端的文件操作請求,接收到客戶端遞交的文件操作請求后,使用文件操作請求中的文件標識查找訪問控制庫中相應文件的訪問控制列表是否存在,是則轉(zhuǎn)步驟(B5);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(B4);(B5)使用文件操作請求中的用戶標識查找訪問控制列表中相應用戶的訪問控制項是否存在,是則轉(zhuǎn)步驟(B6);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(B4);
(B6)判斷文件操作請求中的操作類型是否訪問控制項中訪問權(quán)限的子集,是則用戶具有訪問文件的權(quán)限,轉(zhuǎn)步驟(B7);否則用戶不具有訪問文件的權(quán)限,向客戶端返回拒絕訪問,轉(zhuǎn)步驟(B4);(B7)認證端將用戶標識、文件標識和訪問控制項中的訪問權(quán)限連接作為訪問控制串V,選取過期時間點ET,計算訪問票據(jù)TK TK = H (K, V, ET);將TK、ET和V組成用戶驗證結(jié)果,通過安全通道返回給客戶端;轉(zhuǎn)步驟(B4);C.所述存儲端進程包括下述步驟(Cl)等待認證端發(fā)送全局密鑰K,接收到認證端發(fā)送的全局密鑰K,緩存全局密鑰 K并判斷是否存儲成功,是則向認證端返回全局密鑰存儲成功標志,轉(zhuǎn)步驟(C2),同時轉(zhuǎn)步驟(C3);否則向認證端返回全局密鑰存儲失敗標志,轉(zhuǎn)步驟(Cl);(C2)等待認證端發(fā)送更換密鑰請求,接收到更換密鑰請求后,使用更換密鑰請求中的新全局密鑰替換原全局密鑰;判斷全局密鑰是否更新成功,是則向認證端返回密鑰更新成功標志,轉(zhuǎn)步驟(C2);否則向認證端返回密鑰更新失敗標志,轉(zhuǎn)步驟(C2);(C3)等待客戶端發(fā)送的訪問請求序列號R0,接收到客戶端發(fā)送的訪問請求序列號RO后,將其緩存并判斷是否存儲成功,是則向客戶端返回序列號存儲成功標志,轉(zhuǎn)步驟 (C4);否則向客戶端返回序列號存儲失敗標志,轉(zhuǎn)步驟(C3);(C4)等待客戶端的用戶訪問請求,接收到客戶端遞交的用戶訪問請求后,提取用戶訪問請求中文件操作請求的操作類型,并提取用戶訪問請求中訪問控制串包含的訪問權(quán)限;然后判斷該操作類型是否訪問權(quán)限的子集,是則用戶具有訪問文件的權(quán)限,轉(zhuǎn)步驟 (C5);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(C4);(C5)判斷當前時間是否超過用戶訪問請求中的過期時間點ET,是則返回客戶端請求過期,轉(zhuǎn)步驟(C4);否則轉(zhuǎn)步驟(C6);(C6)存儲端生成一個與客戶端同步的訪問請求序列號Rl ;使用全局密鑰K和用戶訪問請求中的訪問控制串V、過期時間點ET計算驗證票據(jù)TK’ TK' = H(K, V, ET),使用訪問請求序列號Rl,計算驗證標識TG,TG,= H(TK,,Rl,V);轉(zhuǎn)步驟(C7);(C7)判斷驗證標識TG’和用戶訪問請求中的訪問標識TG是否相等,是則根據(jù)用戶訪問請求中的文件操作請求向用戶返回相應請求所需數(shù)據(jù),轉(zhuǎn)步驟(C4);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(C4)。使用本發(fā)明時,當存儲端收到來自用戶的訪問請求時,通過計算驗證標識來檢驗用戶的操作權(quán)限是否合法,因此使得存儲端不再需要維護訪問控制庫,對用戶訪問請求驗證通過簡單計算就可以完成,極大程度地減少了存儲系統(tǒng)用于訪問控制的開銷;同時,在確保傳送訪問票據(jù)過程中的機密性和共享全局密鑰的機密性前提下,本發(fā)明為大規(guī)模云存儲系統(tǒng)中具有操作權(quán)限的用戶提供了靈活、安全、可靠和高效的文件訪問,也能夠有效阻止無權(quán)、越權(quán)用戶或者內(nèi)部外部攻擊者的訪問和攻擊。
圖1為本發(fā)明流程示意圖;圖2為客戶端進程示意圖;圖3為認證端進程示意圖;圖4為存儲端進程示意圖;圖5為作業(yè)流程時序圖。
具體實施例方式本發(fā)明描述了一種云存儲系統(tǒng)的安全認證方法和實現(xiàn),并在一種分布式文件系統(tǒng)中實現(xiàn)。以下結(jié)合實施例和附圖對本發(fā)明進一步說明。如圖1所示,本發(fā)明的實施例,包括客戶端進程、認證端進程和存儲端進程,分別運行在分布式文件系統(tǒng)的客戶端主機、認證端主機和存儲端主機上;客戶端裝載所有登陸用戶的用戶標識,認證端裝載訪問控制庫;A.如圖2所示,所述客戶端進程,包括下述步驟(Al)客戶端隨機生成一個訪問請求序列號R0,發(fā)送給存儲端,等待存儲端的返回信息,接收到存儲端的返回信息后,判斷該信息是否序列號存儲成功標志,是則轉(zhuǎn)步驟 (A2);否則轉(zhuǎn)步驟(Al);(A2)等待用戶發(fā)起文件操作請求,接收到文件操作請求后,轉(zhuǎn)步驟(A3);其中,文件操作請求分為五個字段,依次是命令號、命令長度,用戶標識,文件標識和操作類型,操作類型包括“讀”、“寫”和“刪除”;文件操作請求的格式如下
權(quán)利要求
1. 一種云存儲系統(tǒng)的安全認證方法,包括客戶端進程、認證端進程和存儲端進程;客戶端裝載所有登陸用戶的用戶標識,認證端裝載訪問控制庫;啟動后,客戶端、認證端、存儲端相互之間兩兩分別連接,認證端和存儲端之間建立安全通道; 其特征在于A.所述客戶端進程,包括下述步驟(Al)客戶端隨機生成一個訪問請求序列號R0,發(fā)送給存儲端,等待存儲端的返回信息,接收到存儲端的返回信息后,判斷該信息是否序列號存儲成功標志,是則轉(zhuǎn)步驟(A2); 否則轉(zhuǎn)步驟(Al);(A2)等待用戶發(fā)起文件操作請求,接收到文件操作請求后,轉(zhuǎn)步驟(A3); 其中,文件操作請求包括用戶標識、文件標識和操作類型,操作類型包括“讀”、“寫”和 “刪除”;(A3)向認證端遞交文件操作請求,然后判斷認證端是否返回用戶驗證結(jié)果,是則緩存用戶驗證結(jié)果,轉(zhuǎn)步驟(A4);否則禁止用戶的文件操作請求,轉(zhuǎn)步驟(A2); 其中,用戶驗證結(jié)果包括訪問票據(jù)TK、過期時間點ET和訪問控制串V ; (A4)判斷當前時間是否超過用戶驗證結(jié)果中的過期時間點ET,是則刪除該用戶驗證結(jié)果,轉(zhuǎn)步驟(A3);否則生成一個與存儲端同步的訪問請求序列號R1,使用用戶驗證結(jié)果, 計算訪問標識TG:TG = H(TK, Rl, V);其中,HO表示對括號內(nèi)的變量使用哈希算法進行計算,轉(zhuǎn)步驟(A5); (A5)將訪問標識TG、訪問字符串V、過期時間點ET以及文件操作請求組成用戶訪問請求,發(fā)送到存儲端,然后判斷存儲端返回的信息類型所需數(shù)據(jù),則向用戶返回請求所需數(shù)據(jù),刪除該用戶驗證結(jié)果,轉(zhuǎn)步驟(A2);請求過期,則轉(zhuǎn)步驟(A4);拒絕訪問,則禁止用戶的文件操作請求,刪除該用戶驗證結(jié)果,轉(zhuǎn)步驟(A2);其中,存儲端返回信息分為所需數(shù)據(jù)、請求過期和拒絕訪問;B.所述認證端進程包括下述步驟(Bi)認證端隨機生成一個全局密鑰K,通過安全通道向存儲端發(fā)送全局密鑰K ;等待存儲端的返回信息,接收到存儲端的返回信息,判斷該信息是否全局密鑰存儲成功標志,是則進行步驟(B2),同時轉(zhuǎn)步驟(B4);否則轉(zhuǎn)步驟(Bi);(B2)等待時間T后,轉(zhuǎn)步驟(B3) ;T = 0.01秒 1年,由系統(tǒng)設定; (B3)隨機生成一把新全局密鑰,然后通過安全通道向存儲端遞交更換密鑰請求,更換密鑰請求包括新全局密鑰;判斷存儲端返回的信息是否密鑰更新成功標志,是則使用新全局密鑰替換原全局密鑰,等待時間T后轉(zhuǎn)步驟(B3);否則轉(zhuǎn)步驟(B3);(B4)等待客戶端的文件操作請求,接收到客戶端遞交的文件操作請求后,使用文件操作請求中的文件標識查找訪問控制庫中相應文件的訪問控制列表是否存在,是則轉(zhuǎn)步驟 (B5);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(B4);(B5)使用文件操作請求中的用戶標識查找訪問控制列表中相應用戶的訪問控制項是否存在,是則轉(zhuǎn)步驟(B6);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(B4);(B6)判斷文件操作請求中的操作類型是否訪問控制項中訪問權(quán)限的子集,是則用戶具有訪問文件的權(quán)限,轉(zhuǎn)步驟(B7);否則用戶不具有訪問文件的權(quán)限,向客戶端返回拒絕訪問,轉(zhuǎn)步驟(B4);(B7)認證端將用戶標識、文件標識和訪問控制項中的訪問權(quán)限連接作為訪問控制串 V,選取過期時間點ET,計算訪問票據(jù)TK TK = H (K, V, ET);將TK、ET和V組成用戶驗證結(jié)果,通過安全通道返回給客戶端;轉(zhuǎn)步驟(B4); C.所述存儲端進程包括下述步驟(Cl)等待認證端發(fā)送全局密鑰K,接收到認證端發(fā)送的全局密鑰K,緩存全局密鑰K并判斷是否存儲成功,是則向認證端返回全局密鑰存儲成功標志,轉(zhuǎn)步驟(C2),同時轉(zhuǎn)步驟 (C3);否則向認證端返回全局密鑰存儲失敗標志,轉(zhuǎn)步驟(Cl);(C2)等待認證端發(fā)送更換密鑰請求,接收到更換密鑰請求后,使用更換密鑰請求中的新全局密鑰替換原全局密鑰;判斷全局密鑰是否更新成功,是則向認證端返回密鑰更新成功標志,轉(zhuǎn)步驟(C2);否則向認證端返回密鑰更新失敗標志,轉(zhuǎn)步驟(C2);(C3)等待客戶端發(fā)送的訪問請求序列號R0,接收到客戶端發(fā)送的訪問請求序列號RO 后,將其緩存并判斷是否存儲成功,是則向客戶端返回序列號存儲成功標志,轉(zhuǎn)步驟(C4); 否則向客戶端返回序列號存儲失敗標志,轉(zhuǎn)步驟(C3);(C4)等待客戶端的用戶訪問請求,接收到客戶端遞交的用戶訪問請求后,提取用戶訪問請求中文件操作請求的操作類型,并提取用戶訪問請求中訪問控制串包含的訪問權(quán)限; 然后判斷該操作類型是否訪問權(quán)限的子集,是則用戶具有訪問文件的權(quán)限,轉(zhuǎn)步驟(C5); 否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(C4);(C5)判斷當前時間是否超過用戶訪問請求中的過期時間點ET,是則返回客戶端請求過期,轉(zhuǎn)步驟(C4);否則轉(zhuǎn)步驟(C6);(C6)存儲端生成一個與客戶端同步的訪問請求序列號Rl ;使用全局密鑰K和用戶訪問請求中的訪問控制串V、過期時間點ET計算驗證票據(jù)TK’ TK,= H (K, V, ET),使用訪問請求序列號R1,計算驗證標識TG’ TG,= H(TK,,Rl,V); 轉(zhuǎn)步驟(C7);(C7)判斷驗證標識TG’和用戶訪問請求中的訪問標識TG是否相等,是則根據(jù)用戶訪問請求中的文件操作請求向用戶返回相應請求所需數(shù)據(jù),轉(zhuǎn)步驟04);否則向客戶端返回拒絕訪問,轉(zhuǎn)步驟(C4)。
全文摘要
一種云存儲系統(tǒng)的安全認證方法,屬于計算機存儲技術(shù)和信息安全技術(shù)領域,解決現(xiàn)有安全認證方法存在的認證過程復雜、認證消耗巨大的問題,為云存儲系統(tǒng)服務安全提供簡單、靈活、高效、高可擴展性和高安全性的認證,防止外部或者內(nèi)部攻擊者對存儲系統(tǒng)的侵入。本發(fā)明包括客戶端進程、認證端進程和存儲端進程;客戶端裝載所有登陸用戶的用戶標識,認證端裝載訪問控制庫。本發(fā)明通過計算驗證標識來檢驗用戶的操作權(quán)限是否合法,存儲端不再需要維護訪問控制庫,對用戶訪問請求驗證通過簡單計算就可以完成,極大程度地減少了存儲系統(tǒng)用于訪問控制的開銷,為大規(guī)模云存儲系統(tǒng)中具有操作權(quán)限的用戶提供了靈活、安全、可靠和高效的文件訪問。
文檔編號H04L29/06GK102571771SQ20111044448
公開日2012年7月11日 申請日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者劉相文, 周可, 李坦, 李春花, 申愛花, 羅芳, 陳杰, 雷棟梁 申請人:華中科技大學