SlideShare une entreprise Scribd logo
1  sur  36
1
KERBEROS:
AN AUTHENTICATION SERVICE
FOR OPEN NETWORK SYSTEMS
J. G. Steiner, C. Neuman, J. I. Schiller
MIT
2
AUTHENTICATION SERVERS (I)
• Their mission is:
(a) To check identity of all users
(b) To prevent unauthorized accesses
• Traditional solution is to use a pair
(userid, password)
– Very bad in a LAN environment
– Too vulnerable to snooping
3
AUTHENTICATION SERVERS (II)
• Another bad solution is to trust the kernel of
sender’s machine:
– Solution used by rlogin, rsh, rcp
– Like trusting a foreign passport
– Only works in well-controlled networks
– Suffers from domino effect :
• Gaining full access to one machine gives
full access to whole network
4
CRYPTOGRAPHY (I)
1. Conventional Cryptography
– Uses same key for coding and encoding
• Key could be a secret alphabet
– We now use much more complex schemes
and much bigger keys
– Major problem is key distribution
• Very hard without a trusted channel
5
Example
• Assume we have a random stream of bits:
r0 , r1 , r2 , r3 , ...
• We convert our message into a bit stream:
m0 , m1 , m2 , m3 , ...
• Encode the message bitwise using XOR:
ci = mi ⊕ ri for i = 1, 2, 3 , ...
• Impossible to break if random bit stream is
truly random and never reused
6
CRYPTOGRAPHY (II)
2. Public-Key Cryptography
– Uses two keys:
(a) A public key to encode: KP
(b) A secret key to decode: KS
– It is not possible to compute KS knowing KP
• The function KP = f ( KS) is said to be hard
to invert:
7
CRYPTOGRAPHY (II)
– We should have
• { { cleartext }KP }KS= cleartext
• { { cleartext }KS }KP= cleartext
– Requires very long keys
– Cannot pick an arbitrary secret key
– Much slower than conventional cryptography
8
Example
• Assume A knows KP,B and B knows KP,A
– A can send to B a secret message:
{ text } KP,B
– A can send to B a message that is signed:
A, { text } KS,A
– A can send to B a signed secret message:
{ A, { text }KS,A } KP,B
9
Application
• Can combine conventional cryptography and
public-key cryptography
– A uses public-key cryptography to send to B a
signed secret message containing a session
key KS
– A and B use this session key KS to continue
their dialogue
10
KERBEROS
• Authentication server using conventional keys
• The Kerberos server has
– The key of each user
– The key of the ticket granting service (TGS)
• Authentication is a two-step process
– Get from kerberos a ticket for the TGS
– Get from TGS the ticket for a given server
11
WSK S
TGS
General Organization
Ticket granting service
Kerberos Server
Client c on workstation WS
2
1
3 4
5
6
12
General Assumptions (I)
• Cannot trust the network:
– Intruders can listen to all messages and
replay them later
• Can trust the time service
– No intruder can reset any clock backward by
more than a few minutes
13
General Assumptions (II)
• Client c can trust the workstation WS on which
she is logged on:
– Cannot do encryption without a safe place to
encode and decode messages
• Assumes the workstation is controlled by the
client
– Not true for public workstations
14
Step 1
• Client provides WS with its ID c:
c → WS: c
WS sends to Kerberos a request for a ticket for
the TGS:
WS → K: c, tgs
15
Step 2
• Kerberos sends to WS a ticket Tc,tgs and a random
session key Kc,tgs:
K → WS: { Kc,tgs, { Tc,tgs }Ktgs }Kc
Both items are encrypted with the client key Kc
Ticket is encrypted with the secret key of the
ticket granting service to prevent tampering by
client
16
The ticket (I)
• Note that the encrypted ticket is encrypted a
second time by the client key KC
– In more recent versions of Kerberos
K → WS: { Kc,tgs}Kc, { Tc,tgs}Ktgs
17
The ticket (II)
• Tc,tgs = c, tgs, addr, timestamp, life, Kc,tgs
• It contains
– The client's name c
– The name of the ticket-granting service tgs
– The IP address of the client addr
– The current time timestamp
– A ticket lifetime life
– The random session key K c,tgs
18
Step 3
• When WS receives Kerberos reply, it prompts
the client c for her password and uses it to
compute the user key
Kc = fn(password)
and uses Kc to decrypt the message
19
WSK S
TGS
Shared Secrets
Server
Kc
Ktgs
Ks
20
Step 3 (continued)
• WS then sends to the TGS
– The name of the service s the client wants to
utilize
– The encrypted ticket Tc,tgs
– An authenticator Ac,tgs encrypted with Kc,tgs
WS → TGS: s, { Tc,tgs}Ktgs, { Ac,tgs}Kc,tgs
21
The authenticator (I)
• Any intruder could replay a ticket that has
already be submitted to TGS
• Authenticator contains
– The client name c
– Its address addr
– The current time timestamp
Ac,tgs = c, addr, timestamp
• Authenticator is encrypted with Kc,tgs
22
The authenticator (II)
• Authenticator provides proof that WS was able
to obtain the session key Kc,tgsby decrypting
message number 2 using the right client key KC
• To detect replays of authenticators, TGS
– Rejects authenticators that are too old
(say, by more than five minutes)
– Keeps track of all recently received
authenticators
23
Step 4
• The TGS replies by sending to the workstation
– A ticket T cs for the service s
– A new random session key Kc,s
TGS → WS: { Kc,s, { Tc,s}Ks}Kc,tgs
encrypted with the session key Kc,tgsshared by the
client and the ticket granting service
24
Step 4 (continued)
• Tc,s contains
– The user's name c
– The name of the service s
– The IP address of the client addr
– The current time timestamp
– A new lifetime life
– A new random session key Kc,s
• Tc,s is encrypted with the secret key of server s
25
Step 5
• WS then sends to server S
– the encrypted ticket Tc,s
– an authenticator Ac,s encrypted with Kc,s
WS → S: { Tc,s}Ks, { Ac,s }Kc,s
26
Step 5 (continued)
• Authenticator contains
– the client name c
– its address addr
– the current time timestamp
Ac,s = c, addr, timestamp
• Authenticator is encrypted with the session key
Kc,s shared by client and server
27
Step 6
• If client wanted to authenticate server, the
server replies with the authenticator time stamp
plus one:
s→WS: { timestamp + 1 }Kc,s
encrypted with the session key Kc,s
• This proves that s was able to obtain the session
key Kc,sby decrypting message number 5 using
its server key Ks
28
Picking ticket lifetimes
• There is a trade-off in determining the optimal
ticket lifetime:
– Short ticket lifetimes make the system more
secure
• Less delay between password change and
full effect of action
– Short ticket lifetimes also make the system
less convenient for its users.
29
The Kerberos server (I)
• Most critical part of the system
– If it is compromised, all user passwords are
lost
– If it is unavailable, nobody will be able to log
in
• A compromised TGS would only force all users
to repeat the Kerberos login procedure
30
The Kerberos server (II)
• The Kerberos server is normally replicated on
several sites:
– No single point of failure
– More difficult to maintain key secrecy
• There is a single primary site and it is the only
than can accept key change requests
– Changing passwords is not a critical task
31
LIMITATIONS
• Must maintain
– secrecy of keys
– integrity of time service
• Client must trust the workstation on which she is
logged in
• Does not protect clients and servers against
denial of service attacks
32
OTHER SOLUTIONS (I)
• Could use a pair public key/private key
– private keys cannot be generated from an
arbitrary password
– impossible to memorize
– must store them somewhere
• key ring of PGP is encrypted using a strong
conventional encryption algorithm
33
OTHER SOLUTIONS (II)
• Could use one-time passwords
– Use a different password at each log in
– Passwords can be managed by a smart card
– User must always carry it with her
– Some systems also require a password to use
the card and disable card after enough
unsuccessful trials
• Must keep card in a rigid container
34
OTHER SOLUTIONS (III)
• SSH-2 uses
– Diffie-Hellman key exchange
• Uses public keys and private keys
• Produces a symmetric session key
– Strong integrity checking via message
authentication codes.
35
OTHER SOLUTIONS (IV)
• Two-factor authentication
– Must provide
• Something you know (a password)
• Something you have (a dongle or a phone)
– Google two-factor authentication:
• Enter first name and password
• Google sends a six-digit code to your
phone that you must then enter
36
CONCLUSIONS
• Kerberos offers one of the best solutions for
authentication in distributed systems
– Does not require any special equipment
– Does not significantly alter the user interface
• Main drawback is that the user must trust the
workstation on which she is logged in
– Works best for personal workstations

Contenu connexe

Tendances

Kerberos presentation
Kerberos presentationKerberos presentation
Kerberos presentation
Chris Geier
 
Authentication Application in Network Security NS4
Authentication Application in Network Security NS4Authentication Application in Network Security NS4
Authentication Application in Network Security NS4
koolkampus
 
Kerberos and its application in cross realm operations
Kerberos and its application in cross realm operationsKerberos and its application in cross realm operations
Kerberos and its application in cross realm operations
Arunangshu Bhakta
 
Kerberos
KerberosKerberos
Kerberos
IAM IAM
 

Tendances (20)

Kerberos
KerberosKerberos
Kerberos
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos ppt
Kerberos pptKerberos ppt
Kerberos ppt
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos authentication
Kerberos authenticationKerberos authentication
Kerberos authentication
 
Kerberos presentation
Kerberos presentationKerberos presentation
Kerberos presentation
 
Authentication Application in Network Security NS4
Authentication Application in Network Security NS4Authentication Application in Network Security NS4
Authentication Application in Network Security NS4
 
Kerberos explained
Kerberos explainedKerberos explained
Kerberos explained
 
SSO with kerberos
SSO with kerberosSSO with kerberos
SSO with kerberos
 
Kerberos
KerberosKerberos
Kerberos
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to Kerberos
 
Kerberos
KerberosKerberos
Kerberos
 
kerberos
kerberoskerberos
kerberos
 
Rakesh raj
Rakesh rajRakesh raj
Rakesh raj
 
Kerberos
KerberosKerberos
Kerberos
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificates
 
Kerberos and its application in cross realm operations
Kerberos and its application in cross realm operationsKerberos and its application in cross realm operations
Kerberos and its application in cross realm operations
 
Kerberos
KerberosKerberos
Kerberos
 
Ch15
Ch15Ch15
Ch15
 

En vedette

Cipher techniques
Cipher techniquesCipher techniques
Cipher techniques
Mohd Arif
 
Intrusion detection system ppt
Intrusion detection system pptIntrusion detection system ppt
Intrusion detection system ppt
Sheetal Verma
 
Oss web application and network security
Oss   web application and network securityOss   web application and network security
Oss web application and network security
Rishabh Mehan
 
Encryption presentation final
Encryption presentation finalEncryption presentation final
Encryption presentation final
adrigee12
 
TCP/IP Network ppt
TCP/IP Network pptTCP/IP Network ppt
TCP/IP Network ppt
extraganesh
 

En vedette (15)

Select idps
Select idpsSelect idps
Select idps
 
Snort IDS/IPS Basics
Snort IDS/IPS BasicsSnort IDS/IPS Basics
Snort IDS/IPS Basics
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 
Cipher techniques
Cipher techniquesCipher techniques
Cipher techniques
 
Network Security Primer
Network Security PrimerNetwork Security Primer
Network Security Primer
 
Intrusion detection system ppt
Intrusion detection system pptIntrusion detection system ppt
Intrusion detection system ppt
 
Data encryption, Description, DES
Data encryption, Description, DESData encryption, Description, DES
Data encryption, Description, DES
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
 
Network Security
Network SecurityNetwork Security
Network Security
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Oss web application and network security
Oss   web application and network securityOss   web application and network security
Oss web application and network security
 
Network security
Network securityNetwork security
Network security
 
Encryption presentation final
Encryption presentation finalEncryption presentation final
Encryption presentation final
 
TCP/IP Network ppt
TCP/IP Network pptTCP/IP Network ppt
TCP/IP Network ppt
 
Network Security Applications
Network Security ApplicationsNetwork Security Applications
Network Security Applications
 

Similaire à Kerberos (1)

BAIT1103 Chapter 3
BAIT1103 Chapter 3BAIT1103 Chapter 3
BAIT1103 Chapter 3
limsh
 

Similaire à Kerberos (1) (20)

ch13 ABCD.ppt
ch13 ABCD.pptch13 ABCD.ppt
ch13 ABCD.ppt
 
BAIT1103 Chapter 3
BAIT1103 Chapter 3BAIT1103 Chapter 3
BAIT1103 Chapter 3
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...
Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...
Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...
 
Walking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOS
Walking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOSWalking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOS
Walking the Bifrost: An Operator's Guide to Heimdal & Kerberos on macOS
 
module1 network security.pdf
module1 network security.pdfmodule1 network security.pdf
module1 network security.pdf
 
ch13.ppt
ch13.pptch13.ppt
ch13.ppt
 
ch13.ppt
ch13.pptch13.ppt
ch13.ppt
 
CS6004 CYBER FORENSICS
CS6004 CYBER FORENSICS CS6004 CYBER FORENSICS
CS6004 CYBER FORENSICS
 
Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication Lecture 9 key distribution and user authentication
Lecture 9 key distribution and user authentication
 
18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security
 
Cyber Security
Cyber SecurityCyber Security
Cyber Security
 
authentication.ppt
authentication.pptauthentication.ppt
authentication.ppt
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
SSL And TLS
SSL And TLS SSL And TLS
SSL And TLS
 
Client server computing in mobile environments part 2
Client server computing in mobile environments part 2Client server computing in mobile environments part 2
Client server computing in mobile environments part 2
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Seminar on ECommerce
Seminar on ECommerce Seminar on ECommerce
Seminar on ECommerce
 
6. Kerberos.ppt
6. Kerberos.ppt6. Kerberos.ppt
6. Kerberos.ppt
 

Dernier

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 

Dernier (20)

Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 

Kerberos (1)

  • 1. 1 KERBEROS: AN AUTHENTICATION SERVICE FOR OPEN NETWORK SYSTEMS J. G. Steiner, C. Neuman, J. I. Schiller MIT
  • 2. 2 AUTHENTICATION SERVERS (I) • Their mission is: (a) To check identity of all users (b) To prevent unauthorized accesses • Traditional solution is to use a pair (userid, password) – Very bad in a LAN environment – Too vulnerable to snooping
  • 3. 3 AUTHENTICATION SERVERS (II) • Another bad solution is to trust the kernel of sender’s machine: – Solution used by rlogin, rsh, rcp – Like trusting a foreign passport – Only works in well-controlled networks – Suffers from domino effect : • Gaining full access to one machine gives full access to whole network
  • 4. 4 CRYPTOGRAPHY (I) 1. Conventional Cryptography – Uses same key for coding and encoding • Key could be a secret alphabet – We now use much more complex schemes and much bigger keys – Major problem is key distribution • Very hard without a trusted channel
  • 5. 5 Example • Assume we have a random stream of bits: r0 , r1 , r2 , r3 , ... • We convert our message into a bit stream: m0 , m1 , m2 , m3 , ... • Encode the message bitwise using XOR: ci = mi ⊕ ri for i = 1, 2, 3 , ... • Impossible to break if random bit stream is truly random and never reused
  • 6. 6 CRYPTOGRAPHY (II) 2. Public-Key Cryptography – Uses two keys: (a) A public key to encode: KP (b) A secret key to decode: KS – It is not possible to compute KS knowing KP • The function KP = f ( KS) is said to be hard to invert:
  • 7. 7 CRYPTOGRAPHY (II) – We should have • { { cleartext }KP }KS= cleartext • { { cleartext }KS }KP= cleartext – Requires very long keys – Cannot pick an arbitrary secret key – Much slower than conventional cryptography
  • 8. 8 Example • Assume A knows KP,B and B knows KP,A – A can send to B a secret message: { text } KP,B – A can send to B a message that is signed: A, { text } KS,A – A can send to B a signed secret message: { A, { text }KS,A } KP,B
  • 9. 9 Application • Can combine conventional cryptography and public-key cryptography – A uses public-key cryptography to send to B a signed secret message containing a session key KS – A and B use this session key KS to continue their dialogue
  • 10. 10 KERBEROS • Authentication server using conventional keys • The Kerberos server has – The key of each user – The key of the ticket granting service (TGS) • Authentication is a two-step process – Get from kerberos a ticket for the TGS – Get from TGS the ticket for a given server
  • 11. 11 WSK S TGS General Organization Ticket granting service Kerberos Server Client c on workstation WS 2 1 3 4 5 6
  • 12. 12 General Assumptions (I) • Cannot trust the network: – Intruders can listen to all messages and replay them later • Can trust the time service – No intruder can reset any clock backward by more than a few minutes
  • 13. 13 General Assumptions (II) • Client c can trust the workstation WS on which she is logged on: – Cannot do encryption without a safe place to encode and decode messages • Assumes the workstation is controlled by the client – Not true for public workstations
  • 14. 14 Step 1 • Client provides WS with its ID c: c → WS: c WS sends to Kerberos a request for a ticket for the TGS: WS → K: c, tgs
  • 15. 15 Step 2 • Kerberos sends to WS a ticket Tc,tgs and a random session key Kc,tgs: K → WS: { Kc,tgs, { Tc,tgs }Ktgs }Kc Both items are encrypted with the client key Kc Ticket is encrypted with the secret key of the ticket granting service to prevent tampering by client
  • 16. 16 The ticket (I) • Note that the encrypted ticket is encrypted a second time by the client key KC – In more recent versions of Kerberos K → WS: { Kc,tgs}Kc, { Tc,tgs}Ktgs
  • 17. 17 The ticket (II) • Tc,tgs = c, tgs, addr, timestamp, life, Kc,tgs • It contains – The client's name c – The name of the ticket-granting service tgs – The IP address of the client addr – The current time timestamp – A ticket lifetime life – The random session key K c,tgs
  • 18. 18 Step 3 • When WS receives Kerberos reply, it prompts the client c for her password and uses it to compute the user key Kc = fn(password) and uses Kc to decrypt the message
  • 20. 20 Step 3 (continued) • WS then sends to the TGS – The name of the service s the client wants to utilize – The encrypted ticket Tc,tgs – An authenticator Ac,tgs encrypted with Kc,tgs WS → TGS: s, { Tc,tgs}Ktgs, { Ac,tgs}Kc,tgs
  • 21. 21 The authenticator (I) • Any intruder could replay a ticket that has already be submitted to TGS • Authenticator contains – The client name c – Its address addr – The current time timestamp Ac,tgs = c, addr, timestamp • Authenticator is encrypted with Kc,tgs
  • 22. 22 The authenticator (II) • Authenticator provides proof that WS was able to obtain the session key Kc,tgsby decrypting message number 2 using the right client key KC • To detect replays of authenticators, TGS – Rejects authenticators that are too old (say, by more than five minutes) – Keeps track of all recently received authenticators
  • 23. 23 Step 4 • The TGS replies by sending to the workstation – A ticket T cs for the service s – A new random session key Kc,s TGS → WS: { Kc,s, { Tc,s}Ks}Kc,tgs encrypted with the session key Kc,tgsshared by the client and the ticket granting service
  • 24. 24 Step 4 (continued) • Tc,s contains – The user's name c – The name of the service s – The IP address of the client addr – The current time timestamp – A new lifetime life – A new random session key Kc,s • Tc,s is encrypted with the secret key of server s
  • 25. 25 Step 5 • WS then sends to server S – the encrypted ticket Tc,s – an authenticator Ac,s encrypted with Kc,s WS → S: { Tc,s}Ks, { Ac,s }Kc,s
  • 26. 26 Step 5 (continued) • Authenticator contains – the client name c – its address addr – the current time timestamp Ac,s = c, addr, timestamp • Authenticator is encrypted with the session key Kc,s shared by client and server
  • 27. 27 Step 6 • If client wanted to authenticate server, the server replies with the authenticator time stamp plus one: s→WS: { timestamp + 1 }Kc,s encrypted with the session key Kc,s • This proves that s was able to obtain the session key Kc,sby decrypting message number 5 using its server key Ks
  • 28. 28 Picking ticket lifetimes • There is a trade-off in determining the optimal ticket lifetime: – Short ticket lifetimes make the system more secure • Less delay between password change and full effect of action – Short ticket lifetimes also make the system less convenient for its users.
  • 29. 29 The Kerberos server (I) • Most critical part of the system – If it is compromised, all user passwords are lost – If it is unavailable, nobody will be able to log in • A compromised TGS would only force all users to repeat the Kerberos login procedure
  • 30. 30 The Kerberos server (II) • The Kerberos server is normally replicated on several sites: – No single point of failure – More difficult to maintain key secrecy • There is a single primary site and it is the only than can accept key change requests – Changing passwords is not a critical task
  • 31. 31 LIMITATIONS • Must maintain – secrecy of keys – integrity of time service • Client must trust the workstation on which she is logged in • Does not protect clients and servers against denial of service attacks
  • 32. 32 OTHER SOLUTIONS (I) • Could use a pair public key/private key – private keys cannot be generated from an arbitrary password – impossible to memorize – must store them somewhere • key ring of PGP is encrypted using a strong conventional encryption algorithm
  • 33. 33 OTHER SOLUTIONS (II) • Could use one-time passwords – Use a different password at each log in – Passwords can be managed by a smart card – User must always carry it with her – Some systems also require a password to use the card and disable card after enough unsuccessful trials • Must keep card in a rigid container
  • 34. 34 OTHER SOLUTIONS (III) • SSH-2 uses – Diffie-Hellman key exchange • Uses public keys and private keys • Produces a symmetric session key – Strong integrity checking via message authentication codes.
  • 35. 35 OTHER SOLUTIONS (IV) • Two-factor authentication – Must provide • Something you know (a password) • Something you have (a dongle or a phone) – Google two-factor authentication: • Enter first name and password • Google sends a six-digit code to your phone that you must then enter
  • 36. 36 CONCLUSIONS • Kerberos offers one of the best solutions for authentication in distributed systems – Does not require any special equipment – Does not significantly alter the user interface • Main drawback is that the user must trust the workstation on which she is logged in – Works best for personal workstations