Kerberos: an Authentication Service for Computer Networks by Clifford Neuman and Theodore Ts’O
Total Page:16
File Type:pdf, Size:1020Kb
Kerberos: An Authentication Service for Computer Networks by Clifford Neuman and Theodore Ts’o Presented by: Smitha Sundareswaran Chi Tsong Su Introduction z Kerberos: An authentication protocol based on cryptography z Designed at MIT under project Athena z Variation of Needham Schroeder protocol - Difference: Kerberos assumes all systems on the network to be synchronized z Similar function as its mythological namesake: “guards” the access to network protocols Contribution z Defines ideas of authentication, Integrity, confidentiality and Authorization z Working of Kerberos z Limitations z Utilities z How to obtain and use Kerberos z Other methods to improve security Why Kerberos? z Foils threats due to eavesdropping z More convenient than password based authentication { Allows user to avoid “authentication by assertion” z Authentication based on cryptography: attacker can’t impersonate a valid user How Kerberos Works z Distributed authentication service using a series of encrypted messages {Password doesn’t pass through the network z Timestamps to reduce the number of messages needed for authentication z “Ticket granting Service” for subsequent authentication Kerberos Authentication and Encryption zAuthentication proves that a client is running on behalf of a particular user zUses encryption key for authentication {Encryption key = Password zEncryption implemented using DES {Checksum included in message checksum and encryption provide integrity & confidentiality The Kerberos Ticket z Initially, client and Server don’t share an encryption key z Authentication server generates an encryption key (session key) and distributes it to client and verifier z Kerberos Ticket is a certificate issued by authentication server used to distribute the session key z Ticket = session key + name of principal + expiration time for key Basic Kerberos Protocol Application request and response Application request and response (cont’d.) z Most Basic exchange of the protocol z Used by client to prove to verifier that it knows the session key embedded in a ticket z Application request = ticket + authenticator z Authenticator : {current time, checksum, optional encryption key,..} encrypted with session key Authentication request and response z Used when client requires association with particular verifier z Request : z Response: Obtaining additional Tickets z Basic Kerberos protocol requires user’s password to be presented every time for authentication to new verifier - Cumbersome!! z Ticket granting Exchange used to support single sign-on using short lived credentials - Credentials (tickets and encryption keys are cached) z Authentication request gets a ticket granting ticket and session key in response from authentication server z For subsequent authentication, a new ticket is request from authentication server using the ticket granting exchange Complete Kerberos Authentication Protocol Related work zKerberos is based in part on the Needham and Schroeder authentication protocol { Authentication Servers {Conventional Algorithms {Multiple Authentication Servers zNot including: {Public-Key Algorithms {Digital Signatures Related work zOther approaches for improving Security { One-time pass codes: to solve the defect that Kerberos does not protect against the theft of a password through a Trojan horse login program on the user’s workstation {Public-key Cryptography: to solve the defect that Kerberos does not support non-repudiation Results zKerberos allows a client to be verified without sending sensitive data through insecure network { To authentication server: sending client name, verifier name, expiration time and a random number {To verifier: sending a ticket encrypted with the verifier’s secret key ,and current time, a checksum and an optional encryption all encrypted with the session key Results zKerberos allows a client obtain additional tickets by ticket granting service {Without cashing user’s password on the workstation {Instead, cashing Kerberos ticket and encryption keys only for a short time {Within a limited period, ticket granting ticket can help a user to be identified to a new verifier. Results zKerberos 4’s cross-realm authentication allows a user to prove its identity to a new verifier registered in a different realm { different authentication servers can share a cross-realm key for a verifier {A principal can use ticket granting tick to request a ticket from the new verifier Results zKerberos 5’s multi-hop cross- realm authentication all keys to be shared hierarchically zMIT reference implementation includes version of popular application such Berkeley R- commands, telnet and POP Take Away zAuthor’s Claim: {Show how authentication Service can be implemented to fit in with computer networks {Show how passwords can avoid appearing during authentication {Show how eavesdropping and replay attack are prevented Take Away zAuthor’s Claim: {Show how a service and a user can verify each other’s identity {Gives a overall mechanism to expand Kerberos’s usage across organizations Take Away zBut... {Even though the passwords are not presented ,how could you prevent the user’s private key from being stolen in his workstation? {How about the shared key between the user and the verifier ? {And the attacker eventually can intercept some information useful during “so-called secure authentication” Take Away zThus, do not only depend on only one party but urge users to change passwords or secret keys in regular if necessary .