Security protocols and their verification Mark Ryan University of Birmingham Midlands Graduate School University of Birmingham 11-15 April 2005 Steve Kremer.

Slides:



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

CMSC 414 Computer (and Network) Security Lecture 22 Jonathan Katz.
Lecture 10: Mediated Authentication
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
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.
1 Security in Wireless Protocols Bluetooth, , ZigBee.
CS470, A.SelcukCryptographic Authentication1 Cryptographic Authentication Protocols CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
CSE331: Introduction to Networks and Security Lecture 22 Fall 2002.
1 Security Handshake Pitfalls. 2 Authentication Handshakes Secure communication almost always includes an initial authentication handshake: –Authenticate.
Cryptography and Network Security
CS470, A.SelcukNeedham-Schroeder1 Needham-Schroeder Protocol Authentication & Key Establishment CS 470 Introduction to Applied Cryptography Instructor:
Topic 8: Secure communication in mobile devices. Choice of secure communication protocols, leveraging SSL for remote authentication and using HTTPS for.
15-1 Last time Internet Application Security and Privacy Public-key encryption Integrity.
Computer Security Key Management
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
 Public key (asymmetric) cryptography o Modular exponentiation for encryption/decryption  Efficient algorithms for this o Attacker needs to factor large.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
Cryptography and Network Security Chapter 17
Modelling and Analysing of Security Protocol: Lecture 3 Protocol Goals Tom Chothia CWI.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI.
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.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CMSC 414 Computer and Network Security Lecture 18 Jonathan Katz.
Slide 1 Vitaly Shmatikov CS 378 Key Establishment Pitfalls.
Information Security of Embedded Systems : Algorithms and Measures Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
CMSC 414 Computer and Network Security Lecture 23 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
Key Distribution CS 470 Introduction to Applied Cryptography
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Computer Science Public Key Management Lecture 5.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
ECE 454/CS 594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall.
Cryptography, Authentication and Digital Signatures
Security Protocols and E-commerce University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
CSCD 218 : DATA COMMUNICATIONS AND NETWORKING 1
Cryptography and Network Security (CS435) Part Fourteen (Web Security)
Key Agreement Guilin Wang School of Computer Science 12 Nov
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.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Week 4 - Wednesday.  What did we talk about last time?  RSA algorithm.
Network Security Introduction Light stuff – examples with Alice, Bob and Trudy Serious stuff - Security attacks, mechanisms and services.
Fall 2010/Lecture 321 CS 426 (Fall 2010) Key Distribution & Agreement.
CSCE 813 Internet Security Cryptographic Protocol Analysis.
1 Lecture 9: Cryptographic Authentication objectives and classification one-way –secret key –public key mutual –secret key –public key establishing session.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Digital Signatures, Message Digest and Authentication Week-9.
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 28 Omar Meqdadi Department of Computer Science and Software Engineering.
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.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Cryptography: Digital Signatures Message Digests Authentication
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Dr. Attila Altay Yavuz Authentication Protocols (I): Secure Handshake.
+ Security. + What is network security? confidentiality: only sender, intended receiver should “understand” message contents sender encrypts message receiver.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
@Yuan Xue CS 285 Network Security Key Distribution and Management Yuan Xue Fall 2012.
SSL: Secure Socket Layer By: Mike Weissert. Overview Definition History & Background SSL Assurances SSL Session Problems Attacks & Defenses.
Computer Communication & Networks
IT IS 6200/8200.
Diffie/Hellman Key Exchange
Cryptography and Network Security
Presentation transcript:

Security protocols and their verification Mark Ryan University of Birmingham Midlands Graduate School University of Birmingham April 2005 Steve Kremer INRIA, Cachan

Contents 1. Security protocols (this lecture) 2. Applied pi calculus and a tool called proverif 3. Fair exchange protocols 4. An electronic voting protocol and its analysis

Alice and Bob ● Alice and Bob want to communicate with each other over an in secure medium, e.g., the internet. ● But first, they need to – Authenticate each other: they want to be sure they are talking to each other, not to an imposter – Agree a secret key: they want to encrypt their conversation, for privacy and integrity. ● Alice and Bob might be humans, but they might also be: a web browser and a web server; a mobile phone and the network operator; etc.

Security protocols ● Alice and Bob will engage in an exchange of messages (= a protocol) which will result in each of them – Having authenticated each other – Having established a shared secret key which they can use to encrypt their subsequent conversation (a session key). ● The protocol may involve a trusted third party (TTP).

Security protocols A security protocol (or cryptographic protocol) is a protocol that performs a security-related function and applies cryptographic methods. Most cryptographic protocols incorporate at least some of these aspects: ● Use of cryptographic functions ● Entity authentication ● Construction of shared secret(s), useful for establishing a secret key ● Secured application-level data transport ● Non-repudiation guarantees

Authentication ● Authentication between humans – How can your bank know that an instruction to pay money to X from your account is actually coming from you? ● Authentication between devices – How can the mobile phone network know that instructions apparently coming from your phone are actually from your phone? ● Authentication between programs – How can your browser establish that the server at the other end is really “hsbc.co.uk” and not a look- alike web site designed to defraud you? C

Protocols ● A protocol is an agreed way, or convention, for two or more parties to achieve a goal. It fixes the number and format of the messages between the parties. These rules are known to all of the participants. ● Example: Wide Mouth Frog – It assumes that A and B have access to a trusted third party S, and that they each share a symmetric encryption key with S: ● The key between A and S: ● The key between B and S:

Wide Mouth Frog A S B

Wide Moth Frog - remarks ● Good things – Thanks to the encryption, an evesdropper cannot get access to the secret key K AB invented by Alice. – Thanks to the timestamps, the server and Bob can detect if messages they are receiving are old. ● Bad things – The protocol relies on timestamps to ensure freshness of messages. This assumes a global clock. – K AB is completely determined by A. This assumes A is competent, e.g. to generate random numbers. – In spite of this, S gets to know the value of K AB.

Otway-Rees A S B Checks message

Otway-Rees -- remarks ● M is a session identifier. ● Good things – S generates the session key, instead of one of the participants A,B – S still has to deal only with one of the participants ● Bad things – S has quite a lot of work to do: decrypting twice, checking the message format, inventing key, encrypting twice. This makes it vulnerable to Denial of Service attacks. – An intruder could interfere with the protocol so that A and B get different keys!

Attack resulting in different keys A S B I X

Assumptions and rules of protocol design ● The “Dolev-Yao model”: the attacker – Can read messages – Can block messages – Can generate fake messages – Can read/generate encrypted messages if s/he has the key – Knows the protocol being used. (This may not be obvious if A and B are humans, but it is obvious if A is a web server and B a browser.) ● The attacker cannot read/generate encrypted messages if s/he doesn't have the key. (Thus, we assume the crypto is unbreakable.)

Assumptions and rules contd. ● When we use a trusted third party (TTP), we should avoid overloading it: – It should not have to remember state (e.g., remember nonces, keep lists of used keys, etc.) – Preferably, it should deal with only one of the participants ● Otherwise, we make it vulnerable to denial of service attacks.

Celebrated case ● The third protocol introduced in this lecture is the Needham-Schroeder public key authentication protocol, introduced in – The protocol consists of three parts. ● In two of the parts, A and B are each obtaining the other one's public key from a server S. ● In the other part, they echange nonces which are intended to be used to set up a secret session key. ● A serious flaw in the protocol's third part was found by Gavin Lowe in 1995.

Needham-Schroeder PK A B S

Needham-Schroeder PK, in essence A B

Needham-Schroeder PK attack A B I

NS PK attack ● The attack: – A has engaged in a session with I, & is aware of that. – I has engaged in a session with B, but B thinks he is talking to A. B is duped. – Example: A=you, I=dodgy retailer, B=your bank ● The solution is very simple: – Replace the message with

Conclusions ● Security protocols are short, but very hard to get right. – This makes them ideal for formal analysis – One has to be clear about what the goals of a security protocol are. – And about the “attacker model” ● Next lectures: – Applied pi calculus and Proverif – Fair exchange protocols – An electronic voting protocol