1 引言
互聯網技術的高速發展,使網上遍布了各種高性能計算機,如何更好的擴展和
利用這些資源是信息技術的重要研究方向,網格技術的出現正是致力于解決這
一問題。
網格技術是近幾年大力推動實施的一項網絡基礎實施[1]。網格計算系統將地
理分布、系統異構、性能各異的各種資源,通過高速互連的網絡進行連接并集
成,形成廣域范圍的無縫集成和協同計算環境,它將整個網絡整合成一臺巨大
的虛擬計算機[2]。但是隨著網格技術日益發展壯大,網格系統越來越復雜,安全問
題顯得非常的重要,已經成為網格技術研究中的關鍵問題。
2 網格安全及其相關技術
2.1 網格安全問題的考慮
由于網格計算環境的開放性,所以無論是它應用于大規模并行計算,還是進行信息的共享與互操作,都會出現各種各樣的安全問題。用戶要使用網格資源就要注冊并登錄請求,但是由于用戶、應用和網格資源不再滿足互利、互信關系的事實使得網格安全認證問題變得更加復雜。用戶登錄后要有相應的訪問權限,但由于用戶和資源的數量巨大,勢必導致對用戶權限控制更加復雜。同時由于分布式環境的特點對傳輸的安全也要有保證?偨Y起來,網格的安全機制必須考慮網格的如下特性[3]:
(1)多變性:網格中的用戶和資源的數量龐大,屬于多個不同的組織、用戶和資源且動態可變。
(2)用戶標識復雜:網格中的同一個用戶可以在不同的資源上有不同的用戶標識。
(3)多元性:網格中資源可以支持不同的認證和授權機制,可以有不同的訪問控制策略。
(4)動態特性:網格中的計算可以在執行過程中動態地申請和啟動進程、動態地申請和釋放資源。
(5)單點登錄:網格中的資源數量大,為了保證資源的安全性和完整性,為了簡化網格系統的使用,實現用戶的單點登錄是必須的。
(6)進程通信復雜:網格中的進程數量非常大,而且進程動態可變。一個計算過程可以由大量進程組成,這些進程之間可能存在不同的通信機制,底層的通信連接可在進程的執行過程中動態地創建并執行。
由此可以看出,安全問題已經滲透到網格系統的每個實體中,包括用戶、應用、權限和驗證、資源以及用于通信的整個網絡上。每個網格實體本身不僅面臨許多安全問題,而各個網格實體之間也存在相互協作和共享方面的安全問題。
2.2 網格安全相關技術
2.2.1 RMI技術
RMI(Remote Method Invocation,遠程方法調用)技術出現在jdk1.1中,是Java解決分布式應用的主要方案,它的出現使得分布式通信變得靈活。RMI可以使在不同Java虛擬機(Java Virtual Machine,JVM)之間的對象進行通信,并且JVM可以位于相同或不同的計算機上。在多個JVM中,一個JVM可以調用存儲在其他JVM上對象的方法,其中參數必須以某種形式傳遞給遠程對象。
RMI可以使得通信一方的客戶機可以像本地一樣調用遠程服務器上的方法。由于網格系統所跨越的機器或機群很可能是異構的并且有著不同的操作系統,而RMI技術又是基于Java技術實現的,所以它同時具備Java技術的安全性、可移植性、跨平臺等特性,這些特性使得RMI技術非常適合應用于網格計算環境來進行數據通信。
2.2.2 SOAP技術
簡單對象訪問協議是一種輕量的、簡單的、基于XML的用于應用程序之間通信數據編碼的傳輸協議,它被設計成在WEB上交換結構化的和固化的信息。 SOAP 可以和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議(HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME)。它還支持從消息系統到遠程過程調用(RPC)等大量的應用程序。SOAP使用基于XML的數據結構和超文本傳輸協議的組合定義了一個標準的方法來使用Internet上各種不同操作環境中的分布式對象,作為Web Services的一部分,它在網格安全里也有著廣泛的應用[4]。
3 身份認證技術
實現網格系統的目的就是為了共享各種資源,而網格系統與傳統的單機系統相比其最大的特點就是用戶需要共享跨多個管理域的資源,實現統一的資源共享環境。同時,由于網格系統是一個開放、共享的系統,用戶與資源數量都很龐大,這些都對用戶身份認證有很高的要求[5]。由于網絡安全技術已經趨于成熟,網格安全技術的構建主要建立在網格安全的基礎上,而網格環境的復雜性又決定了網格用戶身份認證的特殊性。網格環境下身份認證可以按照是否跨管理域劃分為本地身份認證機制和跨域身份認證機制。
3.1 本地身份認證機制
在本地身份認證機制中,最常出現的安全問題就是非法用戶通過監聽登錄時用
戶和服務器的通信過程,獲取合法用戶的登錄信息,然后登錄系統進行非法操
作,也有可能是非法用戶偽裝成服務器端對合法用戶進行欺騙進而破壞用戶的
主機端。為了防止這一安全隱患,借鑒于網絡安全里的雙重認證技術,網格系
統通過服務器端和客戶端的雙向認證,來達到安全認證的目的。其認證過程如
圖1所示,具體的實現過程如下:
(1)用戶向服務器發送登錄請求,服務器收到請求后,在其安全數據庫里查找登錄名,如果登錄名不存在,則轉到(2);如果存在,則直接轉到(3)。
(2)如果安全數據庫中不存在此登錄名相關信息,則分配一個新的地址空間給該用戶,同時生成一個迭代值,并將用戶名和生成的迭代值存儲在這個空間中,并提示用戶輸入密碼。
(3)成功提交登錄名后,用戶輸入密碼提交給服務器。服務器將接受到的密碼和與之對應所生成的迭代值合并,并調用相關加密算法進行加密,將加密后的數據提交到安全數據庫,之后即清除內存中的相關記錄,以節省內存空間。
(4)安全數據庫得到加密數據后,即用對應的解密算法進行解密,如果解密成功,則表明服務器對用戶認證成功,即完成了服務器端對用戶的身份認證過程,完成后立即清楚認證過程中在內存中的相關記錄。
(5)服務器完成對用戶端的認證后,同時也將加密數據發送給用戶端,用戶用對應的解密算法對數據進行解密,如果解密成功,則完成了用戶對服務器的認證過程,同時清除認證過程中在內存中的相關記錄。
圖1 本地身份認證機制示意圖
3.2 跨域身份認證機制
網格系統的復雜性以及分布式的特點決定了其身份認證技術除了具有網絡身份
認證中的一些普通特征外,還要滿足一些特殊要求,如單點登錄問題,即用戶
只需進行一次登錄認證即可訪問其他被授權的資源而不需要重復的身份認證
,用戶的身份認證信息只需擁有一份,從而避免了資源的浪費和效率的低下
[6,7]。單點登錄模型的實現如圖2所示:
圖2 跨域身份認證機制示意圖
現在假設用戶Bob在A地服務器通過認證成為了合法用戶,要跨域訪問B地服務器的服務,單點登錄模型實現過程如下:
(1)Bob向B地的服務器提出訪問請求,并將其用戶名提交給B。
(2)隨即B在其安全數據庫中查找用戶名,在其本地用戶注冊信息中沒有找到Bob的信息,則返回無Bob的消息給Bob,同時通過查找服務器B中認證信息存儲目錄,返回消息顯示用戶屬于A地。
(3)得到Bob的所屬信息后,Bob可以向B發送請求,B收到消息后提示用戶等待。然后服務器B與A建立通信,通過遠程交換進行異地信息同步,由B調用Bob在A地的注冊信息,B獲取到Bob的注冊信息對其進行類似于本地認證的雙重認證機制進行驗證,認證成功后B會根據遠程調用獲取的信息分配給Bob和在A地一樣的權限去訪問資源。
以上即完成了跨域訪問用戶身份認證,Bob很簡單的即可訪問使用異地資源,同時也保證了Bob在網格系統中實現了單點登錄。
4 單點登錄模型具體實現
隨著Web Services技術與網格體系結構的不斷融合,現有網格環境下的資源大都以Web服務的形式對外開放,使用戶可以方便地應用網絡技術訪問和使用[8]。同時也可以通過應用現有的一些成熟的技術,如RMI技術、SOAP技術、LDAP技術(Lightweight Directory Access Protocol,輕量目錄訪問協議)等,來實現上面提出的跨域身份認證機制,主要流程如下:
(1) Bob得到在A地通過認證后,便存儲其認證信息。利用SOAP技術的易擴展、跨平臺的特性,將信息序列化為SOAP消息(XML形式)中,存儲在A地的安全數據庫中。
(2) 每個認證服務器都存儲用戶的認證信息所在地目錄,并定時進行更新,這樣方便服務器快速定位用戶認證所在地。用戶認證信息資料可以使用LDAP目錄來存儲,LDAP具有統一標準、跨平臺、快速響應的特點,非常適合存儲認證地信息。Bob要求訪問B地資源,得到沒有其認證資料的反饋,同時B通過查找LDAP來定位到A地是Bob的信息所屬地。
(3) B得到A地是Bob認證的所屬地后便通過遠程調用來實現認證信息的同步,應用RMI技術,啟用遠程方法調用,B地可以得到Bob在A地登錄后存儲的信息,B通過反序列化得到的SOAP消息然后進行認證,認證成功后,Bob便可以訪問B地的資源。
通過構建局域網環境下的模擬測試平臺,LDAP服務器采用Open LDAP服務器,安全數據庫采用Mysql數據庫,應用Globus Toolkit構建網格服務進行仿真測試,實現了認證方案,證實了方案的可行性。
5 結束語
隨著網格系統發展日益復雜,面臨的隱患會越來越多,網格安全問題是網格推廣應用的關鍵,而身份認證又是網格安全的首要保證。本文針對網格系統的特性和實際中面臨的安全問題,借鑒計算機網絡安全的雙重身份認證機制,應用RMI機制和SOAP協議,提出了解決跨域身份認證的單點登錄問題解決方案,設計出新的單點登錄模型。由于網格安全技術和Web Services技術還處于發展階段,文章提出的模型還不是很完善,沒有考慮具體的安全技術,如通信安全技術,傳輸的加密解密技術,具體的認證技術等等,另外,把Web Services技術引入網格系統進行身份認證和訪問控制所帶來的效率問題也是下一步的研究目標。
參考文獻(References)
[1] Foster I, Kesselman C.The grid 2: Blueprint for a new computing infrastructure [M].Morgan Kaufmann,
2004:10-57.
[2] Ian Foster, Carl Kesselman, Jeffery M Nick, et a1.The physiology of the grid: an open grid services
architecture for distributed systems integration [EB/OL]. http://www.globus.org/research/papers/ogsa.pdf,
2002-9-11.
[3] Jay Unger, Mat Haynos. A visual tour of Open Grid Services Architecture: [EB/OL]. http://www-128.ibm.com/
developerworks /grid/library/gr-visual/index.html,2003.
[4] Luis F. G. Sarmenta.Grid Computing with XML Web Services [J]. Proceedings of the 2nd IEEE/ACM Sympos
-ium on Cluster Computing and the Grid (CCGrid 2002) Draft v1.2, Nov. 13, 2001:1-9.
[5] 都志輝,陳渝,劉鵬.網格計算[M].北京:清華大學出版社,2002
Du Zhihui, Chen Yu, Liu Peng. Grid Computing [M].Beijing: Tsinghua University Press, 2002.
[6] 劉高嵩,張傳昌.網格環境下統一身份認證的研究[J].網格安全技術與應用,2008,(10):19-21.
Liu Gaosong, Zhang Chuanchang. Research of Uniform Identity Authentication in Grid Environment [J].Network Security Technology&Application, 2008, (10):19-21.
[7] 楊輝,虞淑瑤,南凱.網格環境中身份認證的研究與應用[J].計算機應用研究,2006,(2):92-95.
Yang Hui, Yu Shuyao, Nan Kai. Research and Application of Authentication in Grid Environment [J].Application Research of Computers, 2006, (2):92-95.
[8] 陳銳,管建和.依據XML和SOAP擴展的Web安全服務[J]. 電腦編程技巧與維護,2008,(17):96-99.
Chen Rui, Guan Jianhe.Based on XML and SOAP expansion of Web security services [J]. Computer Programming Skills & Maintenance, 2008, (17):96-99.