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