The Kerberos Authentication System Brad Karp UCL Computer Science CS GZ03 / M030 17 th November, 2008.

Slides:



Advertisements
Similar presentations
ISA 662 Internet Security Protocols Kerberos Prof. Ravi Sandhu.
Advertisements

1 Kerberos Anita Jones November, Kerberos * : Objective Assumed environment Assumed environment –Open distributed environment –Wireless and Ethernetted.
AUTHENTICATION AND KEY DISTRIBUTION
CMSC 414 Computer (and Network) Security Lecture 22 Jonathan Katz.
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
CS5204 – Operating Systems 1 A Private Key System KERBEROS.
Chapter 10 Real world security protocols
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
KERBEROS LtCdr Samit Mehra (05IT 6018).
Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Chapter 14 – Authentication Applications
IT 221: Introduction to Information Security Principles Lecture 8:Authentication Applications For Educational Purposes Only Revised: October 20, 2002.
SCSC 455 Computer Security
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Kerberos Part 2 CNS 4650 Fall 2004 Rev. 2. PARC Once Again Once again XEROX PARC helped develop the basis for wide spread technology Needham-Schroeder.
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 (?).
Akshat Sharma Samarth Shah
1 Distributed Computer Security: Authentication and Key Distribution Vijay Jain CSc 8320, Spring 2007.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
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.
Kerberos Jean-Anne Fitzpatrick Jennifer English. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open.
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
1 Authentication Applications Digital Signatures Security Concerns X.509 Authentication Service Kerberos Based on slides by Dr. Lawrie Brown of the Australian.
ACCESS CONTROL MANAGEMENT Project Progress (as of March 3) By: Poonam Gupta Sowmya Sugumaran.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
1 Authentication Applications Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College, UNSW.
Kerberos: A Network Authentication Tool Seth Orr University of Missouri – St. Louis CS 5780 System Administration.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
KerberSim CMPT 495 Fall 2004 Jerry Frederick. Project Goals Become familiar with Kerberos flow Create a simple Kerberos simulation.
Kerberos Presented By: Pratima Vijayakumar Rafi Qureshi Vinay Gaonkar CS 616 Course Instructor: Dr. Charles Tappert.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner Clifford Neuman Jeffrey I. Schiller.
Netprog: Kerberos1 KERBEROS. Contents: Introduction History Components Authentication Process Strengths Weaknesses and Solutions Applications References.
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.
ACCESS CONTROL MANAGEMENT Project Progress (as of March 3) By: Poonam Gupta Sowmya Sugumaran.
Kerberos. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open source or in supported commercial software.
Lecture 13 Page 1 Advanced Network Security Authentication and Authorization in Local Networks Advanced Network Security Peter Reiher August, 2014.
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)
KERBEROS. Introduction trusted key server system from MIT.Part of project Athena (MIT).Developed in mid 1980s. provides centralised private-key third-party.
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.
X.509 Topics PGP S/MIME Kerberos. Directory Authentication Framework X.509 is part of the ISO X.500 directory standard. used by S/MIME, SSL, IPSec, and.
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.
Network Security Lecture 25 Presented by: Dr. Munam Ali Shah.
Kerberos Guilin Wang School of Computer Science 03 Dec
1 Kerberos – Private Key System Ahmad Ibrahim. History Cerberus, the hound of Hades, (Kerberos in Greek) Developed at MIT in the mid 1980s Available as.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
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.
1 SUBMITTED BY- PATEL KUMAR C.S.E(8 th - sem). SUBMITTED TO- Mr. DESHRAJ AHIRWAR.
1 Example security systems n Kerberos n Secure shell.
What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Kerberos is a three-headed dog Available as open source or in supported.
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.
CS60002: Distributed Systems
Kerberos Part of project Athena (MIT).
KERBEROS.
Presentation transcript:

The Kerberos Authentication System Brad Karp UCL Computer Science CS GZ03 / M th November, 2008

2 Why Study Kerberos? One of most widely used authentication systems, implemented in many, many UNIXes for a variety of services Simple example of use of cryptography to solve practical authentication problems Imperfect; weaknesses instructive

3 Kerberos: Goals Authentication of diverse entities, for diverse services: –Users, client machines, server machines –File systems, remote login, file transfer, printing, &c. Authentication in an “open environment” –Users may be superuser on their own workstations (so may adopt any user ID if credentials over network unauthenticated); hardware not centrally controlled –Same user population may use many machines and services (e.g., labs of public-access machines on a campus) Drop-in replacement of passwords for pre- existing protocols –Convenient; strength of security?

4 Kerberos Model: Central Authority Within a site (e.g., MIT), a central database server stores names and secret keys for all principals –Keys are for 56-bit DES symmetric-key cipher –Now brute-forceable; more reasonable at time of Kerberos’ first use (1988) All users and machines are principals, named with human-readable names All principals trust central database server

5 Kerberos Principal Names Users: e.g., bkarp –Can have instances; sub-names of a principal, e.g., bkarp.mail, bkarp.root Machines: e.g., boffin, arkell, sonic Services: e.g., rlogin.sonic (instance of the rlogin service running on sonic) Site name: realm; all machines in one administrative domain share one central Kerberos database, in same realm e.g.,

6 Kerberos Protocol Goal: mutually authenticated communication –Two principals wish to communicate –Principals know each other by name in central database –Kerberos establishes shared secret between the two –Can use shared secret to encrypt or MAC subsequent communication –[Few “Kerberized” services encrypt, and none MAC!] Approach: leverage keys shared with central database –Central database trusted by/has keys for all principals

7 Kerberos Credentials Client can either be user or machine, depending on context To talk to server s, client c needs shared secret key and ticket: –Session key: K s,c (randomly generated by central database) –Ticket: T = {s, c, addr, timestamp, lifetime, K s,c } K s (where K s is key s shares with database) –Only server s can decrypt ticket

8 Kerberos Credentials (2) Given ticket, client creates authenticator: –Authenticator: A = {c, addr, timestamp} K s,c –Client must know K s,c to create authenticator –Authenticator can only be used once Client presents both ticket T and authenticator A to server when requesting an operation –T convinces server that K s,c was given to c –A intended to prevent replay of requests “Kerberized” protocols use authenticator in place of password

9 Getting the User’s First Ticket User logs in at console with username and password (username is Kerberos name) Kerberized login program retrieves initial ticket for user: –Client machine sends to Kerberos database: c, tgs (tgs is principal name for ticket-granting service) –Server responds with: {K c,tgs, {T c,tgs } K tgs } K c –where T c,tgs = tgs, c, addr, timestamp, lifetime, K c,tgs –Client decrypts server’s response with K c = H(password)

10 Requesting a Service Client c (e.g., user bkarp) wishes to use a service on s, already holds K c,tgs Client requests ticket from tgs as follows: –Client sends to tgs: s, {T c,tgs } K tgs, {A c } K c,tgs –tgs replies to client with ticket for service on that server: {{T c,s } K s,K c,s }K c,tgs –where K c,s is a new, randomly generated session key for use between c and s

11 Using a Service Once client holds ticket for service, uses it with authenticator to request operation from server: –Client sends to s: service name, {T c,s } K s,{A c } K c,s –Server validates T c,s and A c, and executes operation if they are valid Server uses timestamps and expiration times to invalidate stale, “future”, replayed requests

12 Kerberos: Summary of Message Flow 1.Request for TGS ticket: c, tgs 2.Ticket for TGS: {K c,tgs, {T c,tgs } K tgs } K c 3.Request for Server ticket: s, {T c,tgs } K tgs, {A c } K c,tgs 4.Ticket for Server: {{T c,s } K s,K c,s }K c,tgs 5.Request for Service: service name, {T c,s } K s,{A c } K c,s KDC User/ Client TGS Server

13 Ticket Lifetime How should we choose ticket lifetimes? Convenience: longer ticket-granting ticket lifetime  user must type password less often Performance: longer service ticket lifetime  client must request new service ticket less often Risk: longer ticket lifetime lengthens period when ticket can be stolen, abused MIT Athena implementation destroys ticket- granting ticket when user logs out

14 Kerberos Security Weaknesses Vulnerability to replay attacks Reliance on synchronized clocks across nodes Storage of tickets on workstations No way to change compromised password securely Key database focal point for attack Hard to upgrade key database (relied on by all nodes in system)

15 Kerberos User Inconveniences Large (e.g., university-wide) administrative realms: –University-wide admins often on critical path –Departments can’t add users or set up new servers –Can’t develop new services without central admins –Can’t upgrade software/protocols without central admins –Central admins have monopoly servers/services (can’t set up your own without a principal) Rigid; what if user from realm A wants to authenticate himself to host at realm B? Ticket expirations –Must renew tickets every hours –How to create long-running background jobs?