Network Security: Kerberos Tuomas Aura. 2 Outline Kerberos authentication Kerberos in Windows domains.

Slides:



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

Enabling Secure Internet Access with ISA Server
1 Kerberos Anita Jones November, Kerberos * : Objective Assumed environment Assumed environment –Open distributed environment –Wireless and Ethernetted.
COEN 350 Kerberos.
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
11-1 ©2007 Raj JainCSE571SWashington University in St. Louis Kerberos V5 Raj Jain Washington University in Saint Louis Saint Louis, MO 63130
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.
Efficient Kerberized Multicast Olga Kornievskaia University of Michigan Giovanni Di Crescenzo Telcordia Technologies.
Authentication Applications
1 Authentication Applications Ola Flygt Växjö University, Sweden
Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Chapter 14 – Authentication Applications
NETWORK SECURITY.
Kerberos and X.509 Fourth Edition by William Stallings
Active Directory and NT Kerberos Rooster JD Glaser.
CSCE 815 Network Security Lecture 10 KerberosX.509 February 13, 2003.
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.
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.
ECE454/CS594 Computer and Network Security
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 (?).
Murad Kaplan 1. Network Authentication Protocol Uses private-key Cryptography Built on Needam/Schroeder Scheme Protects.
Akshat Sharma Samarth Shah
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
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.
Chapter 4 Authentication Applications. Objectives: authentication functions developed to support application-level authentication & digital signatures.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
COEN 350 Kerberos. Provide authentication for a user that works on a workstation. Uses secret key technology Because public key technology still had patent.
1 Lecture 12: Kerberos terms and configuration phases –logging to network –accessing remote server replicated KDC multiple realms message privacy and integrity.
Lecture 23 Internet Authentication Applications
Kerberos Jean-Anne Fitzpatrick Jennifer English. What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Available as open.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CSci530: Computer Security Systems Authentication.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Kerberos Presented By: Pratima Vijayakumar Rafi Qureshi Vinay Gaonkar CS 616 Course Instructor: Dr. Charles Tappert.
Introduction to Kerberos Kerberos and Domain Authentication.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
Authenticating Users Chapter 6. Learning Objectives Understand why authentication is a critical aspect of network security Describe why firewalls authenticate.
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner Clifford Neuman Jeffrey I. Schiller.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 22 – Internet Authentication.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Designing Authentication for a Microsoft Windows 2000 Network Designing Authentication in a Microsoft Windows 2000 Network Designing Kerberos Authentication.
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Windows NT ® Single Sign On Cross Platform Applications (Part II) John Brezak Program Manager Windows NT Security Microsoft Corporation.
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)
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.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
Module 2: Introducing Windows 2000 Security. Overview Introducing Security Features in Active Directory Authenticating User Accounts Securing Access to.
KERBEROS SYSTEM Kumar Madugula.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Extra Reading Network Security: Kerberos
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.
Cryptography and Network Security
Radius, LDAP, Radius used in Authenticating Users
Authentication Applications
KERBEROS.
Presentation transcript:

Network Security: Kerberos Tuomas Aura

2 Outline Kerberos authentication Kerberos in Windows domains

Kerberos authentication 3

4 Kerberos Shared-key protocol for user login authentication Uses passwords as shared keys Solves security and scalability problems in password-based authentication in large domains Based loosely on the Needham-Schroeder secret-key protocol Kerberos v at MIT Kerberos v [RFC 4120] Updated protocol and algorithms ASN.1 BER message encoding Implemented in Windows 2000 and later Used in intranets: e.g. university Unix systems, corporate Windows domains

5 Kerberos architecture (1) 1.–2. Authentication 3.–4. Ticket for a specific service 4.–5. Authentication to the service

6 Kerberos terminology Client/server computing model Authentication for remote login sessions: e.g. interactive telnet, RPC Users and services are principals Key distribution center (KDC) Two components: authentication server (AS) and ticket-granting server (TGS) Trusted by all principals KDC shares a master key with each principal Long-term secret that is used only for initial authentication Usually derived by hashing a password [RFC3961] When user logs in, his workstation uses the password to obtain a ticket-granting-ticket (TGT) from AS When client needs to access remote services, it uses TGT to request a service ticket from TGS for each server (Note how the two-step process could be generalized to more steps)

7 Kerberos architecture (2) 1.–2. Authentication with password client gets TGT and K AT 3.–4. Authentication with TGT and K AT client gets service ticket and K AB 4.–5. Authentication with service ticket and K AB client gets service access

Message type, version 8 Kerberos ticket Same format for both TGT and service ticket Credentials = ticket + key ASN.1 encoding in Kerberos v5 Encryption also protects intergrity, actually encryption and a MAC Flags: FORWARDABLE, FORWARDED, PROXIABLE, PROXY, MAY-POST-DATE, POSTDATED, INVALID, RENEWABLE, INTINIAL, PRE-AUTHENT, HW-AUTHENT INITIAL flag indicates TGT REALM, SNAME Server name and realm FLAGS KEY CNAME, CREALM Client name and realm TRANSITED transit realms AUTH-TIME, END-TIME CADDR Client IP address (optional) AUTORIZATION-DATA App-specific access constraints Encrypted with servers master key

9 Protocol details Initial login of user A: 1.A AS:Preauthentication, A, TGS, N A1, Addr A 2.AS A:A, TGT, E K A (K A-TGS, N A1, TGS, Addr A ) Ticket request: 3. A TGS:TGT, Authenticator A-TGS, B, N A2, Addr A 4.TGS A: A, Ticket, E K A-TGS (K AB, N A2, B, Addr A ) Authentication to server B: 5.A B: Ticket, Authenticator AB 6. B A:AP_REP K A, K TGS, K B = master keys of A, TGS and B K A-TGS = shared key for A and TGS K AB = shared key for A and B TGT = B, E K TGS ( INITIAL, K A-TGS, A, T auth, T expiry1, Addr A )) Ticket = B, E K B (K AB, A, T auth, T expiry2, Addr A )) Preauthentication = E K A ( 1 T A ) Authenticator A-TGS = E K A-TGS ( 2 T A ) Authenticator AB = E K AB ( 3 T A ) AP_REP = E K AB ( 4 T A ) Addr A = As IP addresses Notes: 1234 ) ASN.1 encoding adds type tags to all messages Encryption mode also protects message integrity

10 Crypto algorithms Algorithms in older implementations were complex and potentially weak e.g.: DES encryption CRC-32 encrypted with DES in CBC mode for integrity Latest algorithm specification [RFC3961] recommends AES and HMAC Encryption mode must protect message integrity Can be implemented by appending an HMAC

11 Kerberos realms Users and services registered to one KDC form a realm e.g. Cross-realm trust: Two KDCs X and Y share a key is registered in KDC X and in KDC Y) KDCs believe each other to be honest and competent to name users in their own realm Cross-realm authentication: Client requests from TGS at realm X a ticket for TGS at realm Y The ticket is encrypted for (i.e. TGS at realm Y) Client requests from TGS at realm Y a ticket for server Access control at several steps: Local policy at each KDC about when to honor tickets from other realms Local policy at about whether to allow access to users from other realms ACLs at determine whether the users is allowed to access the particular resources Possible to transit multiple realms TRANSITED field in the ticket lists intermediate realms Local policy at each server about which transit realms are allowed

12 Realm hierarchy Large organizations can have a realm hierarchy Hierarchy follows internet names easy to find a path between realms can filter cross-realm requests based on the names Can add shortcut links or create even a fully connected graph between KDCs E.g. Windows domain hierarchy Compare with X.509 certification hierarchy: similarities, differences?

13 Password guessing attacks Kerberos is vulnerable to password guessing: Sniffed KRB_AS_REQ or KRB_AS_REP can be used to test candidate passwords offline brute-force password guessing In Kerberos v4, anyone could request a password-encrypted TGT from AS easy to obtain material for password cracking Preauthentication in Kerberos v5 prevents active attacks to obtain material for password cracking must sniff it Note: active vs. passive attacks Misleading thinking: active attacks (e.g. MitM) are more difficult to implement than passive attacks (sniffing) Reality: Active attacks can often be initiated by the attacker while passive attacks require attacker to wait for something to sniff vulnerability to such active attacks is serious

14 PKINIT Goal: take advantage of an existing PKI to bootstrap authentication in Kerberos Replaces the KRB_AS_REQ / KRB_AS_REP exchange with a public-key protocol Public-key authentication and encryption to obtain TGT Continue with standard Kerberos transparent to TGS and application servers No password, so not vulnerable to password guessing Uses DSS signatures and ephemeral DH Windows 2000 and later, no standard [RFC 4556]

15 Using the session key Applications need to be Kerberized to use Kerberos for authentication Authentication at the beginning of a session is of little value unless session data is protected with the session keys Attacker could not initiate sessions but is could sniff, modify and spoof session data (e.g. Kerberized telnet) Applications use the session key K AB in any way they want KRB_AP_REQ and KRB_AP_REP may include further key material (subkeys) that is sent encrypted under K AB Kerberos provides special messages for integrity protection and encryption: KRB_SAFE: data, T A, SN, addr A, addr B, MAC K AB (…) KRB_PRIV: E K AB (data, T A, SN, addr A, addr B ) Access to these functions happens often through GSSAPI (called SSPI in Windows) Another message KRB_CRED for sending credentials (ticket and secret key) for the purpose of delegation

16 Delegation Server may need to perform tasks independently on the clients behalf, e.g. Recursive RPC, agents operating when the user is no longer logged in, batch processing at night Alice can give her TGT or service ticket and key to David Controlling the use of delegated rights in applications: Ticket may specify the allowed client IP addresses Authorization-data field in ticket may contain app-specific restrictions Better delegate only a service ticket, not TGT Ticket flags related to delegation: FORWARDABLE flag in TGT: can be used to obtain a new TGT with different IP addresses PROXIABLE flag in TGT: can be used to obtain service tickets with a different IP address Kerberos delegation is identity delegation When B has As ticket and key, B can act as A and nobody can tell the difference difficult to audit access; similar to sharing passwords

Kerberos in Windows domains Thanks to Dieter Gollmann 17

18 Windows access control summary Two kinds of access rights: privileges and permissions The O/S stores security attributes for each processes (subject) in a security token Token contains a list of privileges and a list of SIDs (i.e. user and group identifiers) The privileges are the union of all privileges assigned to the SIDs on the local machine. The list is created at login time Permissions are decided by comparing the list of SIDs against a DACLs on an object

19 Accessing objects across network Alice is logged on her local machine (client) and wants to access resources (e.g. ) on a remote machine ( server) Resources on the server are managed by a Windows service (daemon process) on the server Alice is running software (e.g. client) that uses remote procedure calls (RPC) to access the remote resources on the server How does Windows allow and control access to such remote resources?

20 Network credentials Alices user name, SID and network credentials are cached on the client username and password, or TGT and K A-TGS Alices processes can use her network credentials for remote login Authenticated access to network servers is mostly transparent to Alice, the user Some applications ask for a different user name and credentials and store them separately Authentication protocols do not reveal the password to the server

21 Observations The service running on the server controls access to stored s there Alice trusts the client machine to store her password, and her client software to use it for remote login Thus, Alice must have high confidence in the client machine and the software she runs there Alices password is used to authenticate Alice to the server. However, the server does not learn the password and cannot later pretend to be Alice Thus, Alice only trusts the server to manage her . She does not need to trust the server for anything else The server requires Alice to login just as if she were at the server console The server does not trust the client machine at all (cf. Unix trusted hosts mechanism)

22 Tokens and remote access Security tokens are meaningful only to the local machine and cannot be sent over network The server does not trust the client machine to tell who Alice is and which groups she belongs to Instead, the client authenticates Alice to the server using her network credentials. The server creates a new login session and a new token (on the server) for Alice The service may now assign the token to a process or thread (impersonation) or implement its own access control based on the token contents

23 Network authentication Windows supports two authentication protocols: NTLM: legacy protocol from Windows NT Kerberos V5: implements RFC 1510 The authentication protocols also provide the server with Alices user and group SIDs produce a session key for protecting data between the client and server Encryption and authentication of session data is controlled by applications Different session protocol exist for network logon, RPC, COM

24 Kerberos in Windows Realm = Windows domain Realm hierarchy = domain hierarchy KDC = domain controller (DC) Information about users is stored in active directory (AD)

25 Kerberos and SIDs Kerberos authenticates principals, but which principals should be authenticated? User name and a domain name (e.g. EUROPE\tuomaura)? The appropriate fields in the ticket for this are CNAME and CREALM Principals according to the access control model? Windows puts the user SID and group SIDs in the optional field authorization-data Controversy over proprietary extensions, questions of interoperability and standards compliance General remark on standards: options are there to be used but cause incompatibilities

Message type, version 26 Kerberos ticket in Windows REALM, SNAME Server name and realm FLAGS KEY CNAME, CREALM Client name and realm TRANSITED transit realms AUTH-TIME, END-TIME CADDR Client IP address (optional) AUTORIZATION-DATA App-specific access constrains Encrypted with servers master key Username, domain User and group SIDs

27 Delegating Kerberos credentials Alice needs a service from Bob, where Bob has to access servers on her behalf For example, a print server needs to access Alices and files on file server to complete her printing jobs Alice applies for a proxyable ticket for the relevant servers and gives the ticket and corresponding session key to Bob

28 Exercises Can you spot any (potential) vulnerabilities in the integrity algorithms used by older Kerberos implementations? See RFC 1510 Find source code for a Kerberized client/server application (e.g. telnet) and see how it accesses Kerberos services Why is Kerberos used on the intranets and TLS/SSL on the Internet? Could it be the other way?