CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.

Slides:



Advertisements
Similar presentations
CMSC 414 Computer (and Network) Security Lecture 22 Jonathan Katz.
Advertisements

Lecture 10: Mediated Authentication
Chapter 10 Real world security protocols
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
CSC 474 Information Systems Security
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
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.
CS470, A.SelcukCryptographic Authentication1 Cryptographic Authentication Protocols CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
1 Security Handshake Pitfalls. 2 Authentication Handshakes Secure communication almost always includes an initial authentication handshake: –Authenticate.
CS470, A.SelcukNeedham-Schroeder1 Needham-Schroeder Protocol Authentication & Key Establishment CS 470 Introduction to Applied Cryptography Instructor:
CMSC 414 Computer and Network Security Lecture 26 Jonathan Katz.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
1 Chapter 13 – Digital Signatures & Authentication Protocols Fourth Edition by William Stallings Lecture slides by Lawrie Brown (modified by Prof. M. Singhal,
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
CS426Fall 2010/Lecture 81 Computer Security CS 426 Lecture 8 User Authentication.
CMSC 414 Computer (and Network) Security Lecture 26 Jonathan Katz.
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer (and Network) Security Lecture 21 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
Mar 5, 2002Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
CMSC 414 Computer and Network Security Lecture 16 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 16 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 14 Jonathan Katz.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 24 Jonathan Katz.
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
CMSC 414 Computer and Network Security Lecture 18 Jonathan Katz.
Slide 1 Vitaly Shmatikov CS 378 Key Establishment Pitfalls.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 23 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 14 Jonathan Katz.
CMSC 414 Computer (and Network) Security Lecture 24 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Strong Password Protocols
CMSC 414 Computer and Network Security Lecture 14 Jonathan Katz.
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Lecture 14 ISAKMP / IKE Internet Security Association and Key Management Protocol / Internet Key Exchange CIS CIS 5357 Network Security.
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Security protocols and their verification Mark Ryan University of Birmingham Midlands Graduate School University of Birmingham April 2005 Steve Kremer.
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
1 Lecture 9: Cryptographic Authentication objectives and classification one-way –secret key –public key mutual –secret key –public key establishing session.
CMSC 414 Computer and Network Security Lecture 20 Jonathan Katz.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Dr. Attila Altay Yavuz Authentication Protocols (I): Secure Handshake.
Lecture 5.1: Message Authentication Codes, and Key Distribution
Dos and Don’ts of Client Authentication on the Web Kevin Fu, Emil Sit, Kendra Smith, Nick Feamster Presented: Jesus F. Morales.
1 Authentication Protocols Rocky K. C. Chang 9 March 2007.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
Chapter 3 Basic Protocols. 3.1 Key Exchange n Session Key - Why? n Key Exchange with Symmetric Cryp. KDC request E KA (K AB ), E KB (K AB ) E KB (K AB.
Lesson Introduction ●Authentication protocols ●Key exchange protocols ●Kerberos Security Protocols.
@Yuan Xue CS 285 Network Security Key Distribution and Management Yuan Xue Fall 2012.
Dr. Nermin Hamza.  Attacks:  Traffic Analysis : traffic analysis occurs when an eavesdroppers observes message traffic on network. Not understand the.
Fourth Edition by William Stallings Lecture slides by Lawrie Brown
Security Handshake Pitfalls. Client Server Hello (K)
CMSC 414 Computer and Network Security Lecture 15
AIT 682: Network and Systems Security
Presentation transcript:

CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz

Authentication with password + public key  Say that only the server has a known public key (e.g., SSL) –Server sends R –Client sends E pk (R, password, session-key)  Insecure in general!!! –But secure if encryption scheme is chosen appropriately  Can be extended to give mutual authentication

Using session keys  Generally, want to provide both secrecy and integrity for subsequent conversation –Use authenticated encryption (e.g., encrypt-then-MAC) –Use sequence numbers to prevent replay attacks –Use a directionality bit –Periodically refresh the session key

Mediated authentication (using a KDC)

Mediated authentication  Simple protocol: –Alice requests to talk to Bob –KDC generates K AB and sends it to Alice and Bob, encrypted with their respective keys  No authentication here, but impostor can’t determine K AB  Other drawbacks: –KDC has to initiate session with Bob –Alice’s message to Bob may arrive before KDC’s message to Bob

Improvement…  Have KDC send to Alice the encryption of K AB under Bob’s key –Reduces communication load on KDC –Resilient to message delays in network  Bob and Alice follow with mutual authentication and key exchange

Needham-Schroeder  A  KDC: N 1, Alice, Bob  KDC  A: K A {N 1, “Bob”, K AB, ticket}, where ticket = K B {K AB, “Alice”}  A  B: ticket, K AB {N 2 }  B  A: K AB {N 2 -1, N 3 }  A  B: K AB {N 3 -1}

Analysis?  N 1 assures Alice that she is talking to KDC –Prevents key-replay; helps prevent attack when Bob’s key is compromised and then changed  “Bob” authenticated in message 2, and “Alice” in ticket  Uses encryption to authenticate…  –Leads to flaw if, e.g., ECB mode is used in round 4  Vulnerable if Alice’s key (even an old one) compromised –A ticket is eternally valid –Fix using timestamps, or by requesting an (encrypted) nonce from Bob at the very beginning of the protocol

Otway-Rees  A  B: N, “Alice”, K A {N A, N, “Alice”, “Bob”}  B  KDC: K A {N A, N, “Alice”, “Bob”}, K B {N B, N, “Alice”, “Bob”}  KDC  B: N, K A {N A, K AB }, K B {N B, K AB }  B  A: K A {N A, K AB }  A  B: K AB (timestamp)

Analysis?  Why does Alice believe she is talking to Bob?  Why does Bob believe he is talking to Alice?  Note: N should be unpredictable, not just a nonce –Otherwise, can falsely authenticate Bob to Alice

Desiderata and summary  This is not an exhaustive list!  These are concerns to be aware of; in some cases you may decide that certain threats are acceptable  Better to formally define a security model and prove security (but here we will be informal)

Desiderata and summary  Adversary initiating session as client –(Easiest attack to carry out) –No impersonation (obviously!) –No off-line password guessing –Should not learn information that will subsequently allow impersonation of server to client –Be aware of server decrypting/signing unauthenticated challenges –Splicing messages into the session  Similar for adversary accepting connections from client (though this is a harder attack)

Desiderata and summary  Eavesdropping –Should not learn information that would allow for later impersonation (possibly to another replica of Bob) –Messages should be encrypted –No off-line dictionary attacks  Server compromise –Should not learn client’s password –Forward secrecy –Impersonation of client to server(?)

“Dos and Don’ts of Client Authentication on the Web” (Fu, et al.)

Authentication using “cookies”  “Single sign-on” for users accessing a site  Full-fledged key-exchange not practical due to limited client (and server!) computation  No public keys, no third parties, deployability…  Idea: use “authenticators” stored as cookies –No client-side computation at all  But…must do this securely!

Minimal level of security?  Any such scheme must be secure against “interrogative attacks” –These are trivial to mount by legitimate users –In contrast to eavesdropping, server impersonation, and man-in-the-middle attacks that are more difficult  Confidentiality is an orthogonal issue…  Fine-grained vs. coarse-grained authentication –Does the system care who the user is, or just that they are legitimate?

Security model?  Existential forgery vs. selective forgery –The former may typically be sufficient; the latter is worse  (Essentially) adaptive chosen-message attack –User can sign up for different account under different names, with different levels of service  Want no existential forgery even after adaptive chosen-message attack –We have seen this before!

Security “hints”…  Use appropriate amount of security –Do you need fine-grained knowledge of the user-id or not? –Is confidentiality, etc. required or not?  Use published schemes…  No security through obscurity…  Use cryptographic tools appropriately

Example…  Using crypt( ) as a hash or MAC… –Output of crypt only depends on the first 8 characters of its input –crypt(username | key) provides no protection if the username is 8 characters long! –crypto(user | key) = crypt(user’ | key) if the first 8 chars of user match the first 8 chars of user’ –How can you determine the 8 character key using an adaptive chosen-message attack and ~2 11 work?

More “hints”  Be careful of composing security schemes –E.g., using same key for two purposes or schemes –E.g., different authentication schemes for account management and purchasing; break in one allowed recovery of password for the other  Protect user passwords –Don’t send in the clear, or include in URL –Only let cookies be sent over SSL –Re-authenticate before changing password  Avoid predictable session identifiers  Expiration…

A simple and secure approach…  Use secure MAC!  Compute MAC over entire cookie  Cookie = (username/data, expiration, MAC)