yang-10-16 - Computer Science and Engineering
Download
Report
Transcript yang-10-16 - Computer Science and Engineering
Using State Space Exploration and a Natural
Deduction Style Message Derivation Engine to
Verify Security Protocols
By E. M. Clarke, et al.
Presented by Zhenxiao Yang
1
Outline
Introduction
Model Architecture
Evaluation of the Model
References
2 of 27
Introduction
What are network protocols
Why are we using FM to reason about
protocols?
principals + messages
Subtlety
Criticality
Main FM approaches being used
Belief logics and automated deduction process
Rigorous mathematical proof
3 of 27
Introduction – cont’d
Comparison between this paper and the
paper Ali presented
This paper focuses on the model itself,
versus the specification logic
This paper focuses on common security
protocols, versus e-commerce protocols
4 of 27
Model Architecture
5 of 27
Assumptions
Perfect Encryption Assumption
Atomic Key Assumption
Crypto-techniques are unbreakable
Keys are atomic messages
Open Network Assumption
The adversary controls the network
6 of 27
Interesting Security Properties
Secrecy
Secret messages should never be exposed
to the adversary
Correspondence
iff X event is preceded by a Y event
Scenario:
if A has successfully finished a
authentication protocol run with B, then B
has at least started the protocols run.
7 of 27
Interesting Security Properties – cont’d
Correspondence – cont’d
A way to check correspondence:
in the event sequence, the number of X should
never exceed the number of Y
Use a counter to indicate violation of
correspondence property
8 of 27
Messages
Atomic Messages
Keys
Principal names
Nonce’s
Data
9 of 27
Messages – cont’d
Message Composition
Concatenation m1 m2
Encryption – decryption mk
Formal Representation
*A is the space of atomic messages
*M is the set of all messages
10 of 27
Messages – cont’d
Message Derivation Rules
*
I
is initial set of information
11 of 27
State Machines
Model of honest principals
Model of the adversary
Model of global states
12 of 27
Honest Agents
Each honest agent is modeled as a triple
<N, p, B>
N is the name of the principal
P is a process
B : vars ( N ) M is a set of bindings
13 of 27
The adversary
The adversary is modeled as a pair <Z, I>
Z is the name of the adversary
I M is the knowledge of the adversary
I is a set of messages
{m1 , m2 , m3 ,, mn }
14 of 27
Global State Model
The global state is a triple <Π, C, S>
is the product of honest agents and adversary
C is a set of counters
S M is a set of messages that are considered secrets
15 of 27
Search Algorithms
What to search?
When to search
Search for secrets in the set of messages the
intruder can generate (secrecy)
After each SEND action of an honest agent
(secrecy)
How to Search
Message derivations
16 of 27
Message Derivation
Derivation rules for messages
m1 m2
I
m1 m2
m1 m2
E1
m1
m k
{}k I
{m}k
m
k 1
m
m1 m2
E2
m2
{}k E
17 of 27
Message Derivation – cont’d
Concepts
minor premise: a key in a inference rule
major premise: any other premise
maximum message: conclusion of the
introduction rule, or major premise of the
elimination rules
normalized derivation tree: a derivation
tree that contains no maximum message
18 of 27
Example Derivation Trees
Example Derivation Tree of
19 of 27
Theorems
Theorem 1: Any derivation tree T for m depending
on assumptions A can be transformed into a
normalized derivation tree T’ for m depending on the
same assumptions A
Theorem 2: No introduction rule appears above an
elimination rule in a normalized derivation tree
Theorem 3: m can be derived from I iff m can be
derived from I*
I is the knowledge of the adversary
I* is the closure of I under all elimination rules
Proves the correctness and decidability of the algorithm
20 of 27
Algorithm Implementation
add(I,m)
i = enumerate(I)
m is x.y
Y
i is {x}y and m is
decryption key
return add(add(I,x),y)
N
Y
add(I,x)
m is {x}y && decryption
key is in I
N
Y
y in I
N
Y
y in I
Y
I=I-i
N
return add(I,x)
N
m is atomic
N
return add(I+m,x)
Y
return I + m
return I + m
21 of 27
Algorithm Implementation – cont’d
Augmenting the adversary’s knowledge
22 of 27
Algorithm Implementation – cont’d
Searching the adversary’s knowledge
23 of 27
The Model is Finite
A run of the a protocol
is some interleaving actions from a set of
participants and from the adversary.
The length of each run is finite
we only consider a small number of runs.
A trace
is the interleaving of one or more runs.
Each trace is finite as well.
We only consider a finite number of traces
24 of 27
Model Evaluation
The model is intuitive and practical
The model is finite and correct
Translation process is tedious
Efficiency is also a problem
25 of 27
References
[1]E. Clarke, S. Jha, and W. Marrero. Using state
space exploration and a natural deduction style
message derivation engine to verify security
protocols. In Proceedings of the IFIP Working
Conference on Programming Concepts and Methods
(PROCOMET), 1998.
[2]Michael Burrows, Martin Abadi, and Roger
Needham. A logic of authentica- tion, from
proceedings of the royal society, volume 426, number
1871, 1989. In William Stallings, editor, Practical
Cryptography for Data Internetworks. IEEE Computer
Society Press, 1996.
26 of 27
Questions and Answers
Why use FM to reason about security
protocols, what are the major methods used?
Structure of the model, why is it finite and
correct?
See slide #3
Model structure: slide #5
Finiteness: slide #24
Correctness: slide #20
Strengths and weaknesses
See slide #25
27 of 27