Kerberos (uttalas /ˈkɜrbərəs/ "kur-ber-uhs") är ett protokoll för autentisering av datanätverk som gör det möjligt för parter som kommunicerar över ett säkert nätverk att bevisa sin identitet för varandra på ett säkert sätt. Det är också en svit av fri programvara som publicerats av Massachusetts Institute of Technology (MIT) och som implementerar detta protokoll. Dess konstruktörer utgick främst från en klient–server-modell, och protokollet ger ömsesidig autentisering — både klienten och servern verifierar varandras identitet. Kerberosprotokollets meddelanden är skyddade mot avlyssning och återgivningsattacker.

Kerberos utför autentisering som en betrodd tredjeparts-tjänst med hjälp av kryptografisk delad hemlighet, under antagandet att paket som färdas i det osäkra nätverket kan läsas, ändras eller infogas av en angripare. Kerberos bygger i huvudsak på kryptografi med symmetriska nycklar och kräver en nyckelfördelningscentral (Key Distribution Center, KDC). Utvidgningar av Kerberos kan ge möjlighet att använda kryptografi med offentliga nycklar under vissa faser av autentiseringen, till exempel för förautentisering eller nyckelutbyte.

Hur Kerberos fungerar i korthet

Grundidén är att användaren (klienten) först autentiserar sig mot en betrodd auktoritet (KDC) och får en tidsbegränsad "biljett" (ticket) som kan presenteras för tjänster (servrar) för att få tillgång. De viktigaste stegen är:

  • AS (Authentication Service): Klienten begär en biljett från KDC genom att bevisa sin identitet (vanligtvis med ett lösenordsbaserat nyckel). KDC utfärdar då en Ticket-Granting Ticket (TGT).
  • TGS (Ticket Granting Service): Med TGT kan klienten be om servicebiljetter för specifika servrar utan att skicka sitt lösenord igen. TGS returnerar en servicebiljett krypterad med serverns nyckel.
  • Access till tjänst: Klienten skickar servicebiljetten till servern som verifierar den och, om den är giltig, öppnar tjänsten för klienten. Ofta ingår även en sessionnyckel som används för att skydda vidare kommunikation.
  • Ömsesidig autentisering: Servern kan också bevisa sin identitet för klienten, vilket motverkar man-in-the-middle-attacker.

Nyckelkomponenter

  • KDC (Key Distribution Center): Central del som innehåller AS och TGS. Är en kritisk komponent och en potentiell single point of failure.
  • Biljetter (Tickets): Tidsbegränsade paket som bekräftar att användaren blivit autentiserad av KDC och som innehåller sessionnycklar.
  • Authenticators: Krypterade data (ofta innehållande tidsstämplar) som används för att hindra återgivningsattacker.
  • Sessionnycklar: Tillfälliga symmetriska nycklar som skyddar kommunikationen mellan klient och server.

Säkerhetsaspekter och begränsningar

  • Kerberos förutsätter att klienternas och servernas klockor är synkroniserade (vanligtvis inom några minuter). Tidsstämplar används för att förhindra replay-attacker.
  • KDC är en kritisk komponent och ett mål för angripare; komprometteras KDC kan hela domänen äventyras.
  • Lösenordsbaserad autentisering är sårbar för brute-force om användare har svaga lösenord. Starka lösenord eller användning av offentliga nyckelmetoder (t.ex. PKINIT) rekommenderas.
  • Kerberos v5 (specificerat i RFC 4120) är den moderna versionen och innehåller förbättringar jämfört med tidigare varianter.

Användning och implementeringar

Kerberos används brett i företagsmiljöer, bland annat som autentiseringsgrund i Microsofts Active Directory och i många Unix-/Linux-miljöer. Vanliga egenskaper i implementationer är stöd för:

  • cross-realm-authentisering (för att tillåta autentisering mellan olika domäner)
  • forwardable och renewable tickets (för flexibilitet i sessionhantering)
  • integration med andra säkerhetsprotokoll och tjänster

Sammanfattning

Kerberos är ett väl etablerat och effektivt protokoll för nätverksautentisering som erbjuder ömsesidig autentisering, tidsbegränsade biljetter och skydd mot avlyssning och återgivningsattacker. För att fungera säkert krävs dock korrekt drift — säker KDC-hantering, klocksynkronisering och starka autentiseringsuppgifter. Moderna utvidgningar minskar vissa svagheter genom att kombinera symmetrisk och asymmetrisk kryptografi vid behov.