CS60002: Distributed Systems

Slides:



Advertisements
Similar presentations
1 Kerberos Anita Jones November, Kerberos * : Objective Assumed environment Assumed environment –Open distributed environment –Wireless and Ethernetted.
Advertisements

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
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
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.
SCSC 455 Computer Security
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.
The Kerberos Authentication System Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
1 Lecture 12: Kerberos terms and configuration phases –logging to network –accessing remote server replicated KDC multiple realms message privacy and integrity.
Authentication & Kerberos
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.
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”
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
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.
KERBEROS. Introduction trusted key server system from MIT.Part of project Athena (MIT).Developed in mid 1980s. provides centralised private-key third-party.
1 KERBEROS: AN AUTHENTICATION SERVICE FOR OPEN NETWORK SYSTEMS J. G. Steiner, C. Neuman, J. I. Schiller MIT.
31/03/2005Authentication Applications 1 Authentication Applications: Kerberos, X.509 and Certificates REYHAN AYDOĞAN.
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.
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.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
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.
CPS Computer Security Tutorial on Creating Certificates SSH Kerberos CPS 290Page 1.
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
KERBEROS SYSTEM Kumar Madugula.
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.
Computer and Network Security
KAMAN Kerberos Assisted Authentication in Mobile Ad-hoc Networks
Chapter 14. Authentication Applications
Tutorial on Creating Certificates SSH Kerberos
Chapter 14 – Authentication Applications
Cryptography and Network Security
KERBEROS.
Radius, LDAP, Radius used in Authenticating Users
CSCE 715: Network Systems Security
Authentication Applications
Outline User authentication
Kerberos Kerberos is a network authentication protocol and it is designed to provide strong authentication for client server applications. It uses secret.
Authentication Protocol
Tutorial on Creating Certificates SSH Kerberos
CSCE 715: Network Systems Security
بسم الله الرحمن الرحيم فصل چهارم kerberos.
CS 378 Kerberos Vitaly Shmatikov.
Network Security – Kerberos
Kerberos Kerberos is an authentication protocol for trusted hosts on untrusted networks.
Kerberos Part of project Athena (MIT).
KERBEROS.
+ Attach service request
KERBEROS Miah, Md. Saef Ullah.
Chapter 8.5 AUTHENTICATION AND KEY DISTRIBUTION
Kerberos and X.509 Fourth Edition by William Stallings
Authentication Applications
Presentation transcript:

CS60002: Distributed Systems Kerberos CS60002: Distributed Systems Antonio Bruto da Costa Ph.D. Student, Formal Methods Lab, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Origins Project Athena Design Considerations for Kerberos Started in 1983 by MIT, Digital Equipment Corporation and IBM Purpose of producing a campus wide distributed computing environment for educational use. Outcomes of Project Athena include : X-Windowing System, Kerberos, Zephyr Notification System Design Considerations for Kerberos No passwords communicated over the n/w. Cryptographic protection Limited period of validity of sessions Timestamping to prevent replay attacks. Mutual authentication INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Use-case INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Authenticating to Multiple Servers Consider a set of users that needs to access different services on the net Need to authenticate to each of them Naïve solution: every server knows every user’s password Insecure: breaking into one server can compromise all users Inefficient: to change password, a user must contact every server INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Trusted Third Party 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 INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

What is a ticket? 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 known to the server (but not the user!) Server can decrypt ticket and verify information User does not learn server’s key INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Contents of a 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 (duration for which valid) A few other things (e.g., session key) Typically encrypted using the private key of the service or TGS to be accessed. INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

User Authentication to Third Party Insecure: Eavesdropper can steal the password and later impersonate the user to the authentication server Inconvenient: Need to send the password each time to obtain the ticket for any network service Separate authentication for email, printing, etc. INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Two-Step Authentication Prove identity once to KDC obtain special TGS ticket Use TGS ticket in communications with TGS to get tickets for any network service INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Symmetric Keys in Kerberos Kc : private key of client C Derived from user’s password Known to client and key distribution center (KDC) KTGS : private key of TGS Known to KDC and ticket granting service (TGS) Kv : private key of network service V Known to V and TGS; separate key for each service Kc,TGS : session key between C and TGS Created by KDC, known to C and TGS, valid only for one session (some lifetime) between C and TGS Kc,v : session key between C and V Created by TGS, known to C and V, valid only for one session (some lifetime) between C and TGS INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

“Single Logon” Authentication Client C types in password once Converted to client key Kc C sends to KDC : (IDC, IDTGS, timeC) KDC sends to C : (Kc,TGS , IDTGS, timeKDC, lifetime, ticketTGS) encrypted with Kc ticketTGS = (Kc,TGS , IDC, AddrC , IDTGS , timeKDC , lifetime) encrypted with KTGS Client will use this ticket to get other tickets without re-authenticating KC,TGS : short term session key used for communication between C and TGS during lifetime Typical validity of TGS ticket – 1 day Client only needs to obtain TGS ticket once a day (say, every morning) Password is entered once and then deleted from the client machine after obtaining the TGS ticket Password is never sent over the network Ticket is encrypted; client cannot forge it or tamper with it INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Obtaining a Service Ticket Client C sends to TGS: (IDV , ticketTGS, authC) authC = (IDC , AddrC , timeC) encrypted with KC,TGS authenticator to ensure it is the same client that got the ticket TGS sends to C: (KC,V , IDV , timeTGS , ticketV) encrypted with KC,TGS ticketV = (KC,V, IDC, AddrC, IDV , timeTGS, lifetime) encrypted with KV Client uses TGS ticket to obtain a service ticket and a short-term session key for each network service One encrypted, unforgeable ticket per service (printer, email, etc.) INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Obtaining Service C sends to V: (ticketV , authC) authC = (IDC , AddrC , timeC) encrypted with KC,V V sends to C: (timeC+1) encrypted with KC,V Authenticates server to client For each service request, client uses the short-term session key for that service and the ticket he received from TGS INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Summary of Kerberos User is authenticated by the KDC, receives a ticket for the TGS. User uses TGS ticket (typical validity of one day) to request a service ticket from the TGS. User uses Service Ticket to contact service. INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Important Ideas in Kerberos Short-term session keys Long-term secrets used only to derive short-term keys Separate session key for each user-server pair … but multiple user-server sessions re-use 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 INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Kerberos in Larger Networks One KDC isn’t enough for large networks (why?) Network is divided into realms KDCs in different realms have different key databases To access a service in another realm, users must do cross-realm authentication 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 (NOT SCALABLE) Use Hierarchical cross-realm authentication INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Hierarchical Cross-realm Authentication Organise the realms as trees Each node’s TGS knows the TGS key of its parent and children. Without Shortcut Paths With Shortcut Paths INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

Additional Caveats Tickets can be of different types Renewabel Ticket: Can be a TGS or Service Ticket Client gets a ticket with renewable flag set and 2 timelimits t1(Current Expiry) and t2(Max Expiry) Possibility 1: Ticket expires at t1 (nothing is done to renew) Possibility 2: Ticket is presented to ticketing agent (KDC or TGS) before t1 for renewal. INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

The FORWARDED flag is set by the TGS on request. Forwardable Tickets Authentication forwarding is an instance of a proxy where the service that is granted is complete use of the client's identity. The FORWARDABLE flag in a ticket is normally only interpreted by the ticket-granting service. It can be ignored by application servers. With the FORWARDABLE flag TGTs may also be issued with different network addresses. This flag allows for authentication forwarding without requiring the user to enter a password again. The FORWARDED flag is set by the TGS on request. Client supplies a set of addresses for the new ticket. It is also set in all tickets issued based on tickets with the FORWARDED flag set. Application servers may choose to process FORWARDED tickets differently than non-FORWARDED tickets. S1 C S2 TGS INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR