540 likes | 728 Views
Kerberos Authenticatie. Lex Zwetsloot Trainer - Consultant Messaging & Security. Kerberos Protocol. Onderwerpen: Client maakt Kerberos Authentication request (KRB_AS_REQ) en zendt deze naar KDC.
E N D
Kerberos Authenticatie Lex Zwetsloot Trainer - Consultant Messaging & Security
Kerberos Protocol • Onderwerpen: • Client maakt Kerberos Authentication request (KRB_AS_REQ) en zendt deze naar KDC. • Server genereert Sessiesleutel (SA) en verpakt deze met Ticket Granting Ticket (TGT) in Authentication Response. (KRB_AS_REP). • Client decodeert SA en vraagt daarna om een Serviceticket voor Server1 bij de KDC (KRB_AP_REQ). • KDC genereert sessiesleutel KAB en verpakt deze in serviceticket (2x) voor Client en Server1. (KRB_AP_REP) • Client decodeert eigen serviceticket en stuurt andere ticket met authenticatiestring naar Server1. Kerberos Authenticatie
Kerberos Protocol • De hoofdrolspelers: • Client PC met gebruiker Alice (Windows XP Professional) • Server1 (Windows Server 2003) • De KDC (een Windows 2003 Domain Controller)Lange termijn sleutels (long-term keys) • Userkey, afgeleid van gebruikerswachtwoord • Hostkey, eigen sleutel van Server1 • Masterkey van KDC (Key-KDC)Sessiesleutels (tijdelijke sleutels) • Sessionkey tussen KDC en Client PC • Sessionkey tussen Client PC en Server1 Kerberos Authenticatie
KDC (Key Distribution Center) Server1 Client PC Kerberos Authenticatie
KDC (Key Distribution Center) Server1 Client PC Kerberos Authenticatie
KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket Server1 Client PC Kerberos Authenticatie
KA is ook bekend In Master-database… KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket SHA Server1 Client PC Kerberos Authenticatie
KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket Timestamp (e.g. “20060121092354z”) Server1 Client PC Kerberos Authenticatie
RC4 KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket 6b3e77019fc853dae7b Timestamp (e.g. “20060121092354z”) Server1 Client PC Kerberos Authenticatie
KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket 6b3e77019fc853dae7b Server1 Client PC Kerberos Authenticatie
Pre-authentication data(Windows optie) KDC (Key Distribution Center) KRB_AS_REQ 6b3e77019fc853dae7b Server1 Client PC Kerberos Authenticatie
KRB_AS_REQ 6b3e77019fc853dae7b KDC (Key Distribution Center) TGS TGS = Ticket Granting Service Server1 Client PC Kerberos Authenticatie
KRB_AS_REQ 6b3e77019fc853dae7b RC4 KDC (Key Distribution Center) TGS (Alice) ! ? User is Alice!! = OK Timestamp Het meegezonden en versleuteldetimestamp wordt ontsleuteld metAlice’s long-term key (KA) uit de KDC database … Server1 Client PC Kerberos Authenticatie
Valid until: …… TGT KRB_AS_REQ 6b3e77019fc853dae7b RC4 Valid until: …… TGT Long-term keys KDC User keys KDC genereert sessie-sleutel (SA) voor client … maakt een Ticket Granting Ticket (TGT)aan en kopieert SA hierin … TGT wordt met KDC Master Key,(KKDC), versleuteld Server1 Client PC Kerberos Authenticatie
RC4 Valid until: …… TGT … SA wordt nu met KAnogmaals versleuteld … Long-term keys KDC User keys Server1 Client PC Kerberos Authenticatie
Valid until: …… TGT Beide onderdelen wordenin het “KRB_AS_REP” ticketgeplaatst. (Authentication Service_REPly) Long-term keys KDC User keys KRB_AS_REP Server1 Client PC Kerberos Authenticatie
Beide onderdelen wordenin het “KRB_AS_REP” ticketgeplaatst. (Authentication Service_REPly) Long-term keys KDC User keys Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys … Client decodeert Sessiesleutel met KA… Server1 Client PC Kerberos Authenticatie
Valid until: …… TGT Long-term keys KDC User keys …het meegezonden TGTblijft versleuteld en wordtin RAM bewaard … Server1 Client PC Kerberos Authenticatie
TGT Valid until: …… Valid until: …… TGT Long-term keys KDC User keys Server1 Client PC Kerberos Authenticatie
TGT Valid until: …… Long-term keys KDC User keys In Client RAM … Client is nu geauthenticeerd … Server1 Client PC Kerberos Authenticatie
TGT Valid until: …… RC4 Long-term keys KDC User keys In Client RAM … Fase 2 … Client vraagtServiceticket aanvoor sessie met Server1… 6b3e77019fc853dae7b … Timestamp wordt versleu-teld met zojuist verkregensessiesleutel SA … Timestamp Server1 Client PC Kerberos Authenticatie
TGT TGT Valid until: …… Valid until: …… Valid until: …… TGT Long-term keys KDC User keys In Client RAM … 6b3e77019fc853dae7b Timestamp Server1 Client PC Kerberos Authenticatie
Valid until: …… TGT Long-term keys KDC User keys KRB_TGS_REQ (Service request) 6b3e77019fc853dae7b Timestamp Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys TGS Timestamp Server1 Client PC Kerberos Authenticatie
RC4 Valid until: …… Valid until: …… TGT TGT Long-term keys KDC User keys TGS KDC decodeert TGT weer metKKDC om over sessiesleutel SAte kunnen beschikken Timestamp Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys TGS 6b3e77019fc853dae7b Authenticatie d.m.v.decoderen timestampmet sessiesleutel SA = OK Timestamp Timestamp Valid until: …… TGT Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys TGS (Request) \\Server1\share\MyDoc.doc MyDoc.doc Timestamp Valid until: …… TGT Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys TGS Timestamp Server1 (Request) \\Server1\share\MyDoc.doc MyDoc.doc Timestamp Valid until: …… TGT Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys TGS Server1 Timestamp Valid until: YYMMDD:h… KDC genereert sessiesleutel ◄ (KAB) voor communicatie ► tussen Client en Server1 Timestamp Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys Host keys TGS ? ! (Server1) Server1 Server1 Timestamp KDC zoekt host-key (KB)van Server1 in database Valid until: YYMMDD:h… KDC genereert sessiesleutel ◄ (KAB) voor communicatie ► tussen Client en Server1 Timestamp Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys Host keys TGS Server1 Server1 Timestamp Valid until: YYMMDD:h… Timestamp Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys Host keys TGS KDC maakt serviceticket aanvoor de client, met daarin: * de naam van de user, * de gewenste Server,* een timestamp, * de geldigheidsduur en * de sessiesleutel KAB voor communicatie tussen Client en Server 1 Server1 Timestamp Valid until: YYMMDD:h… Timestamp Server1 Client PC Kerberos Authenticatie
Server1 Timestamp Valid until: YYMMDD:h… Long-term keys KDC User keys Host keys TGS KDC maakt serviceticket aanvoor de client, met daarin: * de naam van de user, * de gewenste Server,* een timestamp, * de geldigheidsduur en * de sessiesleutel KAB voor communicatie tussen Client en Server 1 … en kopieert deze, zodat Client en Server1 beiden over een exemplaar kunnen beschikken … Timestamp Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys Host keys TGS KDC maakt serviceticket aanvoor de client, met daarin: * de naam van de user, * de gewenste Server,* een timestamp, * de geldigheidsduur en * de sessiesleutel KAB voor communicatie tussen Client en Server 1 … de versie voor Server1wordt versleuteld met de host-key (KB) van Server1 … en kopieert deze, zodat Client en Server1 beiden over een exemplaar kunnen beschikken … Timestamp Server1 Client PC Kerberos Authenticatie
Server1 Timestamp Valid until: YYMMDD:h… Long-term keys KDC User keys Host keys TGS … en deze versleutelde versie wordt geplaatst in het serviceticket voor de client … Timestamp Server1 Client PC Kerberos Authenticatie
Server1 Timestamp Valid until: YYMMDD:h… Long-term keys KDC User keys Host keys TGS Timestamp Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys Host keys TGS … het geheel wordt daarnaversleuteld met de sessie-sleutel SA, die alleen bij KDC en Client bekend is … Timestamp Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys Host keys TGS Timestamp Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys Host keys Na ontvangst door de clientlevert ontsleuteling met SAweer beide onderdelen op.Het deel voor Server1 blijftversleuteld + Timestamp Server1 Client PC Kerberos Authenticatie
+ Long-term keys KDC User keys Host keys Na ontvangst door de clientlevert ontsleuteling met SAweer beide onderdelen op.Het deel voor Server1 blijftversleuteld Timestamp Server1 Client PC Kerberos Authenticatie
Server1 Timestamp Valid until: YYMMDD:h… Long-term keys KDC User keys Host keys …de Client beschikt nuover sessiesleutel KAB,voor communicatie metServer1 … + Timestamp Server1 Client PC Kerberos Authenticatie
Server1 Timestamp RC4 Valid until: YYMMDD:h… … en versleutelt hiermee een timestamp voor Server1, als bewijs van authenticatie … Long-term keys KDC User keys Host keys …de Client beschikt nuover sessiesleutel KAB,voor communicatie metServer1 … 6b3e77019fc853dae7b Timestamp Timestamp Server1 Client PC Kerberos Authenticatie
… en versleutelt hiermee een timestamp voor Server1, als bewijs van authenticatie … Long-term keys KDC User keys Host keys 6b3e77019fc853dae7b Timestamp Timestamp Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys Host keys Timestamp 6b3e77019fc853dae7b Server1 Client PC Kerberos Authenticatie
6b3e77019fc853dae7b 6b3e77019fc853dae7b Long-term keys KDC User keys Host keys Timestamp Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys Host keys … Server1 moet nu KAB verkrijgendoor het ontvangen pakket metzijn host-key (KB) te ontsleutelen … Timestamp 6b3e77019fc853dae7b Server1 Client PC Kerberos Authenticatie
Server1 Timestamp Valid until: YYMMDD:h… Long-term keys KDC User keys Host keys Timestamp 6b3e77019fc853dae7b Server1 Client PC Kerberos Authenticatie
RC4 Long-term keys KDC User keys Host keys …nu kan het timestampgecontroleerd worden … = OK Timestamp Server1 Timestamp Timestamp Valid until: YYMMDD:h… 6b3e77019fc853dae7b Server1 Client PC Kerberos Authenticatie
Long-term keys KDC User keys Host keys = OK Timestamp Server1 Timestamp Timestamp Valid until: YYMMDD:h… Server1 Client PC Kerberos Authenticatie