【文章內(nèi)容簡介】
sion5 (RFC1510/1994年 ) 信息系統(tǒng)資源保護的動機 ? 單用戶單機系統(tǒng)。用戶資源和文件受到物理上的安全保護; ? 多用戶分時系統(tǒng)。操作系統(tǒng)提供基于用戶標識的訪問控制策略,并用 logon過程來標識用戶。 ? Client/Server網(wǎng)絡(luò)結(jié)構(gòu)。由一組工作站和一組分布式或中心式服務(wù)器組成。 三種可能的安全方案 ? 相信每一個單獨的客戶工作站可以保證對其用戶的識別,并依賴于每一個服務(wù)器強制實施一個基于用戶標識的安全策略。 ? 要求客戶端系統(tǒng)將它們自己向服務(wù)器作身份認證,但相信客戶端系統(tǒng)負責對其用戶的識別。 ? 要求每一個用戶對每一個服務(wù)證明其標識身份,同樣要求服務(wù)器向客戶端證明其標識身份。 Kerberos的解決方案 ? 在一個分布式的 client/server體系機構(gòu)中采用一個或多個 Kerberos服務(wù)器提供一個認證服務(wù)。 Kerberos系統(tǒng)應滿足的要求 ? 安全。網(wǎng)絡(luò)竊聽者不能獲得必要信息以假冒其它用戶; Kerberos應足夠強壯以至于潛在的敵人無法找到它的弱點連接。 ? 可靠。 Kerberos應高度可靠,并且應借助于一 個分布式服務(wù)器體系結(jié)構(gòu),使得一個系統(tǒng)能夠備份另一個系統(tǒng)。 ? 透明。理想情況下,用戶除了要求輸入口令以外應感覺不到認證的發(fā)生。 ? 可伸縮。系統(tǒng)應能夠支持大數(shù)量的客戶和服務(wù)器。 Kerberos Version4 ? 引入一個信任的第三方認證服務(wù),采用一個基于 Needham amp。 Schroeder協(xié)議。 ? 采用 DES,精心設(shè)計協(xié)議,提供認證服務(wù)。 一個簡單的認證對話 引入認證服務(wù)器 (AS), 它知道所有用戶的口令并將它們存儲在一個中央數(shù)據(jù)庫中。 AS與每一個服務(wù)器共有一個唯一的保密密鑰。這些密鑰已經(jīng) 物理上或以更安全的手段分發(fā)。 考慮以下假定的對話: (1) C ? AS: IDC || PC || IDV (2) AS ? C: Ticket (3) C ? V : IDC || Ticket Ticket = EKV[IDC || ADC || IDV] 其中: C : client AS : Authentication Server V : server IDC : identifier of user on C IDV : identifier of V PC : password of user on C ADC : work address of C KV : AS與 V共有的保密密鑰 C V AS (1) (2) (3) 更安全的認證對話 ? 兩個主要問題 – 希望用戶輸入口令的次數(shù)最少。 – 口令以明文傳送會被竊聽。 ? 解決辦法 – ticket reusable – ticketgranting server 改進后的假想的對話: Once per user logon session: (1) C ? AS : IDC || IDtgs (2) AS ? C : EKC[Tickettgs] Once per type of service (3) C ? TGS : IDC || IDv || Tickettgs (4) TGS ? C : TicketV Once per service session (5) C ? V : IDC || TicketV Tickettgs = EKtgs[IDC||ADC||IDtgs||TS1||Lifetime1] TicketV = EKV[IDC||ADC||IDV||TS2||Lifetime2] C V AS (1) (2) (3) TGS (4) (5) Kerberos Kerberos V4 Authentication Dialogue ? 兩個問題 – 與 ticketgranting ticket相關(guān)的 Lifetime問題; – 需要服務(wù)器向客戶進行認證; ? 解決方案 – session key Summary of Kerberos Version 4 Message Exchanges (a) Authentication Service Exchange: to obtain ticketgranting ticket (1) C ? AS : IDC || IDtgs || TS1 (2) AS ? C : EKC[Kc,tgs || IDtgs || TS2 || Lifetime2 || Tickettgs] Tickettgs = EKtgs [Kc,tgs || IDC || ADC || IDtgs || TS2 || Lifetime2] (b) Ticketgranting Service Exchange: to obtain servicegranting ticket (3) C ? TGS : IDV || Tickettgs || Authenticatorc (4