Outline Designing secure protocols Basic protocols Key exchange

Slides:



Advertisements
Similar presentations
1 Key Exchange Solutions Diffie-Hellman Protocol Needham Schroeder Protocol X.509 Certification.
Advertisements

Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Netprog: Cryptgraphy1 Cryptography Reference: Network Security PRIVATE Communication in a PUBLIC World. by Kaufman, Perlman & Speciner.
Homework #4 Solutions Brian A. LaMacchia Portions © , Brian A. LaMacchia. This material is provided without.
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Diffie-Hellman Key Exchange
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Chapter 3: Basic Protocols Dulal C. Kar. Key Exchange with Symmetric Cryptography Session key –A separate key for one particular communication session.
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
Software Security Seminar - 1 Chapter 5. Advanced Protocols 조미성 Applied Cryptography.
Week 4 - Wednesday.  What did we talk about last time?  RSA algorithm.
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
1 Needham-Schroeder A --> S: A,B, N A S --> A: {N A,B,K AB,{K AB,A} KBS } KAS A --> B:{K AB,A} KBS B --> A:{N B } KAB A --> B:{N B -1} KAB.
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
Fall 2006CS 395: Computer Security1 Key Management.
Software Security Seminar - 1 Chapter 2. Protocol Building Blocks 발표자 : 최두호 Applied Cryptography.
Outline The basic authentication problem
Key Management Session and Interchange Key Key Exchange
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Protocol Analysis.
Cryptography Much of computer security is about keeping secrets
Outline Designing secure protocols Key exchange protocols
Topics In a confidential communication the authenticity needs to be carefully established for:
Cryptography Reference: Network Security
Cryptography Reference: Network Security
Public Key Encryption Systems
Outline Basics of network security Definitions Sample attacks
CS480 Cryptography and Information Security
Public Key Encryption and the RSA Algorithm
Introduction to security goals and usage of cryptographic algorithms
Outline Designing secure protocols Basic protocols Key exchange
Security Protocols Computer Security Peter Reiher April 14, 2016
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Man in the Middle Attacks
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Public Key Infrastructure (PKI)
IT IS 6200/8200.
CS Introduction to Operating Systems
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
Protocol ap1.0: Alice says “I am Alice”
CS2911 Week 9, Class 1 Today Discussion on RSA Video Eavesdropping
Homework #4 Solutions Brian A. LaMacchia
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Cryptography Reference: Network Security
KERBEROS.
CDK: Chapter 7 TvS: Chapter 9
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Lecture 6.1: Protocols - Authentication and Key Exchange I
Key Distribution Reference: Pfleeger, Charles P., Security in Computing, 2nd Edition, Prentice Hall, /18/2019 Ref: Pfleeger96, Ch.4.
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Diffie/Hellman Key Exchange
Public – Private Key Cryptography
Asymmetric Cryptographic Algorithms
Public Key Encryption Systems
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Security: Integrity, Authentication, Non-repudiation
Public Key Encryption Systems
Security: Public Key Cryptography
Digital Signatures Cryptographic technique analogous to hand-written signatures. sender (Bob) digitally signs document, establishing he is document owner/creator.
Outline Basics of network security Definitions Sample attacks
Secure Diffie-Hellman Algorithm
Key Exchange, Man-in-the-Middle Attack
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
AIT 682: Network and Systems Security
Key Exchange With Public Key Cryptography
Lecture 6.2: Protocols - Authentication and Key Exchange II
Presentation transcript:

Security Protocols CS 236 On-Line MS Program Networks and Systems Security Peter Reiher

Outline Designing secure protocols Basic protocols Key exchange Common security problems in protocols

Basics of Security Protocols Work from the assumption (usually) that your encryption is sufficiently strong Given that, how do you design a message exchange to achieve a given result securely? Not nearly as easy as you probably think

Security Protocols A series of steps involving two or more parties designed to accomplish a task with suitable security Sequence is important Cryptographic protocols use cryptography Different protocols assume different levels of trust between participants

Types of Security Protocols Arbitrated protocols Involving a trusted third party Adjudicated protocols Trusted third party, after the fact Self-enforcing protocols No trusted third party

Participants in Security Protocols Alice Bob Carol David

And the Bad Guys Eve Mallory And sometimes Alice or Bob might cheat Who only listens passively Who is actively malicious

Trusted Arbitrator Trent A disinterested third party trusted by all legitimate participants Arbitrators often simplify protocols, but add overhead

Key Exchange Protocols Often we want a different encryption key for each communication session How do we get those keys to the participants? Securely Quickly Even if they’ve never communicated before

Key Exchange With Symmetric Encryption and an Arbitrator Alice and Bob want to talk securely with a new key They both trust Trent Assume Alice & Bob each share a key with Trent How do Alice and Bob get a shared key?

Who knows what at this point? Step One KA KB Alice Bob Alice Requests Session Key for Bob Who knows what at this point? Trent

Who knows what at this point? Step Two KA KB Alice Bob EKA(KS), EKB(KS) Who knows what at this point? EKA(KS), EKB(KS) Trent KS

Who knows what at this point? Step Three KS KS EKB(KS) KA KB Alice Bob EKA(KS), EKB(KS) Who knows what at this point? Trent KS

What Has the Protocol Achieved? Alice and Bob both have a new session key The session key was transmitted using keys known only to Alice and Bob Both Alice and Bob know that Trent participated But there are vulnerabilities

Problems With the Protocol What if the initial request was grabbed by Mallory? Could he do something bad that ends up causing us problems? Yes!

The Man-in-the-Middle Attack A class of attacks where an active attacker interposes himself secretly in a protocol Allowing alteration of the effects of the protocol Without necessarily attacking the encryption

Applying the Man-in-the-Middle Attack KA Mallory KB KM Alice Bob Alice Requests Session Key for Mallory More precisely, what do they think they know? Alice Requests Session Key for Bob Who knows what at this point? Trent

Trent Does His Job KA Mallory KB KM Alice Bob EKA(KS), EKM(KS) Trent

Alice Gets Ready to Talk to Bob EKM(KS) KS KA Mallory KB KM Alice Bob KS EKM(KS) Mallory can now masquerade as Bob EKM(KS) Trent

Really Getting in the Middle KA Mallory KB KM Alice KS1 Bob KS EKM(KS1), EKB(KS1) KS EKB(KS1) KS1 Mallory can also ask Trent for a key to talk to Bob Trent

Mallory Plays Man-in-the-Middle Alice KS1 Bob KS KS Alice’s big secret KS1 EKS(Alice’s big secret) Bob’s big secret Alice’s big secret EKS1(Alice’s big secret) EKS(Alice’s big secret) EKS1(Bob’s big secret) EKS1(Bob’s big secret) EKS(Bob’s big secret) Alice’s big secret Bob’s big secret Bob’s big secret

Defeating the Man In the Middle Problems: 1). Trent doesn’t really know what he’s supposed to do 2). Alice doesn’t verify he did the right thing Minor changes can fix that 1). Encrypt request with KA 2). Include identity of other participant in response - EKA(KS, Bob)

Applying the First Fix KB KA KM Alice Bob Mallory Mallory can’t read the request EKA(Alice Requests Session Key for Bob) And Mallory can’t forge or alter Alice’s request Trent KB

But There’s Another Problem A replay attack Replay attacks occur when Mallory copies down a bunch of protocol messages And then plays them again In some cases, this can wreak havoc Why does it here?

Step One KA KB Alice Mallory Bob Alice Requests Session Key for Bob Trent

Step Two KA KB Alice Mallory Bob EKA(KS), EKB(KS) Trent KS Alice Requests Session Key for Bob Bob EKA(KS), EKB(KS) EKA(KS), EKB(KS) Trent KS

What can Mallory do with his saved messages? Step Three KS KS EKB(KS) KA KB Alice Mallory Alice Requests Session Key for Bob Bob EKA(KS), EKB(KS) EKA(KS), EKB(KS) EKB(KS) What can Mallory do with his saved messages? Trent KS

Mallory Waits for His Opportunity EKA(KS), EKB(KS) KA KB Alice Requests Session Key for Bob Mallory Alice Requests Session Key for Bob EKA(KS), EKB(KS) EKB(KS)

What Will Happen Next? KS KS EKB(KS) KA KB Mallory KS Alice Requests Session Key for Bob KS EKA(KS), EKB(KS) What’s so bad about that? EKB(KS) What if Mallory has cracked KS?

Key Exchange With Public Key Cryptography With no trusted arbitrator Alice sends Bob her public key Bob sends Alice his public key Alice generates a session key and sends it to Bob encrypted with his public key, signed with her private key Bob decrypts Alice’s message with his private key Encrypt session with shared session key

Basic Key Exchange Using PK KEA , KDA KEB , KDB Alice’s PK is KDA Bob’s PK is KDB EKEA(EKDB(KS)) Bob Alice EKDB(KS) KS KS Bob verifies the message came from Alice Bob extracts the key from the message

Man-in-the-Middle With Public Keys KEA , KDA KEM , KDM KEB , KDB Mallory Alice’s PK is KDA Alice’s PK is KDM Alice Bob Now Mallory can pose as Alice to Bob

And Bob Sends His Public Key KEA , KDA KEM , KDM KEB , KDB Mallory Bob’s PK is KDM Bob’s PK is KDB Alice Bob Now Mallory can pose as Bob to Alice

Alice Chooses a Session Key KEA , KDA KEM , KDM KEB , KDB EKEA (EKDM(KS)) Mallory EKEM (EKDB(KS)) KS KS KS Alice Bob Bob and Alice are sharing a session key Unfortunately, they’re also sharing it with Mallory