Title: Logical Foundations for Security Protocol Analysis
1Logical Foundations for Security Protocol Analysis
- Patrick Lincoln John Mitchell Mark
Mitchell Andre Scedrov
2Correctness vs Security
- Program or System Correctness
- Program satisfies specification
- For reasonable input, get reasonable output
- Program or System Security
- Program resists attack
- For unreasonable input, output is not completely
disastrous - Main difference
- Active interference from environment
3Main Scientific Problem
- How powerful is the adversary?
- Simple replay of previous messages
- Decompose, reassemble and resend
- Statistical analysis of network traffic
- Timing attacks
- No absolute notion of security
- Weak adversary any correct system is secure
- Strong adversary nothing is secure
- If I can read your mind, you have no secrets
4Needham-Schroeder Key Exchange
- A, Noncea
- Noncea, Nonceb
- Nonceb
Kb
Ka
A
B
Kb
Result A and B share two private numbers not
known to any observer without Ka-1, Kb -1
5Anomaly in Needham-Schroeder
Lowe
A, Na
Ke
A
E
Na, Nb
Ka
Nb
Ke
A, Na
Na, Nb
Evil agent E tricks honest A into
revealing private key Nb from B.
Kb
Ka
B
Evil E can then fool B.
6Analyzing Security Protocols
- Think long and hard
- BAN and other belief logics
- Specialized tools using proof search
- Exhaustive state-enumeration tools
- Model checking using CSP, Mur?, ...
- New directions
- Abadi-Gordon Spi-calculus
- Probabilistic poly-time framework
7Prior state of the art
- Formal protocol analysis uses Dolev-Yao model
- Adversary is nondeterministic process
- Adversary can
- Block network traffic
- Read any message, decompose into parts
- Decrypt if key is known to adversary
- Insert new message from data it has observed
- Adversary cannot
- Gain partial knowledge
- Guess part of a key
- Perform statistical tests,
8Power and limitations
- Can find some attacks
- Needham-Schroeder by exhaustive search
- Other attacks are outside model
- Interaction between protocol and encryption
- Some protocols cannot be modeled
- Probabilistic protocols
- Steps that require specific properties of
encryption - Possible to prove erroneous protocol correct
9Example TMN Cell Phone Protocol
S
B, N
A
a
K
s
B N
A N
A
B
b
b
N
K
a
s
- Replay attack if Nb not fresh
- Server rejects Nb and requests different number
from B - RSA Encryption encrypt(k,msg) msgk mod N
- Replay NbKs iKs NbKs i Ks (Nb i)Ks
and divide later
10Recent Language Approach AG97
- Write protocol in process calculus
- Express security using observational equivalence
- Standard relation from programming language
theory - P ? Q iff for all contexts C , same
- observations about CP and CQ
- Context (environment) represents adversary
- Use proof rules for ? to prove security
- Protocol is secure if no adversary can
distinguish it from some idealized version of the
protocol
11Probabilistic Poly-time Analysis
Our Framework
- Adopt spi-calculus approach, add probability
- Probabilistic polynomial-time process calculus
- Protocols use probabilistic primitives
- Key generation, nonce, probabilistic encryption,
... - Adversary may be probabilistic
- Modal type system guarantees complexity bounds
- Express protocol and specification in calculus
- Study security using observational equivalence
- Use probabilistic form of process equivalence
12Technical Challenges
- Language for prob. poly-time functions
- Extend Hofmann language with rand
- Replace nondeterminism with probability
- Otherwise adversary is too strong ...
- Define probabilistic equivalence
- Related to poly-time statistical tests ...
- Develop specification by equivalence
- Several examples carried out
- Proof systems for probabilistic equivalence
- Goal for the future
13Example protocol in process calc
- Notation found in the literature
- A ? B m K
- B ? A m1 K
- Process calculus with cryptographic primitives
- let k new_key(n) in
- let m pick_a_number(n) in AB
?encrypt(k,m)? - AB(x). BA ?encrypt(k, decrypt(k,x)1)?
- end
- This form makes assumptions and response explicit
output on port AB
not m
14How we specify secrecy
- Original protocol P
- A ? B m K
- B ? A m1 K
- Obviously secret protocol Q (zero
knowledge) - A ? B random_number K
- B ? A random_number K
- Basic idea
- P ? Q implies P preserves secrecy
- If not, then some context can obtain some
information from the original protocol
15Nondeterminism is traditional, but ...
- Nondeterminism is a useful idealization
- Classical ? disguised as a computational
primitive - Expresses extreme good luck or bad luck
- Nondeterministic algorithm for traveling salesman
- Guess a path and check that it is correct
- Nondeterministic semantics for parallel
composition - Treat any possible interleaving as significantly
possible - Appropriate for worst case correctness
- Not an intrinsic property of system itself
16Nondeterminism breaks encryption
- Alice encrypts message and sends to Bob
- A ? B msg K
- Adversary uses nondeterministic parallelism
- Process E0 E?0? E?0? E?0?
- Process E1 E?1? E?1? E?1?
- Process E E?b1?.E?b2?...E?bn?.
decrypt(b1b2...bn, msg) - In reality, adversary has ?2-n chance to guess
n-bit key
17Solution probabilistic scheduler
- Define operational semantics
- Probabilistic steps let x M in P ?r
v/xP - Nondeterministic choice between parallel
processes - Each run requires probabilistic scheduler
- Chooses step from nondeterministic alternatives
- Scheduler runs in probabilistic polynomial time
- Quantify over schedulers to get universal
properties - Similar ideas in literature on Markov decision
diagrams
18Toward probabilistic equivalence
- Background poly-time statistical tests
- Standard notion from cryptography
- Define crypto. strong pseudo-random sequence
- Main ideas
- Pseudo-random generator family G Gnngt0
- Test generator Gn in time poly(n)
- Compare Test(Gk(random(n)) to Test(random(nk))
- Generator secure if results within 1/poly(n)
19Observing Probabilistic Process
- Observations
- Compare ProbP ? yes - Prob Q ? yes lt
? - How small ? is small ?
- Less than 1/2, 1/4, ? (not equiv relation
for fixed ?) - Vanishingly small ?
- How fast should ? ? 0 ? As a function of what?
- Cryptographic protocols
- Use encryption keys of a certain length
- Protocol is family Pn ngt0 indexed by key
length - Increasing key length ? increasing security
20Probabilistic Observational Equiv
- Processes P, Q are ?-indistinguishable
- P ?? Q if ? contexts C . ? observations v.
- ProbCP ? v - ProbCQ ? v
lt ? - Asymptotically within f
- Process, context families Pn ngt0 Qn ngt0
Cn ngt0 - P ?f Q if ? contexts C . ? obs v. ?n0 . ? ngt
n0 . - ProbCnPn ? v - ProbCnQn ?
v lt f(n) - Asymptotically polynomially indistinguishable
- P ? Q if P ?f Q for every polynomial f(n)
1/p(n) - Final defn gives robust
equivalence relation
21Basic example
- Sequence generated from random seed
- Pn let b nk-bit sequence generated from n
random bits - in PUBLIC ?b? end
- Truly random sequence
- Qn let b sequence of nk random bits
- in PUBLIC ?b? end
- P is crypto strong pseudo-random generator
- P ? Q
22Protocol P Diffie, Hellman, ElGamal
- ga mod p
- gb mod p
- msg gab mod p
A
B
- Prime p and generator g of Zp are public
- Passive eavesdropper has small chance at msg
23Specification Q
- random_number mod p
- random_number mod p
- random_number mod p
A
B
- Network traffic should look like 3 random numbers
24Analysis
- Prove P ? Q ?
- Prove difficulty of computing discrete logarithm
? - Better reduction from a discrete log problem
- Strategy to distinguish P from Q with prob gt
1/poly ? win Diffie-Hellman game with prob
gt1/poly - Decision-Diffie-Hellman problem
- Given two triples ?x, y, z? ?gu, gv,
guv? - Decide which is which (u,v,x,y,z chosen
randomly) - Note this is for passive eavesdropper only
25ElGamal Analysis So what?
- Characterize security by number-theoretic game
- Decision Diffie-Hellman appears in literature
- Previously studied, believed hard
- Remove doubt about protocol, up to common
cryptographic assumptions - Simplified example since this protocol can be
subverted by replacing ga by gc
26Current state of project
- Better foundations for protocol analysis ?
- Determine crypto requirements of protocols !
- Probabilistic ptime language
- Extended Hofmann language with rand
- Pi-calculus-like process framework
- replaced nondeterminism with rand
- equivalence based on ptime statistical tests
- Specifications of secrecy, authenticity
- Simple examples
- Work in progress...