巨瑜芳
中國礦業(yè)大學,江蘇 徐州 221000
Kerberos一種為網(wǎng)絡(luò)通信提供可信第三方服務(wù)的面向開放系統(tǒng)的認證機制,其設(shè)計目標是通過密鑰系統(tǒng)為客戶機/服務(wù)器應(yīng)用程序提供強大的認證服務(wù)。該認證過程的實現(xiàn)不依賴于主機操作系統(tǒng),無需基于主機地址的信任,不要求網(wǎng)絡(luò)上所有主機的物理安全,并假定網(wǎng)絡(luò)上傳送的數(shù)據(jù)包可以被任意地讀取、修改和插入數(shù)據(jù)。它通過傳統(tǒng)的密碼技術(shù)執(zhí)行認證服務(wù)的。
Kerberos是由用戶,服務(wù)器,認證服務(wù)器(AS),票據(jù)授予服務(wù)器(TGS)等組成。整個的Kerberos認證過程中用到兩類憑證:票據(jù)和識別碼來驗證用戶的身份,兩種證書都需加密,但加密的密鑰不同。票據(jù)用來安全的在認證服務(wù)器和用戶請求的服務(wù)之間傳遞用戶的身份。識別碼則是提供用戶的信息與票據(jù)中的信息進行比較來驗證票據(jù)中的用戶就是他所聲稱的用戶。
Kerberos認證過程可分為3個階段:
1)客戶向認證服務(wù)器(AS)發(fā)送請求,要求得到某服務(wù)器的證書,然后AS將包含訪問票據(jù)授予服務(wù)器的票據(jù)以及請求的服務(wù)器的標識碼時間戳等信息發(fā)送給用戶作為響應(yīng)。其中票據(jù)是用TGS的公鑰加密。
(1)C → AS :IDC‖IDtgs‖TS1
(2)AS → C :EKc[ KC,tgs‖IDtgs‖TS2‖LT2‖Tickettgs]
其中 :Tickettgs=EKtgs[ KC,tgs‖IDC‖ADC‖IDtgs‖TS2‖LT2]
2)票據(jù)許可服務(wù)器的交互,用于獲取服務(wù)許可票據(jù)。用戶將請求的服務(wù)器的標識以及第一步得到的票據(jù)和自己的識別碼發(fā)送給TGS,TGS驗證用戶的信息并將用戶訪問請求服務(wù)器的密鑰KC,S,以及訪問請求服務(wù)器的票據(jù)發(fā)送給用戶。
(1)C → TGS :IDS‖Tickettgs‖AUC
(2)TGS → C :EKc,tgs[ KC,S‖IDS‖TS4‖TicketS]
其中:
3)用戶持第二步收到的票據(jù)向服務(wù)器請求服務(wù)。整個的驗證過程結(jié)束。
其中:
其中ID:用戶標識,AD:用戶網(wǎng)絡(luò)地址,TS:時間戳,LT:生存時間,Ka:a的私有密鑰,Ka,b:a,b的會話密鑰。
但是Kerberos認證協(xié)議還存在一定的局限性
1) 口令猜測攻擊。用戶聯(lián)機時通過用戶平臺鍵入口令獲得與認證服務(wù)器共享的密鑰??诹詈苋菀妆桓`聽和截取,入侵者可以記錄下聯(lián)機會話,通過計算密鑰分析記錄下的會話進行口令猜測攻擊。它使用DES作為協(xié)議的基礎(chǔ),這就帶來了密鑰交換存儲以及管理的困難,N個用戶想同時通信,就需要N*(N-1)/2個密鑰,沒有提供有效抵御口令猜測攻擊的手段,同時還存在鐘同步問題。
2)系統(tǒng)程序的安全性、完整性問題。實際上,最嚴重的攻擊是惡意軟件攻擊。Kerberos認證協(xié)議依賴于Kerberos軟件的絕對可信,而攻擊者可以用執(zhí)行Kerberos協(xié)議和記錄用戶口令的軟件來代替所有用戶的Kerberos軟件,達到攻擊目的。如果裝有Kerberos的平臺的安全遭到損害,Kerberos的安全性也將部分或全部喪失。
針對以上問題可通過在終端平臺加入TPM(TPM是一個含有密碼運算部件和存儲部件的小型片上的系統(tǒng),由CPU、存儲器、I/O、密碼運算器、隨機數(shù)產(chǎn)生器和嵌入式操作系統(tǒng)等部件組成),使得在平臺向AS請求Kerberos認證時,不需要輸入用戶口令,而是對平臺的可信測量值用AIK私鑰進行簽名,AS通過向可信第三方Privacy–CA驗證用戶平臺的簽名,并把平臺提供的平臺可信性測量值與Kerberos認證系統(tǒng)中保存的該平臺的可信測量值比較,若一致,則通過認證,否則拒絕。這樣避免了口令猜測攻擊,并且保證終端平臺的完整性,沒有受到惡意軟件的攻擊。
用TPM增強Kerberos安全性的步驟如下:
首先,建立一個信任根:信任根的可信性由物理安全和管理安全確保。
其次,建立一條信任鏈:從信任根開始到硬件平臺、到BIOS、到操作系統(tǒng),一級測量認證一級,一級信任一級,從而把這種信任擴展到整個計算機系統(tǒng)。此過程中的日志將會被存儲到存儲器中,每一步的測量值將會存儲到TPM中。最后,把日志及TPM中的各種測量值報告給操作系統(tǒng)(OS),由操作系統(tǒng)綜合日志及測量值判斷此平臺是否符合可信標準,若可信,再把這種信任傳遞到應(yīng)用,最后傳遞到Kerberos認證的網(wǎng)絡(luò)中。
通過向Kerberos認證中心嵌入TPM,使得通過Kerberos認證的用戶平臺進入網(wǎng)絡(luò)時都是可信的,并且加強了Kerberos認證時無條件信任的第三方Kerberos認證中心的安全性。為Kerberos認證協(xié)議的廣泛應(yīng)用提供了強有力的技術(shù)支持。
[1]曹天杰,張永平,畢方明.計算機系統(tǒng)安全.第2版.高等教育出版社,2009.
[2]文鐵華,谷士文.增強Kerberos協(xié)議安全性的改進方案2003.
[3]RFC1510-The Kerberos NetWork AuthenticationService(V5).