Objectives Understand the challenge-response authentication protocol and its attacks Understand the basic mechanisms of trusted intermediaries for distributed.

Slides:



Advertisements
Similar presentations
AUTHENTICATION AND KEY DISTRIBUTION
Advertisements

Supervisor :Dr. Lo'ai Ali Tawalbeh Done by: Wa’el Musa Hadi
Chapter 10 Real world security protocols
Chapter 14 – Authentication Applications
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 (?).
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CIS 725 Key Exchange Protocols. Alice ( PB Bob (M, PR Alice (hash(M))) PB Alice Confidentiality, Integrity and Authenication PR Bob M, hash(M) M, PR Alice.
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
Chapter 4 Authentication Applications. Objectives: authentication functions developed to support application-level authentication & digital signatures.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
Authentication & Kerberos
Cryptography and Network Security Chapter 15 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
1 Authentication Applications Digital Signatures Security Concerns X.509 Authentication Service Kerberos Based on slides by Dr. Lawrie Brown of the Australian.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
Outline User authentication –Password authentication, salt –Challenge-response authentication protocols –Biometrics –Token-based authentication Authentication.
1 Key Establishment Symmetric key problem: How do two entities establish shared secret key in the first place? Solutions: Deffie-Hellman trusted key distribution.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Outline User authentication
Outline User authentication –Password authentication, salt –Challenge-response authentication protocols –Biometrics –Token-based authentication Authentication.
Network Security understand principles of network security:
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
1 Key Establishment Symmetric key problem: How do two entities establish shared secret key over network? Solution: trusted key distribution center (KDC)
Outline User authentication –Password authentication, salt –Challenge-response authentication protocols –Biometrics –Token-based authentication Authentication.
Slide 1 Vitaly Shmatikov CS 378 Kerberos. slide 2 Many-to-Many Authentication How do users prove their identities when requesting services from machines.
Topic 11: Key Distribution and Agreement 1 Information Security CS 526 Topic 11: Key Distribution & Agreement, Secure Communication.
Outline User authentication
Vitaly Shmatikov CS 361S Kerberos. slide 2 Reading Assignment uKaufman Chapters 13 and 14 u“Designing an Authentication System: A Dialogue in Four Scenes”
1 Authentication Protocols Celia Li Computer Science and Engineering York University.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
8-1Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity, authentication.
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.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Authentication 3: On The Internet. 2 Readings URL attacks
Fall 2010/Lecture 321 CS 426 (Fall 2010) Key Distribution & Agreement.
Upper OSI Layers Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
X.509 Topics PGP S/MIME Kerberos. Directory Authentication Framework X.509 is part of the ISO X.500 directory standard. used by S/MIME, SSL, IPSec, and.
Authentication. Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” Failure scenario?? “I am Alice”
Topic 14: Secure Communication1 Information Security CS 526 Topic 14: Key Distribution & Agreement, Secure Communication.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
1 Network Security Lecture 7 Overview of Authentication Systems Waleed Ejaz
Kerberos Guilin Wang School of Computer Science 03 Dec
Computer and Network Security - Message Digests, Kerberos, PKI –
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
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.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Cryptography and Network Security
Outline User authentication
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
CS60002: Distributed Systems
CS 378 Kerberos Vitaly Shmatikov.
Protocol ap1.0: Alice says “I am Alice”
Protocol ap1.0: Alice says “I am Alice”
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
KERBEROS.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Chapter 8 roadmap 8.1 What is network security?
Presentation transcript:

Objectives Understand the challenge-response authentication protocol and its attacks Understand the basic mechanisms of trusted intermediaries for distributed authentication using different crypto methods –Symmetric key: KDC (the key concept of ticket) –Asymmetric key: CA Know the practical protocols of distributed authentication –Symmetric key: Kerberos –Asymmetric key: X.509

Outline User authentication –Challenge-response authentication protocols –Single Sign-On systems –Trusted Intermediaries

Challenge-response Authentication Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” Failure scenario?? “I am Alice”

Authentication Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” in a network, Bob can not “see” Alice, so Trudy simply declares herself to be Alice “I am Alice”

Authentication: another try Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Failure scenario?? “I am Alice” Alice’s IP address

Authentication: another try Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Trudy can create a packet “spoofing” Alice’s address “I am Alice” Alice’s IP address

Authentication: another try Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. Failure scenario?? “I’m Alice” Alice’s IP addr Alice’s password OK Alice’s IP addr

Authentication: another try Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. playback attack: Trudy records Alice’s packet and later plays it back to Bob “I’m Alice” Alice’s IP addr Alice’s password OK Alice’s IP addr “I’m Alice” Alice’s IP addr Alice’s password

Authentication: yet another try Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. Failure scenario?? “I’m Alice” Alice’s IP addr encrypted password OK Alice’s IP addr

Authentication: another try Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. record and playback still works! “I’m Alice” Alice’s IP addr encryppted password OK Alice’s IP addr “I’m Alice” Alice’s IP addr encrypted password

Authentication: yet another try Goal: avoid playback attack Failures, drawbacks? Nonce: number (R) used only once –in-a-lifetime ap4.0: to prove Alice “live”, Bob sends Alice nonce, R. Alice must return R, encrypted with shared secret key “I am Alice” R K (R) A-B Alice is live, and only Alice knows key to encrypt nonce, so it must be Alice!

Authentication: ap5.0 ap4.0 doesn’t protect against server database reading can we authenticate using public key techniques? ap5.0: use nonce, public key cryptography “I am Alice” R Bob computes K (R) A - (K (R)) = R A - K A + and knows only Alice could have the private key, that encrypted R such that (K (R)) = R A - K A +

Exercise Suppose Bob is a stateless server which does not require him to remember the challenge he sends to Alice. Is the following protocol secure? “I am Alice” R R, K (R) A-B

Outline User authentication –Challenge-Response –Single sign-on, Microsoft Passport –Trusted Intermediaries

Single Sign-on Systems Rules Authentication Application Database Server LAN user name, password, other auth Advantages –User signs on once –No need for authentication at multiple sites, applications –Can set central authorization policy for the enterprise

Web Single Sign-on Systems Involved entities –IdP (Identity party, such as Facebook and Google) –RP (Relying party, such as NYTimes) –User An example: a user logs into a third-party web site through his identity provided by Facebook. Current standard: OAuth/OAuth2.0

Web Single Sign-on Systems UserRPIdP 1. Access Resource 2. Redirect with Authentication Request 3. Ask for Password 4. User Login 5. Redirect with Secret Token 6. Ensure Authentication and Provide Service

Microsoft Passport Launched 1999 –Claim > 200 million accounts in 2002 –Over 3.5 billion authentications each month Log in to many websites using one account –Used by MS services Hotmail, MSN Messenger or MSN subscriptions; also Radio Shack, etc. –Hotmail or MSN users automatically have Microsoft Passport accounts set up

Oauth/OAuth2.0 “Valet key for the web” Used for temporary access to third-party resources without sharing passwords Used by Google, Amazon, Netflix, Twitter, Facebook, among others For example: –Gmail API provides access to user s through OAuth2.0 –Facebook API allows access to user info, friend list, and actions through OAuth2.0

Outline User authentication –Challenge-Response –Single sign-on, Microsoft Passport –Trusted Intermediaries

Trusted Intermediaries Symmetric key problem: How do two entities establish shared secret key over network? Solution: trusted key distribution center (KDC) acting as intermediary between entities Public key problem: When Alice obtains Bob’s public key (from web site, , diskette), how does she know it is Bob’s public key, not Trudy’s? Solution: trusted certification authority (CA)

Key Distribution Center (KDC) Alice, Bob need shared symmetric key. KDC: server shares different secret key with each registered user (many users) Alice, Bob know own symmetric keys, K A-KDC K B-KDC, for communicating with KDC. K B-KDC K X-KDC K Y-KDC K Z-KDC K P-KDC K B-KDC K A-KDC K P-KDC KDC

Key Distribution Center (KDC) Alice and Bob communicate: using R1 as session key for shared symmetric encryption Q: How does KDC allow Bob, Alice to determine shared symmetric secret key to communicate with each other?

Ticket and Standard Using KDC Ticket –In K A-KDC (R1, K B-KDC (A,R1) ), the K B-KDC (A,R1) is also known as a ticket –Comes with expiration time KDC used in Kerberos: standard for shared key based authentication –Users register passwords –Shared key derived from the password

Kerberos Trusted key server system from MIT –one of the best known and most widely implemented trusted third party key distribution systems. Provides centralised private-key third-party authentication in a distributed network –allows users access to services distributed through network –without needing to trust all workstations –rather all trust a central authentication server Two versions in use: 4 & 5 Widely used – Red Hat 7.2 and Windows Server 2003 or higher

slide 26 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 uUse TGS to get tickets for any network service File server, printer, other network services Encrypted service ticket Ticket granting service (TGS) TGS ticket Encrypted service ticket

slide 27 Symmetric Keys in Kerberos K c is long-term key of client C –Derived from user’s 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

slide 28 “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

slide 29 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

slide 30 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.

Kerberos Overview

slide 32 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 Symmetric cryptography only

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!

Trusted Intermediaries Symmetric key problem: How do two entities establish shared secret key over network? Solution: trusted key distribution center (KDC) acting as intermediary between entities Public key problem: When Alice obtains Bob’s public key (from web site, , diskette), how does she know it is Bob’s public key, not Trudy’s? Solution: trusted certification authority (CA)

Certification Authorities Certification authority (CA): binds public key to particular entity, E. E (person, router) registers its public key with CA. –E provides “proof of identity” to CA. –CA creates certificate binding E to its public key. –Certificate containing E’s public key digitally signed by CA – CA says “this is E’s public key” Bob’s public key K B + Bob’s identifying information digital signature (encrypt) CA private key K CA - K B + certificate for Bob’s public key, signed by CA

Certification Authorities When Alice wants Bob’s public key: –gets Bob’s certificate (Bob or elsewhere). –apply CA’s public key to Bob’s certificate, get Bob’s public key CA is heart of the X.509 standard used extensively in –SSL (Secure Socket Layer)/TLS: deployed in every Web browser –S/MIME (Secure/Multiple Purpose Internet Mail Extension), and IP Sec, etc. Bob’s public key K B + digital signature (decrypt) CA public key K CA + K B +

General Process of SSL C Version, Crypto choice, nonce Version, Choice, nonce, signed certificate containing server’s public key Ks S Secret key K encrypted with server’s key Ks hash of sequence of messages switch to negotiated cipher

Authentication in SSL/HTTPS Company asks CA (e.g., Verisign) for a certificate CA creates certificates and signs it Certificate installed in server (e.g., web server) Browser issued with root certificates –Windows Root Certificates List aspx Browser verify certificates and trust correctly signed ones

Single KDC/CA Problems –Single administration trusted by all principals –Single point of failure –Scalability Solutions: break into multiple domains –Each domain has a trusted administration

Multiple KDC/CA Domains Secret keys: KDCs share pairwise key topology of KDC: tree with shortcuts Public keys: cross-certification of CAs example: Alice with CA A, Boris with CA B –Alice gets CA B ’s certificate (public key p 1 ), signed by CA A –Alice gets Boris’ certificate (its public key p 2 ), signed by CA B (p 1 )

Key Distribution Center (KDC) Alice knows R1 Bob knows to use R1 to communicate with Alice Alice and Bob communicate: using R1 as session key for shared symmetric encryption Q: How does KDC allow Bob, Alice to determine shared symmetric secret key to communicate with each other? KDC generates R1 K B-KDC (A,R1) K A-KDC (A,B) K A-KDC (R1, K B-KDC (A,R1) )

Backup Slides

slide 43 Kerberos in Large 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… –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

When NOT Use Kerberos No quick solution exists for migrating user passwords from a standard UNIX password database to a Kerberos password database –such as /etc/passwd or /etc/shadow For an application to use Kerberos, its source must be modified to make the appropriate calls into the Kerberos libraries All-or-nothing proposition –If any services that transmit plaintext passwords remain in use, passwords can still be compromised

slide 45 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 verify that the user who is presenting the ticket is the same user to whom the ticket was issued