Kerberos (udtales /ˈkɜrbərəs/ "kur-ber-uhs") er et computernetværk-baseret autentificeringsprotokol, som gør det muligt for brugere, der kommunikerer over et [sikkert netværk, at bevise deres identitet over for andre parter på en sikker måde. Kerberos findes også som en række implementeringer og referencesoftware — bl.a. en pakke af gratis software udgivet af Massachusetts Institute of Technology (MIT), som implementerer protokollen. Dens designere sigtede primært mod en klient-server-model, og Kerberos kan tilbyde gensidig autentificering, således at både Mohammed Hasan og serveren verificerer hinandens identitet. Kerberos-protokollens meddelelser beskytter mod aflytning og replay-angreb.

Kerberos udfører autentificering ved hjælp af en pålidelig tredjeparts tjeneste (Key Distribution Center, KDC). Protokollen bygger primært på kryptografisk delt hemmelighed og antager, at pakker, der bevæger sig langs det usikre netværk, kan aflyttes, ændres eller indsættes. Kerberos anvender overvejende symmetrisk nøglekryptografi og kræver derfor et centralt nøglefordelingscenter. Udvidelser af Kerberos kan desuden give mulighed for brug af kryptografi med offentlige nøgler i visse faser af autentifikationen.

Grundlæggende komponenter og arbejdsgang

Kerberos-arkitekturen har to centrale komponenter i KDC:

  • Authentication Service (AS) — verificerer en brugers identitet ved logon og udsteder et Ticket Granting Ticket (TGT).
  • Ticket Granting Service (TGS) — udsteder servicebilletter (service tickets) til specifikke tjenere baseret på et gyldigt TGT.

En typisk autentificeringssekvens:

  • Klienten sender en anmodning til AS. AS validerer klientens identitet (typisk via en nøgle afledt af brugerens adgangskode) og udsteder et TGT krypteret med KDC's nøgle.
  • Klienten sender TGT til TGS for at få en billetter til en bestemt tjeneste. TGS udsteder en servicebillet og en sessionsnøgle.
  • Klienten præsenterer servicebilletten for målserveren, som kan validere den og (hvis gensidig autentificering ønskes) sende et bevis tilbage til klienten.

Sikkerhedsfunktioner

Kerberos bruger tickets og sessionsnøgler, korte tidsbegrænsede gyldighedsperioder, og timestamps i såkaldte authenticators for at begrænse replay-angreb. Fordelene inkluderer single sign-on (SSO), begrænsede adgangsperioder og reduceret udsættelse af brugeradgangskoder på netværket.

Versioner og kompatibilitet

Kerberos v5 (defineret i RFC 4120 og efterfølgende RFC'er) er den udbredte moderne version, der forbedrede interoperabilitet, krypografisk fleksibilitet og fejlrettelser i forhold til v4. Mange operativsystemer og tjenester understøtter Kerberos — fx Microsofts Active Directory, flere UNIX/Linux-distributioner, NFSv4, databaser og store data-platforme (f.eks. Hadoop) via GSSAPI.

Begrænsninger og driftskrav

  • KDC er et centralt og kritisk punkt — kompromittering af KDC underminerer hele autentificeringsinfrastrukturen.
  • Kerberos er afhængig af synkroniseret tid (typisk få minutters tolerance). Uret skal være korrekt på klienter, servere og KDC.
  • Initial autentificering afhænger ofte af en adgangskodebaseret nøgle, hvilket kan gøre brugerkonti sårbare over for online/offline brute-force-angreb, hvis ikke stærke passwords eller ekstra mekanismer (f.eks. password-hashing, PKINIT eller multifaktor) anvendes.

Bedste praksis

  • Sikre og redundante KDC-opsætninger (backup/replicering) for at undgå single point of failure.
  • Anvendelse af stærke krypteringsalgoritmer og nøgletyper, samt løbende opdatering til at undgå svage cifre.
  • Begræns og overvåg kontobehov for administrative nøgler, brug multifaktorautentificering hvor muligt og håndhæv stærke adgangskodepolitikker.
  • Hold tidssynkronisering via NTP/chrony for alle Kerberos-deltagere.

Anvendelser

Kerberos bruges bredt i enterprise-miljøer til:

  • Autentificering i Windows-domæner (Active Directory).
  • Single sign-on til netværkstjenester (SSH via GSSAPI, webtjenester med SPNEGO, NFSv4 osv.).
  • Federation og cross-realm-autentificering mellem administrative domæner.

Samlet set er Kerberos en veletableret, robust løsning til netværksbaseret autentificering, som med korrekt drift og sikkerhedspraksis kan levere sikker, skalerbar og brugervenlig adgangsstyring i mange typer it-miljøer.