
04-20-2009
|
|
Part Time Redaktør og Full Time Dad
|
|
|
Join Date: Sep 2006
Beliggenhed: Rossem, Tazenda
Indlæg: 1.086
|
|
Læs mere om det Kerberos-protokollen fra Wikipedia (citeret nedenfor)
Citat:
Protokol
Sikkerheden i protokollen er stærkt afhængig af deltagerne opretholde løst synkroniseret tid og kortlivede påstande om autenticitet kaldes Kerberos-billetter.
Hvad der følger er en forenklet beskrivelse af protokollen. Følgende forkortelser vil blive brugt:
* AS \u003d Authentication Server
* SS \u003d Service Server
* TGS \u003d Billet-Tildeling Server
* TGT \u003d Billet-Tildeling Billet
Klienten godkender til AS gang med en langsigtet delt hemmelighed (fx en adgangskode), og modtager en TGT fra AS. Senere, når kunden ønsker at kontakte nogle SS, kan det (gen) bruge denne billet for at få ekstra billetter til SS, uden at ty til at bruge den delte hemmelighed. Disse billetter kan bruges til at bevise godkendelse til SS.
Faserne er nærmere beskrevet nedenfor.
User Client-baserede Logon
1. En bruger indtaster et brugernavn og password på klient-maskinen.
2. Klienten udfører en envejs-funktion (hash meste) om den indtastede adgangskode, og dette bliver den hemmelige nøgle for kunden / brugeren.
Client Authentication
1. Klienten sender en cleartext besked til AS anmodende tjenesteydelser på vegne af brugeren. Prøve besked: "Bruger XYZ vil gerne anmode om tjenesteydelser". Bemærk: Hverken den hemmelige nøgle eller adgangskoden er sendt til AS. Men selv om de hemmelige nøgler er ikke sendt til AS, at AS er stadig i stand til at generere den samme hemmelige nøgle af hashing adgangskoden til kunden / brugeren fra sin egen sikkerhed, database (f.eks Active Directory i Windows Server
2. Det som kontrol, for at se, om kunden er i sin database. Hvis det er, AS sender tilbage de følgende to meddelelser til kunden:
* Besked A: Klient / TGS sessionsnøgle krypteret ved hjælp af den hemmelige nøgle for kunden / brugeren.
* Besked B: Billet-Bevilling Billet (som omfatter kunde-id, klient netadresse, billet gyldighedsperioden, og kunden / TGS sessionsnøgle) krypteres vha. den hemmelige nøgle af TGS.
3. Når kunden modtager beskeder, A og B, er det dekrypterer beskeden A for at opnå Client / TGS sessionsnøgle. Denne samling nøgle bruges til yderligere kommunikation med TGS. (Bemærk: Klienten kan ikke dekryptere besked B, da det er krypteret vha. TGS's hemmelige nøgle.) På dette punkt, at kunden har nok information til at godkende sig til TGS.
Client Service Authorization
1. Når der anmodes om tjenesteydelser, kunden sender følgende to budskaber til TGS:
* Besked C: Sammensat af TGT fra besked B og ID af den ønskede service.
* Besked D: Authenticator (som er sammensat af kunde-id og timestamp), krypteret ved hjælp af Client / TGS sessionsnøgle.
2. Ved modtagelse af beskeder, C og D, TGS henter budskab B ud af besked C. Det dekrypterer beskeden B ved hjælp af TGS hemmelige nøgle. Dette giver det "klient / TGS sessionsnøgle". Ved hjælp af denne nøgle, TGS dekrypterer beskeden D (Authenticator) og sender følgende to meddelelser til kunden:
* Besked E: Klient-til-server billet (som omfatter de kunde-id, klient netadresse, gyldighedsperiode og Client / Server sessionsnøgle) krypteret ved hjælp af tjenestens hemmelige nøgle.
* Besked F: Client / server sessionsnøgle krypteret med Client / TGS sessionsnøgle.
Client Service Request
1. Ved modtagelse af beskeder, E og F fra TGS, har kunden tilstrækkelige oplysninger til at godkende sig til SS. Klienten får forbindelse til SS og sender følgende to budskaber:
* Besked E fra det forrige trin (klient-til-server billet, krypteres med tjenestens hemmelige nøgle).
* Besked G: en ny Authenticator, som omfatter de kunde-id, timestamp og er krypteret vha. klient / server-sessionsnøgle.
2. SS afkrypterer billetten ved hjælp af sin egen hemmelige nøgle for at hente Client / Server sessionsnøgle. Brug af sessions nøgle, SS afkrypterer Authenticator og sender følgende besked til kunden at bekræfte sin sande identitet og vilje til at tjene kunden:
* Besked H: tidsstemplet findes i kundens Authenticator plus 1, krypteret ved hjælp af Client / Server sessionsnøgle.
3. Klienten afkrypterer bekræftelse ved hjælp af Client / Server Session Key og kontrollerer, om tidsstemplet er korrekt opdateret. Hvis ja, så kunden kan stole på serveren og kan begynde at udstede service anmodninger til serveren
4. Serveren leverer de ønskede ydelser til kunden.
|
|