直播中
網(wǎng)格計(jì)算很快將成為您的企業(yè)網(wǎng)絡(luò)策略的核心。但是它的安全性如何呢?本文作者 anne zieger 帶我們探索了網(wǎng)格安全領(lǐng)域內(nèi)的前沿技術(shù),人們正開始用這些技術(shù)解決迫在眉睫的安全問題。
直到最近,很多企業(yè)對待網(wǎng)格計(jì)算技術(shù)的態(tài)度依然是袖手旁觀,而沒有進(jìn)行投資。雖然有極少數(shù)經(jīng)理試圖說服人們相信,對空閑計(jì)算能力的開發(fā)能夠獲益,并且重要的應(yīng)用程序也可以構(gòu)建于網(wǎng)格基礎(chǔ)設(shè)施之上,但是很多人還是認(rèn)為,潛在的害處依然比益處更大一些。
不過,最近情況開始發(fā)生了一些變化。研究人員和企業(yè)管理人員紛紛關(guān)注大規(guī)模的網(wǎng)格應(yīng)用,他們正在開發(fā)新一代的網(wǎng)格計(jì)算安全技術(shù),以適應(yīng)企業(yè)的需要。
chris crafford 是總部設(shè)在得克薩斯州奧斯汀的商用網(wǎng)格計(jì)算公司 united devices 的副總工程師,他說,“迄今為止,從一般意義上講,人們致力于發(fā)展的大多數(shù)網(wǎng)格標(biāo)準(zhǔn)都根本沒有去做解決安全性問題的廣泛工作。不過我相信隨著我們的不斷努力,這些標(biāo)準(zhǔn)都會開始將安全問題考慮進(jìn)來的,因?yàn)榘踩詫τ跇I(yè)務(wù)而言是至關(guān)重要的需求?!?/P>
過去的幾代網(wǎng)格安全技術(shù)都或多或少直接構(gòu)建在知名的身份管理(identity management)和訪問控制(access control)等技術(shù)的基礎(chǔ)之上,其中值得一提的便是基于公鑰基礎(chǔ)設(shè)施(public key infrastructure)的安全工具。
現(xiàn)在,新的網(wǎng)格安全技術(shù)不斷出現(xiàn),并開始解決應(yīng)用程序和基礎(chǔ)設(shè)施的安全性問題,其中包括對應(yīng)用程序的保護(hù)和節(jié)點(diǎn)到節(jié)點(diǎn)的通信。在取得其他進(jìn)展的同時,出現(xiàn)了一些將 kerberos 安全性與 pki/x.509 機(jī)制相結(jié)合的網(wǎng)格安全技術(shù),可以使網(wǎng)絡(luò)節(jié)點(diǎn)之間的對等連接變得安全,從而更好地保護(hù)網(wǎng)格用戶及應(yīng)用程序免遭惡意或拙劣代碼的侵害。
globus toolkit
globus toolkit 是一組用于構(gòu)建網(wǎng)格的組件,應(yīng)用十分廣泛,其中包含一種最流行的網(wǎng)格計(jì)算安全機(jī)制。
這個工具集由 globus project 開發(fā),它通過其中的網(wǎng)格安全基礎(chǔ)設(shè)施(grid security infrastructure, gsi),提供認(rèn)證、授權(quán)和安全通信。gsi 通過使用公鑰密碼系統(tǒng),特別是公鑰/私鑰和 x.509 證書,為創(chuàng)建安全網(wǎng)格提供了基礎(chǔ)。
x.509 也許是應(yīng)用最為廣泛的數(shù)字證書定義標(biāo)準(zhǔn),企業(yè) it 管理人員對它都十分熟悉,并且也具備支持它的基礎(chǔ)設(shè)施。與此同時,這種標(biāo)準(zhǔn)相當(dāng)靈活,可以很巧妙地在網(wǎng)格中使用。
gsi 的主要目標(biāo)是:為多個網(wǎng)格系統(tǒng)和應(yīng)用程序提供單點(diǎn)登錄;提供可以在多個組織之間使用,而不要求集中管理授權(quán)的安全技術(shù);以及在同一網(wǎng)格中的多個不同元素之間提供安全的通信機(jī)制。
gsi 認(rèn)證
gsi 基于用戶的私鑰創(chuàng)建時間戳代理,從而為用戶提供了一種安全認(rèn)證的方法。用戶如果沒有創(chuàng)建這個代理,就不能提交作業(yè),也不能傳輸數(shù)據(jù)。這個代理一經(jīng)創(chuàng)建,就可以用于授權(quán)或者拒絕對整個網(wǎng)格內(nèi)所有資源的訪問。因?yàn)檫@個代理可以在整個系統(tǒng)中使用,這就使得最終用戶可以只登錄一次。
另外一種認(rèn)證方法是使用具有 gsi 功能的 openssh,其中也使用了相同的認(rèn)證機(jī)制。但是這種方法就是在 globus toolkit 核心功能之外實(shí)現(xiàn)的了。
gsi 授權(quán)
gsi 處理用戶授權(quán)的方法是將用戶映射為所訪問系統(tǒng)的本地用戶。在啟用了 gsi 的網(wǎng)格中,接收請求的系統(tǒng)從代理中讀取用戶的名字,然后根據(jù)一個本地文件將這個名字映射為本地用戶名。
為了避免在不同的網(wǎng)格系統(tǒng)中創(chuàng)建很多額外的用戶 id,管理員可以將用戶劃分為虛擬的組。某個特定域下面的所有用戶在訪問某項(xiàng)特定的網(wǎng)格資源時,都可以映射到一個公用的用戶 id 上。gsi 的這種設(shè)計(jì)方式有助于管理員將運(yùn)行網(wǎng)格計(jì)算的外部用戶和需要本地管理與支持的本地用戶區(qū)分開來。
gsi 安全通信
缺省條件下,gsi 用數(shù)字證書進(jìn)行相互認(rèn)證,并通過 ssl/tls 實(shí)現(xiàn)對數(shù)據(jù)的加密,以保證通信的安全。globus toolkit 中包含 openssl,用于在網(wǎng)格客戶機(jī)和服務(wù)器之間創(chuàng)建加密的管道。
如果某些用戶不具備到網(wǎng)格客戶機(jī)和服務(wù)器的物理連接,而要實(shí)現(xiàn)對網(wǎng)格的安全遠(yuǎn)程訪問,那么 globus 建議使用具有 gsi 功能的 openssh。安全 shell(secure shell, ssh)可以在用戶的客戶機(jī)和網(wǎng)格服務(wù)器之間建立加密的會話。
[page]與 kerberos 集成
前面大致介紹了一下 globus 中使用的方法,這種方法已經(jīng)足夠成為開展網(wǎng)格應(yīng)用的堅(jiān)實(shí)基礎(chǔ),特別是對于金融服務(wù)以及醫(yī)藥行業(yè)而言更是如此。
然而,畢竟還是有一些組織被排斥在外。比如說,gsi 并不與 kerberos 認(rèn)證機(jī)制直接兼容,而后者的應(yīng)用十分廣泛且與已有的 x.509 機(jī)制有很大區(qū)別。
現(xiàn)在出現(xiàn)了一種網(wǎng)格安全技術(shù),試圖通過將 kerberos 基礎(chǔ)設(shè)施與 x.509 證書相融合來回避這一問題。美國密歇根大學(xué)開發(fā)的 kx.509 ,其設(shè)計(jì)目標(biāo)就是在 kerberos 和 pki 之間架起一座橋梁。
kx.509 是一種“kerberos 化”的客戶端程序,它用現(xiàn)有的 kerberos 票據(jù)獲取 x.509 證書。合法登錄到 kerberos 領(lǐng)域、kerberos 客戶機(jī)軟件及進(jìn)入 kerberos 認(rèn)證機(jī)構(gòu)(kerberos certificate authority)服務(wù)器系統(tǒng)的用戶可以參與。
通常情況下,用戶要使用 globus 工具,就必須通過使用長期 x.509 證書的機(jī)器的認(rèn)證。長期 x.509 證書用于生成短期代理,然后這個代理將用于網(wǎng)格中的認(rèn)證。這個代理在預(yù)先設(shè)置的時間期限之后就會過期。
kx.509 就其自身來說,可以用來代替永久性的長期證書。kx.509 通過用用戶已經(jīng)擁有的 kerberos 票據(jù)創(chuàng)建 x.509 憑證(包括證書與私鑰)來做到這一點(diǎn)。然后,用這些憑證生成 globus 代理證書。運(yùn)行 globus 軟件的系統(tǒng)(標(biāo)準(zhǔn) globus 客戶機(jī)或 condor-g)可以設(shè)置成識別 kx.509 證書,就好像它是標(biāo)準(zhǔn)的 x.509 事務(wù)一樣。
kx.509 生成的證書和私鑰通常與 kerberos 憑證存儲在同一個緩沖區(qū)中。netscape 或 internet explorer 隨后會加載 pksc11 庫,以確保所有 web 活動的安全。
不過,kx.509 并不是完全自動的。對于想利用 xk.509 憑證的用戶而言,目標(biāo)機(jī)器的管理員必須特別指明可以接受 kx.509 憑證。
管理員還必須修改客戶機(jī)系統(tǒng)中的一些文件,為運(yùn)行 kx.509 的可執(zhí)行文件,必須設(shè)置若干環(huán)境變量??赡軙笥脩粼谒麄儌€人的初始化文件中放入所需的腳本,或者由管理員在系統(tǒng)級的啟動文件中放入一些腳本。
sharp:安全資源共享
目前還出現(xiàn)了另外一組網(wǎng)格安全技術(shù),致力于安全的網(wǎng)格資源管理,以便幫助使用網(wǎng)格的公司更高效地共享系統(tǒng)。
在這方面有一個例子,即所謂的 sharp 研究項(xiàng)目(secure highly available resource peering,安全高可用資源直連),這是杜克大學(xué)開發(fā)的一個項(xiàng)目,目標(biāo)是為共享網(wǎng)格資源和委托授權(quán)使用這些資源定義新的方法。
sharp 提出了一種新的網(wǎng)格安全基礎(chǔ)設(shè)施,稱為“策略服務(wù)器(policy server)”,負(fù)責(zé)控制用戶訪問網(wǎng)格資源的時間、地點(diǎn)、以及范圍。這些策略服務(wù)器給用戶一個票據(jù),用于向資源的所有者證明這臺經(jīng)過授權(quán)的服務(wù)器已經(jīng)給予他訪問權(quán)限。
杜克大學(xué)計(jì)算機(jī)科學(xué)系副教授兼 sharp 程序組長 jeff chase 說,“我們過去使用的安全方法一直是在資源孤島的周圍創(chuàng)建一個邊界,但是那樣的方法不適合網(wǎng)格。其中一點(diǎn)就是,它沒有提供控制資源的方式。新的模型為全世界的用戶創(chuàng)建了一種流體結(jié)構(gòu),可以將控制什么人訪問什么資源的策略廣泛分布在其中?!?/P>
sharp 有一項(xiàng)重要特性,可以不創(chuàng)建集中的認(rèn)證機(jī)構(gòu)來管理對資源的請求,就能實(shí)現(xiàn)安全共享。sharp 網(wǎng)格內(nèi)的有效主站通過獲取“聲明(claim)”來控制對網(wǎng)格資源的共享;不同的主站可以像 isp 在路由時交換網(wǎng)絡(luò)帶寬那樣相互交換聲明。
在 sharp 模型內(nèi)部,每一個站點(diǎn)都作為一個中央認(rèn)證機(jī)構(gòu)來驗(yàn)證密鑰、簽名、以及檢測對其本地資源的聲明沖突。聲明經(jīng)過密碼簽名,可以保證不可更改性、不可否認(rèn)性,并能夠由第三方機(jī)構(gòu)進(jìn)行驗(yàn)證。
聲明一旦建立,就可以通過“代理(agent)” 對其進(jìn)行管理。所謂代理,是一些可插入的模塊,能夠?qū)β暶鬟M(jìn)行細(xì)分,并將其分配給相應(yīng)的客戶機(jī)。設(shè)計(jì)這些代理能夠使對資源聲明的處理更加高效。
為了避免過度使用系統(tǒng)資源,這些聲明被設(shè)置了時間限制,在某段特定期限之后就會過期,因此如果聲明持有者沒有進(jìn)行操作,系統(tǒng)就可以將資源恢復(fù)。
在某些情形下,代理可能會給資源超額分配額外的聲明,這樣即便某些聲明不能成功使用資源或是超時,也可以保證資源池被充分利用。
這些技術(shù)的最終目標(biāo)是實(shí)現(xiàn)按需計(jì)算。盡管網(wǎng)格技術(shù)對于研究者而言十分重要,sharp 的開發(fā)人員關(guān)注的焦點(diǎn)卻是有效的計(jì)算?!澳壳?,網(wǎng)格被看作是實(shí)現(xiàn)這一目標(biāo)的一種手段”,chase 說道。
[page]構(gòu)建沙盒
另外一類發(fā)展中的網(wǎng)格安全技術(shù)是用來幫助公司保護(hù)網(wǎng)格免受惡意代碼、病毒以及其他基于網(wǎng)格基礎(chǔ)設(shè)施之上的有意無意的攻擊。
其中一個例子來自位于得克薩斯州奧斯汀的商業(yè)網(wǎng)格計(jì)算公司 united devices。united devices 跟商業(yè)網(wǎng)格計(jì)算領(lǐng)域內(nèi)的其他公司一樣,一直致力于創(chuàng)建安全的共享環(huán)境,不僅能保護(hù)用戶設(shè)備不受網(wǎng)格代理的干擾,而且能保護(hù)網(wǎng)格設(shè)備不受用戶應(yīng)用程序的干擾。其中的思想是保證用戶和網(wǎng)格應(yīng)用程序都只能訪問一組適當(dāng)?shù)南到y(tǒng)資源。
ud 的技術(shù)與一些類似公司的技術(shù)相同,都是將運(yùn)行在最終用戶環(huán)境上的網(wǎng)格應(yīng)用程序放到一個“沙盒(sand box)”中。這個沙盒是一個受保護(hù)的代碼包裝器,遍布于整個網(wǎng)格應(yīng)用程序環(huán)境,并捕獲所有的調(diào)用。沙盒的功能通常是網(wǎng)格代理的一部分,這個代理也位于用戶的機(jī)器上。
沙盒設(shè)計(jì)用于保證只有安全的調(diào)用才能在主機(jī)/用戶環(huán)境中執(zhí)行。在 ud 的安全模型中,網(wǎng)格系統(tǒng)截獲每一個文件系統(tǒng)調(diào)用,并在沙盒中對其進(jìn)行檢驗(yàn),如果該調(diào)用是不允許執(zhí)行的,那么網(wǎng)格安全系統(tǒng)就不讓其繼續(xù)執(zhí)行。這樣就保護(hù)了網(wǎng)格用戶不會受到惡意代碼或應(yīng)用程序中的拙劣代碼的攻擊。
“如果有什么人向網(wǎng)格中插入了一個惡意程序,并企圖訪問用戶的 pc,那么沙盒會阻止它。”crafford 說,“比如說,在 windows 環(huán)境中,您可能不希望外來應(yīng)用程序?qū)ψ员磉M(jìn)行修改,因此您不會讓這樣的調(diào)用走出沙盒?!?/P>
ud 一直與 microsoft 進(jìn)行合作,即在沙盒中使用增強(qiáng)版本的 windows 系統(tǒng)調(diào)用,以確保微軟的技術(shù)能與他們的網(wǎng)格協(xié)調(diào)工作。他們也針對 .net 平臺進(jìn)行了微調(diào)?!叭绻褂玫氖?.net 環(huán)境,您可以通過 .net 運(yùn)行庫中的大量控件來捕獲不希望從網(wǎng)格應(yīng)用程序中執(zhí)行的功能?!眂rafford 強(qiáng)調(diào)說。
ud 還采取了一些措施來保護(hù)網(wǎng)格應(yīng)用程序中使用的數(shù)據(jù)。該技術(shù)在這一方面的設(shè)計(jì)目標(biāo)是保證網(wǎng)格應(yīng)用程序的用戶不能在數(shù)據(jù)返回網(wǎng)格中央服務(wù)器之前查看或者修改網(wǎng)格數(shù)據(jù)。
ud 使用了一組標(biāo)準(zhǔn)的數(shù)據(jù)保護(hù)技術(shù),如在數(shù)據(jù)寫出到磁盤上之后進(jìn)行加密,以及用基于 pki 的認(rèn)證來保證對方的數(shù)據(jù)交換。系統(tǒng)使用用于數(shù)字簽名與認(rèn)證的 pki 和 x.509 證書對網(wǎng)格用戶和應(yīng)用程序進(jìn)行驗(yàn)證。
作為 ud 系統(tǒng)安裝過程的一部分,用戶可以用他們自己已有的密鑰組為所有的網(wǎng)格應(yīng)用程序創(chuàng)建一個簽名。當(dāng)代理啟動時,會與中央服務(wù)通信,并請求工作。在這個過程中,代理會被認(rèn)證,以證明它是網(wǎng)格中的合法組成部分。然后,用戶的系統(tǒng)就通過檢查數(shù)字簽名,判斷網(wǎng)格應(yīng)用程序的可信性。
未來發(fā)展方向
前面的概要介紹表明,網(wǎng)格安全性的研究正開始解決企業(yè) it 經(jīng)理所關(guān)注的可操作性和策略問題。然而下一步,網(wǎng)格安全工作應(yīng)該趁它依然是主流社團(tuán)開發(fā)中的前沿技術(shù)時,迅速轉(zhuǎn)向技術(shù)方面。
比如說,在最近幾個月中,globus grid forum 已經(jīng)開始在基于網(wǎng)格的 web 服務(wù)環(huán)境中嘗試安全技術(shù)。與 ggf 合作的是開放網(wǎng)格服務(wù)架構(gòu)(open grid services architecture, ogsa),意在結(jié)合網(wǎng)格和 web 服務(wù)的概念與技術(shù),提出一種網(wǎng)格服務(wù)架構(gòu)。
ogsa 安全工作組的成員計(jì)劃利用由 ibm、微軟和 verisign inc 支持的 ws-security 標(biāo)準(zhǔn),來實(shí)現(xiàn) ogsa 安全性。ws-security 除了其他特性之外,還提供針對 soap 消息的安全性增強(qiáng)機(jī)制,以及對 x.509 證書與 kerberos 票據(jù)進(jìn)行編碼的方法。
雖然 ogsa 安全工作組的工作仍然處于早期階段,其最終工作產(chǎn)品還是能為網(wǎng)格在企業(yè)界的逐漸發(fā)展與廣泛接受作出一定的貢獻(xiàn)。隨著 web 服務(wù)等關(guān)鍵技術(shù)安全地啟用網(wǎng)格技術(shù),網(wǎng)格技術(shù)應(yīng)該很快就能成為任意企業(yè)網(wǎng)絡(luò)策略的核心。