新聞詳情
基于Kerberos協(xié)議網(wǎng)絡(luò)身份認(rèn)證的改進(jìn)方法
來(lái)源:本站 作者:匿名 發(fā)布:2014/4/11 欄目:學(xué)校新聞 點(diǎn)擊:3580
基于Kerberos協(xié)議網(wǎng)絡(luò)身份認(rèn)證的改進(jìn)方法
胡建偉
(河南省南陽(yáng)工業(yè)學(xué)校 河南 南陽(yáng) 473035)
摘 要:分析了Kerberos協(xié)議的原理與機(jī)制,討論了Kerberos協(xié)議的局限性(如口令猜測(cè)問(wèn)題、時(shí)間同步問(wèn)題等),通過(guò)對(duì)這些問(wèn)題的研究,并提供了一個(gè)企業(yè)網(wǎng)的身份認(rèn)證系統(tǒng)的改進(jìn)和實(shí)現(xiàn)方法。
關(guān)鍵詞:計(jì)算機(jī)網(wǎng)絡(luò) 網(wǎng)絡(luò)協(xié)議 安全認(rèn)證 Kerberos協(xié)議
1、問(wèn)題的提出:現(xiàn)有的許多企業(yè)網(wǎng)絡(luò)系統(tǒng)或是單純出于方便用戶(hù)使用,或是沒(méi)有經(jīng)過(guò)認(rèn)真、充分的理論論證,都或多或少地存在這樣或那樣的安全隱患,致使網(wǎng)絡(luò)易被內(nèi)部用戶(hù)非法訪問(wèn)、受外部黑客攻擊和其他不軌行為的侵?jǐn)_,并且惡性攻擊的損失也越來(lái)越大;谶@些原因,ISO公布的基于OSI參考模型上的“信息安全體系結(jié)構(gòu)”(1989年)較完整地定義了五大類(lèi)安全服務(wù)(認(rèn)證+訪問(wèn)控制+保密性+完整性+抗否認(rèn)性),其中的身份認(rèn)證服務(wù)可以說(shuō)是整個(gè)安全系統(tǒng)的重點(diǎn)和難點(diǎn)所在,它不僅有信源識(shí)別的基本作用,而且有驗(yàn)證信息完整性的副作用。建立一個(gè)較理想的身份認(rèn)證系統(tǒng),這一直是人們關(guān)心的熱點(diǎn)。
Kerberos實(shí)現(xiàn)了應(yīng)用服務(wù)器和客戶(hù)之間的雙向的身份認(rèn)證,極大地提高了系統(tǒng)的安全性,而成為當(dāng)今社會(huì)中廣泛應(yīng)用的一種認(rèn)證協(xié)議。本文主要對(duì)Kerberos協(xié)議進(jìn)行研究,試圖對(duì)其改進(jìn)并實(shí)現(xiàn)企業(yè)網(wǎng)的身份認(rèn)證系統(tǒng),進(jìn)一步提高企業(yè)網(wǎng)絡(luò)的安全性能。
2、Kerberos協(xié)議的分析
2.1 Kerberos協(xié)議的認(rèn)證過(guò)程
Kerberos是一種典型的常用的用于客戶(hù)機(jī)和服務(wù)器認(rèn)證的私鑰認(rèn)證體系協(xié)議,其一大優(yōu)點(diǎn)就是使用方便、易于實(shí)施。它是MIT(美國(guó)麻省理工學(xué)院)的Athena計(jì)劃的一個(gè)部分,原義為希臘神話(huà)中守護(hù)地獄之門(mén)的一只兇猛的三頭狗,意喻該協(xié)議具有及其強(qiáng)大的安全性能。在此我們只涉及該協(xié)議的認(rèn)證(Authentication)部分。
出于對(duì)用戶(hù)實(shí)現(xiàn)和安全分析的考慮,Kerberos的認(rèn)證中心服務(wù)任務(wù)被分配到兩個(gè) 相對(duì)獨(dú)立的服務(wù)器——AS(認(rèn)證服務(wù)器,它同時(shí)應(yīng)該連接并維護(hù)一個(gè)中央數(shù)據(jù)庫(kù)存放用戶(hù)口令、標(biāo)識(shí)等重要信息)和TGS(Ticket Granting Server)。因此整個(gè)系統(tǒng)將由四部分組成:AS,TGS,Client,Server。
Kerberos的主要認(rèn)證模型如圖1所示:
圖1 Kerberos協(xié)議認(rèn)證模型
在下述認(rèn)證過(guò)程中,使用以下的記號(hào):
·IDtgs=TGS的身份碼;
·Ktgs=AS與TGS共享密鑰;
·Ks=TGS與S共享密鑰;
·Kc,tgs=C與TGS共享密鑰;
·Kc,s=C與S共享密鑰;
·Kc=AS與C共享密鑰;
·Times=時(shí)間標(biāo)志:表明門(mén)票開(kāi)始使用時(shí)間、截止使用時(shí)間等;
·Nonce=隨機(jī)數(shù):用于保證信息總是最新的和防止重傳攻擊;
·Realm=用戶(hù)C所屬的范圍;
·Options=用戶(hù)請(qǐng)求的包含在門(mén)票中的特殊標(biāo)志。
協(xié)議具體過(guò)程簡(jiǎn)述如下所示。符號(hào)"||"代表連接操作(concatenation)。
(1)如果用戶(hù)需要某種遠(yuǎn)程服務(wù),它首先向Kerberos密鑰分發(fā)中心KDC(KeyDistribution Center)中的認(rèn)證服務(wù)器AS發(fā)送報(bào)文KER_C_AS_REQ,申請(qǐng)一份同本地票據(jù)授權(quán)服務(wù)器TGS通信的票據(jù)TGT。即:
C→AS:KER_C_AS_REQ= Options||IDc|| Realmc||IDtgs||Times||Nonce1
(2)AS確認(rèn)此用戶(hù)ID是否在數(shù)據(jù)庫(kù)中,若在,則AS產(chǎn)生一個(gè)客戶(hù)端與TGS通信的會(huì)話(huà)密鑰Kc,tgs(即簽發(fā)許可票據(jù)TGT),以用戶(hù)密鑰對(duì)其加密,并產(chǎn)生用戶(hù)相對(duì)于TGS的認(rèn)證信息Tickettgs(以TGS的密鑰對(duì)其進(jìn)行加密),所有這些信息一并返回給用戶(hù)。即:
AS→C:KER_AS_C_RESP= Realmc||IDc||Tickettgs||EKc[ Kc,tgs||Times||Nonce1||IDtgs ]
其中:Tickettgs=EKtgs[ Flags||Kc,tgs || Realmc||IDc||ADc||Times ]。
(3)用戶(hù)得到消息后,隨即向票據(jù)授權(quán)服務(wù)器(TGS)發(fā)送與之會(huì)話(huà)的TGT以及服務(wù)申請(qǐng)(報(bào)文中含有遠(yuǎn)端ServerID號(hào)、時(shí)間戳Times、經(jīng)過(guò)AS鑒別的Tickettgs 及用戶(hù)產(chǎn)生用來(lái)證明票據(jù)有效性的Authenticatorc)。即:
C→TGS:KER_C_TGS_REQ=Options||IDs||Times||Nonce2|| Tickettgs ||Authenticatorc
其中:Tickettgs=EKtgs[ Flags||Kc,tgs || Realmc||IDc||ADc||Times ]。
Authenticatorc= Ekc,tgs[ IDc||Realmc||TS1 ]
(4)TGS驗(yàn)證票據(jù)并向用戶(hù)簽發(fā)服務(wù)票據(jù)。即:
TGS→C:KER_TGS_C_RESP=Realmc||IDc||Tickets||EKc,tgs[Kc,s||Times||Nonce2|| Realms||
IDs)。
其中:Tickets= EKs [ Flags||Kc,s||Realmc||IDc||ADc||Times ]。
(5)用戶(hù)向遠(yuǎn)端Server提交服務(wù)票據(jù)和自己產(chǎn)生的認(rèn)證碼Authenticatorc ,Server通過(guò)比較票據(jù)和認(rèn)證碼里的信息來(lái)驗(yàn)證可靠性,從而決定是否給予相應(yīng)的服務(wù)。即:
C→S:KER_C_S_REQ= Options|| Tickets || Authenticatoru
其中:Tickets= EKs [ Flags||Kc,s||Realmc||IDc||ADc||Times]
Authenticatoru= EKc,s[ IDc||Realmc||TS2 ||Subkey||Seq# ]
Subkey和Seq#均為可選項(xiàng)。Subkey為子密鑰,用戶(hù)可指定此次會(huì)話(huà)的密鑰,若省略,則會(huì)話(huà)密鑰為Kc,s。Seq為本次會(huì)話(huà)指定的起始序列號(hào),以防止重傳攻擊。
(6)如果需要交互認(rèn)證,遠(yuǎn)端服務(wù)器將向客戶(hù)端發(fā)送一條包含時(shí)間戳的消息,并以雙方的會(huì)話(huà)密鑰對(duì)之加密,客戶(hù)端收到消息后經(jīng)解密得到時(shí)間戳,若正確,則表明服務(wù)器知道自己的私鑰,并將消息解密得到了相應(yīng)的會(huì)話(huà)密鑰,從而證明了自己的身份。即:
S→C:KER_S_C_RESP= EKc,s[ TS2||Subkey||Seq# ]
2.2 Kerberos的局限性
從攻擊的角度來(lái)看,在上述Kerberos認(rèn)證過(guò)程的分析中,把Kerberos推廣到分布式系統(tǒng)的局限性也是比較明顯的,大致有以下幾個(gè)方面:
(1)口令猜測(cè)問(wèn)題:Kerberos認(rèn)證協(xié)議對(duì)口令攻擊比較脆弱,從Kerberos協(xié)議的認(rèn)證過(guò)程來(lái)看,AS并不能驗(yàn)證用戶(hù)的身份,而是基于發(fā)回用戶(hù)的KER_AS_C_RESP報(bào)文是用Kc加密的,只有知道Kc的人才能夠?qū)χ饷,而Kerberos是一種私鑰網(wǎng)絡(luò)認(rèn)證協(xié)議,它是以對(duì)稱(chēng)加密算法DES作為協(xié)議的基礎(chǔ),這就給密鑰的交換、存儲(chǔ)和管理帶來(lái)了安全上的隱患,同時(shí)不能提供抗否認(rèn)認(rèn)證機(jī)制,而Kc和用戶(hù)的passwd有關(guān)。由于很多用戶(hù)不重視對(duì)強(qiáng)口令的選擇,入侵者可以通過(guò)收集票據(jù)來(lái)對(duì)此解密,如果票據(jù)足夠多,口令的恢復(fù)是可能的。
(2)時(shí)間同步問(wèn)題:整個(gè)Kerberos的協(xié)議都 嚴(yán)重地依賴(lài)于時(shí)鐘,而實(shí)際證明,要求在網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)良好的時(shí)鐘同步,是一個(gè)很難的課題。但這并不是說(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)題將得到較好的解決。
(3)重放攻擊的問(wèn)題:雖然時(shí)間戳是專(zhuān)門(mén)用于防治重放攻擊的,長(zhǎng)票的生存期較長(zhǎng),容易被重放攻擊;對(duì)短票而言,如果攻擊者技術(shù)高明,任有機(jī)會(huì)重放攻擊,況且攻擊者可以著手破壞系統(tǒng)的時(shí)鐘同步性。假設(shè)在一個(gè)Kerberos服務(wù)域內(nèi)的全部時(shí)鐘保持同步收到消息的時(shí)間在規(guī)定的范圍內(nèi)(一般可以規(guī)定t=5分鐘),就認(rèn)為該消息是新的。而事實(shí)上,攻擊者可以事先把偽造的消息準(zhǔn)備好,一旦得到許可證就馬上發(fā)出,這在5分鐘內(nèi)是難以檢查出來(lái)的。
(4)認(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),形成良好的信任鏈條。
(5)密鑰的存儲(chǔ)問(wèn)題:Kerberos認(rèn)證中心要求保存大量的共享私鑰,無(wú)論是管理還是更新都有很大的困難,需要特別細(xì)致的安全保護(hù)措施(甚至應(yīng)采用硬件/物理方法),將付出極大的系統(tǒng)代價(jià)。
3、Kerberos協(xié)議的改進(jìn)
3.1 基于雙因素認(rèn)證方式的改進(jìn)
由于在Kerberos系統(tǒng)中用戶(hù)的口令容易受到口令猜測(cè)攻擊,因此無(wú)法完全保證用戶(hù)的口令不被非法用戶(hù)盜用,在這種情況下,如果結(jié)合用戶(hù)必須持有的硬件秘密信息來(lái)進(jìn)行認(rèn)證,無(wú)疑能使用戶(hù)身份認(rèn)證的安全性得到充分的保障。
考慮到目前USB接口己經(jīng)成為計(jì)算機(jī)設(shè)備上的主流接口,因此使用 USB接口設(shè)備來(lái)作為保存用戶(hù)秘密信息的載體,是一個(gè)相對(duì)簡(jiǎn)單易行的方法。在當(dāng)前產(chǎn)品中USB Token 是一種利用USB接口與計(jì)算機(jī)相連的安全設(shè)備。一般具有:PIN碼保護(hù);安全存儲(chǔ)保護(hù);硬件RSA;硬件SHA1,DES等算法及一定的運(yùn)算能力等。用戶(hù)USB認(rèn)證卡集成一定的算法可產(chǎn)生隨機(jī)數(shù)與用戶(hù)口令(PIN)結(jié)合在一起(USB+PIN),便產(chǎn)生了雙因素Kerberos認(rèn)證協(xié)議來(lái)進(jìn)行身份認(rèn)證。
采用基于請(qǐng)求/應(yīng)答方式的著名的Schnorr身份認(rèn)證機(jī)制Kerberos協(xié)議進(jìn)行改進(jìn)。
與原Kerberos協(xié)議相對(duì)照,僅修改了用戶(hù)和AS之間的交互協(xié)議,具體過(guò)程如下:
(1)USB認(rèn)證卡產(chǎn)生隨機(jī)數(shù)γ,其中γ≡gk(mod p),k為U所選擇的隨機(jī)數(shù),0<=k<=q-1。
C→AS:
KER_C_AS_REQ= Options||IDc|| Realmc||IDtgs||Times||Nonce1||γ。
(2)AS產(chǎn)生隨機(jī)數(shù)r,隨報(bào)文一起發(fā)送給用戶(hù)。
AS→C:KER_AS_C_RESP= Realmc||IDc||Tickettgs||EKc[ Kc,tgs||Times||Nonce1||IDtgs ]||r
在用戶(hù)端計(jì)算s,s≡gr+k (mod q),然后發(fā)送給AS服務(wù)器值s;
在AS上計(jì)算并驗(yàn)證:γ≡gs•vr(mod p)
(3)C→TGS:KER_C_TGS_REQ=Options||IDs||Times||Nonce2|| Tickettgs ||Authenticatorc
(4)TGS→C:KER_TGS_C_RESP=Realmc||IDc||Tickets||EKc,tgs[Kc,s||Times||Nonce2|| Realms||IDs]。
(5)C→S:KER_C_S_REQ= Options|| Tickets || Authenticatoru
(6)S→C:KER_S_C_RESP= EKc,s[ TS2||Subkey||Seq# ]
從上可以看出過(guò)程(3)~(6)是與原Kerberos協(xié)議相同的。
本方案的優(yōu)點(diǎn):
(1)即使通行字被攻擊者截獲也難以使用
(2)用戶(hù)需要送PIN(只有持卡人才知道),因此,即使智能卡被盜也難以使用卡進(jìn)行違法活動(dòng)。
3.2 基于橢圓曲線密碼體制對(duì)Kerberos協(xié)議的改進(jìn)
3.2.1采用私鑰密碼體制的局限性
在Kerberos協(xié)議中用戶(hù)的密碼以明文的形式保存在Kerberos的數(shù)據(jù)庫(kù)中,這些密碼的管理和使用具有相當(dāng)?shù)娘L(fēng)險(xiǎn),一旦Kerberos服務(wù)器的數(shù)據(jù)庫(kù)被攻破,所有用戶(hù)密碼都將暴露給攻擊者。即使報(bào)文在傳送過(guò)程中,如果收集的票據(jù)足夠多,口令的恢復(fù)是可能的。這種
私鑰密碼體制的加密密鑰和解密密鑰相同或者本質(zhì)上相同(即從其中一個(gè)可以很容易地推出另一個(gè)),所以密鑰管理成為影響系統(tǒng)安全的關(guān)鍵性因素,難于滿(mǎn)足開(kāi)放式計(jì)算機(jī)網(wǎng)絡(luò)的需求。
3.2.2公鑰(非對(duì)稱(chēng))加密體制
這種體制的加密密鑰和解密密鑰不相同而且從其中一個(gè)很難推出另一個(gè)。這樣加密密鑰可以公開(kāi),而解密密鑰可由用戶(hù)自己秘密保存,其典型代表是RSA(Receive, Shamir, Adelman)體制.
公鑰加密體制具有以下優(yōu)點(diǎn):密鑰分配簡(jiǎn)單;密鑰的保存量少;可以滿(mǎn)足互不相識(shí)的人之間進(jìn)行私人談話(huà)時(shí)的保密性需求;可以完成數(shù)字簽名和數(shù)字鑒別。
公鑰密碼體制的概念是由迪弗爾(Diffie)和赫爾曼(Hellman)于1976年首次提出的。公鑰密碼體制不同于傳統(tǒng)的對(duì)稱(chēng)密碼體制,它要求密鑰成對(duì)出現(xiàn),一個(gè)為加密密鑰(Ke),一個(gè)為解密密鑰(Kd),如圖2所示。
圖2 公鑰(非對(duì)稱(chēng))加密體制
在公鑰密碼體制中,加密密鑰Ke是公開(kāi)的,加密算法E和解密算法D也是公開(kāi)的,只有解密密鑰Kd是需要保密的。雖然Kd是由Ke決定的,但卻不能根據(jù)后者計(jì)算出前者。
公匙加密技術(shù)的特點(diǎn)如下:
a、用Ke對(duì)明文M加密后,再用Kd解密,即可恢復(fù)明文,即D(E(M,Ke),Kd)= M
而且,加密和解密的運(yùn)算可以對(duì)調(diào),即E(D(M,Kd),Ke)= M
b、加密密鑰不能用來(lái)解密,即D(E(M,Ke),Ke)≠ M
c、計(jì)算機(jī)可以很容易地產(chǎn)生成對(duì)的Ke和Kd。
d、從Ke實(shí)際上不能導(dǎo)出Kd。
使用公鑰密碼技術(shù)就可以實(shí)現(xiàn)數(shù)字簽名。發(fā)送方A用其不公開(kāi)的解密密鑰Akd對(duì)報(bào)文M進(jìn)行運(yùn)算,將結(jié)果D(M,Akd)傳給接收方B。B用已知的加密密鑰對(duì)接收到的內(nèi)容進(jìn)行運(yùn)算,得出結(jié)果E(D(M,Akd),Ake) = M。因?yàn)槌薃以外沒(méi)有人能擁有A的解密密鑰,所以除了A以外就沒(méi)有人能產(chǎn)生密文D(M,Akd)。這樣,就表示報(bào)文M被電子簽名了。
目前已有大量的數(shù)字簽名算法,如RSA數(shù)字簽名算法,ElGamal數(shù)字簽名算法,F(xiàn)iat-Shamir數(shù)字簽名算法,Schnorr數(shù)字簽名算法,美國(guó)的數(shù)字簽名標(biāo)準(zhǔn)/算法(DSS/DSA),橢圓曲線數(shù)字簽名算法等。
3.2.3 橢圓曲線密碼體制
為了保證RSA算法的安全性,它的密鑰長(zhǎng)度需要再增大,使得它的運(yùn)算負(fù)擔(dān)越來(lái)越大。相比之下,橢圓曲線密碼體制(elliptic curve cryptography)可用短得多的密鑰獲得同樣的安全性,因此具有廣泛的應(yīng)用前景。ECC已被IEEE公鑰密碼標(biāo)準(zhǔn)P1363采用。
1.橢圓曲線
橢圓曲線并非橢圓,之所以稱(chēng)為橢圓曲線是因?yàn)樗那方程與計(jì)算橢圓周長(zhǎng)的方程類(lèi)似。1985年Miller,Koblitz 獨(dú)立提出以下形式的三次方程:
y2+axy+by=x3+cx2+dx+e
其中a,b,c,d,e是滿(mǎn)足某些簡(jiǎn)單條件的實(shí)數(shù),曲線上的點(diǎn)連同無(wú)窮遠(yuǎn)點(diǎn)O的集合。圖3是橢圓曲線的兩個(gè)例子。
圖3 橢圓曲線的兩個(gè)例子
加法:若曲線三點(diǎn)在一條直線上,則其和為零。
倍數(shù):一個(gè)點(diǎn)的兩倍是它的切線與曲線的另一個(gè)交點(diǎn)。
2.有限域上的橢圓曲線
密碼中普遍采用有限域上的橢圓曲線。其中最為常用的是由方程
y2≡x3+ax+b mod p p是奇素?cái)?shù),且4a3+27b2 mod p≠0 定義的曲線。
針對(duì)所有的0<= x <p,可以求出有效的y,得到曲線上的點(diǎn)(x,y),其中x,y < p。記為Ep(a,b)
Ep(a,b)中也包括O
3.橢圓曲線的加密解密
選擇Ep(a,b)的元素G,使得G的階n是一個(gè)大素?cái)?shù),秘密選擇整數(shù)r。計(jì)算P=rG,公開(kāi)(p,a,b,G,P),保密r。
加密M:選擇隨機(jī)數(shù)k,C={kG,M+kP} 如果k使得kG或者kP為O,則要重新選擇k。
解密C:(M+kP)-r(kG)=M+krG-rkG=M
4.橢圓曲線算法
(1)找到一個(gè)難題:
考慮等式Q=kP,其中Q、P屬于Ep(a,b),k<p
已知k和P,計(jì)算Q,是容易的
已知Q和P,計(jì)算k,是困難的
(2)選擇Ep(a,b)的元素G,使得G的階n是一個(gè)大素?cái)?shù)
G的階是指滿(mǎn)足nG=O的最小n值
(3)秘密選擇整數(shù)r,計(jì)算P=rG,然后
公開(kāi)(p,a,b,G,P),P為公鑰
保密r
(4)加密M:先把消息M變換成為Ep(a,b)中一個(gè)點(diǎn)Pm
然后,選擇隨機(jī)數(shù)k,計(jì)算密文Cm=(kG,Pm+kP)
如果k使得kG或者kP為O,則要重新選擇k.
(5)解密Cm: (Pm+kP)-r(kG)=Pm+krG-rkG=Pm
5.橢圓曲線密碼的安全性
(1)難于從P和kP獲得k。
(2)對(duì)橢圓曲線研究的時(shí)間短
(3)橢圓曲線要求密鑰長(zhǎng)度短,速度快。
由于橢圓曲線具有豐富的群結(jié)構(gòu)和多選擇性,并可在保持和RSA/DSA體制同樣安全性能的前提下大大縮短密鑰長(zhǎng)度(目前160比特足以保證安全性),因而在密碼領(lǐng)域有著廣闊的應(yīng)用前景。表1給出了橢圓曲線密碼體制和RSA/DSA體制在保持同等安全的條件下各自所需的密鑰長(zhǎng)度。
表1 ECC和RSA/DSA在保持同等安全的條件下各自所需的密鑰長(zhǎng)度(單位為比特)
RSA/DSA |
512 |
768 |
1024 |
2048 |
21000 |
ECC |
106 |
132 |
160 |
211 |
600 |
3.2.4 用橢圓曲線密碼體制對(duì)Kerberos協(xié)議的改進(jìn)
1.設(shè)計(jì)思想:在對(duì)Kerberos協(xié)議改進(jìn)的研究中,始終要保持協(xié)議原來(lái)的架構(gòu),就會(huì)保持協(xié)議的安全性能。以公鑰體制代替私鑰體制(對(duì)稱(chēng)算法),由于協(xié)議和算法是兩回事,所以算法的改變不會(huì)造成協(xié)議架構(gòu)的變化。這樣便可以實(shí)現(xiàn)企業(yè)網(wǎng)身份認(rèn)證系統(tǒng)的設(shè)計(jì),但公鑰加密體制相對(duì)于對(duì)稱(chēng)加密體制而言,遠(yuǎn)算復(fù)雜性大大增加,加密和解密需要消耗更多的系統(tǒng)資源,降低了加密和解密的速度,因此,有必要尋找一種快速計(jì)算的公鑰算法。
橢圓曲線算法(ECC)在安全性能、效率、密鑰長(zhǎng)度、帶寬、速度等方面均占有優(yōu)勢(shì)。所以我們選擇橢圓曲線密碼體制對(duì)Kerberos協(xié)議的改進(jìn),從而實(shí)現(xiàn)企業(yè)網(wǎng)身份認(rèn)證系統(tǒng)的設(shè)計(jì)。
根據(jù)Kerberos協(xié)議的認(rèn)證過(guò)程,如果我們?cè)诿看渭用苓^(guò)程中都啟用ECC算法,并沒(méi)有必要,而要改進(jìn)協(xié)議可根據(jù)認(rèn)證的具體情況分別采用公開(kāi)密鑰加密算法及私鑰加密算法,這樣既提高了系統(tǒng)的安全性,又很少影響系統(tǒng)解密的速度。
用橢圓曲線算法,僅修改用戶(hù)和AS之間的交互協(xié)議,便可實(shí)現(xiàn)對(duì)用戶(hù)身份的確認(rèn)。
2.準(zhǔn)備工作:為用戶(hù)C分配一對(duì)公鑰(pub)和私鑰(pri),分別記作C_pub和C_pri,并將C_pub存于認(rèn)證服務(wù)器AS。
3.改進(jìn)后的認(rèn)證過(guò)程:
(1)C→AS:KER_C_AS_REQ= Options||IDc|| Realmc||IDtgs||Times||Nonce1
(2)AS→C:
KER_AS_C_RESP= Realmc||IDc||Tickettgs||C_pub [ Kc,tgs||Times||Nonce1||IDtgs]
AS服務(wù)器用以用戶(hù)C的公鑰C_pub代替EKc,把報(bào)文發(fā)送給客戶(hù)端。用戶(hù)C用私鑰C_pri解密報(bào)文。
(3)C→TGS:KER_C_TGS_REQ=Options||IDs||Times||Nonce2|| Tickettgs ||Authenticatorc
(4)TGS→C:
KER_TGS_C_RESP=Realmc||IDc||Tickets||EKc,tgs[Kc,s||Times||Nonce2|| Realms||IDs]。
(5)C→S:KER_C_S_REQ= Options|| Tickets || Authenticatoru
(6)S→C:KER_S_C_RESP= EKc,s[ TS2||Subkey||Seq# ]
從以上可以看出僅在第二步用戶(hù)端的公鑰對(duì)會(huì)話(huà)密鑰進(jìn)行加密,有效地防范了對(duì)票據(jù)的字典攻擊,提高了Kerbors認(rèn)證協(xié)議的安全性能,系統(tǒng)的加密解密速度又比較快,因此采用橢圓曲線算法對(duì)Kerbors協(xié)議進(jìn)行改進(jìn)是一種合適的方法。
以上我們對(duì)Kerberos協(xié)議的改進(jìn)中采用兩種方式一是基于雙因素認(rèn)證方式的改進(jìn),一是基于橢圓曲線密碼體制對(duì)Kerberos協(xié)議的改進(jìn),前一種需要硬件的支持,而后一種直接用軟件就可以實(shí)現(xiàn),我們?cè)谄髽I(yè)網(wǎng)身份認(rèn)證系統(tǒng)中將采用橢圓曲線密碼體制。
[參考文獻(xiàn)]
[1]侯整風(fēng),李嵐.橢圓曲線密碼系統(tǒng)(ECC)整體算法設(shè)計(jì)及優(yōu)化研究.電子學(xué)報(bào),2004,32(11):1904~1906
[2]楊武英,魏海平.基于橢圓曲線密碼體制的口令認(rèn)證系統(tǒng)研究.網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2005,(4):15~17
[3]莫燕,張玉清,李學(xué)干.對(duì)Kerberos協(xié)議的攻擊及對(duì)策研究.計(jì)算機(jī)工程, 2005, 31(10):66~68
上一個(gè)新聞:關(guān)于中職學(xué)校計(jì)算機(jī)機(jī)房管理與維護(hù)
下一個(gè)新聞:張衡培育出的科技之花國(guó)內(nèi)沒(méi)有國(guó)外香
南陽(yáng)工業(yè)學(xué)校相關(guān)新聞
- 2024/6/15 家指點(diǎn)春風(fēng)化雨 高手亮劍撥云見(jiàn)日——南陽(yáng)工業(yè)學(xué)校思想政治理論
- 2024/5/26 專(zhuān)家指點(diǎn)春風(fēng)化雨 高手亮劍撥云見(jiàn)日——南陽(yáng)工業(yè)學(xué)校思想政治理
- 2023/6/7 南陽(yáng)工業(yè)學(xué)校畢業(yè)證領(lǐng)取流程
- 2023/6/7 機(jī)電工程系黨支部帶頭拼發(fā)展,著力打造“服務(wù)有力星”支部
- 2023/4/27 我校獲批河南省示范性骨干專(zhuān)業(yè)點(diǎn)和示范性特色專(zhuān)業(yè)點(diǎn)建設(shè)項(xiàng)目
- 2022/8/17 南陽(yáng)工業(yè)學(xué)校杜?迪搏@一等獎(jiǎng)
- 2022/7/2 范長(zhǎng)海同志任南陽(yáng)工業(yè)學(xué)校黨委書(shū)記
- 2022/6/29 南陽(yáng)工業(yè)學(xué)校學(xué)生會(huì)活動(dòng)圖片集錦
- 2022/6/27 我校十大優(yōu)勢(shì),報(bào)名我校的十大理由