User Tools

Site Tools


kerberos

This is an old revision of the document!


Kerberos

Kerberos je mrežni autentifikacijski protokol čija je svrha međusobna autentifikacija klijenata i poslužitelja u svrhu uspostave sigurne komunikacije. Stvara se zaseban servis za autentifikaciju pa ostali servisi ne moraju održavati vlastitu bazu podataka o svim korisnicima. Kako bi ovakav pristup radio, svi klijenti i poslužitelji moraju posjedovati zajednički tajni ključ registriran kod autentifikacijskog poslužitelja. Ključevi su dugotrajni, odnosno traju tjednima ili čak mjesecima. Kerberos u pravilu koristi UDP port 88 i oslanja se na simetričnu kriptografiju ključa.

Osnovne komponente Kerberosa su:

  • Principal - korisnik ili servis koji treba autentificirati
  • Centar za distribuciju ključeva (Key Distribution Center, KDC) - centralni autentifikacijski poslužitelj u Kerberos okruženju, sadrži:
    • Autentifikacijski poslužitelj (Authentication Server, AS) - obavlja inicijalnu autentifikaciju te izdaje inicijalnu karticu (ticket)
    • Distributer kartica (Ticket Granting Service ,TGS) - upravlja zahtjevima za kartice
  • Domena (Realm) - Kerberosova administrativna domena, definira doseg autentifikacije (npr. Domena.com)
  • Baza podataka - AS verificira pristupne dozvole svih korisnika u bazi

Autentifikacija se se odvija u sljedećim koracima:

1. Korisnik započinje proces autentifikacije tako da pošalje zahtjev autentifikacijskom poslužitelju

2. Autentifikacijski poslužitelj generira novi tajni ključ i šalje dvodijelnu poruku:

a) prvi dio sadrži kljuć sjednice šifriran tajnim ključem korisnika (često je to sažetak lozinke korisnika) b) drugi dio sadrži “Karticu za izdavanje kartica” (engl. Ticket-granting ticket) šifriranu tajnim ključem

        distributera kartica . U "kartici za izdavanje kartica" nalazi se i identifikator korisnika, rok trajanja kartice i ključ sjednice.

3. Korisnik dešifrira prvi dio poruke svojim tajnim ključem i tako dobiva ključ sjednice koji koristi za šifriranje komunikacije s distributerom kartice.

4. Korisnik šalje zahtjev za autentifikaciju na neki servis (npr. neku web aplikaciju) distributeru kartica. Zahtjev se sastoji od:

a) Poruke opisane u dijelu “2b” i identifikatora servisa na koji se korisnik želi autentificirati. Podsjetimo se da je ta poruka opisana u dijelu “2b” šifrirana tajnim ključem distributera kartice. b) Identifikator korisnika i vremenska oznaka

5. Distributer kartica dešifrira poruku “4a” svojim tajnim ključem te tako dobije ključ sjednice, zatim dešifrira poruku “4b”. Uspoređuju se korisnički identifikatori iz poruka “4a” i “4b”, ako se poklapaju, distributer kartica zna da je zahtjev autentičan. Također se uspoređuju vremenska oznaka i rok trajanja. Ako se distirbuter kartica uvjerio u autentičnost podataka šalje:

a) Ključ sjednice za komunikaciju sa servisom b) Karticu za servis (engl. service ticket) - šifriranu tajnim ključem servisa. U njoj se nalazi korisnički identifikator, vremenska oznaka te ključ iz dijela “5a”

6. Korisnik servisu pošalje:

a) Karticu za servis (iz dijela 5b) b) Korisnički identifikator - šifriran ključem iz dijela 5a

7. Servis dešifrira “karticu za servis” pomoću svog tajnog ključa i tako dobije ključ kojim može dešifrirati poruku “6b”. Uspoređuje korisničke identifikatore i vremenske oznake iz poruka 6a i 6b i ako je sve u redu, korisnik je autentificiran

 Shema kerberos komunikacije

Uloga kartice slična je ulozi akreditacije na poslovnim događajima. Da bismo dobili akreditaciju, moramo pokazati osobnu iskaznicu. Nakon toga za potrebe identificiranja pokazujemo samo akreditaciju, a osobnu iskaznicu više ne vadimo. Ako izgubimo akreditaciju, jednostavno zatražimo novu tako što opet pokažemo osobnu iskaznicu nadležnoj osobi. Analogno, korisnik jednom upiše lozinku i dobije karticu te nakon toga više nema potrebe za upisivanjem lozinke, već se autentifikacija radi preko kartice. Isto tako, korisnik može u bilo kojem trenutku tražiti novu karticu. Naravno, kad je u pitanju internetska sigurnost, potrebne su dodatne mjere, stoga se uvodi ograničeno vrijeme trajanje kartice (8 do 10 sati) i još se za dodatnu autentifikaciju koristi ključ sesije koji je jednokratan.

Izvori

kerberos.1701087973.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki