Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI.

Slides:



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

Modelling and Analysing Security Protocol: Lecture 4 Attacks and Principles Tom Chothia CWI.
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.
Modelling and Analysing of Security Protocol: Lecture 8 Automatically Checking Protocols II Tom Chothia CWI.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Modelling and Analysing of Security Protocol: Lecture 14 Some Real Life Protocols Tom Chothia CWI.
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.
Modelling and Analysing of Security Protocol: Lecture 7 Automatically Checking Protocols Tom Chothia CWI.
1 Security Handshake Pitfalls. 2 Authentication Handshakes Secure communication almost always includes an initial authentication handshake: –Authenticate.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
Computer Security Key Management
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
 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.
Modelling and Analysing of Security Protocol: Lecture 3 Protocol Goals Tom Chothia CWI.
G Robert Grimm New York University Using Encryption for Authentication in Computer Networks.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
Authenticated Key Exchange. Lecture Outline Example of how poor security design can cause problems Design Principles for building security protocols Key.
Introduction to Computer and Network Security Iliano Cervesato 9 September 2008 – Cryptographic Protocols.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
CSE331: Introduction to Networks and Security Lecture 24 Fall 2002.
Modelling and Analysing of Security Protocol: Lecture 2 Cryptology for Protocols Analysis Tom Chothia CWI.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
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
Slide 1 Vitaly Shmatikov CS 378 Key Establishment Pitfalls.
Alice and Bob’s Revenge? AliceBob Elvis. If there is a protocol If there is a protocol then there must be a shortest protocol 1.Alice  Bob : ??? 2.Bob.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
Modelling and Analysing of Security Protocol: Lecture 5 BAN logic Tom Chothia CWI.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
Key Distribution CS 470 Introduction to Applied Cryptography
Security 2 Distributed Systems Lecture# 15. Overview Cryptography Symmetric Assymeteric Digital Signature Secure Digest Functions Authentication.
1 Authentication Protocols Celia Li Computer Science and Engineering York University.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Formal Analysis of Security Protocols Dr. Changyu Dong
A Survey of Authentication Protocol Literature: Version 1.0 Written by John Clark and Jeremy Jacob Presented by Brian Sierawski.
Chapter 3: Basic Protocols Dulal C. Kar. Key Exchange with Symmetric Cryptography Session key –A separate key for one particular communication session.
Network Security Lecture 23 Presented by: Dr. Munam Ali Shah.
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.
Key Management Celia Li Computer Science and Engineering York University.
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
Week 4 - Wednesday.  What did we talk about last time?  RSA algorithm.
Fall 2010/Lecture 321 CS 426 (Fall 2010) Key Distribution & Agreement.
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.
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.
Lecture 5.2: Key Distribution: Private Key Setting CS 436/636/736 Spring 2012 Nitesh Saxena.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
Lecture 5.1: Message Authentication Codes, and Key Distribution
1 Authentication Protocols Rocky K. C. Chang 9 March 2007.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
Fall 2006CS 395: Computer Security1 Key Management.
Lesson Introduction ●Authentication protocols ●Key exchange protocols ●Kerberos Security Protocols.
@Yuan Xue CS 285 Network Security Key Distribution and Management Yuan Xue Fall 2012.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Cryptography CSS 329 Lecture 13:SSL.
1 Authentication Celia Li Computer Science and Engineering York University.
Fourth Edition by William Stallings Lecture slides by Lawrie Brown
Analyzing Key Distribution and Authentication Protocols
Celia Li Computer Science and Engineering York University
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
CDK: Chapter 7 TvS: Chapter 9
“You have zero privacy anyway, get over it”
Presentation transcript:

Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI

This Course This course will primarily teaching you: –How to design your own secure communication protocols. –How to analyse protocols and look for faults. –How to use automatic tools to help you do this. Secondary skills: –Know which protocols to use for which jobs. –Improve your system design skills.

Course Outline This Lecture: –How we model protocols –Types of encryption used. Lecture 2: –Types of attacks on protocols –Good protocol design –Homework ( 1/6 of total score).

Lecture 3: –Verifying protocols using BAN logic. Lecture 4: –Automatically verifying protocols. –Homework ( 1/6 of total score) Lecture 5: –Anonymity protocols. Course Outline

Lecture 6: –Verifying probabilistic protocols in PRISM Lecture 7: –Fair exchange & Zero knowledge Lecture 8 to Lecture 10 –Short students presentations ( 2/3 of total score ) Lecture 11 –Summary Course Outline

Sources Take notes if you want but you will get handouts with all the important details and the slides, handouts, papers, homework and links will be available at:

This Lecture Part 1: –Simple notation for protocols –Modelling “rules” –Needham-Schroeder and Kerberos protocols Part 2: –A high level overview the to cryptography –Symmetric key encryption, public key encryptions and signing –Abstract equation for modelling encryption

“A” sends message “M” to “B”: written as: A  B : M A Simple Protocol AB M

Rules We write down protocols as a list of messages sent between “principals”, e.g. 1. A  B : “Hello” 2. B  A : “Offer” 3. A  B : “Accept”

A Simple Protocol AB M Message “M” can be read by the attacker

A Simple Protocol AB M Even now!

Rule The attacker can read all the messages sent across the network.

Encryption We can keep our data safe by using encryption: AB { M } Kab A  B : { M } Kab

Rule We can use –Encryption {M} K, E K (M) –Signing Sign K (M), S K (M), MAC K (M) –Hashing #(M), Hash(M) We assume that these are prefect –cannot be broken by brute force.

Encryption “M” is now secret AB { M } Kab but the protocol is not safe

Replay Attack AB 1: { Pay Elvis €5 } Kab 1) A  B : { Pay Eve €5 } Kab

Replay Attack AB 1: { Pay Elvis €5 } Kab 1) A  B : { Pay Eve €5 } Kab 2) E  B : { Pay Eve €5 } Kab E 2: { Pay Elvis €5 } Kab

Rule The attacker can repeat any message it see.

A Nonce AB 1. A 2. { N a } Kab 3. {N a + 1} Kab, { Pay Elvis €5 } Kab 1. A  B : A 2. B  A : { N a } Kab 3. A  B : { N a + 1 } Kab, { Pay Elvis €5 } Kab

Rule We can generate nonces. This is a new random values. If you generate a new nonce for a session you know that all future messages with that include that nonce are part of the same session.

A Nonce AB 1. A 2. { N a } Kab 3. {N a + 1} Kab, { Pay Elvis €5 } Kab 5. { N a2 } Kab 6. {N a2 + 1} Kab, { Pay Bob €5 } Kab 4. A

A Nonce AB 1. A 2. { N a } Kab 3. {N a + 1} Kab, { Pay Elvis €5 } Kab E 5. { N a2 } Kab 6. {N a2 + 1} Kab, { Pay Bob €5 } Kab 4. A { Pay Elvis €5 } Kab 6’. {N a2 + 1} Kab,

Rule The attacker can run multiple rounds of the protocol. The attacker can –break up messages, –invent new values, keys, nonces,.. –combine any of these into new message.

A Better Protocol AB 1. A 2. { N a } Kab 3. {N a, Pay Elvis €5 } Kab 1. A  B : A, N a 2. B  A : { N a } Kab 3. A  B : {N a, Pay Elvis €5 } Kab

Key Establishment Protocol This was easy because A and B shared a key. Often the principals do not share a key, in which case we need a “Key Establishment Protocol”. This usually involves a “Trust Third Party” who has a shared key with each party.

The Needham-Schroeder Public Key Protocol A famous authentication protocol 1. A  B : E B ( N a, A ) 2. B  A : E A ( N a, N b ) 3. A  B : E B ( N b ) N a and N b can then be used to generate a symmetric key

An Attack Against the Needham-Schroeder Protocol The attack acts as a man-in-the-middle: 1. A  C : E C ( N a, A ) 1`. C(A)  B : E A ( N a, A ) 2`. B  C(A) : E A ( N a, N b ) 2. C  A : E A ( N a, N b ) 3. A  C : E C ( N b ) 3`. C(A)  B : E B ( N b )

The Corrected Version A very simple fix: 1. A  B : E B ( N a, A ) 2. B  A : E A ( N a, N b ) 3. A  B : E B ( N b )

The Corrected Version A very simple fix: 1. A  B : E B ( N a, A ) 2. B  A : E A ( N a, N b, B) 3. A  B : E B ( N b )

Rule The attacker can act as a participant of the protocol.... (sometimes)

Kerberos A protocol for key establishment and authentication used in Windows, MacOS, Apache, OpenSSH,... 1.A  S : A,B,N A 2.S  A : {K AB,B,L,N A,..} K AS,{K AB,A,L,..} K BS 3.A  B : {A,T A } K AB,{K AB,A,L,..} K BS 4.B  A : {T A +1} K AB

Kerberos A and S share the key K AS and B and S share K AS Both A and B trust S to generate a new key for them: K AB N is a nonce, T is a timestamp and L is an expiration time. 1.A  S : A,B,N A 2.S  A : {K AB,B,L,N A,..} K AS,{K AB,A,L,..} K BS 3.A  B : {A,T A } K AB,{K AB,A,L,..} K BS 4.B  A : {T A +1} K AB

Sources For lectures 1 & 2 the the primary reference material is the handouts. This information is covered in more depth in –Paper: “Prudent Engineering Practices for Cryptographic Protocols” (by Abadi & Needham) –Book: “Protocols for Authentication and Key Establishment” (by Boyd & Mathuria) there are copies in the library.

This Lecture Part 1: –Simple notation for protocols –Modelling “rules” –Needham-Schroeder and Kerberos protocols Part 2: –A high level overview of cryptography –Symmetric key encryption, public key encryptions and signing –Abstract equation for modelling encryption