Kerberos Authenticatie Lex Zwetsloot Trainer - Consultant Messaging & Security
Kerberos Authenticatie 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 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
Kerberos Authenticatie KDC (Key Distribution Center) Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) KA is ook bekend In Master-database… Client genereert het KRB_AS_REQ ticket SHA Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket Timestamp (e.g. “20060121092354z”) Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket 6b3e77019fc853dae7b RC4 Timestamp (e.g. “20060121092354z”) Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) Client genereert het KRB_AS_REQ ticket 6b3e77019fc853dae7b Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) KRB_AS_REQ 6b3e77019fc853dae7b Pre-authentication data (Windows optie) Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) TGS 6b3e77019fc853dae7b KRB_AS_REQ TGS = Ticket Granting Service Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie KDC (Key Distribution Center) 6b3e77019fc853dae7b KRB_AS_REQ TGS (Alice) ? ! RC4 = OK User is Alice!! Timestamp Het meegezonden en versleutelde timestamp wordt ontsleuteld met Alice’s long-term key (KA) uit de KDC database … Client PC Server1 31-5-2005 Kerberos Authenticatie
KDC Client PC Server1 Long-term keys KRB_AS_REQ TGT RC4 TGT User keys KDC genereert sessie- sleutel (SA) voor client 6b3e77019fc853dae7b KRB_AS_REQ Valid until: …… TGT … maakt een Ticket Granting Ticket (TGT) aan en kopieert SA hierin … TGT wordt met KDC Master Key, (KKDC), versleuteld RC4 Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
… SA wordt nu met KA nogmaals versleuteld … Long-term keys KDC User keys RC4 Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Beide onderdelen worden in het “KRB_AS_REP” ticket geplaatst. (Authentication Service_REPly) Long-term keys KDC User keys KRB_AS_REP Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Beide onderdelen worden in het “KRB_AS_REP” ticket geplaatst. (Authentication Service_REPly) Long-term keys KDC User keys Client PC Server1 31-5-2005 Kerberos Authenticatie
… Client decodeert Sessiesleutel met KA… Long-term keys KDC User keys … Client decodeert Sessiesleutel met KA… RC4 Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys …het meegezonden TGT blijft versleuteld en wordt in RAM bewaard … Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Valid until: …… TGT Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys In Client RAM … Valid until: …… TGT Client is nu geauthenticeerd … Client PC Server1 31-5-2005 Kerberos Authenticatie
… Client vraagt Serviceticket aan voor sessie met Server1… Long-term keys KDC User keys In Client RAM … Valid until: …… TGT Fase 2 … Client vraagt Serviceticket aan voor sessie met Server1… 6b3e77019fc853dae7b … Timestamp wordt versleu- teld met zojuist verkregen sessiesleutel SA … RC4 Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Valid until: …… TGT In Client RAM … Valid until: …… TGT Valid until: …… TGT 6b3e77019fc853dae7b Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys KRB_TGS_REQ (Service request) Valid until: …… TGT 6b3e77019fc853dae7b Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys TGS Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys TGS Valid until: …… TGT RC4 KDC decodeert TGT weer met KKDC om over sessiesleutel SA te kunnen beschikken Timestamp Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys TGS 6b3e77019fc853dae7b RC4 Authenticatie d.m.v. decoderen timestamp met sessiesleutel SA = OK Timestamp Timestamp Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys TGS (Request) \\Server1\share\MyDoc.doc MyDoc.doc Timestamp Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys TGS Timestamp Server1 (Request) \\Server1\share\MyDoc.doc MyDoc.doc Timestamp Valid until: …… TGT Client PC Server1 31-5-2005 Kerberos Authenticatie
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 Client PC Server1 31-5-2005 Kerberos Authenticatie
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 Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys TGS Server1 Server1 Timestamp Valid until: YYMMDD:h… Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys TGS KDC maakt serviceticket aan voor 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 Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys TGS Server1 Timestamp Valid until: YYMMDD:h… KDC maakt serviceticket aan voor 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 Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys TGS KDC maakt serviceticket aan voor 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 RC4 … de versie voor Server1 wordt versleuteld met de host-key (KB) van Server1 … en kopieert deze, zodat Client en Server1 beiden over een exemplaar kunnen beschikken … Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Server1 Timestamp Valid until: YYMMDD:h… TGS … en deze versleutelde versie wordt geplaatst in het serviceticket voor de client … Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Server1 Timestamp Valid until: YYMMDD:h… TGS Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys TGS RC4 … het geheel wordt daarna versleuteld met de sessie-sleutel SA, die alleen bij KDC en Client bekend is … Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys TGS Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Na ontvangst door de client levert ontsleuteling met SA weer beide onderdelen op. Het deel voor Server1 blijft versleuteld RC4 + Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Na ontvangst door de client levert ontsleuteling met SA weer beide onderdelen op. Het deel voor Server1 blijft versleuteld + Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys …de Client beschikt nu over sessiesleutel KAB, voor communicatie met Server1 … Server1 Timestamp Valid until: YYMMDD:h… + Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie … en versleutelt hiermee een timestamp voor Server1, als bewijs van authenticatie … Long-term keys KDC User keys Host keys …de Client beschikt nu over sessiesleutel KAB, voor communicatie met Server1 … 6b3e77019fc853dae7b RC4 Server1 Timestamp Valid until: YYMMDD:h… Timestamp Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie … en versleutelt hiermee een timestamp voor Server1, als bewijs van authenticatie … Long-term keys KDC User keys Host keys 6b3e77019fc853dae7b Timestamp Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Timestamp 6b3e77019fc853dae7b Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys 6b3e77019fc853dae7b 6b3e77019fc853dae7b Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys RC4 … Server1 moet nu KAB verkrijgen door het ontvangen pakket met zijn host-key (KB) te ontsleutelen … Timestamp 6b3e77019fc853dae7b Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Server1 Timestamp Valid until: YYMMDD:h… Timestamp 6b3e77019fc853dae7b Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys …nu kan het timestamp gecontroleerd worden … = OK Timestamp RC4 Server1 Timestamp Timestamp Valid until: YYMMDD:h… 6b3e77019fc853dae7b Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys = OK Timestamp Server1 Timestamp Timestamp Valid until: YYMMDD:h… Client PC Server1 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Long-term keys KDC User keys Host keys Sleutel KAB hoort nu bij de sessie met Alice Timestamp Client PC Server1 31-5-2005 Kerberos Authenticatie
Secure channel met key SA Secure channel met key KAB Long-term keys KDC User keys Host keys Secure channel met key SA Sleutel KAB hoort nu bij de sessie met Alice Timestamp Secure channel met key KAB Client PC Server1 31-5-2005 Kerberos Authenticatie
Secure channel met key SA Secure channel met key KAB Overzicht toegepaste sleutels User keys Host keys KDC Secure channel met key SA ◄ Sessiesleutel ► Long-term keys Client PC Server1 Secure channel met key KAB ◄ Sessiesleutel ► Client PC 31-5-2005 Kerberos Authenticatie
Kerberos Authenticatie Einde 31-5-2005 Kerberos Authenticatie