除了通用的密碼機制之外,開放式網路沒有其他方式可確保工作站能正確識別它的使用者。在一般安裝中,每次存取網路內的服務時,使用者都必須輸入密碼。Kerberos 提供一種驗證方法,讓使用者只需註冊一次,之後其餘的工作階段在整個網路中皆受到信任。要有安全網路必須符合下列需求:
要求所有使用者證明他們的識別身份之後,才能取得每項想要的服務,並確定他人沒有盜用該識別身份。
確定每台網頁伺服器也能證明其識別身份。否則攻擊者有可能會假扮成伺服器,並取得傳輸給伺服器的機密資訊。此概念稱為「相互驗證」,因為用戶端會驗證伺服器,而且反之亦然。
Kerberos 可提供強化的加密驗證,協助您達成這些需求。下列會顯示達成的方式。此處只會討論 Kerberos 的基本原則。如需詳細的技術說明,請參閱 Kerberos 執行方式所提供的文件。
下列詞彙定義部分 Kerberos 術語。
票證是每一台伺服器的身份證明,用戶端會在向其要求服務的伺服器上使用以供驗證。它包含伺服器名稱、用戶端的名稱、用戶端的網際網路位址、時間戳記、存在時間以及隨機的工作階段金鑰。所有這類資料都會使用伺服器金鑰來加密。
授權者是結合票證,用來證明持有票證的用戶端,的確是其所宣稱的身份。授權者是由用戶端的名稱、工作站的 IP 位址與目前工作站的時間,全都以工作階段金鑰加密而建立的,該金鑰只有用戶端與向其要求服務的伺服器知道。不像票證,授權者只能使用一次。用戶端可以自行建立授權者。
Kerberos 原則是可指定給票證的唯一實體 (使用者或服務)。原則是由下列元件所組成:
主要—原則的第一部分,就使用者而言,此部分可以與使用者名稱相同。
例項—一些可描述「主要」部分的選擇性資訊。此字串會以 /
來與「主要」部分分隔。
領域—指定您的 Kerberos 領域。領域 (Realm) 通常就是以大寫字母書寫的網域 (domain) 名稱。
Kerberos 可確保用戶端與伺服器雙方都能確定彼此的識別身份。它們會共用工作階段金鑰,來與彼此安全通訊。
工作階段金鑰是由 Kerberos 產生的暫時私密金鑰。用戶端會知道這些金鑰,而且用來加密用戶端與伺服器間的通訊,以供要求與接收票證。
在網路中傳送的所有訊息幾乎會被偷聽、竊取和重送。如果攻擊者設法取得包含您票證與授權者的服務要求,在 Kerberos 內容中,這是最危險的情況。攻擊者之後可以重送該要求 (「重播」) 假扮成您的身份。不過,Kerberos 會執行數種機制來處理該問題。
「服務」是用來稱呼所執行的特定動作。此動作背後的程序則稱為「伺服器」。