《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > Kerberos認證協議的研究和改進

Kerberos認證協議的研究和改進

2008-04-10
作者:陳 云1,彭春山2,鄧亞平1

  摘 要: 分析比較了新Kerberos認證協議" title="認證協議">認證協議與原Kerberos認證協議,指出了對Kerberos改進的一些主要方面,并指出了其局限性。在此基礎上提出了將公鑰" title="公鑰">公鑰密碼體制" title="密碼體制">密碼體制ECC與對稱密碼體制AES引入到Kerberos認證協議中的方案。該方案不僅解決了Kerberos認證協議中密鑰的分配和管理問題, 而且提高了Kerberos認證協議的安全性,使其遭受口令攻擊的危險得到降低,更好地解決了工業控制網絡" title="工業控制網絡">工業控制網絡的身份認證問題。
  關鍵詞: Kerberos協議 ECC算法 AES算法 Rijndael算法

  美國麻省理工學院于2005年7月推出了新的Kerberos協議規范[1],是針對1993年Kerberos V5版本[2]的修改。不但改正了諸多缺點,而且還給出了一些新的約定和新的操作選項,使其更符合當前應用,大大提高了其安全性及效率。但由于對稱加密的固有特點使得新Kerberos協議仍有一定局限性,因此提出將公鑰密碼體制與對稱密碼體制相結合,即將ECC+AES方法引入到Kerberos認證協議中對其作進一步改進。


1 Kerberos協議
1.1 Kerberos協議原理描述

  在Kerberos協議中,AS為認證服務器,可在用戶登錄時確認用戶身份。AS與密鑰分配中心KDC類似,它與每個用戶共享一個密鑰。TGS為票據分配服務器,為用戶之間的通信分配票據,使應用服務器相信TGS持有者的身份真實性。Kerberos協議具體實現過程如圖1所示。從圖1可知,用戶C要訪問目標服務器S,需要進行六次協議交換,即:
  (1)C->AS:C,TGS,Addr,TS1。
  (2)AS->C:{Kc,tgs}Kc,TGT,TGT:{TGS,C,Addr,TS2,Lifetime2,Kc,tgs}Ktgs。
  (3)C->TGS:S,TGT,Authenticator1;Authenticator1:{C,Addr,TS3}Kc,tgs。
  (4)TGS->C:{Kc,s}Kc,tgs,Ts;Ts:{S,C,Addr,TS4,Lifetime4,Kc,s}Ks。
  (5)C->S:S,Ts Authenticator2;Authenticator2:{C,Addr,TS5}Kc,s。
  (6)S->C:{TS5+1}Kc,s。
1.2 新Kerberos協議規范
  Kerberos協議本身并不是無限安全的,而且也不能自動提供安全,它是建立在一些假設之上的[3],即只有在滿足如下假定的環境中它才能正常運行:①不存在拒絕服務攻擊;主體必須保證他們的私鑰安全;②Kerberos無法應付口令猜測攻擊;③網絡上每個主機的時鐘必須是松散同步[4]的。ITEF改進了Kerberos協議規范(稱為新規范)并且取代了原來的Kerberos協議規范(稱為舊規范),新規范詳細闡明了很多在舊規范上沒有清楚描述的條款,增加了一些推薦性的執行選項和一些新操作。其主要改進有如下幾方面:
  (1)為了與當前應用相適應,新規范采用了新的加密和校驗方法[5][6],這是最主要的改進。同時刪除了一些已不夠強壯的方法,如DES和MD5,而采用AES。表1為DES與AES(Rijndael)加密算法的性能比較。針對密鑰的生成,在新規范中,用戶模式下私鑰“可能”來自用戶的口令,因為用戶密鑰可能存儲在智能卡上,或者可以直接獲得而與口令無關,而以前用戶私鑰僅通過用戶輸入口令生成。


  (2)新規范依賴KDC檢查傳輸域,并將檢查標志包含在票據內,以表明該檢查已經執行。目前Kerberos的執行即使忽略域標志或者不設置域標志也不存在安全隱患。新規范增強了解析主機名的能力,當Kerberos為一個命名主體提供認證時,能夠確保它所認證的主體名字是完整的,并且就是它所期望通信的對象。
  (3)新規范首次在參考文獻中提出應用公開密鑰算法對認證進行初始化。
  (4)新規范增強了Kerberos的擴展性及兼容性。
1.3 新Kerberos協議的局限性
  新規范雖然彌補了舊規范的許多環境缺陷和技術缺陷,但由于歷史原因,它還是存在許多局限性。作為一個認證服務,Kerberos在網絡上為主機身份的驗證提供了一種方法,但Kerberos本身并不提供認證。如應用程序不應該接受Kerberos 服務器上所發布的服務票據作為授權票據,因為在這種情況下可能會使應用程序在其他密鑰分發系統內部變得十分脆弱。
  (1)密鑰管理" title="密鑰管理">密鑰管理和維護問題。新Kerberos防止口令猜測攻擊的能力還很弱,每一個主體必須對自身的密鑰保密。如果密鑰被某個入侵者獲得,就會偽裝成該主機或者其他關聯主機的服務器。
  (2)對時間同步性要求很高。在整個認證過程中都要通過時間戳的比較,才能判明合法身份。這就要求對整個網絡內的時鐘實現準同步。這對于一個擁有不同類型終端的分布式網絡來說是很難實現的。
  (3)主機標識符在一段時間內禁止重復使用。訪問控制的一個典型模式使用訪問控制列表(ACL)向特定主機授權許可。如果過時的入口仍然保存著已經被刪除的主機,而該主機標識符是新的,則該新的主機會繼承舊的記錄在ACL入口的權限。即當不再重新使用主機標識符時,無意的接入威脅即可避免。
2 Kerberos協議的改進方案
2.1 基于對稱密碼體制的Kerberos協議的改進
  參考文獻[7][8]中提出了利用公開密鑰加密進行對稱加密密鑰分配的方法。該方法是在通信雙方通過公開密鑰證書得到對方的公開密鑰的基礎上實現的。
2.2 基于ECC+AES的數據傳輸加密的Kerberos改進方案
  在Kerberos認證協議中,全都采用公開密鑰密碼體制傳送機密信息是不夠安全的。在傳送機密信息的Client/Server雙方,如果使用某個對稱密鑰密碼體制并同時使用不對稱密鑰密碼體制傳送對稱密鑰密碼體制的密鑰,就可以綜合發揮兩種密碼體制的優點,即對稱密鑰密碼體制的高速性、簡便性和不對稱密鑰密碼體制的密鑰管理的方便性、安全性。AES算法與RSA算法、ECC算法的特點比較如表2所示。


  由于AES和RSA、ECC各具所長,而ECC與RSA在相同安全強度下具有更快的速度和更低的存儲要求,更符合高實時性工業控制網絡的要求。綜合AES和ECC的優點,得到一種新的加密方案,其基本原理為:數據在Kerberos Client/Server雙方通信之前,發送方隨機生成一個加密密鑰,用AES算法對需傳送的數據加密。然后再用ECC算法對該密鑰進行加密并實現數字簽名。這樣接收方在接收到該密文和被加了密的密鑰后,同樣用ECC解密出此隨機密鑰,再用此隨機密鑰對密文解密。這樣的加密方案既有AES算法的快捷特點,又有ECC算法的保密性和方便性特點。
2.3 具體改進方案
  改進后的Kerberos認證過程如圖2所示。


  改進后的Kerberos認證過程如下:
  (1)C->AS:C,TGS,Pc。
  (2)AS->C:Cc,Ctgs;Cc:{C,Pc,T1}P-1ca;Ctgs:{TGS,Ptgs,T2}P-1ca。
  (3)C->TGS:TGS,{Kr,Cc,Authenticator,T3}Ptgs;Authenticator:{C,TGS,Ptgs,Kr,T3}P-1c。
  (4)TGS->C:TGT,{C,TGS,Kc,tgs,T4}Kr;TGT:{TGS,C,Addr,T5,Lifetime5,Kc,tgs}Ptgs。
  (5)C->TGS:S,TGT,Authenticator1;Authenticator1:{C,Addr,TS3}Kc,tgs。
  (6)TGS->C:{Kc,s}Kc,tgs,Ts;Ts:{S,C,Addr,TS4,Lifetime4,Kc,s}Ks。
  (7)C->S:S,Ts,Authenticator2;Authenticator2;{C,Addr,TS5}Kc,s。
  (8)S->C:{TS5+1}Kc,s。
  以上描述中,關鍵是對1.1節中的描述步驟(1)和(2)的改進,修改后變成現在的(1)~(4)步;而步驟(5)~(8)與1.1節中的步驟(3)~(6)一樣。這里主要對前四步進行說明:
  (1)用戶發送自己的公鑰、用戶名和TGS服務器名向CA請求自己和TGS的公鑰證書。
  (2)CA檢查用戶身份合法后用自己的私鑰為用戶和TGS簽發公鑰證書,證書中包含有用戶、TGS的信息以及證書的簽發時間。
  (3)用戶收到公鑰證書后,用已由安全通道得到的CA的公鑰解密,得到TGS的公鑰。然后用TGS的公鑰加密報文向TGS發送,請求驗證身份,請求報文包括用戶公鑰證書、隨機產生的一次性會話密鑰Kr、時間截和證書。時間T3是該報文的產生時間,TGS在收到該報文后,計算T3和收到報文時間的差值,如果相差太大則拒絕接受該請求報文,這樣做可以防止重放攻擊。Kr用于TGS對應答報文進行加密。證書用于驗證用戶的身份。TGS收到用戶的請求報文后,首先用自己的私鑰解密,得到用戶公鑰證書、一次性會話密鑰Kr和證書。然后TGS用證書中的用戶公鑰對證書進行解密,用得到的信息驗證用戶身份。
  (4)TGS通過對用戶的身份驗證后,產生應答報文。應答報文包括兩部分,一部分是訪問TGS用的票據TGT,TGT與傳統Kerberos協議中的TGT完全相同;另一部分是加密數據,包含用戶名、TGS服務器名、用戶與TGS共享的會話密鑰以及認證時間,這些數據用一次性會話密鑰加密,用戶收到后,就得到訪問TGS的票據TGT。用Kr對加密的數據解密后,就得到與TGS會話的密鑰Kc、tgs,這樣用戶就可以用TGT、Kc和tgs向TGS發送傳統的TGS請求。
  改進后的Kerberos身份驗證系統的安全性得到了極大提高,如表3所示。


  本文深入研究了新的Kerberos認證協議規范,指出了其局限性。提出了在Kerberos協議中引入ECC+AES的數據傳輸加密的改進方法,在一定程度上克服了傳統Kerberos認證協議中密鑰管理困難、容易受到口令攻擊和對時間同步性要求高的缺點,提高了Kerberos認證協議的安全性,同時提高了身份認證速度,使其更符合工業控制網絡的高實時性要求,可以更好地解決工業控制網絡的身份認證問題。
參考文獻
1 C Neuman.The kerberos network authentication service(V5).Internet RFC 4120,July 2005
2 C Neuman.The kerberos network authentication service(V5).Internet RFC 1510,September 1993
3 Frederick Butler,Iliano Cervesato,Aaron D Jaggard et al. A formal analysis of some properties of kerberos 5 using MSR.IEEE COMPUTER SOCIETY,2002;(11)
4 Ian Downnard.Public-key cryptography extensions into Kerberos.2002 IEEE POTENTIAL,2003
5 K Raeburn.Encryption and Checksum Specifications for Kerberos 5.Internet RFC 3961,February 2005
6 K Raeburn.Advanced encryption standard(AES) encryption for kerberos 5.Internet RFC 3962,February 2005
7 劉克龍,卿斯漢,蒙 楊.一種利用公鑰體制改進Kerberos協議的方法.軟件學報,2001;(12):874~877
8 莫 燕,張玉清,李學干.對Kerberos協議的攻擊及對策研究.計算機工程,2005;(5):66~98
9 肖國鎮,白恩健,劉曉娟.AES密碼分析的若干新進展.電子學報,2003;(10):1549~1554
10 Joan Daemen Vincent Rijmen.高級加密標準(AES)算法-Rijndael的設計.北京:清華大學出版社,2003

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 97色婷婷成人综合在线观看| 男Ji大巴进入女人的视频| 韩国女友的妈妈| 美女免费视频黄的| 爱情岛论坛首页永久入口| 欧洲熟妇色xxxx欧美老妇多毛 | 中国嫩模一级毛片| 久久精品99国产精品日本| 久久国产免费观看精品| 99久久综合精品免费| 被吃奶跟添下面视频| 欧美黑人videos巨大18tee| 把女人弄爽大黄a大片片| 国产粉嫩粉嫩的18在线播放91| 免费床戏全程无遮挡在线观看 | 亚洲综合在线一区二区三区 | 国产精品电影在线| 国产免费爽爽视频在线观看| 人妻有码中文字幕| 久久精品国产乱子伦| 99精品久久久中文字幕| 香蕉视频在线免费| 欧美高清在线视频在线99精品| 日日插人人插天天插| 国产精品无打码在线播放| 午夜aaaaaaaaa视频在线| 久久综合精品不卡一区二区| 99久久香蕉国产线看观香| 草莓视频在线观看黄| 欧美亚洲桃花综合| 天堂草原电视剧在线观看图片高清 | 中文字幕在线免费看线人| 俺去俺也在线www色官网| 男生的肌肌桶女生的肌肌| 日本大片免a费观看视频| 国产精品揄拍一区二区久久| 免费无毒A网站在线观看| 久久99国产乱子伦精品免费 | 99热在线免费观看| 美女胸又www又黄网站| 人人妻人人做人人爽|