Mutual Trust Flashcards
Key Hierarchy
Session Key-Temporary encryption of data between users during session; delivered with cryptographic protection
Master Key-Encrypts session keys; shared by two endpoints exchanging keys; delivered with no cryptographic protection
KDC
Key Distribution Center
Reduces amount of master keys needed
Gives multiple keys per session for a specific task
Needham-Schroeder
A->KDC: IDA || IDB || NA KDC->A: Eka( KS || IDB || NA || Ekb( KS || IDA )) A->B: EKb( KS || IDB ) || N2A ) B->A: Eks( f(N2A) || NB) A->B: Eks( f(NB) )
Key Distribution - Public Announcement
Each user sends his or her public key to everyone
Easy to forge a key claimng to be someone else
Distribution using Asymmetric encryption
A makes PUA and PRA for this exchange only, then discards them
A sends PUA and IDA to B, who verifies then sends KS encrypted by PUA
A decrypts using PRA
Key Distribution - Publicly Available Directory
Contains {name: public key} entries Replace key anytime Published periodically Accessed using secure channel Participants register securely
Key Distribution - Public-Key Certificates
Binds identity to public key
All contents signed by public key or CA
Contents can be read/verified from anyone with PUauth
X.509 Authentication Service
Create unsigned certificate, hash it, then encrypt with PRca and send to recipient, who verifies with PUca
Kerberos
KDC system from MIT
Access to services distributed from network
Kerberos - Credentials
Ticket-Granting ticket-Granted by AS (judge) to get access to service ticket from TGS (box office)
Service-Granting ticket-Granted by TGS to get access to service
Kerberos - Getting TG Ticket
Client enters username
If client is a valid user…
creates Kc (client identity, client password)
creates Kc-tgs for client-tgs communication
creates Tc-tgs = Ektgs( TGS, Client, Addr, TS2, Life2, Kc-tgs ) GOLDEN TICKET
sends Ekc( Kc-tgs, TGS, TS2, Life2, Tc-tgs )
Kerberos - Getting TG Ticket 2
Client enters password
if password correct…
computer stores Tc-tgs and Kc-tgs for later use and erases password from memory
Kerberos - Getting SG Ticket
Client sends Service, Tc-tgs, Ac-tgs to TGS
Ac-tgs = Ekc-tgs( Client, Addr, TS3 )
TGS checks authenticator and ticket
If client can use the service…
creates Kc-s for client-service communication
creates Tc-s = Eks( Service, Client, Addr, TS4, Life4, Kc-s)
sends Ekc-tgs( Kc-s, Service, TS4, Life4, Tc-s )
Kerberos - Requesting a Service
Client makes Ac-s
Ac-s = Ekc-s( Client, Addr, TS5 )
Client sends Tc-s and Ac-s to service, who checks it and optionally increments TS5 by 1, and sends it back