Slide 1 Vitaly Shmatikov CS 378 Kerberos. slide 2 Many-to-Many Authentication How do users prove their identities when requesting services from machines.

Slides:



Advertisements
Similar presentations
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 4.6 Kerberos.
Advertisements

1 Kerberos Anita Jones November, Kerberos * : Objective Assumed environment Assumed environment –Open distributed environment –Wireless and Ethernetted.
AUTHENTICATION AND KEY DISTRIBUTION
Overview Network security involves protecting a host (or a group of hosts) connected to a network Many of the same problems as with stand-alone computer.
Supervisor :Dr. Lo'ai Ali Tawalbeh Done by: Wa’el Musa Hadi
The Authentication Service ‘Kerberos’ and It’s Limitations
Chapter 10 Real world security protocols
Authentication Applications Kerberos And X.509. Kerberos Motivation –Secure against eavesdropping –Reliable – distributed architecture –Transparent –
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
1 Authentication Applications Ola Flygt Växjö University, Sweden
Chapter 14 – Authentication Applications
NETWORK SECURITY.
IT 221: Introduction to Information Security Principles Lecture 8:Authentication Applications For Educational Purposes Only Revised: October 20, 2002.
Authentication Applications The Kerberos Protocol Standard
SCSC 455 Computer Security
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Outline User authentication
Chapter 4 Authentication Applications. Objectives: authentication functions developed to support application-level authentication & digital signatures.
The Kerberos Authentication System Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
1 Lecture 12: Kerberos terms and configuration phases –logging to network –accessing remote server replicated KDC multiple realms message privacy and integrity.
Authentication & Kerberos
Cryptography and Network Security Chapter 15 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
1 Authentication Applications Digital Signatures Security Concerns X.509 Authentication Service Kerberos Based on slides by Dr. Lawrie Brown of the Australian.
CS470, A.SelcukKerberos1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Henric Johnson1 Chapter 4 Authentication Applications Henric Johnson Blekinge Institute of Technology,Sweden
1 Authentication Applications Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College, UNSW.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Outline User authentication
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Slide 1 Vitaly Shmatikov CS 378 Key Establishment Pitfalls.
Vitaly Shmatikov CS 361S Kerberos. slide 2 Reading Assignment uKaufman Chapters 13 and 14 u“Designing an Authentication System: A Dialogue in Four Scenes”
Objectives Understand the challenge-response authentication protocol and its attacks Understand the basic mechanisms of trusted intermediaries for distributed.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
Authentication 3: On The Internet. 2 Readings URL attacks
Key Management. Given a computer network with n hosts, for each host to be able to communicate with any other host would seem to require as many as n*(n-1)
ACCESS CONTROL MANAGEMENT Poonam Gupta Sowmya Sugumaran PROJECT GROUP # 3.
1 KERBEROS: AN AUTHENTICATION SERVICE FOR OPEN NETWORK SYSTEMS J. G. Steiner, C. Neuman, J. I. Schiller MIT.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
Kerberos By Robert Smithers. History of Kerberos Kerberos was created at MIT, and was named after the 3 headed guard dog of Hades in Greek mythology Cerberus.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
1 Network Security Lecture 7 Overview of Authentication Systems Waleed Ejaz
Network Security Lecture 25 Presented by: Dr. Munam Ali Shah.
Kerberos Guilin Wang School of Computer Science 03 Dec
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
1 Kerberos n Part of project Athena (MIT). n Trusted 3rd party authentication scheme. n Assumes that hosts are not trustworthy. n Requires that each client.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
KERBEROS SYSTEM Kumar Madugula.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Dr. Nermi hamza.  A user may gain access to a particular workstation and pretend to be another user operating from that workstation.  A user may eavesdrop.
1 Cryptography CSS 329 Lecture 12: Kerberos. 2 Lecture Outline Kerberos - Overview - V4 - V5.
Radius, LDAP, Radius used in Authenticating Users
Kerberos Kerberos is a network authentication protocol and it is designed to provide strong authentication for client server applications. It uses secret.
CS60002: Distributed Systems
CS 378 Kerberos Vitaly Shmatikov.
Kerberos Part of project Athena (MIT).
KERBEROS.
Presentation transcript:

slide 1 Vitaly Shmatikov CS 378 Kerberos

slide 2 Many-to-Many Authentication How do users prove their identities when requesting services from machines on the network? Users Servers ? Naïve solution: every server knows every user’s password Insecure: compromise of one server is enough to compromise all users Inefficient: to change his password, user must contact every server

slide 3 Requirements uSecurity Against attacks by passive eavesdroppers and actively malicious users uReliability uTransparency Users shouldn’t be aware of authentication taking place Entering password is Ok, if done rarely uScalability Large number of users and servers

slide 4 Threats uUser impersonation Malicious user with access to a workstation pretends to be another user from the same workstation –Can’t trust workstations to verify users’ identities uNetwork address impersonation Malicious user changes network address of his workstation to impersonate another workstation uEavesdropping, tampering and replay Malicious user eavesdrops on, tampers with or replays other users’ conversations to gain unauthorized access

slide 5 Solution: Trusted Third Party User Servers uTrusted authentication service on the network Knows all passwords, can grant access to any server Convenient, but also the single point of failure Requires high level of physical security User requests ticket for some service; proves his identity User receives ticket Ticket is used to access desired network service Knows all users’ and servers’ passwords

slide 6 What Should a Ticket Look Like? UserServer uTicket cannot include server’s plaintext password Otherwise, next time user will access server directly without proving his identity to authentication service uSolution: encrypt some information with a key derived from the server’s password Server can decrypt ticket and verify information User does not learn server’s password Ticket gives holder access to a network service

slide 7 What Should a Ticket Include? Server Encrypted ticket Knows all users’ and servers’ passwords Encrypted ticket uUser name uServer name uAddress of user’s workstation Otherwise, a user on another workstation can steal the ticket and use it to gain access to the server uTicket lifetime uA few other things (e.g., session key) User

slide 8 How Is Authentication Done? Encrypted ticket User Authentication server Password uInsecure: passwords are sent in plaintext Eavesdropper can steal the password and later impersonate the user to the authentication server uInconvenient: need to send the password each time to obtain the ticket for any network service Separate authentication for , printing, etc.

slide 9 Solution: Two-Step Authentication Encrypted TGS ticket Joe the User Authentication server (AS) USER=Joe; service=TGS uProve identity once to obtain special TGS ticket Instead of password, use key derived from password uUse TGS to get tickets for many network services File server, printer, other network services Encrypted service ticket Ticket granting service (TGS) TGS ticket Encrypted service ticket Key distribution center (KDC)

slide 10 Still Not Good Enough uTicket hijacking Malicious user may steal the service ticket of another user on the same workstation and use it –IP address verification does not help Servers must be able to verify that the user who is presenting the ticket is the same user to whom the ticket was issued uNo server authentication Attacker may misconfigure the network so that he receives messages addressed to a legitimate server –Capture private information from users and/or deny service Servers must prove their identity to users

slide 11 Symmetric Keys in Kerberos uK c is long-term key of client C Derived from user’s password Known to C and key distribution center KDC uK TGS is long-term key of ticket granting service TGS Known to KDC and TGS uK v is long-term key of network service V Known to V and TGS; separate key for each service uK c,TGS is short-term key between C and TGS Created by KDC, known to C and TGS uK c,v is short-term key betwen C and V Created by TGS, known to C and V

slide 12 “Single Logon” Authentication User uClient only needs to obtain TGS ticket once (say, every morning) Ticket is encrypted; client cannot forge it or tamper with it kinit program (client) Key Distribution Center (KDC) password ID c, ID TGS, time c Encrypt K c (K c,TGS, ID TGS, time KDC, lifetime, ticket TGS ) KcKc Convert into client master key Key = K c Key = K TGS TGS … All users must pre-register their passwords with KDC Fresh key to be used between client and TGS Decrypts with K c and obtains K c,TGS and ticket TGS Encrypt K TGS (K c,TGS, ID c, Addr c, ID TGS, time KDC, lifetime) Client will use this unforgeable ticket to get other tickets without re-authenticating

slide 13 Obtaining A Service Ticket User uClient uses TGS ticket to obtain a service ticket and a short-term key for each network service One encrypted, unforgeable ticket per service (printer, , etc.) Client Ticket Granting Service (TGS) usually lives inside KDC System command, e.g. “lpr –Pprint” ID v, ticket TGS, auth C Encrypt K c,TGS (K c,v, ID v, time TGS, ticket v ) Fresh key to be used between client and service Knows K c,TGS and ticket TGS Encrypt K c,TGS (ID c, Addr c, time c ) Proves that client knows key K c,TGS contained in encrypted TGS ticket Encrypt K v (K c,v, ID c, Addr c, ID v, time TGS, lifetime) Client will use this unforgeable ticket to get access to service V Knows key K v for each service

slide 14 Obtaining Service User uFor each service request, client uses the short-term key for that service and the ticket he received from TGS Client Server V System command, e.g. “lpr –Pprint” ticket v, auth C Encrypt K c,v (time c +1) Knows K c,v and ticket v Encrypt K c,v (ID c, Addr c, time c ) Proves that client knows key K c,v contained in encrypted ticket Authenticates server to client Reasoning: Server can produce this message only if he knows key K c,v. Server can learn key K c,v only if he can decrypt service ticket. Server can decrypt service ticket only if he knows correct key K v. If server knows correct key K v, then he is the right server.

slide 15 Kerberos in Large Networks uOne KDC isn’t enough for large networks (why?) uNetwork is divided into realms KDCs in different realms have different key databases uTo access a service in another realm, users must… Get ticket for home-realm TGS from home-realm KDC Get ticket for remote-realm TGS from home-realm TGS –As if remote-realm TGS were just another network service Get ticket for remote service from that realm’s TGS Use remote-realm ticket to access service N(N-1)/2 key exchanges for full N-realm interoperation

slide 16 Summary of Kerberos

slide 17 Important Ideas in Kerberos uUse of short-term session keys Minimize distribution and use of long-term secrets; use them only to derive short-term session keys Separate short-term key for each user-server pair –But multiple user-server sessions reuse the same key! uProofs of identity are based on authenticators Client encrypts his identity, address and current time using a short-term session key –Also prevents replays (if clocks are globally synchronized) Server learns this key separately (via encrypted ticket that client can’t decrypt) and verifies user’s identity uSymmetric cryptography only

slide 18 Problematic Issues uPassword dictionary attacks on client master keys uReplay of authenticators 5-minute lifetimes long enough for replay Timestamps assume global, secure synchronized clocks Challenge-response would be better uSame user-server key used for all sessions uHomebrewed PCBC mode of encryption Tries to combine integrity checking with encryption uExtraneous double encryption of tickets uNo ticket delegation Printer can’t fetch from server on your behalf

slide 19 Kerberos Version 5 uBetter user-server authentication Separate subkey for each user-server session instead of re-using the session key contained in the ticket Authentication via subkeys, not timestamp increments uAuthentication forwarding Servers can access other servers on user’s behalf uRealm hierarchies for inter-realm authentication uRicher ticket functionality uExplicit integrity checking + standard CBC mode uMultiple encryption schemes, not just DES

slide 20 Practical Uses of Kerberos u , FTP, network file systems and many other applications have been kerberized Use of Kerberos is transparent for the end user Transparency is important for usability! uLocal authentication login and su in OpenBSD uAuthentication for network protocols rlogin, rsh, telnet uSecure windowing systems xdm, kx

slide 21 Reading Assignment uStallings 4.1 Detailed discussion of Kerberos u“Designing an Authentication System: A Dialogue in Four Scenes” Nice high-level survey of network threats and design principles behind Kerberos