陳俊健
佛山科學技術學院電子與信息工程學院 廣東 528000
隨著社會信息化的發展,計算機融入社會的各行各業,應用越來越普及,互聯網的無限擴展使得數據信息爆炸式增長。隨著數字圖書館、電子商務、醫學影像、生物工程、科學計算、虛擬現實、數字化地球、網站多媒體等應用的不斷發展,信息資源呈幾何級數爆炸性增長,對存儲系統的存儲容量和存儲的性能提出了越來越高的要求,傳統的存儲結構不再滿足當前的應用要求。現在的海量存儲系統大多是采用數據路徑與控制路徑分離的思想,這種設計思想減輕了服務器的負擔,提高了性能,但是也使得數據設備脫離了服務器的保護,直接面臨著外來的安全威脅,因而如何設計安全可靠、高效執行機制是這類系統亟待解決的基本問題。
基于身份的安全機制是為海量存儲系統提高一種新的安全機制,并減輕元數據服務器的負載,移除中心故障點。
參照 OSD的安全模型,結合海量存儲特點、基于證書安全機制的弊端以及基于身份的加密(Identity-Based Encryption,IBE)的特點。我們提出了如下的系統安全結構模型,包括四個部分:可信機構(Trusted Authority,TA),客戶端,元數據服務器,海量存儲設備。
假定海量存儲設備、元數據服務器以及可信中心是可信任的,而客戶端以及客戶端與其他幾方互聯的網絡是不可信任的。因而我們的基于身份的安全模型主要是驗證用戶的身份以及管理用戶的權限。用戶在訪問數據之前應該首先獲得自己的身份證書以及身份密鑰,因為采用的是數據路徑與控制路徑分離的思想,元數據服務器和海量存儲設備需要驗證用戶的身份,而身份證書以及身份密鑰能夠用來證明用戶的身份。之后用戶登錄到元數據服務器,元數據服務器驗證用戶的身份。元數據服務器根據用戶的身份以及被訪問文件的訪問控制項,驗證用戶是否擁有對請求文件的訪問權限。通過驗證以后,元數據服務器將元數據發送給用戶。用戶將元數據信息以及請求發送給海量存儲設備,海量存儲設備驗證用戶的請求以及用戶權限,驗證通過則執行用戶命令。
在本方案中所有用戶和系統實體至少擁有一個有效的身份證書,用戶身份證書包含必要的用戶身份信息,如用戶ID、用戶所屬組/角色、以及證書的有效期限;TA為用戶生成身份證書。用戶權限通過訪問控制項來實現,每一數據塊都具有與其關聯的訪問控制項。它包括用戶組/角色訪問控制項和用戶訪問控制項,分別對應于對組/角色的訪問控制和對用戶的訪問控制。而且訪問控制項具有較高的優先級,即用戶訪問控制項具有比組/角色訪問控制項更高的優先級。此外訪問控制項可以繼承和派生,存儲在設備上的文件可以繼承所在存儲設備的訪問控制項。
通過如下步驟保證系統的安全訪問控制功能。
(1) 應用客戶對訪問請求進行簽名。向設備服務器提交訪問請求、請求簽名、用戶身份證書或必要的身份信息。
(2) 存儲設備在接受用戶訪問時只需驗證用戶身份,依據用戶身份、用戶所屬的組或角色以及與被訪問數據塊關聯的訪問控制項進行訪問控制,過程包括:
① 存儲設備在收到用戶訪問請求時,首先驗證用戶身份證書的有效性,用戶身份證書可以由用戶發給設備服務器,也可以是設備服務器緩存或保存下來的,或是設備服務器依據用戶身份信息構造出來的;
② 依據請求簽名確認用戶身份;
③ 依據用戶身份、用戶所屬的組或角色以及與被訪問數據塊關聯的訪問控制項進行訪問控制。
(3) 客戶端或具有訪問權限控制的管理員通過對訪問控制項的添加、刪除和修改可以實現權限的授予、回收和變更;若存儲設備收到授權請求則在被訪問數據塊的訪問控制列表中添加相應的訪問控制項,若收到權限回收請求則刪除被訪問數據塊相應的訪問控制項,權限變更只需用新的操作許可位掩碼替換被訪問數據塊相應訪問控制項的原操作許可位掩碼。
在基于身份的存儲安全模型當中主要包括了兩個方面:身份認證以及用戶存取權限的訪問控制。
用戶身份的認證部分是一個安全的存儲系統必須處理的一個流程,是存儲安全技術的一個重要方面。身份認證機制阻止非法用戶進入系統,限制非法用戶訪問資源,是其他安全機制的基礎。
在分布式的網絡環境當中,目前主要的身份認證方式有PKI/CA和Kerberos,但是Kerberos面臨著時間的同步以及密鑰交換、密鑰存儲、密鑰管理等難題,而PKI/CA機制需要建立 CA,開銷很大。本文引入了基于身份的密碼學(Identity-Based Cryptography,IBC),它跟PKI/CA一樣都是公鑰密碼體系,但是卻沒有PKI/CA那么復雜,在IBC中,公鑰可以是實體標識或由任何實體依據其標識計算出來,私鑰由私鑰生成中心(Private Key Generator,PKG)統一生成,服務器不需要維護每個實體的公鑰證書,實體認證過程不需要 PKG的介入,從而減少了證書管理和認證的開銷。從技術上解決了PKI密鑰管理規模化和規模化密鑰存儲的問題,簡化了實體認證過程,實現了不依賴于第三方的認證。
用戶通過可信機構獲取的身份私鑰以后,就可以采取公鑰密碼體系中數字簽名方法,通過數字簽名來認證自己的身份。進行數字簽名時,發送者可以用自己的私鑰加密一段信息,接受者收到信息后用發送者的公鑰對信息進行解密,從而確定發送者的身份。
采用公鑰密碼體系進行遠程認證的優勢是十分明顯的,既不需要事先建立共享密鑰,又不必在網上傳遞口令或者指紋等敏感信息。
基于身份的安全模型主要是減輕了元數據服務器的負載。在我們的系統測試中,我們通過多進程模擬多用戶的方法,通過rsh服務來協同各客戶端的操作,此外在讀寫操作中,讀寫的是相同文件,其結果如圖1、圖2、圖3所示。由圖可以看出采用基于身份海量存儲系統訪問控制安全機制的操作的響應時間要小于基于證書訪問控制的操作。這是因為基于證書訪問控制的操作多了權限驗證以及生成權限證書兩個步驟,因而響應時間更大。其中基于創建操作的響應時間差隨著客戶端數目的增加有增大的趨勢,這是因為在不僅僅是因為基于證書機制中多了權限驗證和生成證書兩個步驟,還因為創建操作時,需要驗證父數據塊是否有寫權限,通常這需要搜索數據庫查詢父數據塊的元數據以及權限信息,而數據庫操作是很費時的,因而響應時間差有增大趨勢。

圖1 不同安全機制下的寫操作響應時間對比

圖2 不同安全機制下的讀操作響應時間對比

圖3 不同安全機制下的創建操作響應時間對比
本文介紹了基于證書的安全模型,在此基礎上提出了基于身份的安全模型。基于身份的安全模型在理論上比基于證書的安全模型有著明顯的優勢,我們通過元數據服務器上進行了對比測試,測試結果表明在獲得相同安全性的同時基于身份的海量存儲系統安全機制的效率比基于證書的安全機制有了較大的提高。
[1]T10/1731-D Working draft reversion 0. Information technology-SCSI Object-Based Storage Device Commands-2(OSD-2). October.2004.
[2]V. Kher, Y. Kim. Decentralized Authentication Mechanisms for Object-based Storage Devices. In: Security in Storage Workshop, Proceedings of the Second IEEE International. USA:IEEE.2003.
[3]孫銳,王純.信息安全原理及應用(第一版).北京:清華大學出版社.2003.
[4]A. Shamir. Identity-Based Cryptosystems and Signature Schemes. In: Advances in Cryptology-Crypto 84, LNCS 196,Springer-Verlag.1984.
[5]A. Grunbacher. POSIX Access Control Lists on Linux. In:Proceedings of the FREENIX Track: 2003 USENIX Annual Technical Conference. USA: USENIX.2003.