Automatic Analysis of Security Protocols using SPASS by Christoph Weidenbach.

Slides:



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

Security attacks. - confidentiality: only authorized parties have read access to information - integrity: only authorized parties have write access to.
CMSC 414 Computer (and Network) Security Lecture 22 Jonathan Katz.
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.
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.
1 Security Handshake Pitfalls. 2 Authentication Handshakes Secure communication almost always includes an initial authentication handshake: –Authenticate.
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
 Public key (asymmetric) cryptography o Modular exponentiation for encryption/decryption  Efficient algorithms for this o Attacker needs to factor large.
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
Encapsulation Security Payload Protocol Lan Vu. OUTLINE 1.Introduction and terms 2.ESP Overview 3.ESP Packet Format 4.ESP Fields 5.ESP Modes 6.ESP packet.
Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
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.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Security Module – Part 1 Spring 2006 V.T. Raja, Ph.D., Oregon State University.
Information Security of Embedded Systems : BAN-Logic Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Programming Satan’s Computer
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Network Security – Part 2 (Continued) Lecture Notes for May 8, 2006 V.T. Raja, Ph.D., Oregon State University.
Formal Analysis of Security Protocols Dr. Changyu Dong
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
10. Key Management. Contents Key Management  Public-key distribution  Secret-key distribution via public-key cryptography.
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.
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.
1 SSL - Secure Sockets Layer The Internet Engineering Task Force (IETF) standard called Transport Layer Security (TLS) is based on SSL.
Key Management. Given a computer network with n hosts, for each host to be able to communicate with any other host would seem to require as many as n*(n-1)
CSCE 813 Internet Security Cryptographic Protocol Analysis.
Encryption Questions answered in this lecture: How does encryption provide privacy? How does encryption provide authentication? What is public key encryption?
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
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.
Digital Signatures, Message Digest and Authentication Week-9.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
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,
Cryptographic Hash Functions and Protocol Analysis
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
Group 9 Chapter 8.3 – 8.6. Public Key Algorithms  Symmetric Key Algorithms face an inherent problem  Keys must be distributed to all parties but kept.
Protocol Analysis. CSCE Farkas 2 Cryptographic Protocols Two or more parties Communication over insecure network Cryptography used to achieve goal.
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.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Model Checking for Security Protocols Will Marrero, Edmund Clarke, Shomesh Jha.
Dr. Nermi hamza.  A user may gain access to a particular workstation and pretend to be another user operating from that workstation.  A user may eavesdrop.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Using SSL – Secure Socket Layer
The Inductive Approach to Verifying Cryptographic Protocols
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
KERBEROS.
CDK: Chapter 7 TvS: Chapter 9
Formal Methods for Security Protocols
AIT 682: Network and Systems Security
Presentation transcript:

Automatic Analysis of Security Protocols using SPASS by Christoph Weidenbach

AN AUTOMATED THEOREM PROVER FOR FIRST- ORDER LOGIC WITH EQUALITY Automatic Analysis of Security Protocols using SPASS

Formalization of a concrete application: Neuman-Stubblebine key exchange protocol. Proof by refutation: ( Inconsistency ) intruder can break the protocol. Proof by consistency: ( Consistency ) no unsafe states exist.

The growing importance of the Internet causes a growing need for security protocols that protect transactions and communication. It turns out that the design of such protocols is highly error-prone.

Therefore, there is a need for tools that automatically detect flaws like, e.g., attacks by an intruder. A detailed description of the analysis can be found in [2].

Neumann-Stubbleline (1993) Summary: Protocol of session key exchange inspired by the Yahalom protocol with the addition of timestamps, and mutual authentication. Symmetric key cryptography with server.

The animation successively shows two runs of the Neuman-Stubblebine [1] key exchange protocol. The first run works the way the protocol is designed to do, i.e., it establishes a secure key between Alice and Bob.

The second situation shows a potential problem of the protocol. An intruder may intercept the final message sent from Alice to Bob, replace it with a different message and may eventually own a key that Bob believes to be a secure key with Alice.

The initial situation for the protocol is that the two participants Alice (A) and Bob (B) want to establish a secure session key, K ab, for communication between them. They do so with the help of a trusted server trust (Trent) where (master keys, K at and K bt ). The below picture shows a sequence of four message exchanges that eventually establishes the key K ab.

Timestamps In step 2, T b is a timestamp added to Trent’s message encrypted with the Bob’s key K bt Timestamps require a secure and accurate system clock - (not a trivial problem itself)

Timestamps Timestamps works. But it assumes that everyone’s clock are synchronized with a trusted server’s (Trent) clock. In practice, this effect is obtained by synchronizing clocks with a secure time server.

Timestamp Whether by system faults or by sabotage, clocks become unsynchronized. If clocks get out of sync, there is a possible attack against most of these protocols.

How can an intruder now break this protocol? The key Kab is only transmitted inside encrypted parts of messages and we assume that an intruder cannot break any keys nor does he know any of the initial keys Kat or Kbt. Here is what can happen:

The second situation shows a potential problem of the protocol. An intruder may intercept the final message sent from Alice to Bob, replace it with a different message and may eventually own a key that Bob believes to be a secure key with Alice.

Intruder (I)  Bob (B) In the final message, Intruder (I)  Bob (B), Bob decrypts the part of the message E bt (A, K ab, T b ) with his key K bt, extracts K ab, and (in a regular situation Bob confirms that T b and N b have the same values they did in step 2), … but now (in a attack of an intruder I) Bob decrypts the first part of the message E bt (A, N a, T b ), with his key K bt and believes that N a found is a secure session Key K ab he shares with Alice. Bob start communication with Alice … but he talks with Intruder I.

Here we will show that our automated theorem prover SPASS can successfully be used to analyze the Neuman-Stubblebine key exchange protocol [1].

To this end the protocol is formalized in logic and then the security properties are automatically analyzed by SPASS.

The key idea of the formalization is to describe the set of sent messages. This is done by introducing a monadic predicate M in first-order logic. Furthermore, every participant holds its set of known keys, represented by the predicates Ak for Alice’s keys, Bk for Bob’s keys, Tk for Trust’s keys and Ik for the keys the intruder knows. The rest of the used symbols is introduced and explained with the first appearance in a formula.

Step 1 The two formulae express that initially Alice holds the key at for communication with t (for Trust) and that she sends the first message. In order to formalize messages we employ a three place function sent where the first argument is the sender, the second the receiver and the third the content of the message. So the constant a represents Alice, b represents Bob, t Trust and i Intruder. The functions pair (triple, quadr) simply form sequences of messages of the indicated length.

Then the four messages can be translated into the following formulae: Step 1 to Step 4.

Step 2 Bob holds the key bt for secure communication with Trust and whenever he receives a message of the form of message 1 (formula (2)), he sends a key request to Trust according to message 2. Note that encryption is formalized by the two place function encr where the first argument is the data and the second argument the key. Every lowercase symbol starting with an x denotes a variable. The functions nb and tb generate, respectively, a new nonce and timestamp of B, tb(xna). span out of xa’s (Alice’s) request represented by her nonce xna.

Step 3 Trust holds the keys for Alice and Bob and answers appropriately to a message in the format of message 2. Note that decryption is formalized by unification with an appropriate term structure where it is checked that the necessary keys are known to Trust. The server generates the key by applying his key generation function kt to the nonce xna.

Step 4 Finally, Alice answers according to the protocol to message 3 and stores the generated key for communication, formula (7). Formula (8) describes Bob’s behaviour when he receives Alice’s message. Bob decodes this message and stores the new key as well.

USING THE SPASS SINTAX Conjectures = suposições ou hipóteses a serem provadas. list_of_formulae(conjectures). formula(exists([x],and(Ak(key(x,b)),Bk(key(x,a))))). end_of_list.

Sa is Alice’s local store that will eventually be used to verify the nonce when it is sent back to her in Step (3).

Now the protocol formulae together with the intruder formulae (9)-(20) and the insecurity formula before can be given to SPASS. Then SPASS automatically proves that this formula holds and that the problematic key is the nonce Na. The protocol can be repaired by putting type checks on the keys, such that keys can no longer be confused with nonces.

This can be added to the SPASS first-order logic formalization. Then SPASS disproves the insecurity formula. This capability is currently unique to SPASS. The experiment is available in full detail from the SPASS home page in the download area.

Based on these References: [1] Neuman, B. C. and Stubblebine, S. G., 1993, A note on the use of timestamps as nonces, ACM SIGOPS, Operating Systems Review, 27(2), [2] Weidenbach, C., 1999, Towards an automatic analysis of security protocols in first-order logic, in 16th International Conference on Automated Deduction, CADE-16, Vol of LNAI, Springer, pp

Other Provers Although some other provers might be able to prove that the insecurity formula holds in the formalization without type checks, we are currently not aware of any prover that can disprove the insecurity formula in the formalization with type checking. Further details can be found in reference [2].

State-of-the-art in automated theorem proving NRL Protocol Analyzer (Navy Research Laboratory) - PROLOG SPASS ProVerif Isabelle – High-Order Logic TAPS: A First-Order Verifier for Cryptographic Protocols

A Prática Downloads  (Problem Libraries) The Neuman-Stubblebine Security Protocol Analysis Version 1.1 (.tgz 1KB).tgz You can copy the above input description for SPASS and paste it in our WebSPASS interface. WebSPASS