互聯網的迅猛發展,使網上遍布了成千上萬的各類高性能計算機,如何更好地擴展和利用這些網絡資源已成為一個重要研究方向,這正是網格計算的發展前景所在。
網格計算作為新一代的分布式計算方法,與傳統分布式計算的主要區別在于在沒有集中控制機制的情況下,通過對計算資源進行大規模共享,滿足應用對高性能計算要求,并且這種對計算資源進行大規模共享是動態的、柔性的、安全的和協作式的。
網格安全問題是網格計算中的一個核心問題。我們都知道,安全與便利是一對矛盾的結合體。因為在保證網格計算安全性的同時,還必須要盡量方便用戶和各種服務的交互與使用。在設計網格安全機制時特別要考慮網格計算環境的動態主體特征及復雜性。要保證網格計算環境中不同主體之間的相互鑒別和各主體間通信的保密性和完整性。基于以上原因,在網格計算環境中,安全問題比一般意義上的網絡安全問題的覆蓋面更廣。在網格環境中,客戶機位于不同的地理空間和組織,為保證網格實體(用戶、資源和程序)之間的通信安全、防止篡改、實現組織中安全機制方面的互操作性。就需要具備有一個統一的網格安全基礎設施, GSI(Grid Security Infrastructure)正是一個解決網格計算中安全問題的一個集成方案。
GSI方案提供網格環境認證
GSI為網格計算環境提供了一系列的安全協議、安全服務、安全SDK和命令行程序。GSI可以提供在網格計算環境中的安全認證,支持網格計算環境中主體之間的安全通信,防止主體假冒和數據泄密;為網格通信提供保密性、完整性和回放保護,及為網格用戶提供單點登錄和權限委托的能力。另外,GSI還可以用來對網格實體的身份進行驗證,來確定該實體允許執行哪些操作。這些安全技術都能有效地保證網格計算環境的安全性和方便性。
GSI是保證網格計算安全性的核心。它支持用戶代理、資源代理、認證機構和協議的實現。它向上提供一系列的安全協議,向下支持各種安全機制和技術。GSI采用GSS-API(Generic Security Service application programming interface) 作為其安全編程接口。提供了通用的安全服務,支持應用程序在源碼級的可移植性。它在面向主體間安全鑒別和安全通信操作基礎上,提供獲得證書、執行安全鑒別、簽署消息和加密消息等功能。
GSI的實現符合IETF提出的用于安全系統的標準(GSS-API),它主要集中在網絡的傳輸層和應用層,并強調與現有分布式安全技術的融合。在公鑰加密體系的基礎上,充分利用現有的網絡安全技術,對某些功能進行擴展,使得GSI可以支持單點登錄。從而,在網格計算環境下提供一個一致的安全性界面,方便了網格的開發和使用。
實施網格安全策略必須集中于域間相互作用和映射域間操作。對單一信任域內的操作可通過Kerberos 和SSH方法。對每個信任域,都要有一個從全局到局部主體的映像。位于不同信任域的實體間的操作要求相互鑒別。一個被鑒別的全局主體映像為一個局部主體時,被看作等同于局部主體的本地認證。在一個通用的計算環境中,主體和對象必須包含組內所有計算的實體。一個計算包括許多過程,每個過程代表一個用戶。其中對象包括可用于網格環境中的大范圍的資源。
基于GSI的安全策略是通過通用安全服務編程接口GSS-API、安全認證管理和用戶代理的實現三個方面來體現的。在GSI中,著重解決的是安全的認證問題。
GSI通過創建用戶代理、代理分配資源、進程分配資源、映射權限四種安全操作協議,充分體現了網格的解決方案。全局命名(證書)和代理證書使得用戶對所有的訪問資源只進行一次認證。代理證書和委托技術允許一個進程來代表用戶訪問資源。在GSI的安全策略和單一登錄機制的基礎上,構建一個網格安全體系,該體系結構體現了用戶、資源和過程的鑒別,它支持用戶到資源、資源到過程、過程到資源、過程到過程的鑒別。及與本地策略的相互協作及對不同資源的動態請求。
GSI的安全認證
安全認證是對請求者與接受者雙方進行身份驗證的一個過程,是在SSL上進行的一個成功的安全認證,可以校驗一個請求連接的合法性,并為其后的雙方通信提供一個會話密鑰。GSI的安全認證是基于用戶的私鑰創建一個代理,從而為用戶提供認證方法。用戶如果沒有創建這個代理,就不能提交作業,也不能傳輸數據。
GSI認證(certificates)的一個關鍵是認證證書。在網格計算環境中的每個用戶和服務都需要通過認證證書來驗證身份,GSI證書采用了X.509的證書格式。主體名稱(subject name)是用來明確認證證書所表示的人或其它對象。主體的公鑰(public key)來自于X.509 認證簽署證書的認證中心。標識則記錄了認證中心的名稱。簽署證書的認證中心的數字簽名是可用來確認認證中心的合法性。
在相互認證進行之前,雙方要相信彼此的認證中心。雙方有彼此認證中心自身的證書,就可以確保雙方由認證中心簽署的證書具有合法性。雙方主體都獲得了證書,而且都信任彼此的認證中心后,則雙方可相互明確彼此的身份,這就是相互鑒別(mutual authentication)的過程。GSI采用SSL( Secure Sockets Layer)協議作為它的相互認證協議。
認證是安全通信基礎
網格安全問題是網格計算中的核心問題。網格計算的特點是網格計算會將現有的各種標準協議有機地融合起來,從而在網格計算中將協議和技術集成起來。網格系統和應用中的每個用戶和服務,要求所有的安全標準,包括安全認證、安全身份相互鑒別、通信加密以、私鑰保護及委托與單點登錄,都能在網格計算環境中通過認證證書來驗證身份。提供一個較好的認證解決方案,可以使用戶,包含用戶計算的過程以及該過程使用的資源都可以證明彼此的身份。
認證是形成安全政策的基礎,它可以使各個局部安全策略都被集成為一個全局的框架。從而更加有利于網格實體之間實現安全的通信。