(精品論文)結(jié)合公鑰認(rèn)證方案的KERBEROS研究(論文)_第1頁(yè)
(精品論文)結(jié)合公鑰認(rèn)證方案的KERBEROS研究(論文)_第2頁(yè)
(精品論文)結(jié)合公鑰認(rèn)證方案的KERBEROS研究(論文)_第3頁(yè)
(精品論文)結(jié)合公鑰認(rèn)證方案的KERBEROS研究(論文)_第4頁(yè)
(精品論文)結(jié)合公鑰認(rèn)證方案的KERBEROS研究(論文)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

網(wǎng)絡(luò)安全技術(shù)課程論文結(jié)合公鑰認(rèn)證方案的Kerberos研究摘 要:身份認(rèn)證是網(wǎng)絡(luò)通信雙方在通信時(shí)驗(yàn)證對(duì)方身份的技術(shù)。 Kerberos是基于可信第三方KDC使用對(duì)稱密鑰加密算法的認(rèn)證協(xié)議。本文在對(duì)多種身份認(rèn)證方法研究基礎(chǔ)上,闡述了Kerberos的原理,并分析其安全性和缺陷,提出利用Kerberos公鑰擴(kuò)展方式來(lái)改善Kerberos系統(tǒng)。關(guān)鍵詞:身份認(rèn)證; Kerberos;公鑰證書(shū);PKINIT協(xié)議第一章 身份認(rèn)證的研究與應(yīng)用1.1身份認(rèn)證概述身份認(rèn)證的本質(zhì)是被認(rèn)證方有一些信息,如秘密的信息、個(gè)人持有的特殊硬件、個(gè)人特有的生物學(xué)信息,除被認(rèn)證方自己外,該信息不能被任何第三方偽造。如果被認(rèn)證方能采用某些方法,使認(rèn)證方相信他確實(shí)擁有那些秘密,則他的身份就得到了認(rèn)證。1.2身份認(rèn)證方法的分類根據(jù)被認(rèn)證方賴以證明身份的秘密的不同,身份認(rèn)證方法可以分為三大類:基于秘密信息的身份認(rèn)證技術(shù),基于信物的身份認(rèn)證技術(shù)和基于生物特征的身份認(rèn)證技術(shù)。大致來(lái)講,有以下幾種身份認(rèn)證形式:(1)根據(jù)用戶所知道的某個(gè)信息,如口令、密碼;(2)根據(jù)用戶所擁有的某個(gè)東西,用戶必須持有的合法的物理介質(zhì),如智能卡、身份證、密鑰盤(pán);(3)根據(jù)用戶所具有的某種生物特征,如指紋、聲音、視網(wǎng)膜掃描等。l 基于口令的認(rèn)證方式 基于口令的認(rèn)證方式是較常用的一種技術(shù)。認(rèn)證方收到口令后,將其與系統(tǒng)中存儲(chǔ)的用戶口令進(jìn)行比較,以確認(rèn)對(duì)象是否為合法訪問(wèn)者。其優(yōu)點(diǎn)在于簡(jiǎn)單易行,一般的系統(tǒng),如Windows,Unix,Netware均提供對(duì)口令認(rèn)證的支持。 但這種方式存在嚴(yán)重的安全問(wèn)題。它是一種單因素的認(rèn)證,安全性僅依賴于口令,口令一旦泄漏,用戶即可被冒充。也存在口令在傳輸過(guò)程中被截獲的安全隱患。2 基于信物(智能卡)的認(rèn)證方式 智能卡具有硬件加密功能,有較高的安全性。每個(gè)用戶持有一張智能卡,智能卡存儲(chǔ)用戶個(gè)性化的秘密信息,同時(shí)在驗(yàn)證服務(wù)器中也存放該秘密信息。 但其缺陷在于智能卡也可能會(huì)丟失、被復(fù)制,在這種情況下,系統(tǒng)的安全性也無(wú)從保障。3 基于生物特征的認(rèn)證方式 這種認(rèn)證方式以人體惟一的、可靠的、穩(wěn)定的生物特征,如指紋、虹膜、掌紋等為依據(jù),利用計(jì)算機(jī)的強(qiáng)大功能進(jìn)行圖像處理和模式識(shí)別。該技術(shù)具有很好的安全性、可靠性和有效性,與傳統(tǒng)的身份確認(rèn)手段相比,無(wú)疑產(chǎn)生了質(zhì)的飛躍。但這種方案一般造價(jià)較高,適用于保密程度很高的場(chǎng)合。 1.3身份認(rèn)證技術(shù)如何有效的將各種身份認(rèn)證技術(shù)有機(jī)的結(jié)合起來(lái),設(shè)計(jì)和開(kāi)發(fā)出更安全、便捷的身份認(rèn)證系統(tǒng),顯得至關(guān)重要。 目前主要有以下幾種身份認(rèn)證技術(shù)。1.3.1 PAP認(rèn)證(Password Authentification Protocol)PAP認(rèn)證1是最基本的安全認(rèn)證協(xié)議,主要是口令核對(duì),用戶輸入用戶名、密碼的驗(yàn)證過(guò)程。用戶與服務(wù)器建立連接后,服務(wù)器根據(jù)用戶輸入的信息判定是否通過(guò)認(rèn)證。密碼以明文方式傳輸。1.3.2 CHAP認(rèn)證(Challenge Handshake Authentification Protocol) CHAP認(rèn)證2是一種被廣泛接受的工業(yè)標(biāo)準(zhǔn),通過(guò)三次握手方式周期性的對(duì)被認(rèn)證方的身份進(jìn)行認(rèn)證。其認(rèn)證過(guò)程是,首先在通信雙方鏈路建立階段完成后,驗(yàn)證方向客戶發(fā)送一個(gè)請(qǐng)求字符串,由標(biāo)識(shí)符ID,隨機(jī)數(shù)據(jù),本地主機(jī)名或用戶名組成;然后,客戶方以請(qǐng)求的MDS哈希值作為響應(yīng);最后認(rèn)證方對(duì)發(fā)回的值進(jìn)行校驗(yàn),接受認(rèn)證,并返回成功與否的信息。在雙方通信過(guò)程中系統(tǒng)將以隨機(jī)的時(shí)間間隔重復(fù)上述三步認(rèn)證過(guò)程。 在CHAP協(xié)議的實(shí)際使用過(guò)程中,用戶為了便于記憶,往往使用容易記憶的口令,這樣的口令不能有效地抵抗攻擊者的字典攻擊;而在服務(wù)器端,用戶的口令是以明文方式存放,如果攻擊者攻破服務(wù)器,那么就能輕而易舉取得用戶的口令。這些都是CHAP協(xié)議使用過(guò)程中的巨大隱患。1.3.3 一次性口令認(rèn)證 一次性口令認(rèn)證3在登錄過(guò)程中加入不確定的因素,使每次登錄過(guò)程中傳送的信息都不相同,以提高登錄過(guò)程安全性。 但是一次性口令認(rèn)證只能防止在初次登錄到站點(diǎn)時(shí)的重放攻擊。認(rèn)證結(jié)束之后,如果再登錄網(wǎng)內(nèi)的其他機(jī)器時(shí),口令將以明文方式傳輸,此時(shí)口令的安全性就取決于企業(yè)內(nèi)部網(wǎng)的安全性了。并且還存在小數(shù)攻擊的問(wèn)題。1.3.4 基于挑戰(zhàn)/應(yīng)答(Challenge/Response)方式的身份認(rèn)證機(jī)制 每次認(rèn)證時(shí)認(rèn)證服務(wù)器都給客戶端發(fā)送一個(gè)不同的“挑戰(zhàn)”字串,客戶端收到后做出相應(yīng)的應(yīng)答。RADIUS(Remote Authentication Dial-In User Service)認(rèn)證4就是采用這種方式,是目前撥號(hào)業(yè)務(wù)中較為成熟的一種遠(yuǎn)程認(rèn)證技術(shù)。 RADIUS認(rèn)證系統(tǒng)采用基于UDP協(xié)議的客戶機(jī)/服務(wù)器模式來(lái)認(rèn)證和管理遠(yuǎn)程用戶的連接和會(huì)話,是一種集“認(rèn)證、授權(quán)、審計(jì)”(AAA技術(shù))于一體的集中式管理方法。Radius系統(tǒng)只加密用戶口令,用戶其他信息以明文方式發(fā)送。1.3.5 Kerberos認(rèn)證 Kerberos5是基于可信賴第三方認(rèn)證協(xié)議,是較為成熟的身份認(rèn)證機(jī)制。它利用隨機(jī)產(chǎn)生的票據(jù)來(lái)獲取會(huì)話密鑰,避免了用戶口令在網(wǎng)絡(luò)上的傳播,將認(rèn)證從不安全的工作站轉(zhuǎn)移到集中的認(rèn)證服務(wù)器上,為開(kāi)放網(wǎng)絡(luò)環(huán)境中的兩個(gè)主體提供身份認(rèn)證,并通過(guò)會(huì)話密鑰對(duì)通信進(jìn)行加密。 Kerberos協(xié)議是當(dāng)今重要的身份認(rèn)證協(xié)議,優(yōu)點(diǎn)很明顯,但從其密鑰分配和認(rèn)證過(guò)程來(lái)看,還存在以下不足之處:使用對(duì)稱算法DES(Data Encryption Standard,數(shù)據(jù)加密標(biāo)準(zhǔn))作為協(xié)議的基礎(chǔ),這就帶來(lái)了密鑰交換、密鑰存儲(chǔ)、以及密鑰管理的困難,N個(gè)用戶想同時(shí)通信,就需要N*(N-1)/2個(gè)密鑰;沒(méi)有提供有效抵御口令猜測(cè)攻擊的手段,同時(shí)還存在時(shí)鐘同步問(wèn)題。1.3.6 X.509基于X.509證書(shū)6的認(rèn)證技術(shù)類似于Kerberos技術(shù),它也依賴于共同依賴的第三方來(lái)實(shí)現(xiàn)認(rèn)證,這里可依賴的第三方是指CA(Certificate Authority)的認(rèn)證機(jī)構(gòu)。該認(rèn)證機(jī)構(gòu)負(fù)責(zé)認(rèn)證用戶的身份并向用戶簽發(fā)數(shù)字證書(shū)。數(shù)字證書(shū)遵循X.509標(biāo)準(zhǔn)所規(guī)定的格式,因此稱為X.509證書(shū)。持有此證書(shū)的用戶就可以憑此證書(shū)訪問(wèn)那些信任CA的服務(wù)器?;赬.509證書(shū)的認(rèn)證實(shí)際上是將個(gè)體之間的信任轉(zhuǎn)化為個(gè)體對(duì)組織機(jī)構(gòu)的信任,因此這種認(rèn)證系統(tǒng)需要有CA的支持。目前,使用最多的認(rèn)證方式還是最簡(jiǎn)單的口令形式,類似于系統(tǒng)登錄過(guò)程中輸入用戶名/口令的基本認(rèn)證方式系統(tǒng)事先保存每個(gè)用戶的二元組信息,進(jìn)入系統(tǒng)時(shí)用戶輸入其對(duì)應(yīng)的用戶名和密碼,系統(tǒng)根據(jù)保存的用戶信息與用戶輸入的信息相比較,從而判斷用戶身份的合法性。其安全性僅基于用戶口令的保密性,不能有效的抵御口令猜測(cè)攻擊;并且用戶名和口令都是以明文方式在網(wǎng)絡(luò)中傳輸,極易遭受重放攻擊(Replay Attack)。攻擊者通過(guò)監(jiān)聽(tīng)網(wǎng)絡(luò)連接來(lái)獲得合法用戶的登錄名和口令等認(rèn)證信息,隨后利用這個(gè)獲得的登錄用戶名和口令對(duì)系統(tǒng)進(jìn)行非法訪問(wèn)。1.4 身份認(rèn)證技術(shù)的評(píng)價(jià)身份認(rèn)證在一個(gè)安全系統(tǒng)中起著至關(guān)重要的作用,因此認(rèn)證技術(shù)決定了系統(tǒng)安全程度。如何評(píng)價(jià)某一認(rèn)證技術(shù),可以遵循以下幾個(gè)標(biāo)準(zhǔn)7:(l)可行性(2)認(rèn)證強(qiáng)度(3)認(rèn)證粒度(4)認(rèn)證數(shù)據(jù)正確。在深入比較和分析各種認(rèn)證方法的基礎(chǔ)上, Kerberos協(xié)議是身份認(rèn)證領(lǐng)域中較為成熟的應(yīng)用協(xié)議,具有如下的一些優(yōu)點(diǎn):它是基于可信賴的第三方的認(rèn)證方式,適合于開(kāi)放式的復(fù)雜網(wǎng)絡(luò)環(huán)境;認(rèn)證過(guò)程設(shè)計(jì)合理,安全性高;采用集中的用戶帳號(hào)管理,減少了系統(tǒng)維護(hù)的負(fù)擔(dān);采用雙向認(rèn)證機(jī)制等等。第一章 Kerberos協(xié)議分析2.1 Kerberos概述Kerberos是MIT在80年代中期為其Athena8計(jì)劃開(kāi)發(fā)的一種基于KDC概念和Needham-schroeder方法的分布式認(rèn)證服務(wù)系統(tǒng),它可以在不安全的網(wǎng)絡(luò)環(huán)境中為用戶對(duì)遠(yuǎn)程服務(wù)器的訪問(wèn)提供自動(dòng)的鑒別,數(shù)據(jù)安全性和完整性服務(wù),以及密鑰管理服務(wù)。Kerberos的設(shè)計(jì)是針對(duì)以下要求實(shí)現(xiàn)的:(l) 安全性:網(wǎng)絡(luò)中的竊聽(tīng)者不能獲得必要的信息來(lái)假冒網(wǎng)絡(luò)的用戶(2) 可靠性: Kerberos應(yīng)該具有高度的可靠性,并采用一個(gè)系統(tǒng)支持另一個(gè)系統(tǒng)的分布式服務(wù)結(jié)構(gòu)(3) 透明性:用戶除了被要求輸入密碼外,不會(huì)覺(jué)察出認(rèn)證的進(jìn)行過(guò)程(4) 可擴(kuò)充性: 系統(tǒng)應(yīng)能夠支持更多的用戶和服務(wù)器,具有較好的伸縮性Kerberos的設(shè)計(jì)目的分為三個(gè)領(lǐng)域:認(rèn)證、授權(quán)、記賬,可用作建造安全網(wǎng)絡(luò)的一個(gè)成分,它提供了可用于安全網(wǎng)絡(luò)環(huán)境的認(rèn)證機(jī)制和加密工具9。2.2 Kerberos協(xié)議原理Kerberos系統(tǒng)要求用戶使用其用戶名和口令作為自己的標(biāo)識(shí),而客戶與服務(wù)器之間的交互則使用由對(duì)應(yīng)的用戶名和口令所生成的會(huì)話密鑰。每個(gè)用戶都與KDC共享一個(gè)從自己口令中導(dǎo)出的密鑰,稱為主密鑰。當(dāng)用戶A登錄進(jìn)本地系統(tǒng)的時(shí)候,便從KDC獲取一個(gè)訪問(wèn)KDC所需的會(huì)話密鑰Sa和一個(gè)TGT(Ticket Granting Ticket),因此KDC又稱為T(mén)GS(Ticket Granting Server)。當(dāng)A要訪問(wèn)B時(shí),便憑借所獲得的TGT向KDC申請(qǐng)一個(gè)臨時(shí)的會(huì)話密鑰Kab,客戶使用這個(gè)會(huì)話密鑰與對(duì)應(yīng)的服務(wù)器交互。KDC自己擁有主密鑰,用于在自己頒發(fā)的各種通知單中放置一塊鑒別信息,以防止對(duì)通知單的偽造。在討論協(xié)議之前我們需要定義一些符號(hào)和概念。c:客戶機(jī) S:服務(wù)器a:客戶的網(wǎng)絡(luò)地址 v:票據(jù)的有效時(shí)間t:時(shí)間標(biāo)記 DC:密鑰分發(fā)中心 S:票據(jù)分發(fā)服務(wù)器 AS:認(rèn)證服務(wù)器Kx: X與KDC的共享密鑰 Kx,y: X與Y的會(huì)話密鑰Tx,y: X使用Y時(shí)的憑據(jù) Ax,y: 從X到Y(jié)的鑒別碼mKx: 用X的秘密密鑰加密的m在Kerberos V系統(tǒng)中,整個(gè)認(rèn)證過(guò)程模型如圖2-1:在Kerberos認(rèn)證模型中使用了兩種數(shù)據(jù)結(jié)構(gòu)作為包含有信任信息的信任狀,分別是票據(jù)Tc,s和認(rèn)證標(biāo)記Ac,s。它們都是基于對(duì)稱密鑰加密的,但是被不同的密鑰加密。票據(jù)被用來(lái)在身份認(rèn)證服務(wù)器和應(yīng)用服務(wù)器之間安全的傳遞票據(jù)使用者的身份。在圖2-1中Kerberous:基本認(rèn)證過(guò)程可以分三段個(gè)階段,分別由三組消息交換來(lái)完成。2.2.1票據(jù)允許票據(jù)的獲得客戶方和AS之間的消息交換和稱為初始票據(jù)交換,這一階段完成的是客戶方向KDC請(qǐng)求與TGS通信時(shí)使用的票據(jù)以及會(huì)話密鑰的過(guò)程,在RFC1510中被稱為認(rèn)證服務(wù)交換。用戶進(jìn)行網(wǎng)絡(luò)登錄時(shí),需要輸入用戶名和口令,客戶方通過(guò)發(fā)出消息KRB_AS_REQ向AS申請(qǐng)TGT,AS以消息KRB_AS_REQ作為響應(yīng)。KRB_AS_REQ中主要包含有客戶方名字,服務(wù)器名字和一個(gè)Nonce,這里的服務(wù)器是特殊的服務(wù)器(票據(jù)發(fā)放服務(wù)器TGS)。AS收到請(qǐng)求后判斷請(qǐng)求的客戶方確實(shí)存在,然后隨機(jī)生成一個(gè)加密密鑰Kc,tgs作為下一階段客戶方與TGS通信時(shí)使用的會(huì)話密鑰,構(gòu)造一個(gè)特殊的票據(jù)TGT。TGT中列出了客戶方,會(huì)話密鑰,以及開(kāi)始和時(shí)效時(shí)間等信息,用TGS的秘密密鑰進(jìn)行加密。AS將新的會(huì)話密鑰和Nonce用客戶方的密鑰Kc加密,完成一個(gè)簡(jiǎn)單的挑戰(zhàn)/響應(yīng)過(guò)程以保證消息的新鮮性,再將這些消息與TGT一起構(gòu)成KRB_AS_REQ作為消息2送回給客戶方??蛻舴接?jì)算機(jī)利用用戶輸入的口令變換出K。就能獲得會(huì)話密鑰Kc,tgs,并且從Nonce可以驗(yàn)證該消息是新鮮的,確信獲得的TGT是剛從AS最新生成的。2.2.2服務(wù)器票據(jù)的獲得消息3和4構(gòu)成了服務(wù)器票據(jù)交換過(guò)程,使客戶方向TGS請(qǐng)求與最終應(yīng)用服務(wù)器進(jìn)行通信所需要的票據(jù)和會(huì)話密鑰的過(guò)程。票據(jù)發(fā)放服務(wù)交換是在客戶方與TGS之間進(jìn)行的消息交換,當(dāng)客戶方需要與某個(gè)特定的服務(wù)器進(jìn)行通信時(shí)需要向TGS申請(qǐng)?jiān)L問(wèn)該服務(wù)所需要的票據(jù)。對(duì)已有的票據(jù)進(jìn)行更新,確認(rèn)等也可以利用這一交換。TGS交換的消息的格式與AS交換的消息的格式相類似,但是有一個(gè)顯著的區(qū)別在于這里使用的加密解密密鑰是會(huì)話密鑰而不是客戶方的共享密鑰。TGS交換由KRB_TG_REQ和KRB_TG_REP兩個(gè)消息組成在KRB_TG_REQ中包含有客戶方訪問(wèn)TGS的TGT,需要訪問(wèn)的服務(wù)器名字,保證消息新鮮性的Nonce以及一個(gè)身份認(rèn)證者(就是用會(huì)話密鑰簽名的客戶方信息),這是為了保證這些數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被篡改。TGS用自己的密鑰Ktgs驗(yàn)證了TGT后獲得會(huì)話密鑰和客戶方要訪問(wèn)的應(yīng)用服務(wù)器名稱,從數(shù)據(jù)庫(kù)中獲得應(yīng)用服務(wù)器的密鑰K:后隨機(jī)生成客戶方與應(yīng)用服務(wù)器之間通信用的會(huì)話密鑰和票據(jù)。TGS將客戶與服務(wù)器之間使用的新的會(huì)話密鑰和Nonce用它從客戶方發(fā)過(guò)來(lái)的TGT中獲得的會(huì)話密鑰Kc,tgs加密后與新的服務(wù)器票據(jù)一起構(gòu)成響應(yīng)消息KRB_TGS_REP傳回給客戶方,完成TGS交換。2.2.3應(yīng)用服務(wù)請(qǐng)求經(jīng)過(guò)AS交換和TGS交換后,客戶方獲得了與服務(wù)器方進(jìn)行通信所需要的票據(jù)和會(huì)話密鑰。下面只要通過(guò)客戶/服務(wù)器認(rèn)證交換就可以完成雙方的認(rèn)證過(guò)程??蛻?服務(wù)器認(rèn)證交互是由KRB_TG_REQ和KRB_AP_REP兩個(gè)消息組成的,其中后一個(gè)消息只是在需要雙向認(rèn)證,服務(wù)器向客戶證實(shí)自己的身份時(shí)才使用的,對(duì)應(yīng)于圖2-1中的消息5和6。KRB_AP_REQ的結(jié)構(gòu)很簡(jiǎn)單,包含有認(rèn)證者信息和提交給服務(wù)器的票據(jù)。票據(jù)本身己經(jīng)完全能夠證明客戶方的身份,認(rèn)證者標(biāo)記這是防止票據(jù)被篡改。服務(wù)器通過(guò)解密KRB_AP_REQ中的認(rèn)證者標(biāo)記獲得客戶方的時(shí)間標(biāo)記或者是序列號(hào),將這些信息用會(huì)話密鑰加密后就構(gòu)成了消息KRB_AP_REP??蛻舴奖A粲凶罱舾煞昼妰?nèi)所有接收到的時(shí)間標(biāo)記或者序列號(hào)的最大值,來(lái)防止重放攻擊。第三章 Kerberos協(xié)議安全分析和改進(jìn)措施3.1 Kerberos協(xié)議安全分析盡管Kerberos的公開(kāi)報(bào)告STEI88聲稱Kerberos具有“高度的安全性、可靠性、透明性和可伸縮性:如果系統(tǒng)自身是安全的,則Kerberos身份驗(yàn)證服務(wù)就是安全的”等優(yōu)點(diǎn),但從第二章的Kerberos系統(tǒng)具體的密鑰分配、認(rèn)證過(guò)程和攻擊的角度來(lái)看,Kerberos的局限性也是比較明顯的10,有以下幾個(gè)方面存在不足之處:1.時(shí)間同步問(wèn)題:整個(gè)Kerberos的協(xié)議都嚴(yán)重地依賴于時(shí)鐘,實(shí)際證明,要求在分布式系統(tǒng)環(huán)境中實(shí)現(xiàn)良好的時(shí)鐘同步,是一個(gè)很難的課題,而且大多數(shù)網(wǎng)絡(luò)的時(shí)間協(xié)議都是不安全的。但這并不是說(shuō)Kerberos沒(méi)有出路可言。如果能夠?qū)崿F(xiàn)一種基于安全機(jī)制的時(shí)間服務(wù),或是研制一種相對(duì)獨(dú)立于計(jì)算機(jī)和網(wǎng)絡(luò)環(huán)境、且基于一種或幾種世界標(biāo)準(zhǔn)時(shí)鐘的,能夠準(zhǔn)確進(jìn)行時(shí)間轉(zhuǎn)化和時(shí)間服務(wù)的聯(lián)機(jī)物理時(shí)鐘,這種問(wèn)題將得到較好的解決。2.口令猜測(cè)問(wèn)題:Kerberos的口令沒(méi)有進(jìn)行額外的特殊處理,攻擊者可以收集大量的許可證,通過(guò)計(jì)算和密鑰分析進(jìn)行口令猜測(cè)。攻擊者使用強(qiáng)力攻擊(即窮舉法)的時(shí)間復(fù)雜度僅和用戶口令的長(zhǎng)度成比例。若是增加密鑰長(zhǎng)度換取更高的安全,會(huì)造成用戶的使用困難和增加系統(tǒng)加/解密開(kāi)銷。3.認(rèn)證域之間的信任問(wèn)題:認(rèn)證域之間的多級(jí)跳躍過(guò)程復(fù)雜且不明確,相互信任和協(xié)調(diào)不方便。若各Kerberos區(qū)域形成復(fù)雜或不規(guī)則的網(wǎng)狀結(jié)構(gòu),則要求方便的域間服務(wù),將付出極大的代價(jià),即系統(tǒng)的可擴(kuò)充性不強(qiáng)。針對(duì)這種無(wú)序的狀況,應(yīng)有規(guī)劃有目的地建立起全球一體化的分層(樹(shù)狀)結(jié)構(gòu),形成良好的信任鏈條。4.密鑰的存儲(chǔ)問(wèn)題:Kerberos認(rèn)證中心要求保存大量的共享私鑰,隨網(wǎng)絡(luò)用戶數(shù)量的增加,密鑰管理與分配較復(fù)雜,需要特別細(xì)致的安全保護(hù)措施(甚至應(yīng)采用硬件/物理方法),將付出極大的系統(tǒng)代價(jià)。5.系統(tǒng)程序的安全性、完整性問(wèn)題:對(duì)Kerberos系統(tǒng)程序進(jìn)行攻擊,特別是惡意篡改登錄程序,是有效的攻擊方法。所以,必須花一定的系統(tǒng)代價(jià)去防范對(duì)認(rèn)證系統(tǒng)本身的集中攻擊。其中,建立高性能的防火墻和進(jìn)行日志是必要的。對(duì)于以上Kerberos協(xié)議中的不足之處,加強(qiáng)工作可以引用執(zhí)行公開(kāi)密鑰算法和密鑰管理中使用的智能卡11l接口。3.2 Kerberos結(jié)合公鑰認(rèn)證方案的研究Kerberos在最初設(shè)計(jì)的時(shí)候沒(méi)有采用公鑰體系,這是因?yàn)楫?dāng)時(shí)應(yīng)用公鑰體系的某些條件還不成熟。例如公鑰算法的復(fù)雜程度比較高,需要占用一定的CPU資源,當(dāng)初的一些計(jì)算機(jī)在性能上還不能滿足高效的應(yīng)用公鑰算法的要求;另外公鑰基礎(chǔ)設(shè)施也尚不完備,與之配套的全球目錄服務(wù)系統(tǒng),證書(shū)和密鑰的管理等方面的標(biāo)準(zhǔn)也不成熟。但是隨著時(shí)間的推移和技術(shù)的發(fā)展,從安全技術(shù)的角度上來(lái)說(shuō),采用公鑰系統(tǒng)也能夠彌補(bǔ)對(duì)稱密鑰系統(tǒng)的一些難解決的問(wèn)題,特別是在Internet環(huán)境中公鑰系統(tǒng)比對(duì)稱密鑰系統(tǒng)有著明顯的優(yōu)勢(shì)。但是公鑰體系并不能消除對(duì)于其他安全和身份認(rèn)證服務(wù)的需要,也不會(huì)取代傳統(tǒng)基于KDC的身份認(rèn)證系統(tǒng),特別是像Kerberos系統(tǒng)。公鑰基礎(chǔ)設(shè)施PKI和Kerberos都是提供身份認(rèn)證和授權(quán)服務(wù)的,但是它們各有特點(diǎn)和適用的范圍。PKI適合在事先無(wú)法確定用戶的場(chǎng)合下,例如在Internet中用戶隨時(shí)可能產(chǎn)并且也無(wú)法確定用戶的具體情況,因此在電子郵件安全,電子商務(wù)事務(wù)等上邊的應(yīng)用非常的適合。Kerberos適用于用戶和應(yīng)用事先都已經(jīng)知道的的Intranet的環(huán)境,而PKl適合于Intranet和Extranet的網(wǎng)絡(luò)環(huán)境。因此PKI和Kerberos經(jīng)常同時(shí)出現(xiàn),使用Kerberos向網(wǎng)絡(luò)認(rèn)證了用戶,然后獲得用于數(shù)字簽名等功能的公鑰證書(shū)或者私鑰數(shù)據(jù)。經(jīng)常同時(shí)出現(xiàn),使用Kerberos向網(wǎng)絡(luò)認(rèn)證了用戶,然后獲得用于數(shù)字簽名等功能的公鑰證書(shū)或者私鑰數(shù)據(jù)。隨著公鑰系統(tǒng)的不斷發(fā)展和基礎(chǔ)設(shè)施的改進(jìn),人們提出了很多的Kerberos公鑰擴(kuò)展方案,這些方案提供Kerberos與公鑰系統(tǒng)的互操作性并且改善Kerberos系統(tǒng)的性能,其中包括領(lǐng)域間采用公鑰認(rèn)證方式,利用公鑰進(jìn)行預(yù)認(rèn)證方式等。IETF的通用認(rèn)證技術(shù)工作組提出了若干方案,如利用公鑰進(jìn)行預(yù)認(rèn)證PKINIT12,利用公鑰跨區(qū)域認(rèn)證PKCROSS,基于公鑰的Kerberos協(xié)議PKCROSS13等。提供了Kerberos與公鑰系統(tǒng)的結(jié)合并且改善了Kerberos系統(tǒng)性能。3.2 PKINIT協(xié)議所有版本的Kerberos都在尋找在通信雙方建立安全同時(shí)維護(hù)數(shù)據(jù)的保密性和完整性同時(shí)發(fā)現(xiàn)假冒者和重放的攻擊。在Kerberos的早期版本,集中化的密鑰分發(fā)中心通過(guò)對(duì)稱密鑰加密來(lái)認(rèn)證用戶,然后給這個(gè)用戶一個(gè)共享密鑰來(lái)與服務(wù)器進(jìn)行后續(xù)的通信。這會(huì)潛在引起KDC成為整個(gè)系統(tǒng)的瓶頸同時(shí)單個(gè)登陸點(diǎn)的失敗會(huì)引起整個(gè)系統(tǒng)的崩潰。另外在Kerberos基本協(xié)議中每一次客戶向AS要求票據(jù)允許票據(jù)時(shí),票據(jù)允許票據(jù)總是由一個(gè)長(zhǎng)期的客戶方與AS共享的密鑰加密,這個(gè)密鑰是由用戶口令經(jīng)過(guò)計(jì)算產(chǎn)生的。但是由于用戶趨向于選擇的低質(zhì)量容易記憶的口令,所以共享密鑰容易遭受到字典猜測(cè)攻擊,成了整個(gè)Kerberos系統(tǒng)的安全弱點(diǎn)。PKINIT協(xié)議試圖利用引入基于X.509的公鑰證書(shū)來(lái)克服這個(gè)弱點(diǎn)。在初始認(rèn)證階段AS_REQ和AS_REP消息中使用公鑰機(jī)制,后續(xù)的消息操作繼續(xù)使用原來(lái)的Kerberos的協(xié)議。PKINIT協(xié)議消息交互過(guò)程如下:PKINIT利用Kerberos版本5中的PA(Pre-authentication)域。用戶同往常一樣向KDC發(fā)出認(rèn)證請(qǐng)求,所不同的是用戶在初始認(rèn)證步驟中使用公鑰體系,他的證書(shū)初始認(rèn)證的PA域中。KDC接收到認(rèn)證請(qǐng)求后,驗(yàn)證用戶的公鑰證書(shū)與往常一樣簽發(fā)TGT,但是不是使用用戶的長(zhǎng)期的密鑰進(jìn)行加密,而是使用隨機(jī)生成的密鑰。該隨機(jī)密鑰用用戶證書(shū)中的公鑰進(jìn)行加密并且用KDC的私鑰進(jìn)行簽名,出現(xiàn)在響應(yīng)信息的PA域。AS_REQ *這個(gè)消息定義公鑰數(shù)據(jù)的傳輸PA_PK_AS_REQ,客戶端發(fā)送公鑰證書(shū)和證書(shū)鏈(用戶證書(shū)user Cert)在用戶和KDC之間建立信任,以及傳播用戶的公鑰。公鑰可以由證書(shū)權(quán)威簽發(fā),如果KDC是受信任的權(quán)威也可以由KDC來(lái)維護(hù)公鑰。初始認(rèn)證的PA域中包含的數(shù)據(jù)內(nèi)容有:PA_PK_AS_REQ=signedAuthPack,trustedCertificates,kdcCert,encryptionCertSignedAuthPack是客戶端用私鑰簽名的認(rèn)證數(shù)據(jù)結(jié)構(gòu)。這個(gè)數(shù)據(jù)結(jié)構(gòu)由AuthPack數(shù)據(jù)以及用戶用私鑰對(duì)其的簽名信息(signerInfos)構(gòu)成。而AuthPack由隨機(jī)數(shù),客戶方時(shí)間,校驗(yàn)和等內(nèi)容組成,以防止重放攻擊。trustedCertifiers是客戶端信任的CA列表。kdcCert指明了客戶端己經(jīng)擁用的KDC證書(shū)。encryptionCert主要用于客戶端的Diffie-Hellman證書(shū)。整個(gè)信息包含在Kerberos預(yù)認(rèn)證字段為支持協(xié)議擴(kuò)展而定義的。AS_REP*這個(gè)消息定義了KDC向客戶端返回的消息PA_PK_AS_REP。KDC通過(guò)驗(yàn)證SignedAuthPack的數(shù)字簽名來(lái)證實(shí)用戶的身份。通過(guò)驗(yàn)證之后,KDC返回給用戶一個(gè)用用戶公鑰加密KDC的公鑰的證書(shū)鏈(kdcCert),KDC的數(shù)字簽名(SignedReplyKeyPack)和會(huì)話密鑰(encTmpKeyPack)的消息。KDC加密的票據(jù)允許票據(jù)響應(yīng)消息不是用與用戶長(zhǎng)期共享的密鑰,而是產(chǎn)生一個(gè)隨機(jī)密鑰來(lái)加密響應(yīng)消息,然后對(duì)隨機(jī)密鑰使用用戶公鑰加密和KDC的私鑰簽名。客戶端驗(yàn)證數(shù)字簽名可以確定KDC的身份和獲取TGT。用戶從AS_REP*消息中獲取的TGT和基本Kerberos沒(méi)有區(qū)別,所以后面消息交互3,4,5使用傳統(tǒng)的Kerberos的消息處理。從上述的消息交互分析過(guò)程中可以看出,與Kerberos基本認(rèn)證協(xié)議相比PKINIT只對(duì)前兩條認(rèn)證消息中用PA數(shù)據(jù)類型進(jìn)行公鑰信息交換,實(shí)現(xiàn)上對(duì)Kerberos改動(dòng)很少。3.3現(xiàn)有方法的不足之處PKINIT的主要目的是為Kerberos提供公鑰初始認(rèn)證的解決方案。采用公開(kāi)密鑰證書(shū),一個(gè)客戶方可以向KDC證明自己的身份并且獲得TGT,TGT能使客戶方獲得對(duì)Kerberos化服務(wù)的服務(wù)票據(jù)。與Kerberos標(biāo)準(zhǔn)協(xié)議相比在PKINIT中AS_REQ和AS_REP消息都保持了原狀,PKINIT只是在初始消息、交換利用了新的PA數(shù)據(jù)類型來(lái)進(jìn)行公鑰信息交換。由于Kerberos版本4中KDC對(duì)于任何人發(fā)出的認(rèn)證請(qǐng)求都給予響應(yīng),有人指出應(yīng)該讓請(qǐng)求服務(wù)的一方首先證明自己的身份,因此在Kerberos版本5中加入了PA域。PKINIT協(xié)議就利用了PA域進(jìn)行客戶和服務(wù)器公鑰證書(shū)的交換,證書(shū)的交換、公鑰認(rèn)證和TGT的傳遞在兩個(gè)消息中就能夠完成。以上的Kerberos公鑰結(jié)合方案還是存在一下的不足之處:(l)PKINIT協(xié)議雖然是一個(gè)高效的公鑰結(jié)合機(jī)制,但是PKINIT只描述了標(biāo)準(zhǔn)Kerberos認(rèn)證協(xié)議中使用的消息語(yǔ)法,所有的私鑰和公鑰都由KDC直接管理,沒(méi)有結(jié)合PKI來(lái)管理證書(shū)或者撤消列表。這樣限制了PKINIT的應(yīng)用范圍。(2)在Kerberos基本認(rèn)證過(guò)程6個(gè)消息中有4個(gè)需要KDC參與。Kerberos結(jié)合公鑰密碼后,KDC的用于公鑰密碼的計(jì)算量比原來(lái)對(duì)稱密鑰要增大,當(dāng)用戶認(rèn)證請(qǐng)求增多時(shí),KDC可能成為整個(gè)系統(tǒng)中計(jì)算瓶頸的潛在因素,導(dǎo)致影響整個(gè)系統(tǒng)的性能。小結(jié)本章對(duì)身份認(rèn)證方法和技術(shù)及Kerberos協(xié)議的安全性和缺陷作了分析。Kerberos存在“時(shí)間同步、口令攻擊、沒(méi)有提供用戶對(duì)KBS和TGS的認(rèn)證、不能分別處理認(rèn)證信息與保密信息、密鑰管理工作繁重”等缺點(diǎn)。嚴(yán)重的局限了Kerberos系統(tǒng)在Internet環(huán)境下的應(yīng)用。隨著公鑰基礎(chǔ)設(shè)施的不斷發(fā)展改進(jìn),提出利用公鑰進(jìn)行預(yù)認(rèn)證PKINIT,提供Kerberos與公鑰系統(tǒng)的互操作性并且改善Kerberos系統(tǒng)的性能。參考文獻(xiàn):曹璞. 基于公鑰密碼的Kerberos認(rèn)證協(xié)議研究. 2000. J/OL.許建. 基于Kerberos的身份認(rèn)證機(jī)制研究. 2004. J/OL.1 RFC 1334. PPP Authentication Protocols.2 RFC 1994. PPP Challenge Handshake Authentication Protocols(CHAP).3 RFC 2289. A One-time Password System.4 C.Rigney,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論