Logics for Security Protocols - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Logics for Security Protocols

Description:

Process Calculi. Applied -calculus. BAN, PCL. Murphi, AVISPA. Paulson, MSR ... Process calculus operational semantics. Process Calc. Op. Semantics ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 36
Provided by: Anupam73
Category:

less

Transcript and Presenter's Notes

Title: Logics for Security Protocols


1
Logics for Security Protocols
18739A Foundations of Security and Privacy
  • Anupam Datta
  • Fall 2007-08

2
Protocol Analysis Techniques
Crypto Protocol Analysis
Formal Models
Computational Models
Dolev-Yao (perfect cryptography)
Random oracle Probabilistic process
calculi Probabilistic I/O automata
Protocol Logics
Model Checking
Inductive Proofs
Process Calculi

Applied ?-calculus
BAN, PCL
Murphi, AVISPA
Paulson, MSR
3
Inductive Method Pros Cons
  • Advantages
  • Reason about infinite runs, message spaces
  • Trace model close to protocol specification
  • Can prove protocol correct
  • Disadvantages
  • Does not always give an answer
  • Failure does not always yield an attack
  • Still trace-based properties only
  • Labor intensive
  • Must be comfortable with higher-order logic
  • Proofs are very long
  • 4000 steps for Otway-Rees session key secrecy

4
Protocol Logics
  • BAN Logic
  • A Logic of Authentication by Michael Burrows,
    Martin Abadi, Roger Needham (1989)
  • Historically, the first logic for reasoning about
    security protocols
  • Syntax and proof system (axioms and rules) for
    proving authentication properties (semantics
    added in a later paper)

5
BAN Logic (1)
  • Advantages
  • Proofs are relatively short ( 2-3 pages)
  • cf. Paulsons inductive proofs
  • Proofs follow protocol design intuition
  • cf. model-checking, low-level theorem-proving
  • Relatively easy to use
  • Still taught widely in security courses
  • No explicit reasoning about traces and intruder
  • cf. Paulsons inductive proofs

6
BAN Logic (2)
  • Disadvantages
  • Not sound wrt now accepted model of protocol
    execution and attack
  • Protocols proved secure may be insecure
  • e.g. NS was proved secure using BAN
  • Protocols are modeled using logical formulas
    (idealization step) as opposed to state machines
    or programs
  • Many uses of non-standard logical concepts
  • Jurisdiction, control, belief, messages
    propositions
  • Only authentication properties, not secrecy
  • Applicable to restricted classes of protocols

See Harpers slides on BAN from 15-819 (linked
from course web page)
7
Today
  • Protocol Composition Logic (PCL)
  • Developed over the last few years (2001-07)
  • Retain advantages of BAN rectify deficiencies
  • Semantic model similar to Paulsons Inductive
    Method
  • New proof techniques
  • Modular proofs
  • Cryptographic soundness
  • Reading tip
  • Start from the example in Section 5 of the
    assigned reading
  • Protocol Composition Logic (PCL) by A. Datta,
    A. Derek, J. C. Mitchell, A. Roy (2007)

8
Protocol Composition Logic
  • A logic for proving security of network protocols
  • Illustrates use of programming language methods
    in computer security
  • Concurrency theory
  • Network protocols are concurrent programs
  • Floyd-Hoare style logic
  • Before-after assertions

15-812 Semantics of programming languages
9
Roadmap
  • Intuition
  • Formalism
  • Protocol programming language
  • Protocol logic
  • Proof System
  • Example
  • Signature-based challenge-response
  • Proof techniques

Formulated by Datta, Derek, Durgin, Mitchell,
Pavlovic
10
Example Challenge-Response
m, A
n, sigB m, n, A
A
B
sigA m, n, B
  • Alice reasons if Bob is honest, then
  • only Bob can generate his signature
  • if Bob generates a signature of the form sigBm,
    n, A,
  • he sends it as part of msg2 of the protocol, and
  • he must have received msg1 from Alice
  • Alice deduces Received (B, msg1) ? Sent (B, msg2)

11
Formalizing the Approach
  • Language for protocol description
  • Arrows-and-messages are informal.
  • Protocol Operational Semantics
  • How does the protocol execute?
  • Protocol logic
  • Stating security properties.
  • Proof system
  • Formally proving security properties.

12
Protocol Programming Language
  • A protocol is described by specifying a program
    for each role
  • Server receive x new n send x, n
  • Building blocks
  • Terms (think messages)
  • names, nonces, keys, encryption,
  • Actions (operations on terms)
  • send, receive, pattern match,

13
Terms
  • t c constant term
  • x variable
  • N name
  • K key
  • t, t tupling
  • sigKt signature
  • encKt encryption
  • Example x, sigBm, x, A is a term

14
Actions
  • send t send a term t
  • receive x receive a term into variable x
  • match t/p(x) match term t against p(x)
  • A program or cord is a sequence of actions
  • Notation
  • we often omit match actions
  • receive sigBA, n receive x match x/sigBA, n

15
Challenge-Response Programs
m, A
n, sigB m, n, A
A
B
sigA m, n, B
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
16
Protocol Execution
  • Initial configuration
  • Protocol is a finite set of roles
  • Set of principals and keys
  • Assignment of ?1 role to each principal
  • Run (trace)

Process calculus operational semantics
send xB
new x
A
receive xB
receive zB
B
send zB
new z
C
17
Process Calc. Op. Semantics
  • Cord space is a multiset of cords
  • Cords may react
  • via communication
  • via internal actions
  • Sample reaction steps
  • Communication
  • send t SX receive x TY ? SX T(t/x)
    Y
  • Matching
  • match p(t)/p(x) S X ? S(t/x) X

18
Attacker capabilities
  • Controls complete network
  • Can read, remove, inject messages
  • Fixed set of operations on terms
  • Pairing
  • Projection
  • Encryption with known key
  • Decryption with known key

Commonly referred to as Dolev-Yao attacker
19
PCL Syntax
  • Action formulas
  • a Send(P,t) Receive (P,t) Verify(P,T)
  • Formulas
  • ? a Has(P,t) Honest(N) ?? ?1? ?2
    ?x ?
  • a lt a
  • Modal formula
  • ? actions P ?
  • Example
  • Has(X, secret) ? ( X A ? X B)

Specifying secrecy
20
Challenge-Response Property
  • Specifying authentication for Initiator
  • true InitCR(A, B) A Honest(B) ?
  • (
  • Send(A, A,B,m) ?
  • Receive(B, A,B,m) ?
  • Send(B, B,A,n, sigB m, n, A) ?
  • Receive(A, B,A,n, sigB m, n, A)
  • )

Semantics Property must hold in all protocol
traces (similar to Paulsons Inductive Method)
21
PCL Semantics
  • Protocol Q
  • Defines set of roles (e.g, initiator,
    responder)
  • Run R of Q is sequence of actions by principals
    following roles, plus attacker
  • Satisfaction
  • Q, R ? ? actions P ?
  • If some role of P in R does exactly actions
    starting from state where ? is true, then ? is
    true in state after actions completed
    irrespective of actions executed by other agents
    concurrently
  • Q ? ? actions P ?
  • Q, R ? ? actions P ? for all runs R of Q

22
Proof System
  • Goal formally prove security properties
  • Axioms
  • Simple formulas provable by hand
  • Inference rules
  • Proof steps
  • Theorem
  • Formula obtained from axioms by application of
    inference rules

23
Sample axioms about actions
  • New data
  • true new x P Has(P,x)
  • true new x P Has(Y,x) ? YP
  • Actions
  • true send m P Send(P,m)
  • Verify
  • true match x/sigXm P Verify(P,m)

24
Reasoning about knowledge
  • Pairing
  • Has(X, m,n) ? Has(X, m) ? Has(X, n)
  • Encryption
  • Has(X, encK(m)) ? Has(X, K-1) ? Has(X, m)

25
Encryption and signature
  • Public key encryption
  • Honest(X) ? Decrypt(Y, encXm) ? XY
  • Signature
  • Honest(X) ? Verify(Y, sigXm) ?
  • ? m (Send(X, m) ? Contains(m, sigXm)

26
Sample inference rules
  • First-order logic rules
  • ? ? ? ? ?
  • Generic rules
  • ? actions P ? ? actions P ?
  • ? actions P ? ? ?

27
Honesty rule (example use)
  • ?roles R of Q. ? protocol steps A of R.
  • Start(X) X ? ? A X ?
  • Q - Honest(X) ? ?
  • Example use
  • If Y receives a message m from X, and
  • Honest(X) ? (Sent(X,m) ? Received(X,m))
  • then Y can conclude
  • Honest(X) ? Received(X,m))

Proved using honesty rule
28
Correctness of CR
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
  • CR - true InitCR(A, B) A Honest(B) ?
  • Send(A, A,B,m) ?
  • Receive(B, A,B,m) ?
  • Send(B, B,A,n, sigB m, n, A) ?
  • Receive(A, B,A,n, sigB m, n, A)

Auth
29
Correctness of CR step 1
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
  • 1. A reasons about her own actions
  • CR - true InitCR(A, B) A
  • Verify(A, sigB m, n, A)

30
Correctness of CR step 2
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
  • 2. Properties of signatures
  • CR - true InitCR(A, B) A Honest(B) ?
  • ? m (Send(B, m) ? Contains(m, sigB m, n, A)

Recall signature axiom
31
Correctness of CR Honesty
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
  • Invariant proved with Honesty rule
  • CR - Honest(X) ?
  • Send(X, m) ? Contains(m, sigx y, x, Y) ? ?
    New(X, y) ?
  • m X, Y, x, sigBy, x, Y ? Receive(X, Y, X,
    y, Y)

Induction over protocol steps
32
Correctness of CR step 3
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
  • 3. Use Honesty invariant
  • CR - true InitCR(A, B) A Honest(B) ?
  • Receive(B, A,B,m),

33
Correctness of CR step 4
InitCR(A, X) new m send A, X, m,
A receive X, A, x, sigXm, x, A send A,
X, sigAm, x, X
RespCR(B) receive Y, B, y, Y new
n send B, Y, n, sigBy, n, Y receive Y, B,
sigYy, n, B
  • 4. Use properties of nonces for temporal ordering
  • CR - true InitCR(A, B) A Honest(B) ? Auth

Nonces are fresh random numbers
34
We have a proof. So what?
  • Soundness Theorem
  • if Q - ? then Q ?
  • If ? is a theorem then ? is a valid formula
  • ? holds in any step in any run of protocol Q
  • Unbounded number of participants
  • Dolev-Yao intruder

35
Thanks ! Questions?
Write a Comment
User Comments (0)
About PowerShow.com