Kerberos ● Bezpečnost zaručená třetí stranou ● Autentikátory, KDC ● Lístky relace ● Lístky na vydávání lístků ● Autentizace mezi doménami ● Dílčí protokoly ● Struktura lístků ● Struktura KDC
Kerberos ● Situace: důvěryhodné uzly v nedůvěryhodném prostředí ● Řešení: spolehnout se na důvěryhodnou třetí stranu ● Princip sdíleného tajemství – vzájemné prokázání totožnosti ● Tímto tajemstvím je šifrovací klíč ● Symetrická kryptografie, pro autentizaci asymetrická
Autentikátory ● ověřovací data ● Server požaduje autenizaci klientu nebo naopak – s daty je vyslán kód známý oběma stranám a obě strany jej mohou dešifrovat ● Pro každou akci je třeba unikátní autentikátor – údaje se berou z časovače ● Autentizačními daty mohou být i jména počítačů ● Server vrátí klientu zašifrovaný čas z autentikátoru (důkaz dešifrování) a pošle zpět ke kontrole
Key Distribution Center ● Centralizovaná správa šifrovacích klíčů ● „třetí hlava“ Kerberova ● Operuje nad danou oblastí – realm, doména ● Udržuje databázi účtů klientů a doprovodné databáze ● Uschovává sdílené šifrovací klíče (pouze long-term) – zpravidla otisky hesel
KDC ● Klient osloví KDC, dostane klíč relace. Stejný klíč je předán i serveru ● Komunikace server-klient: klient odešle žádost šifrovanou vlastním klíčem KDC ● KDC vygeneruje klíč relace, zašifruje klíči klienta i serveru a oboje pošle klientu ● Klient svůj klíč relace rozšifruje a uloží, pošle na server autentikátor zašifrovaný klíčem relace a lístek relace (zpráva pro server)
KDC ● Server rozšifruje lístek relace svým klíčem a použije ho pro rozšifrování autentikátoru ● Zkontroluje čas, zahodí lístek i nepotřebný relační klíč (oboje má klient) a otevře relaci ● Platnost lístku je dána konfigurací (zpravidla 8 hodin) a lze jej použít víckrát
Lístky na vydávání lístků ● Lístky na komunikaci s KDC ● long-term klíče generované jako hash uživatelského hesla ● Vytvářejí ho Kerberos klienty a vygenerované klíče odesílají KDC s žádostí o prvotní lístek relace – TGT ● Funguje jako náhrada neustálého autentizování se
Autentizace mezi doménami ● AS – vydává TGT klientům ● TGS – vydává lístky relace ● Dvě domény – vygeneruje se mezidoménový klíč pouze pro tuto komunikaci, pokud je spojení uzavřeno, může fungovat libovolný TGS pro libovolnou doménu ● doménové servery se navzájem ověřují předávacím lístkem šifrovaným mezidoménovým klíčem ● Více domén – bilaterálně (každá s každou)
Podprotokoly ● AS, TGS,CS ● AS zajistí vytvoření TGT na základě autentizace uživatele – uživatel a služba, čas a další údaje ● TGS je pro běžný provoz – na základě TGT generuje lístky pro dílčí relace ● CS navazuje relaci na základě autentikátoru
Lístek ● klíč;hodnota ● Verze, doména která vydala lístek, jméno serveru, příznaky, klíč relace, doména klientu, jméno klientu, domény podílející se na autentizaci, aktuální čas, čas odkdy je lístek platný, expirace, maximální doba platnosti, dedikovaná adresa, autotrizační data (mimo Kerberos) ● RFC 1510