Innen informasjonsteknologi og telekommunikasjon er Kerberos en nettverksprotokoll for sterk autentisering som lar ulike terminaler kommunisere på et usikkert datanettverk, og beviser deres identitet gjennom bruk av symmetriske krypteringsteknikker . Kerberos forhindrer angrep som avlytting og gjentaksangrep og sikrer dataintegritet . Dens designere sikter først og fremst mot en klient-server- modell , og den gir gjensidig autentisering, det vil si at både brukeren og tjenesteleverandøren kan bekrefte identiteten til den andre.
Massachusetts Institute of Technology (MIT) utviklet Kerberos for å sikre nettverkstjenestene levert av Project Athena . Protokollen ble døpt som den mytologiske karakteren Cerberus , som i gresk mytologi var den trehodede hunden plassert for å vokte Hades . Det finnes flere versjoner av protokollen; versjon 1 til 3 ble bare brukt innen MIT.
Steve Miller og Clifford Neuman, hovedutviklerne av Kerberos versjon 4, ga ut denne versjonen på slutten av 1980-tallet, selv om den hovedsakelig ble utviklet for Project Athena.
Versjon 5, designet av John Kohl og Clifford Neuman, ble formalisert i RFC 1510 i 1993 (gjort foreldet av RFC 4120 i 2005 ), med den hensikt å løse begrensningene og sikkerhetsproblemene til versjon 4.
MIT tilbyr en gratis Kerberos-implementering under en BSD -lignende lisens .
Amerikanske myndigheter klassifiserte Kerberos som et våpen og forbød eksport da den brukte DES -krypteringsalgoritmen (med 56 -bits nøkler ). En ikke-amerikansk implementering av Kerberos, KTH-KRB utviklet i Sverige , gjorde systemet tilgjengelig også utenfor USA, før de endret eksportloven om kryptografiske algoritmer (rundt 2000 ). Den svenske implementeringen av protokollen var basert på en versjon av Kerberos kalt eBones. eBones var basert på MIT Bones-versjonen (i utgangspunktet en versjon av Kerberos uten kryptografiske funksjoner og deres kall) avledet fra Kerberos 4 patchlevel 9. Australieren Eric Young, forfatter av flere kryptografiske biblioteker, la inn kallene til kryptografiske funksjoner på nytt ved å bruke det eget libdes- biblioteket . Denne begrensede versjonen av Kerberos ble kalt eBones. En implementering av Kerberos versjon 5, Heimdal , ble i hovedsak utgitt av den samme gruppen som opprettet KTH-KRB.
Windows 2000 , Windows XP og Windows Server 2003 bruker en variant av Kerberos som standard autentiseringssystem. Noen Microsoft -tillegg til Kerberos er dokumentert i RFC 3244 " Microsoft Windows 2000 Kerberos Change Password and Set Password Protocols ". Apples macOS bruker også Kerberos i både klient- og serverversjonen.
I 2005 oppdaterte IETF Kerberos Working Group spesifikasjonen [1] . Nylige oppdateringer inkluderer:
Kerberos er basert på Needham-Schroeder-protokollen . Den bruker en pålitelig tredjepart for å sentralisere nøkkeldistribusjon kalt Key Distribution Center (KDC), som består av to logisk atskilte deler: Authentication Server (AS) og Ticket Granting Server (TGS). Kerberos fungerer ved å bruke «billetter» (kalt billetter ) som brukes til å bevise brukernes identitet.
AS opprettholder en database med hemmelige nøkler; hver enhet på nettverket - det være seg en klient eller en server - deler den hemmelige nøkkelen kun med AS. Kunnskap om denne nøkkelen tjener til å bevise identiteten til en enhet. For kommunikasjon mellom to enheter genererer Kerberos en sesjonsnøkkel, som kan brukes av de to terminalene til å kommunisere.
Protokollen kan defineres som følger ved å bruke notasjonen for sikkerhetsprotokoller , der Alice ( A ) autentiserer til Bob ( B ) ved hjelp av server S :
Sikkerheten til protokollen er sterkt avhengig av tidsstempler T og levetider L som pålitelige indikatorer på den nylige opprettelsen av kommunikasjonen for å unngå replay-angrep (se BAN-logikk ).
Det er viktig å merke seg at S-serveren både er en Autentiseringstjeneste (AS) og en Ticket Granting Service (TGS).
Følgende er en forenklet beskrivelse av protokollen. Følgende forkortelser vil bli brukt: AS = Authentication Server, TGS = Ticket Granting Server, SS = Service Server.
Kort sagt: klienten autentiserer med AS som gir ham en sesjonsbillett for å få tilgang til TGS, autentiserer med TGS og mottar billetten for å åpne en kommunikasjonsøkt med SS.
I detalj:
Bruker: Grunnleggende autentiseringFølgende programvare er i stand til å bruke Kerberos for autentisering: