孟光勝 賀學(xué)劍
摘要:本文根據(jù)網(wǎng)格計(jì)算的特點(diǎn),在現(xiàn)有的網(wǎng)格安全認(rèn)證模型的基礎(chǔ)上,提出了一種基于X.509和Kerberos雙協(xié)議混合認(rèn)證模型,該模型能有效的克服現(xiàn)有模型的不足。
關(guān)鍵詞:網(wǎng)格;網(wǎng)格安全;網(wǎng)格認(rèn)證;數(shù)字證書(shū);模型
中圖分類號(hào):G202文獻(xiàn)標(biāo)志碼:A文章編號(hào):1002-2589(2009)06-0060-02
一、網(wǎng)格安全的概念及目標(biāo)
(1)保密性:通過(guò)對(duì)數(shù)據(jù)進(jìn)行加密,使得只有擁有密鑰的合法用戶才能訪問(wèn),而未經(jīng)授權(quán)者不能訪問(wèn)數(shù)據(jù)。這樣,即使未授權(quán)者拿到數(shù)據(jù)的加密文件,也不可能看到其明文。(2)完整性:保證信息在傳輸或者存儲(chǔ)過(guò)程中沒(méi)有被篡改、破壞或丟失。(3)身份鑒別:驗(yàn)證通信對(duì)象或資源訪問(wèn)者邏輯上的身份證明是否與其真實(shí)身份相符合,從而防止合法用戶被冒名頂替。(4)授權(quán):當(dāng)驗(yàn)證完用戶的身份屬實(shí)后,根據(jù)其身份賦予相應(yīng)的權(quán)限,使得用戶可以在不超出權(quán)限的情況下訪問(wèn)資源或執(zhí)行操作。(5)反否認(rèn):保證信息的發(fā)布者就是其本人,而不是其他人通過(guò)假冒其身份發(fā)布虛假信息,另一方面也保證信息發(fā)布者不能抵賴,信息的真正發(fā)布者只能是信息發(fā)布者本人而不可能是其他人。(6)可用性:保證系統(tǒng)或資源不會(huì)因?yàn)樵馐芊欠ü?比如病毒等)而造成系統(tǒng)癱瘓或資源的無(wú)法使用。
二、網(wǎng)格認(rèn)證概述和數(shù)字證書(shū)
(1)鑒別或驗(yàn)證一個(gè)用戶的身份。(2)偷聽(tīng):如何阻止別人在通信線路上對(duì)信息進(jìn)行偷聽(tīng)?(3)口令管理;如果我們正在訪問(wèn)多個(gè)系統(tǒng),每個(gè)系統(tǒng)是否都保留了用戶ID和口令的副本呢?每個(gè)存儲(chǔ)認(rèn)證信息的數(shù)據(jù)庫(kù)都是系統(tǒng)安全漏洞的目標(biāo)。而且,每當(dāng)我們需要進(jìn)行操作的時(shí)候,是否都需要提供口令呢?(4)重放:有人可以當(dāng)認(rèn)證信息在網(wǎng)絡(luò)中傳輸?shù)臅r(shí)候?qū)λM(jìn)行復(fù)制,即使這些信息經(jīng)過(guò)了加密,然后在以后進(jìn)行重放,從而獲得不正當(dāng)?shù)脑L問(wèn)。(5)信任:認(rèn)證是否應(yīng)該是單方面的呢?或者用戶是否也應(yīng)該檢驗(yàn)和相信使用的服務(wù)是合法的?集中系統(tǒng)信任它自己;分布式系統(tǒng)必須尋找一個(gè)方法來(lái)信任其他系統(tǒng)。
網(wǎng)格認(rèn)證需要有一個(gè)認(rèn)證中心CA,也即是認(rèn)證機(jī)構(gòu),是一個(gè)負(fù)責(zé)發(fā)放和管理數(shù)字證書(shū)的權(quán)威機(jī)構(gòu)。它為各個(gè)實(shí)體頒發(fā)電子證書(shū),即對(duì)實(shí)體的身份信息和相應(yīng)公鑰數(shù)據(jù)進(jìn)行數(shù)字簽名,用以捆綁該實(shí)體的公鑰和身份,以證明各實(shí)體在其功能上身份的真實(shí)性,并負(fù)責(zé)檢驗(yàn)和管理證書(shū)。CA系統(tǒng)能為信息安全提供有效的、可靠的保護(hù)機(jī)制,提供網(wǎng)上身份認(rèn)證服務(wù),提供信息保密性、數(shù)據(jù)完整性以及收發(fā)雙方的不可否認(rèn)性服務(wù)。
數(shù)字證書(shū)身份認(rèn)證是基于國(guó)際PKI標(biāo)準(zhǔn)的網(wǎng)上身份認(rèn)證系統(tǒng),數(shù)字證書(shū)相當(dāng)于網(wǎng)上的身份證,它以數(shù)字簽名的方式通過(guò)第三方權(quán)威認(rèn)證CA有效地進(jìn)行網(wǎng)上身份認(rèn)證。幫助各個(gè)實(shí)體識(shí)別對(duì)方身份和表明自身的身份,具有真實(shí)性和防抵賴功能。與物理身份證不同的是,數(shù)字證書(shū)還具有安全、保密、防篡改的特性,可對(duì)企業(yè)網(wǎng)上傳輸?shù)男畔⑦M(jìn)行有效保護(hù)和安全的傳遞。數(shù)字證書(shū)的格式一般采用X.509國(guó)際標(biāo)準(zhǔn),它是目前應(yīng)用范圍最廣泛的一種證書(shū),X.509證書(shū)實(shí)現(xiàn)了身份的鑒別和識(shí)別(認(rèn)證)、完整性、保密性以及不可否認(rèn)性等安全服務(wù)。Kerberos是MIT為分布式網(wǎng)絡(luò)設(shè)計(jì)的可信第三方認(rèn)證協(xié)議,起著可信仲裁者的作用。Kerberos在分布式網(wǎng)絡(luò)環(huán)境中具有比較強(qiáng)的安全性,能防止攻擊和竊聽(tīng),能提供高可靠性和高效的服務(wù),具有透明性(用戶除了發(fā)送Password外,不會(huì)覺(jué)察出認(rèn)證過(guò)程),可擴(kuò)充性好。它與授權(quán)機(jī)制相結(jié)合。實(shí)現(xiàn)了一次性簽放的機(jī)制,并且簽放的票據(jù)都有一個(gè)有效期,支持雙向的身份認(rèn)證,即服務(wù)器可以通過(guò)身份認(rèn)證確認(rèn)客戶方的身份,而客戶如果需要也可以反向認(rèn)證服務(wù)方的身份,支持分布式網(wǎng)絡(luò)環(huán)境下的認(rèn)證機(jī)制,通過(guò)交換“跨域密鑰”來(lái)實(shí)現(xiàn)。
三、網(wǎng)格認(rèn)證模型的建立與研究
目前認(rèn)證系統(tǒng)模型主要有三種:集中式層次認(rèn)證模型,多CA結(jié)構(gòu)的模型和混合交叉認(rèn)證模型。由于網(wǎng)格計(jì)算環(huán)境因其自身的特點(diǎn),導(dǎo)致大量動(dòng)態(tài)用戶的產(chǎn)生。如果使用集中式CA模型或多CA結(jié)構(gòu)的模型,證書(shū)的管理會(huì)比較復(fù)雜。即便是采用集中式模型的統(tǒng)一管理結(jié)構(gòu),其證書(shū)數(shù)據(jù)量和更新量都是非常龐大的。而采用交叉認(rèn)證模型,在路徑選擇上將會(huì)遇到很大的問(wèn)題,如果數(shù)量眾多的動(dòng)態(tài)用戶在每次接人時(shí)都進(jìn)行一次路徑匹配,其效率之低將是無(wú)法忍受的。據(jù)此,本文提出了一種雙協(xié)議(X.509和Kerberos)混合認(rèn)證模型。
在此模型中,終端用戶證書(shū)的頒發(fā)和管理類似于集中式模型,有一個(gè)獨(dú)立的認(rèn)證中心進(jìn)行頒發(fā),并最終上溯到一個(gè)根認(rèn)證中心,用戶所信任的也就是這個(gè)根認(rèn)證中心,這里稱其為二級(jí)信任域。網(wǎng)格環(huán)境中數(shù)量眾多的二級(jí)信任域按照不同的證書(shū)策略進(jìn)行歸類,組成不同的策略域組合,根據(jù)網(wǎng)格應(yīng)用的特點(diǎn),當(dāng)有新的動(dòng)態(tài)用戶加入時(shí),根據(jù)其申請(qǐng)證書(shū)而獲得的權(quán)限等級(jí)將其劃分到不同的策略域中。由策略服務(wù)器和頂級(jí)的一級(jí)信任域連接。一級(jí)信任域不參與終端用戶和中間層CA的證書(shū)頒發(fā)和管理工作,而只負(fù)責(zé)對(duì)二級(jí)信任域進(jìn)行管理。由于此模型中CA鏈?zhǔn)枪潭ǖ?,系統(tǒng)可以在策略域中將用戶匹配到一個(gè)CA中作為其下層終端并進(jìn)行管理。這樣既避免了交叉認(rèn)證中復(fù)雜的路徑選擇,又具備了集中式認(rèn)證的高可信度、終端用戶對(duì)資料保有量低等優(yōu)點(diǎn)。對(duì)于一級(jí)管理域,因?yàn)橹恍枰芾矶?jí)管理域(即不同策略的CA),所以可以采用Kerberos票據(jù)模式進(jìn)行管理。這樣可以使網(wǎng)格環(huán)境中各個(gè)節(jié)點(diǎn)之間的對(duì)等連接變得安全,從而能更好地保護(hù)網(wǎng)格用戶以及應(yīng)用程序免遭惡意或拙劣代碼的侵害。
(一)混合認(rèn)證模型二級(jí)信任域框架與功能設(shè)計(jì)
二級(jí)信任域模型框架包括web服務(wù)器、CA數(shù)據(jù)庫(kù)以及CA服務(wù)器。此外,為了給策略域中證書(shū)的使用提供更方便的服務(wù),專門(mén)設(shè)計(jì)了一個(gè)在線證書(shū)服務(wù)器系統(tǒng)(Online Certifi-care Server,簡(jiǎn)稱OCS)。
其中,Web服務(wù)器負(fù)責(zé)接收客戶申請(qǐng)信息、檢查用戶信息以及證書(shū)下載、證書(shū)查詢、CRL下載以及證書(shū)認(rèn)證等與終端用戶交互的功能。對(duì)普通用戶提供了統(tǒng)一的服務(wù)平臺(tái)。在線證書(shū)認(rèn)證服務(wù)器OCS為整個(gè)證書(shū)域的用戶提供了方便的證書(shū)認(rèn)證服務(wù),簡(jiǎn)化了證書(shū)的使用。它提供了三種證書(shū)認(rèn)證方式。即本地認(rèn)證、實(shí)時(shí)在線認(rèn)證和非實(shí)時(shí)在線認(rèn)證,滿足了不同用戶的認(rèn)證要求。OCS數(shù)據(jù)庫(kù)和CA數(shù)據(jù)庫(kù)共同構(gòu)成認(rèn)證支持?jǐn)?shù)據(jù)庫(kù)。CA服務(wù)器是整個(gè)系統(tǒng)中最重要的部分,它完成證書(shū)的簽發(fā)以及其他所有的設(shè)計(jì)證書(shū)管理的功能。CA數(shù)據(jù)庫(kù)是整個(gè)系統(tǒng)中數(shù)據(jù)存儲(chǔ)和交互的核心部分。
(二)CA sub-system主要功能設(shè)計(jì)
用戶通過(guò)Web服務(wù)器提交信息后,用戶服務(wù)器檢查用戶提交的信息合法后,會(huì)將數(shù)據(jù)提交到CA數(shù)據(jù)庫(kù)等待CA服務(wù)器的簽發(fā)。CA服務(wù)器定期檢查(或人工檢查)CA數(shù)據(jù)庫(kù)中是否有新的用戶請(qǐng)求。如果有,CA服務(wù)器則執(zhí)行簽發(fā)證書(shū)的一系列檢查和操作,直至完成最后證書(shū)簽發(fā),然后將證書(shū)、相關(guān)的私鑰以及其他用戶信息保存在CA服務(wù)器中。用戶通過(guò)Web服務(wù)器查詢到用戶證書(shū)已經(jīng)簽發(fā)后,就可以通過(guò)Web服務(wù)器在線下載證書(shū)。當(dāng)然,如果為了安全需要,可以選擇IC卡或者USB Key等其他物理方式保存證書(shū)和保證私鑰發(fā)放的安全性。認(rèn)證中心CA作為可信的第三方權(quán)威機(jī)構(gòu),按照一定的安全策略為實(shí)體(下層CA或者終端用戶)簽發(fā)實(shí)體證書(shū)、CRL證書(shū),對(duì)實(shí)體的證書(shū)進(jìn)行公證。其功能和服務(wù)主要包括以下方面:
(1)證書(shū)申請(qǐng)和證書(shū)審核服務(wù);(2)各種證書(shū)管理服務(wù);(3)CRL服務(wù);(4)密鑰管理服務(wù);(5)系統(tǒng)審核服務(wù);(6)客戶端模塊設(shè)計(jì)和通用接口設(shè)計(jì)。
CA系統(tǒng)按照功能可分為以下幾個(gè)模塊:系統(tǒng)配置模塊、證書(shū)管理模塊、證書(shū)和CRL發(fā)布模塊、輸入/輸出模塊以及在線證書(shū)查詢模塊等。
證書(shū)管理模塊是整個(gè)CA認(rèn)證系統(tǒng)結(jié)構(gòu)中的核心模塊,它完成了幾乎所有的證書(shū)管理工作。所有的證書(shū)請(qǐng)求、證書(shū)和證書(shū)注銷列表均保存在系統(tǒng)內(nèi)部數(shù)據(jù)庫(kù)中,同時(shí)可以通過(guò)發(fā)布模塊將證書(shū)和CRL發(fā)布到其他證書(shū)庫(kù)中。
四、總結(jié)
網(wǎng)格作為一種全新的技術(shù),有著廣泛的前景和發(fā)展空間。作為網(wǎng)絡(luò)安全的第一道防線,某種程度上也是最重要的一道防線,認(rèn)證技術(shù)受到普遍關(guān)注。由于現(xiàn)有的認(rèn)證模型都存在這樣或那樣的問(wèn)題,不適用于網(wǎng)格計(jì)算環(huán)境,而本文提出的一種基于X.509和Kerberos雙協(xié)議的混合認(rèn)證模型,能有效的克服現(xiàn)有模型的不足。
(責(zé)任編輯張一寧)