BAN Logic A Logic of Authentication Presentation by Heather Goldsby Michelle Pirtle (Mike Burrows, Marin Abadi, Roger Needham) Published 1989, SRC Research.

Slides:



Advertisements
Similar presentations
Security attacks. - confidentiality: only authorized parties have read access to information - integrity: only authorized parties have write access to.
Advertisements

Modelling and Analysing Security Protocol: Lecture 4 Attacks and Principles Tom Chothia CWI.
AUTHENTICATION AND KEY DISTRIBUTION
CS470, A.SelcukCryptographic Authentication1 Cryptographic Authentication Protocols CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Sri Lanka Institute of Information Technology
Topic 7: Using cryptography in mobile computing. Cryptography basics: symmetric, public-key, hash function and digital signature Cryptography, describing.
Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Authentication & Kerberos
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
Modelling and Analysing of Security Protocol: Lecture 3 Protocol Goals 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.
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.
A Logic of Authentication Michael Burrows, Martin Abadi, Roger Needham BAN Logic Presented by : Wenjin Hu.
1 Protocols are programs too The meta-heuristic search for security protocols By John A. Clark.
More on AuthenticationCS-4513 D-term More on Authentication CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
CSE Michigan State University Extensions of BAN by Heather Goldsby Michelle Pirtle.
Information Security of Embedded Systems : Algorithms and Measures Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Protocol Composition Logic Arnab Roy joint work with A. Datta, A. Derek, N. Durgin, J.C. Mitchell, D. Pavlovic CS259: Security Analysis of Network Protocols,
Describing Syntax and Semantics
Information Security of Embedded Systems : BAN-Logic Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Feb 19, 2002Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
Homework #5 Solutions Brian A. LaMacchia Portions © , Brian A. LaMacchia. This material is provided without.
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.
Lecture 19 Page 1 CS 111 Online Security for Operating Systems: Cryptography, Authentication, and Protecting OS Resources CS 111 On-Line MS Program Operating.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Programming Satan’s Computer
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Network Security. Security Threats 8Intercept 8Interrupt 8Modification 8Fabrication.
Dr. L. Christofi1 Local & Metropolitan Area Networks ACOE322 Lecture 8 Network Security.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
Cryptography, Authentication and Digital Signatures
Formal Analysis of Security Protocols Dr. Changyu Dong
BAN LOGIC Amit Chetal Monica Desai November 14, 2001
10. Key Management. Contents Key Management  Public-key distribution  Secret-key distribution via public-key cryptography.
A Survey of Authentication Protocol Literature: Version 1.0 Written by John Clark and Jeremy Jacob Presented by Brian Sierawski.
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.
A Logic of Belief and a Model Checking Algorithm for Security Protocols joint work with Massimo Benerecetti Fausto Giunchiglia University of Trento
Feb 17, 2003Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
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)
Automatic Analysis of Security Protocols using SPASS by Christoph Weidenbach.
Encryption Questions answered in this lecture: How does encryption provide privacy? How does encryption provide authentication? What is public key encryption?
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
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.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Network Protocols Network Systems Security Mort Anvari.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Authenticated Key Exchange I. Definitions I. MAP I. matching conversations II. oracles II. (I)KA II. AKEP2 III. AKEP2 Security I. Session Keys II. Perfect.
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
Fall 2006CS 395: Computer Security1 Key Management.
Model Checking for Security Protocols Will Marrero, Edmund Clarke, Shomesh Jha.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
1 Authentication Celia Li Computer Science and Engineering York University.
Analyzing Key Distribution and Authentication Protocols
The Inductive Approach to Verifying Cryptographic Protocols
Logic for Computer Security Protocols
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
CDK: Chapter 7 TvS: Chapter 9
CSCE 715: Network Systems Security
Presentation transcript:

BAN Logic A Logic of Authentication Presentation by Heather Goldsby Michelle Pirtle (Mike Burrows, Marin Abadi, Roger Needham) Published 1989, SRC Research Report 39

Overview Problem Solution – BAN Logic Goals of BAN Terms Symbols, Notation, and Syntax Example of BAN - Needham Schroder Protocol Impact and Limitations of BAN Tool Support Key Sources

What was the problem? Increased usage of computer networks A lack of trust during correspondence Need to know actual sender of messages Need to protect accuracy of sent messages Prohibit interception of messages

Solution BAN Logic A formalization of the description and analysis of authentication protocols. Objective of BAN Logic? It is a logic of authentication Describe knowledge & beliefs of involved parties in authentication in a formal manner Formally analyze the changing knowledge and the beliefs of the parties at each step in the protocol. Logic of authentication allows final protocol states to be made available To provide TRUST among communicating parties

[Burrows,Abadi,Needham] Goals of BAN State what is accomplished by the protocol Allow reasoning about, and comparisons of, protocol assumptions Draw attention to unnecessary actions that can be removed from a protocol Highlight any encrypted messages that could be sent in clear text

Terms Idealization: Used to show central information about beliefs of the recipient in a protocol step. E.g. Clear text parts are omitted in BAN Nonces: unique number generated for the purpose of being fresh E.g. Timestamp, sequence number Fresh: never been sent in a message before the current run of the protocol. Time: past - before protocol began present - any time after protocol began

Authentication Protocol Syntax Message = (source, destination, content) Source: People / computers / services sending messages E.g. Computer A Destination: People / computers / services receiving messages E.g. Server S Content: The information being sent between a source and a destination E.g. Message M; M = “Hello World” Belief: Things that can be believed by the source and destination but not transmitted. E.g. Computer A believes that Server S just sent Message M.

BAN Logic Transformation Process 1. Transform message into idealized logical formula Skip the message parts that do not contribute to the receiver’s beliefs 2. State assumptions about original message 3. Make annotated idealized protocols for each protocol statement with assertions 4. Apply logical rules to assumptions and assertions 5. Deduce beliefs held at the end of protocol

Symbols Principals:PQR Specific Principals:A B S Encryption Key:K Specific Shared Keys:K ab K as K bs Specific Public Keys:K a K b K s Specific Secret Keys:K a -1 K b -1 K s -1 Statements/Formulas:XY Specific Statements Nonces:N a N b N s

Notation P |  XP believes X P ⊲ XP sees X P |~ XP once said X P |  XP has jurisdiction over X #(X)The formula X is fresh P← K →QP and Q may use the shared key K to communicate

Notation (cont.) K  PP has K as a public key P X  Q Formula X is a secret known only to P and Q, and possibly to principles trusted by P and Q {X} K The formula X is encrypted under the key K

Example: Needham Schroder Protocol with shared keys What does the Needham Schroder Protocol do? Distributes a secret session key between two principals in a network How the Needham Schroder Protocol works during a threat The protocol assumes the secret key shared with the server is intercepted by the intruder and the intruder can read/modify anything passed on the network The protocol also assumes intruders have the ability to block messages from reaching their destinations and insert malicious messages

[Burrows, Abadi, Needham] Figure of Example: Needham Schroder Protocol with shared keys A S B Message 1: A  S: A, B, N a Message 2: S  A: {N a, B, K ab, {K ab, A}K bs } K as Message 3: A  B: {K ab, A}K bs Message 4: B  A: {N b }K ab Message 5: A  B: {N b -1} K ab

Example (cont.) Message 1: A  S: A, B, N a A makes contact with server S stating A wants a key to talk with B, N a is fresh Message 2: S  A: {N a, B, K ab, {K ab, A} K bs } K as A message from Server S to principle A consisting of a nonce, key K ab, a statement about the freshness of K ab and an encrypted version of K ab to be sent to principle B. Message 3: A  B: {K ab, A} K bs A message from Principle A to Principle B informing B of the key K ab encoded with the shared key of Principle B and Server S. Message 4: B  A: {N b } K ab A message from principle B to principle A containing a nonce and K ab, A & B’s shared key. Message 5: A  B: {N b -1} K ab A message from principle A to principle B consisting of a nonce and K ab.

[Burrows, Abadi, Needham] Example (cont.) Message 2: S  A: {N a, (A← K ab →B), #(A← K ab →B), {A← K ab →B}K bs } K as Message from S to A encrypted with key K as N a – A’s nonce indicating freshness of message (A← K ab →B) – key K ab shared between A and B #(A← K ab →B) – nonce indicating key K ab is fresh {A← K ab →B}K bs – key K ab encrypted with key K bs Message 3: A  B: {A← K ab →B} K bs Message from A to B encrypted with key K bs (A← K ab →B) – key K ab shared between A and B Step 1: Transform message into idealized logical formula (Message 1 is skipped.)

[Burrows, Abadi, Needham] Example (cont.) Message 4: B  A: {N b, (A ← K ab → B)} K ab Message from B to A encrypted with key K ab N b - B’s nonce indicating freshness (A ← K ab → B) – key K ab shared between A and B Message 5: A  B: {N b, (A ← K ab → B)} K ab Message from A to B encrypted with key K ab N b - B’s nonce indicating freshness (A ← K ab → B) – key K ab shared between A and B Step 1: Transform message into idealized logical formula

[Burrows, Abadi, Needham] Example (cont.) A |  A← K as →S A believes K as is a shared key between A and S S |  A← K as →S S believes K as is a shared key between A and S S |  A← K ab →B S believes K ab is a shared key between A and B B |  B← K bs →S B believes K bs is a shared key between B and S S |  S← K bs →B S believes K bs is a shared key between S and B A |  (S |  A← K →B) A believes S has jurisdiction over the shared key between A and B These are all beliefs within the protocol Step 2: State assumptions about original message

Example (cont.) B |  (S |  A← K →B) B believes S has jurisdiction over the shared key between A and B A |  #(N a ) A believes statement N a is fresh B |  #(N b ) B believes statement N b is fresh A |  (S |  #(A← K →B)) A believes S has jurisdiction over the freshness of the shared key between A and B S |  #(A← K ab →B) S believes key K ab is fresh B |  # (A← K ab →B)  B believes key K ab is fresh Step 2: State assumptions about original message

[Burrows, Abadi, Needham] Example (cont.) Message 2: S  A: {N a, (A← K ab →B), #(A← K ab →B), {A← K ab →B}K bs } K as Message 2 with Annotations A ⊲ {N a, (A← K ab →B), #(A← K ab →B), {A← K ab →B} K bs } K as A sees a message encrypted with key K as N a – A’s nonce indicating freshness of message (A← K ab →B) – key K ab shared between A and B #(A← K ab →B) – nonce indicating key K ab is fresh {A← K ab →B}K bs – key K ab encrypted with key K bs Step 3: Make annotated idealized protocols for each protocol statement with assertions

Example (cont.) Nonce-Verification rule Checks that a message is recent, thus the sender still believes the message. P |  #(X), P |  Q |~ X P|  Q |  X If P believes message X is fresh and P believes Q once said X then P believes Q believes X Implement Nonce Verification Rule on annotated message 2: A ⊲ {N a, (A← K ab →B), #(A← K ab →B), {A← K ab →B} K bs } K as Infer: A |  #(A← K ab →B), A |  S |~ (A← K ab →B) A|  S |  (A← K ab →B) If A believes message (A← K ab →B) is fresh and A believes S once said (A← K ab →B) then A believes S believes (A← K ab →B) Step 4: Apply logical rules to assumptions and assertions

Example (cont.) Jurisdiction rule States that if a principal has control over a statement and believes the statement other principals should believe the statement P |  Q |  X, P |  Q |  X P|  X If P believes Q has jurisdiction over message X and P believes Q believes X then P believes X Implement Jurisdiction Rule: Result of Nonce Verification Rule: A |  S |  (A← K ab →B) Assumption: A |  S |  (A← K →B) Infer: A |  S |  (A← K ab →B), A |  S |  (A← K ab →B) A |  (A← K ab →B) If A believes S has jurisdiction over the shared key between A and B, and A believes that S believes K ab is the shared key between A and B, then A believes key K ab is the shared key between A and B. Step 4: Apply logical rules to assumptions and assertions

[Burrows, Abadi, Needham] Example – Final Beliefs A |  A ← K ab → B A believes K ab is a shared key between A and B B |  A ← K ab → B B believes K ab is a shared key between A and B A |  B |  A ← K ab → B A believes that B believes K ab is a shared key between A and B B |  A |  A ← K ab → B B believes that A believes K ab is a shared key between A and B Step 5: Deduce beliefs held at the end of protocol

The Impact of BAN First protocol specification language to use formal verification to model authentication BAN introduced a simple and powerful notation BAN logic postulates (ie. Nonce-verification rule) are straight forward to apply for deriving BAN beliefs BAN logic is the foundation of other protocol specification languages that are more expressive E.g. GNY

Limitations of BAN Conversion to idealized form Lack of ability to state something a principle does not know I.e. private information is not guaranteed to remain private Example given by Nessett: Assume principles A and B communicate with public keys A  B : {N as K ab } Ka-1 B  A : {N b } Kab In idealized form: A  B : {N as, A← Kab →B} Ka-1 A sends B a message containing secret key K ab encrypted under A’s private key. The public key is well known making the secret key public knowledge. B  A : {A← Kab →B} Kab Message from B to A with the believed shared key K ab Result: The originally secret key K ab is known and the message between B and A can be read and forged

Limitations BAN does not catch all protocol flaws False-positives can result A principal’s beliefs cannot be changed at later stages of the protocol No division of time in protocol run Provides a proof of trust on part of principles, but not a proof of security Final beliefs can be believed only if all original assumptions hold true BAN does not account for improper encryption

[Santhoshi, Shreyas] Tool Support SPEAR Model analyzer for BAN Logic Developed for security protocols Aspects of protocol development SPEAR supports: Protocol specification – Stating possessions Define interactions with external functions and generated source code Define BAN logic beliefs Security analysis – detect possible attacks Code generation – generates Java code Meta execution and performance evaluation – testing the generated Java code on a safe platform

SPEAR (cont.) Possessions types Asymmetric key – use for asymmetric encryption using private and public key pair Symmetric key – used for symmetric encryption using the same key to encrypt and decrypt a message Delimited data – inserts delimiters into sent messages Entity information – used to send identifying information Fixed length data – only allows data of a fixed size Variable length data – allows data of unknown size, such as messages The possessions are then initialized by the entities

[Santhoshi, Shreyas] SPEAR (cont.) Steps for protocol specification Use Protocol-Set Protocol Name option to set the protocol’s name Not needed for BAN but possible with SPEAR Declare possessions used in protocol Generate needed macros for protocol Not needed for BAN but possible with SPEAR State initial BAN beliefs Done only if BAN analysis is desired Define entities (principals) involved in protocol Initialize possessions required by each entity throughout the duration of the protocol Add messages and statement blocks to the protocol for running functions at protocol stages (This is modeling the system)

[Shanthoshi, Shreyas] Limitations of SPEAR SPEAR is not perfect Shanthoshi and Shreyas found a bug in the belief derivation logic of SPEAR Variations between SPEAR and BAN slightly different syntax BAN:A believes K is fresh SPEAR:A believes fresh(K) Shared symmetric keys in initial beliefs are not always allowed Shanthoshi and Shreyas implemented the shared symmetric keys as public keys to obtain desired results

BAN Logic Online Sources The original paper: “A Logic of Authentication” by Burrows, Abadi & Needham Overviews of BAN Logic: “A Logic of Authentication by Burrows, Abadi and Needham” by Kyntaja The BAN Logic of Authentication by Botting A Semantics for BAN Logic by Bleeker ker/ ker/ Lecture on BAN by Wing 2.cs.cmu.edu/afs/cs/academic/class/ f98/www/Slides/lecture4/quick_index.htmlhttp://www- 2.cs.cmu.edu/afs/cs/academic/class/ f98/www/Slides/lecture4/quick_index.html Limitations of BAN Logic On a Limitation of BAN by C. Boyd & W. Mao

Tool Support for BAN Logic “Automated BAN Analysis of Authentication Protocols” by Santhoshi D.B. and Doshi Shreyas “SPEAR: a Security Protocol Engineering & Analysis Resource” r.html r.html Obtain a copy of SPEAR from: “Evaluating Cryptographic Protocols” by A. Yasinsac & W. Wulf Comparison of Cryptographic Protocol Analyses “Three Systems for Cryptographic Protocol Analysis” by Kemmerer, Meadows, & Millen 2.cs.cmu.edu/afs/cs/academic/class/17654-f01/www/refs/KMM.pdfhttp://www- 2.cs.cmu.edu/afs/cs/academic/class/17654-f01/www/refs/KMM.pdf Industrial Use of BAN “On BAN logics for Industrial Security Protocols” by Agray, van der Hoek, and de Vink BAN Logic Online Sources