Date post: | 18-Jul-2016 |
Category: |
Documents |
Upload: | arifmohammad2005 |
View: | 12 times |
Download: | 4 times |
1
An Introduction to Kerberos
Shumon HuqueISC Networking & TelecommunicationsUniversity of Pennsylvania
March 19th 2003
2
What this talk is about
A high-level view of how Kerberos works
How Kerberos differs from some other authentication systems SSH password auth, SSH public key auth, SSL
Target audience: LSPs, computing staff, others?
3
What this talk is not about
Details of Penn’s Kerberos deployment plans How to get PennKeys, which Kerberos enabled
applications do I need to use
Writing Kerberized applicationsIn-depth protocol details and packet formatsNumber Theory & Cryptography
4
What is Kerberos?
Developed at M.I.T.A secret key based service for providing authentication in open networksAuthentication mediated by a trusted 3rd party on the network: Key Distribution Center (KDC)
5
Kerberos: etymology
The 3-headed dog that guards the entrance to HadesOriginally, the 3 heads represented the 3 A’sBut one A was work enough!
6
7
Fluffy, the 3 headed dog, from“Harry Potter and the Sorcerers Stone”
8
Some Kerberos benefits
Standards based strong authentication systemWide support in various operating systemsMake strong authentication readily available for use with campus computer systemsPrevents transmission of passwords over the networkProvides “single-sign-on” capability
Only 1 password to remember Only need to enter it once per day (typically)
9
So, what is Authentication?
The act of verifying someone’s identityThe process by which users prove their identity to a service
Doesn’t specify what a user is allowed or not allowed to do (Authorization)
10
Password based Authentication
Transmit password in clear over the network to the serverMain Problem Eavesdropping/Interception
11
Cryptographic Authentication
No password or secret is transferred over the networkUsers prove their identity to a service by performing a cryptographic operation,usually on a quantity supplied by the serverCrypto operation based on user’s secret key
12
Encryption and Decryption
Encryption Process of scrambling data using a cipher and a
key in such a way, that it’s intelligible only to the recipient
Decryption Process of unscambling encrypted data using a
cipher and key (possibly the same key used to encrypt the data)
13
Symmetric Key Cryptography
Aka, Secret Key cryptographyThe same key is used for both encryption and decryption operations (symmetry)Examples: DES, 3-DES, AES
14
Asymmetric Key Cryptography
Aka Public key cryptographyA pair of related keys are used: Public and Private keys Private key can’t be calculated from Public key
Data encrypted with one can only be decrypted with the otherUsually, a user publishes his public key widely
Others use it to encrypt data intended for the user User decrypts using the private key (known only to him)
Examples: RSA
15
Communicating Parties
Alice and Bob Alice: initiator of the communication
Think of her as the “client” or “user” Bob: correspondent or 2nd participant
Think of him as the “server” “Alice” wants to access service “Bob”
Baddies: Eve, Trudy, Mallory
16
Simple shared-secret based cryptographic authentication
17
Add mutual authentication
18
Problems with this scheme
Poor scaling propertiesGeneralizing the model for m users and n services, requires a priori distribution of m x n shared keys
Possible improvement: Use trusted 3rd party, with which each user and
service shares a secret key: m + n keys Also has important security advantages
19
Mediated Authentication
A trusted third party mediates the authentication processCalled the Key Distribution Center (KDC)Each user and service shares a secret key with the KDCKDC generates a session key, and securely distributes it to communicating partiesCommunicating parties prove to each other that they know the session key
20
Mediated Authentication
Nomenclature: Ka = Master key for “alice”, shared by alice and the
KDC Kab = Session key shared by “alice” and “bob” Tb = Ticket to use “bob” K{data} = “data” encrypted with key “K”
21
22
Mediated Authentication
23
Mediated Authentication
24
Kerberos uses timestamps
Timestamps as nonce’s are used in the mutual authentication phase of the protocolThis reduces the number of total messages in the protocolBut it means that Kerberos requires reasonably synchronized clocks amongst the users of the system
25
Kerberos (almost)
26
Kerberos (roughly)
27
Needham-Schroeder Protocol
28
Kerberos (detailed)
Each user and service registers a secret key with the KDCEveryone trusts the KDC “Put all your eggs in one basket, and then watch
that basket very carefully” - Anonymous Mark Twain
The user’s key is derived from a password, by applying a hash functionThe service key is a large random number, and stored on the server
29
Kerberos “principal”
A client of the Kerberos authentication serviceA user or a service
Format: name/instance@REALM
Examples: [email protected] ftp/[email protected]
30
Kerberos without TGS
A simplified description of Kerberos without the concept of a TGS (Ticket Granting Service)
31
32
33
34
Combining 2 previous diags
…
35
36
Review: Kerberos Credentials
Ticket Allows user to use a service (actually authenticate to it) Used to securely pass the identity of the user to which the ticket
is issued between the KDC and the application server Kb{“alice”, Kab, lifetime}Authenticator
Proves that the user presenting the ticket is the user to which the ticket was issued
Proof that user knows the session key Prevents ticket theft from being useful Prevents replay attacks (timestamp encrypted with the session
key): Kab{timestamp}, in combination with a replay cache on the server
37
Ticket Granting Service (TGS)
Motivation
38
39
40
Kerberos with TGS
Ticket Granting Service (TGS): A Kerberos authenticated service, that allows user to obtain
tickets for other services Co-located at the KDC
Ticket Granting Ticket (TGT): Ticket used to access the TGS and obtain service tickets
Limited-lifetime session key: TGS sessionkey Shared by user and the TGS
TGT and TGS session-key cached on Alice’s workstation
41
TGS Benefits
Single Sign-on (SSO) capabilityLimits exposure of user’s password Alice’s workstation can forget the password
immediately after using it in the early stages of the protocol
Less data encrypted with the user’s secret key travels over the network, limiting attacker’s access to data that could be used in an offline dictionary attack
42
43
44
45
46
Levels of Session Protection
Initial Authentication onlySafe messages:
Authentication of every message Keyed hashing with session key
Private messages: + Encryption of every message
With session key, or mutually negotiated subsession keys
Note: Application can choose other methods
47
Pre-authentication
Kerberos 5 added pre-authentication Client is required to prove it’s identity to the
Kerberos AS in the first step By supplying an encrypted timestamp (encrypted
with users secret key) This prevents an active attacker being able to
easily obtain data from the KDC encrypted with any user’s key Then able to mount an offline dictionary attack
48
49
Kerberos & Two-factor auth
In addition to a secret password, user is required to present a physical item: A small electronic device: h/w authentication token Generates non-reusable numeric responses
Called 2-factor authentication, because it requires 2 things: Something the user knows (password) Something the user has (hardware token)
50
Cross Realm Authentication
51
Hierarchy/Chain of Realms
52
Kerberos and PubKey Crypto
Proposed enhancements Public key crypto for Initial Authentication
“PKINIT” Public key crypto for Cross-realm Authentication
“PKCROSS”
53
Kerberos: summary
Authentication method: User’s enter password on local machine only Authenticated via central KDC once per day No passwords travel over the network
Single Sign-on (via TGS): KDC gives you a special “ticket”, the TGT, usually
good for rest of the day TGT can be used to get other service tickets
allowing user to access them (when presented along with authenticators)
54
Advantages of Kerberos (1)
Passwords aren’t exposed to eavesdroppingPassword is only typed to the local workstation
It never travels over the network It is never transmitted to a remote server
Password guessing more difficultSingle Sign-on
More convenient: only one password, entered once Users may be less likely to store passwords
Stolen tickets hard to reuse Need authenticator as well, which can’t be reused
Much easier to effectively secure a small set of limited access machines (the KDC’s)
55
Advantages of Kerberos (2)
Easier to recover from host compromisesCentralized user account administration
56
Kerberos caveats
Kerberos server can impersonate anyoneKDC is a single point of failure
Can have replicated KDC’sKDC could be a performance bottleneck
Everyone needs to communicate with it frequently Not a practical concern these days Having multiple KDC’s alleviates the problem
If local workstation is compromised, user’s password could be stolen by a trojan horse
Only use a desktop machine or laptop that you trust Use hardware token pre-authentication
57
Kerberos caveats (2)
Kerberos vulnerable to password guessing attacks Choose good passwords! Use hardware pre-authentication
Hardware tokens, Smart cards etc
58
References
Kerberos: An Authentication Service for Open Network Systems
Steiner, Neuman, Schiller, 1988, Winter USENIXKerberos: An Authentication Service for Computer Networks
Neuman and Ts’o, IEEE Communications, Sep 1994A Moron’s guide to Kerberos - Brian Tung
http://www.isi.edu/gost/brian/security/kerberos.htmlDesigning an Authentication System: A Dialogue in Four Scenes
Bill Bryant, 1988 http://web.mit.edu/kerberos/www/dialogue.html
59
References (cont)
RFC 1510: The Kerberos Network Authentication Service (v5)
Kohl and Neuman, September 1993
draft-ietf-krb-wg-kerberos-clarifications-03.txt IETF Kerberos Working Group: rfc1510 revision
Using Encryption for Authentication in Large Networks of Computers
Roger Needham, Michael D. Schroeder CACM, Volume 21, December 1978, pp 993-999