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

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Dernier (20)

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.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