User Tools

Site Tools


kerberos

Kerberos

Kerberos je mrežni autentifikacijski protokol čija je svrha međusobna autentifikacija klijenata i poslužitelja u svrhu uspostave sigurne komunikacije, a čiji pristup problemu se svodi na stvaranje servisa čija je jedina zadaća autentifikacija te pomoću kojeg oslobađamo ostale servise od potrebe za održavanjem vlastite baze podataka o svim korisnicima. Kako bi ovakav pristup radio, svi klijenti i poslužitelji moraju posjedovati zajednički tajni ključ registritan 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:

  1. Principal - korisnik ili servis koji treba autentificirati.
  2. Centar za distribuciju ključeva (Key Distribution Center (KDC)) - centralni autentifikacijski server u Kerberos okruženju. Sastoji se od dva dijela:
    1. Autentifikacijski poslužitelj (Authentication Server (AS)) - obavlja inicijalnu autentifikaciju te izdaje inicijalnu karticu (ticket) za TGT (Ticket Granting Ticket)
    2. Ticket Granting Service (TGS) - upravlja zahtjevima za kartice
  3. Domena (Realm) - kerberosova administrativna domena, definira doseg autentifikacije (npr. Domena.com)
  4. Baza podataka - AS verificira pristupne dozvole svih korisnika u bazi

Autentifikacija se se odvija u sljedećim koracima:

  1. Korisnik šalje upit o autentifikaciji AS-u i zahtjeva TGT
  2. AS se priprema za povezivanje klijenta i poslužitelja, odnosno korisnika i servisa.
    1. Generira se novi tajni ključ kojeg će dijeliti samo korisnik i servis
    2. AS šalje korsiniku dvodijelnu poruku. Prvi dio sadrži novi ključ enkriptiran pomoću trajnog ključa korisnika. Drugi dio sadrži taj isti novi ključ, zajedno s imenom korisnika, enkriptirane pomoću trajnog ključa servisa. U kerberosu prvi dio poruke često nazivamo vjerodajnicama (eng. credentials), drugi karticom (ticketom), a novi ključ ključem sesije (eng. session key). U ovom trenutku, samo korisnik ima ključ sesije.
  3. Korisnik generira novu poruku, odnosno autentifikator, i kriptira je ključem sesije. Poruka i ticket se zatim šalju servisu. Servis dekriptira karticu dugotrajnim ključem i time dolazi do ključa sesije, koji se zatim koristi za dekripciju autentifikatora. Servis vjeruje AS-u, tako da zna da je samo legitiman korisnik mogao poslati poruku. Ovime je proces autentifikacije završen.

 Shema kerberos komunikacije

Kerberos je podložan određenim napadima, kao na primjer krađi TGT-a ili napadima s poznatim jasnim tekstom. Kako bi se rizik od krađe kartica smanjio, kartice tipično imaju „rok trajanja“ od 8 sati. Također, postoje razna proširenja kerberosa, kao npr. PKINIT (kerberos with Public Key cryptography for INITial authentication), koje poboljšavaju sigurnost.

Izvori

kerberos.txt · Last modified: 2023/11/27 13:30 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki