Modeling and verification of security protocols



Similar documents
Q: Why security protocols?

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Client Server Registration Protocol

Application Layer (1)

Network Security. HIT Shimrit Tzur-David

A Search-Based Framework for Security Protocol Synthesis

Authentication requirement Authentication function MAC Hash function Security of

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Part 2 D(E(M, K),K ) E(M, K) E(M, K) Plaintext M. Plaintext M. Decrypt with private key. Encrypt with public key. Ciphertext

Lecture 9: Application of Cryptography

Computer Security: Principles and Practice

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

Cryptography and Network Security: Summary

Public Key Cryptography in Practice. c Eli Biham - May 3, Public Key Cryptography in Practice (13)

Encryption, Data Integrity, Digital Certificates, and SSL. Developed by. Jerry Scott. SSL Primer-1-1

Chapter 7: Network security

CSC474/574 - Information Systems Security: Homework1 Solutions Sketch

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Notes on Network Security Prof. Hemant K. Soni

Application Layer (1)

Module: Applied Cryptography. Professor Patrick McDaniel Fall CSE543 - Introduction to Computer and Network Security

SECURITY IN NETWORKS

CIS 433/533 - Computer and Network Security Public Key Crypto/ Cryptographic Protocols

Attestation and Authentication Protocols Using the TPM

CSCE 465 Computer & Network Security

Cryptography & Network Security. Introduction. Chester Rebeiro IIT Madras

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

The Feasibility and Application of using a Zero-knowledge Protocol Authentication Systems

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

IT Networks & Security CERT Luncheon Series: Cryptography

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

What is network security?

SSL A discussion of the Secure Socket Layer

CS 758: Cryptography / Network Security

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

Authentication Types. Password-based Authentication. Off-Line Password Guessing

Cryptography and Network Security

Cryptography and Network Security Chapter 9

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

Public Key (asymmetric) Cryptography

Applied Cryptography Public Key Algorithms

An Introduction to Cryptography as Applied to the Smart Grid

CRYPTOGRAPHY IN NETWORK SECURITY

Chapter 16: Authentication in Distributed System

Lecture 25: Pairing-Based Cryptography

Principles of Network Security

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Secure Network Communication Part II II Public Key Cryptography. Public Key Cryptography

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

Public Key Cryptography and RSA. Review: Number Theory Basics

Cryptography and Key Management Basics

Cryptosystems. Bob wants to send a message M to Alice. Symmetric ciphers: Bob and Alice both share a secret key, K.

Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

Cryptography and Network Security Chapter 12

CSCI-E46: Applied Network Security. Class 1: Introduction Cryptography Primer 1/26/16 CSCI-E46: APPLIED NETWORK SECURITY, SPRING

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

CS 392/681 - Computer Security

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

This Course. Modelling and Analysing of Security Protocol: Lecture 1. Introductions to Modelling Protocols. Course Outline. Course Outline.

Cryptography and Network Security Chapter 14. Key Distribution. Key Management and Distribution. Key Distribution Task 4/19/2010

Security Protocols and their Properties

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

Cryptography & Digital Signatures

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

IPsec Details 1 / 43. IPsec Details

Software Tool for Implementing RSA Algorithm

Lecture 6 - Cryptography

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

Elliptic Curve Cryptography Methods Debbie Roser Math\CS 4890

Secure Sockets Layer

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

Overview of Public-Key Cryptography

Strong Encryption for Public Key Management through SSL

Lab 7. Answer. Figure 1

Compter Networks Chapter 9: Network Security

Victor Shoup Avi Rubin. Abstract

Cryptography and Network Security Chapter 14

CSE/EE 461 Lecture 23

Authenticity of Public Keys

SSL/TLS: The Ugly Truth

Information Security

Lecture 9 - Message Authentication Codes

1. a. Define the properties of a one-way hash function. (6 marks)

Overview. SSL Cryptography Overview CHAPTER 1

Module 8. Network Security. Version 2 CSE IIT, Kharagpur

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Lukasz Pater CMMS Administrator and Developer

CS Final Exam

Cornerstones of Security

Transcription:

Modeling and verification of security protocols Part I: Basics of cryptography and introduction to security protocols Dresden University of Technology Martin Pitt martin@piware.de Paper and slides available at http://www.piware.de/docs.shtml Security protocols - Introduction

Role of security protocols critical element of the infrastructure of a distributed system simple, short and easy to express extremely subtle and hard to evaluate three-line programs that people still manage to get wrong excellent candidates for rigorous formal analysis Security protocols - Introduction 1

Structure Aspects of security: security properties, attacker models, limits of cryptography and security protocols Principles of cryptographic algorithms: keys, symmetric and asymmetric systems, DH key exchange Security protocols: notation, examples, vulnerabilities and attacks Security protocols - Introduction 2

Part: Aspects of security Security protocols - Introduction 3

Security properties What do we want to protect? precise notions to formally talk about cryptography and protocols Security protocols - Introduction 4

Secrecy Strongest interpretation: An intruder is not able to learn anything about any communication between two participants. can be approximated quite closely, but major overhead Design decision: trade off parts of secrecy against efficiency Security protocols - Introduction 5

Authentication Strong authentication: If recipient R receives a message claiming to be from sender S then S sent exactly this message to R. Weak authentication: If recipient R receives a message claiming to be from sender S then either S sent exactly this message to R or R unconditionally notices that this is not the case. Authentication = validation of origin + integrity non-repudiation: used for digital signature systems Security protocols - Introduction 6

Availability If a certain service is requested, it must actually be available. vital applications: distress signals, emergency telephones, remote surgery Cryptography and protocols can do only little to achieve this! Solutions: redundancy, reverse logic on alarms Security protocols - Introduction 7

Intruder models Who do we want to protect data from? Every kind of security needs a physical support which is ultimately trusted. impossible to defend against an almighty or omnipotent attacker Security protocols - Introduction 8

Limits of cryptography and security protocols Many secure algorithms and protocols available (proved or stood the test of time) only at mathematical level! Real-world implementations: refinement new aspects, properties and side effects: power consumption execution time radiation covert channels Security protocols - Introduction 9

Part: Principles of cryptographic algorithms Security protocols - Introduction 10

Keys and why they are needed In every distributed system there must be something that distinguishes the legitimate recipient from all other participants. In cryptography: knowledge of a specific secret key Security protocols - Introduction 11

Vital properties of key generation based on a truly random number very big key space prevent identical keys and right guesses verification of relationship key owner The whole system is at most as good and trustworthy as the initial key generation. Security protocols - Introduction 12

Symmetric cryptography encryption and decryption / signing and testing is done with equal keys several thousand years old examples: Vernam chiffre (one time pad), DES, AES Security protocols - Introduction 13

Symmetric concealment encrypt : X K C decrypt : C K X k K, x X. decrypt ( encrypt(x, k), k ) = x Sending an encrypted message from A to B: encryption: A chooses a message x X and calculates: c = crypt(x, k AB ) transfer: c is now sent to the recipient (and possibly to observers and attackers) decryption: B calculates x = decrypt(c, k AB ) Security protocols - Introduction 14

Symmetric authentication sign : X K S Sending a signed message from A to B: signing: A chooses a message x X and calculates s = sign(x, k AB ) transfer: x; s is now sent to the recipient (and possibly to attackers) receiving: B receives a message x ; s (either the original or modified by attackers) test: B calculates s = sign(x, k AB ); if s = s, the message is valid. Security protocols - Introduction 15

Symmetric key distribution To use algorithms, participants have to agree to a common key easy if they can meet if not trusted third party; exchange must be secret and authentic Problems: verification of equality key explosion dynamic set of participants solved by Needham-Schroeder Secret Key (NSSK) protocol Security protocols - Introduction 16

Asymmetric cryptography different keys for encryption and decryption / signing and testing first paper: 1976 (Diffie and Hellmann) key exchange 1978: Rivest, Shamir, Adleman: RSA algorithm based on one-way function used conjectures: factorization, discrete logarithm breakthrough of crypto for the masses PGP, GPG Security protocols - Introduction 17

Asymmetric concealment encrypt : X PUB C decrypt : C SEC X x X. decrypt ( encrypt(x, pub A ), sec A ) = x Sending an encrypted message from A to B: encryption: A chooses a message x X and calculates c = encrypt(x, pub B ) transfer: c is now sent to the recipient (and possibly to observers and attackers) decryption: B calculates x = decrypt(c, sec B ) Security protocols - Introduction 18

Asymmetric authentication sign : X SEC S test : X S PUB {correct, wrong} Creating a signed message by A: signing: A chooses a message x X and calculates s = sign(x, sec A ) transfer: attackers) x; s is now sent to all desired recipients (and possibly to receiving: a participant B receives a message x ; s (either the original or modified by attackers) test: B now checks if test(x, s, pub A ) = correct provides non-repudiation digital signature system Security protocols - Introduction 19

Part: Security protocols Security protocols - Introduction 20

Security protocols Protocol: a prescribed sequence of interactions between entities designed to achieve a certain goal and end. Security protocols: provide security properties to distributed systems Security protocols - Introduction 21

Notation Message n a b : data data consists of: atoms: names, variables, literal constants. nonces: n A unpredictable, freshly generated unique number encryption: {data} k : encryption of data with the key k. authentication: Sign k (data): signature of data using the key k. concatenation: a.b Security protocols - Introduction 22

Challenge Response Purpose: verify that two parties A and B share a common secret key k without revealing it. 1. A B: n A 2. B A: {n A } k.n B 3. A B: {n B } k Security protocols - Introduction 23

Needham Schroeder Secret Key Purpose: establish a common secret key between A and B using only symmetric cryptography and a trusted third party S (server) Preliminary: pairwise distinct keys with S 1. A S: A.B.n { A } 2. S A: na.b.k AB.{k AB.A} SB 3. A B: {k AB.A} SB 4. B A: {n B } kab 5. A B: {n B 1} kab SA solves key explosion, dynamic participant set NB: encryption must provide binding of concatenated parts! Security protocols - Introduction 24

Station To Station protocol Purpose: establish a common secret key between A and B without trusted third party uses DH key exchange 1. A B: a x 2. B A: a y.{sign B (a y.a x )} k 3. A B: {Sign A (a x.a y )} k Security protocols - Introduction 25

Replay attack Attacker monitors a (possibly partial) run of a protocol and later replays some messages. This can happen if the protocol does not have any mechanism for distinguishing between separate runs or cannot determine the freshness of messages. Example: military ship that gets encrypted commands from base Solutions: nonces, run identifiers, timestamps, indeterministic encryption Security protocols - Introduction 26

Mirror attack Other participant is made to answer his own questions. Vulnerability on challenge response (A does not know k): 1. A S: n A 2. S A: {n A } k.n S 3. A S: n S 4. S A : {n S } k.n S 5. A S: {n S } k Security protocols - Introduction 27

Man in the middle The attacker imposes himself between the communications of A and B. This can happen if messages or keys are not properly authenticated. Academic (stupid) example protocol for encrypted communication without knowing each other s public key: Use of a commutative asymmetric cipher (like RSA): 1. A B: {X} pa 2. B A: {{X} pa } pb {{X} pa } pb = {{X} pb } pa 3. A B: {X} pb Security protocols - Introduction 28

Man in the middle - attack 1. A I(B): {X} pa 2. I(B) A: {{X} pa } pi 3. A I(B): {X} pi 4. I(A) B: {X} pi 5. B I(A): {{X} pi } pb 6. I(A) B: {X} pb Practical applications: initial key exchange is most susceptible to this attack key exchange plays the role of the physical support! Security protocols - Introduction 29

Interleave The attacker uses several parallel runs of a protocol to exploit their interactions. Needham Schroeder Public Key: 1. A B: {A.n A } pb 2. B A: {n A.n B } pa 3. A B: {n B } pb has been believed secure for many years; was even analyzed with BAN logic! Security protocols - Introduction 30

Interleave attack I is legitimate user, plays an active role, but does not obey to protocol: a.1. A I: {A.n A } pi b.1. I(A) B: {A.n A } pb b.2. B I(A): {n A.n B } pa a.2. I A: {n A.n B } pa a.3. A I: {n B } pi b.3. I(A) B: {n B } pb I knows both nonces and caused mismatch in A s and B s perception: A thinks: communication and secret share with I B thinks: communication and secret share with A Security protocols - Introduction 31

Part: Questions and criticism Security protocols - Introduction 32