SCSC 455 Computer Security

Slides:



Advertisements
Similar presentations
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 4.6 Kerberos.
Advertisements

1 Kerberos Anita Jones November, Kerberos * : Objective Assumed environment Assumed environment –Open distributed environment –Wireless and Ethernetted.
AUTHENTICATION AND KEY DISTRIBUTION
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
The Authentication Service ‘Kerberos’ and It’s Limitations
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.
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.
IT 221: Introduction to Information Security Principles Lecture 8:Authentication Applications For Educational Purposes Only Revised: October 20, 2002.
Authentication Applications The Kerberos Protocol Standard
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
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
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.
Outline User authentication
The Kerberos Authentication System Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
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.
1 Authentication Applications Digital Signatures Security Concerns X.509 Authentication Service Kerberos Based on slides by Dr. Lawrie Brown of the Australian.
SMUCSE 5349/73491 Authentication Protocols. SMUCSE 5349/73492 The Premise How do we use perfect cryptographic mechanisms (signatures, public-key and symmetric.
Henric Johnson1 Chapter 4 Authentication Applications Henric Johnson Blekinge Institute of Technology,Sweden
1 Authentication Applications Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College, UNSW.
Slide 1 Vitaly Shmatikov CS 378 Kerberos. slide 2 Many-to-Many Authentication How do users prove their identities when requesting services from machines.
Vitaly Shmatikov CS 361S Kerberos. slide 2 Reading Assignment uKaufman Chapters 13 and 14 u“Designing an Authentication System: A Dialogue in Four Scenes”
Objectives Understand the challenge-response authentication protocol and its attacks Understand the basic mechanisms of trusted intermediaries for distributed.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
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.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Chapter 21 Distributed System Security Copyright © 2008.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
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)
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.
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.
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.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
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.
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 Example security systems n Kerberos n Secure shell.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
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.
Radius, LDAP, Radius used in Authenticating Users
CSCE 715: Network Systems Security
Authentication Protocol
CSCE 715: Network Systems Security
CS60002: Distributed Systems
CS 378 Kerberos Vitaly Shmatikov.
Kerberos Part of project Athena (MIT).
KERBEROS.
KERBEROS Miah, Md. Saef Ullah.
Presentation transcript:

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

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

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

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 A transmit a connection request packet to KDC 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 A and B set up a logical connection with the session key

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.

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

Authentication Threats User impersonation Malicious user with access to a workstation pretends to be another user from the same workstation Can’t 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

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 it’s identity. Does not require user to enter password every time a service is requested

Solution: Trusted Third Party Knows all users’ and servers’ passwords User requests ticket for some service; proves his identity Servers User receives ticket Ticket is used to access desired network service User 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

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

What Should a Ticket Look Like? Ticket gives holder access to a network service User Server Ticket cannot include server’s 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 server’s password Server can decrypt ticket and verify information User does not learn server’s password

What Should a Ticket Include? Knows all users’ and servers’ passwords User Encrypted ticket Server Encrypted ticket User name Server name Address of user’s 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)

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

Solution: Two-Step Authentication Prove identity once to obtain special TGS ticket Instead of password, use key derived from password Use TGS to get tickets for many network services USER=Joe; service=TGS Joe the User Encrypted TGS ticket Key distribution center (KDC) TGS ticket Ticket granting service (TGS) Encrypted service ticket Encrypted service ticket File server, printer, other network services

Still Not Good Enough Ticket hijacking No server authentication 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

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

“Single Logon” Authentication kinit program (client) Key Distribution Center (KDC) password IDc , IDTGS , timec Convert into client master key User Kc EncryptKc(Kc,TGS , IDTGS , timeKDC , lifetime , ticketTGS) Decrypts with Kc and obtains Kc,TGS and ticketTGS Fresh key to be used between client and TGS TGS Key = KTGS EncryptKTGS(Kc,TGS , IDc , Addrc , IDTGS , timeKDC , lifetime) Client will use this unforgeable ticket to get other tickets without re-authenticating Key = Kc … All users must pre-register their passwords with KDC Client only needs to obtain TGS ticket once (say, every morning) Ticket is encrypted; client cannot forge it or tamper with it

Obtaining a Service Ticket Ticket Granting Service (TGS) usually lives inside KDC Client EncryptKc,TGS(IDc , Addrc , timec) Proves that client knows key Kc,TGS contained in encrypted TGS ticket Knows Kc,TGS and ticketTGS System command, e.g. “lpr –Pprint” IDv , ticketTGS , authC EncryptKc,TGS(Kc,v , IDv , timeTGS , ticketv) User Fresh key to be used between client and service Knows key Kv for each service EncryptKv(Kc,v , IDc , Addrc , IDv , timeTGS , lifetime) Client will use this unforgeable ticket to get access to service V 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, email, etc.)

Obtaining Service Client Server V User EncryptKc,v(IDc , Addrc , timec) Proves that client knows key Kc,v contained in encrypted ticket Knows Kc,v and ticketv Server V System command, e.g. “lpr –Pprint” ticketv , authC EncryptKc,v(timec+1) User Authenticates server to client Reasoning: Server can produce this message only if he knows key Kc,v. Server can learn key Kc,v only if he can decrypt service ticket. Server can decrypt service ticket only if he knows correct key Kv. If server knows correct key Kv, then he is the right server. For each service request, client uses the short-term key for that service and the ticket he received from TGS

Kerberos in Large Networks One KDC isn’t 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 realm’s TGS Use remote-realm ticket to access service N(N-1)/2 key exchanges for full N-realm interoperation

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 can’t decrypt) and verifies user’s identity

Practical Uses of Kerberos Email, 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

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

Summary of Kerberos

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