Presentation is loading. Please wait.

Presentation is loading. Please wait.

SCSC 455 Computer Security Chapter 4 Key Distribution and User Authentication Dr. Frank Li.

Similar presentations


Presentation on theme: "SCSC 455 Computer Security Chapter 4 Key Distribution and User Authentication Dr. Frank Li."— Presentation transcript:

1 SCSC 455 Computer Security Chapter 4 Key Distribution and User Authentication Dr. Frank Li

2 Index Symmetric Key Distribution Using Symmetric Encryption Kerberos Key Distribution Using Asymmetric Encryption X.509 Certificates PKI Federated Identity Management

3 Symmetric Key Distribution Using Symmetric Encryption In symmetric encryption, key must be protected from access by others Also frequent key changes are desirable, because … The strength of cryptosystem rests on Key distribution technique Four options of key distribution A key is selected by A and physically delivered to B A key is selected by a third party C and physically delivered to A and B Using the old key to encrypt the new key before transmission a third party C deliver a key on encrypted link to A and B

4 Key Distribution Center (KDC) Issues with option 1, 2 and 3 Two types of keys in option 4 Session key vs. Permanent key KDC is necessary element KDC operation 1. A transmit a connection request packet to KDC 2. KDC generates a one-time session key. KDC encrypt session key with a permanent key shared with A, and delivery the encrypted session key to A. same to B 3. A and B set up a logical connection with the session key

5 Kerberos Kerberos is a key distribution and user authentication service The problem Kerberos addresses is … Kerberos provides a centralized authentication server to authenticate users to servers and servers to users.

6 Authentication Requirements Security Against attacks by passive eavesdroppers and actively malicious users Reliability Transparency Users shouldnt be aware of authentication taking place Entering password is Ok, if done rarely Scalability Large number of users and servers

7 Authentication Threats User impersonation Malicious user with access to a workstation pretends to be another user from the same workstation Cant trust workstations to verify users identities Network address impersonation Malicious user changes network address of his workstation to impersonate another workstation Eavesdropping, tampering and replay Malicious user eavesdrops on, tampers with or replays other users conversations to gain unauthorized access

8 History of Kerberos Kerberos is Part of project Athena (MIT). Trusted 3rd party authentication scheme Assumes that hosts are not trustworthy. Requires that each client (each request for service) prove its identity. Does not require user to enter password every time a service is requested

9 Solution: Trusted Third Party User Servers Trusted 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

10 Kerberos V4 A simple authentication dialogue Authentication Server (AS) A more secure authentication dialogue Ticket-granting server (TGS) Ticket Timestamp and lifetime The version 4 authentication dialogue

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

12 What Should a Ticket Include? Server Encrypted ticket Knows all users and servers passwords Encrypted ticket User name Server name Address of users workstation Otherwise, a user on another workstation can steal the ticket and use it to gain access to the server Ticket lifetime A few other things (e.g., session key) User

13 How Is Authentication Done? Encrypted ticket User Authentication server Password Send the password each time to obtain the ticket for any network service Separate authentication for , printing, etc. Inconvenient

14 Solution: Two-Step Authentication Encrypted TGS ticket Joe the User Key distribution center (KDC) 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

15 Still Not Good Enough Ticket 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 No 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

16 Symmetric Keys in Kerberos K c is long-term key of client C Derived from users password Known to client and key distribution center (KDC) K TGS is long-term key of TGS Known to KDC and ticket granting service (TGS) K v is long-term key of network service V Known to V and TGS; separate key for each service K c,TGS is short-term key between C and TGS Created by KDC, known to C and TGS K c,v is short-term key betwen C and V Created by TGS, known to C and V

17 Single Logon Authentication User Client 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

18 Obtaining a Service Ticket User Client 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

19 Obtaining Service User For 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.

20 Kerberos in Large Networks One KDC isnt enough for large networks Network is divided into realms KDCs in different realms have different key databases To access a service in another realm, users … 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 realms TGS Use remote-realm ticket to access service N(N-1)/2 key exchanges for full N-realm interoperation

21 Important Ideas in Kerberos Use 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! Proofs 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 cant decrypt) and verifies users identity

22 Practical Uses of Kerberos , 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! Local authentication login and su in OpenBSD Authentication for network protocols rlogin, rsh, telnet Secure windowing systems xdm, kx

23 Kerberos Version 5 The environmental limitations of Kerberos version 4 Encryption system dependence Internet protocol dependence Message byte ordering Ticket lifetime Authentication forwarding Inter-realm authentication

24 Summary of Kerberos

25 Key Distribution using Asymmetric Encryption Two aspects Distribution of public keys Use public-key encryption to distribution secret key.


Download ppt "SCSC 455 Computer Security Chapter 4 Key Distribution and User Authentication Dr. Frank Li."

Similar presentations


Ads by Google