基于TCP/IP應用層密碼認證協議的研究
從圖可知,在Kerberos認證協議中,存在4種不同的角色:客戶端,即用戶(C),提供某種服務的服務器(S),認證服務器(AS)和票據準許服務器(TGS).它們之間通過對稱加密機制作為加密/解密算法,每個用戶(C)必須擁有一個認證密鑰Kc,該認證密鑰由用戶和認證服務器AS之間共享一對對稱加密密鑰Ktgs,而票據準許服務器(TGS)和服務器(S)之間共享一對對稱加密密鑰Ks.
總體來說, Kerberos認證協議可以分為以下3個步驟:
第一步:認證服務交換.包括消息(1)和(2),用戶(C)向認證服務器(AS)證明自己的身份,以便獲得票據許可票據(TGT).協議的形式化描述如下:
(1)C → AS (2)AS → C
第二步:票據許可服務交換.包括消息(3)和(4),用戶向票據準許服務器(TGS)索取訪問服務器(S)的服務許可票據(SGT).協議的形式化描述如下:
(3)TGS → C (4)C → TGS
第三步:用戶與服務器交換.包括消息(5)和(6),用戶使用所請求的服務.
(5)C → S (6)S → C
從以上的過程分析中,我們可以發現Kerberos認證協議存在以下問題:
1). 所有的用戶(C)帳號信息都存放在一臺認證服務器(AS)中,如果該服務器被入侵,則一定會危及整個網絡的安全。
2).原有的認證服務可能被存儲或替換.雖然時間戳是專門用于防止重放攻擊的,但在票據的有效時間內仍然可能奏效.因為事實上,攻擊者可以事先把偽造的消息準備好,一旦得到票據就馬上發出偽造的票據,在相當短的時間內是難以檢查出來的。
3).服務許可票據的正確性是基于網絡中所有的時鐘保持同步,如果主機的時間發生錯誤,則原來的認證票據就是可能被替換的。因為大多數網絡的時間協議是不安全的,所以,分布式計算機系統中這將導致極為嚴重的問題。
4). Kerberos防止口令猜測攻擊的能力很弱,攻擊者通過長期監聽可以收集大量的票據,經過計算和密鑰分析進行口令猜測。當用戶選擇的口令不夠強時,就不能有效地防止口令猜測攻擊。
5).Kerberos服務器與用戶共享的秘密是用戶的口令字,服務器在回應時不驗證用戶的真實性,而是假設只有合法用戶擁有口令字。如果攻擊者記錄申請回答報文,就易形成代碼本攻擊。
6).實際上,最嚴重的攻擊是惡意軟件攻擊。Kerberos認證協議依賴于Kerberos軟件的絕對可信,而攻擊者可以用執行Kerberos協議和記錄用戶口令的軟件來代替所有用戶的Kerberos軟件,達到攻擊的目的。一般而言,裝在不安全計算機內的密碼軟件都會面臨這一問題。
7).雖然Kerberos認證協議可以在較大規模網絡環境中使用,但是在分布式系統中,認證中心星羅棋布,共享密鑰的管理分配、存儲和更新是一個非常困難的問題.以及它的配置也不是一件簡單的事情。
從對于Kerberos的局限性和問題分析中可以得出,其很多缺陷均是由于單獨采用對稱密鑰技術造成的。因此建議可以將公鑰加密機制有機地融合到Kerberos認證協議中去,便能克服其保密性不強,擴展性差等缺點。
應用層其他安全認證協議的研究
除了Kerberos認證協議以外, TCP/IP的應用層安全認證協議還包括用戶口令認證協議(PAP),挑戰-握手協議(CHAP)和X.509協議.下面從系統的實用性,擴展性和管理性等幾個方面進行綜合對比,給出其優缺點和使用環境,以作參考.如下表3.1所示:
以上通過應用層安全認證協議的對比可以看出,X.509認證協議是目前基于公鑰體制的使用最為廣泛的認證標準和協議,其次就是Kerberos認證協議.因此,在實際的應用中,我們可以根據所用系統的實用性,擴展性,管理性以及成本等方面來綜合考慮,來決定選用哪種安全認證協議[8].
結束語
認證是信息安全防護系統中的核心和基礎,是許多安全處理過程的前提.本文簡單對TCP/IP應用層上的安全認證協議進行研究,并且從系統的實用性,擴展性和管理性等幾個方面進行綜合對比評價,給出其參考的使用環境.其中重點對Kerberos認證協議進行詳細地討論,并提出了對其改進的認證協議設計思想.希望這對當前網絡信息安全的應用有一定的技術價值和理論意義.