Synthesising Efficient and Effective Security Protocols
Chen Hao, John Clark, Jeremy Jacob Department of Computer Science University of York, York, YO10 5DD United Kingdom ARSPA Workshop, Cork, 4 July 2004
Synthesising Efficient and Effective Security Protocols Chen Hao, - - PowerPoint PPT Presentation
Synthesising Efficient and Effective Security Protocols Chen Hao, John Clark, Jeremy Jacob Department of Computer Science University of York, York, YO10 5DD United Kingdom ARSPA Workshop, Cork, 4 July 2004 Motivation Search techniques
Chen Hao, John Clark, Jeremy Jacob Department of Computer Science University of York, York, YO10 5DD United Kingdom ARSPA Workshop, Cork, 4 July 2004
Search techniques such as simulated
proved successful across many domains
Very little published discussion on the issue of
protocol efficiency (non-functional requirements)
most work have focused on the security of
protocols
Can we use these heuristic search techniques
to find secure and efficient protocols?
We will express protocol design as a
We will assign a fitness to protocol
We will use heuristic search technique
Sometimes, fitness needs to get worse
choose initial value of stopping criterion choose new from neighbourhood of old Until do P P P end
x0 x1 x2
Neighbourhood of a point might be Hill-climb goes x0 → x1 → x2 since and gets stuck at x2 (local optimum)
xopt Really want to
x3
( ) { }
1 1
,
n n n
N x x x
− +
=
( ) ( ) ( ) ( )
1 2 3
f x x x f x f f < < >
n
x
f(x)
x0 x1 x2
f(x)
Allows non-improving moves so that it is possible to go down
x11 x4 x5 x6 x7 x8 x9 x10 x12 x13
x
in order to rise again to reach global optimum In practice neighbourhood may be very large and trial neighbour is chosen
I mproving moves always accepted Non-improving moves may be accepted
probabilistically and in a manner depending on the temperature parameter T. Loosely
the worse the move, the less likely it is to be accepted the cooler the temperature, the less likely a worsening
move is to be accepted
The temperature T starts high and is gradually cooled
as the search progresses
Initially, virtually anything is accepted; at the end, only
improving moves are allowed (and the search effectively reduces to hill-climbing)
( )
: : stopping criterion is met 400 pick ( ) with uniform probability pick 0,1 with uniform probability ( ) ( ) ( 0) current : ( ) x x T T y N x U f y f x x y = = ∈ ∈ ∆ = − ∆ > = repeat until repeat times if accept else if ( ln ) current : ( ) : 0.97 Solution is best so far T U x y T T ⎡ ⎤ ⎢ ⎥ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ∆ > × = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ = × ⎣ ⎦ accept else reject at each temperature consider 400 moves
Always accept improving moves Accept worsening moves probabilistically Gets harder to do this the worse the move Gets harder as temperature decreases Temperature cycle
100 T = 0.97 T T = ×
Do 400 trial moves Do 400 trial moves
0.97 T T = × 0.97 T T = ×
Do 400 trial moves
0.97 T T = ×
Do 400 trial moves Do 400 trial moves
0.00001 T =
Security Goals
pre/post conditions in SVO & GNY Logics Illustrative example
Efficiency Goals
e.g. minimise the number of messages, server
interactions and so on
Fitness of a protocol based on both security
criterion and efficiency criterion
Aim
find a protocol with high fitness
We need a fitness function to capture
1
N i
=
Number of new required security goals that message i of P achieves A large constant that weights security much more heavily than efficiency Weights among individual messages (e.g. Early Credit strategy: the weights are monotonically decreasing with i. The notion is that satisfying goals early should be rewarded)
Punish protocols with many messages Punish protocols with more encryption
Punish number of interactions with particular principals
( )
a A P
∈
Abstract design space = protocols
Encoded search space = sequences of
Decode integer sequences as SVO
Efficiently unify previous logics (BAN, GNY,
AT and VO)
SVO rules: define deductions from receipt of
a message
Message comprehension and message
interpretation steps of SVO almost preclude automated reasoning
We use GNY recognisability rule and message
extension to overcome this limitation
Back
Goals
believes
ab
ab K
A K A A B ←⎯⎯ →
( ) ( ) ( ) ( )
( )
has , , , , ; has , , , , ; believes ; believes ; believes ; believes ; believes ; believes controls
as as ab ab
a as as ab K K a a K K
A A B S N K S A B S K K A A S S A S A fresh N A N S A B A S A B φ ← ⎯ ⎯ → ← ⎯ ⎯ → ← ⎯ ⎯ → ← ⎯ ⎯ →
Back
A feasible SVO protocol
1.
: , , 2. : { , }
ab as
a K a ab K
A S A B N S A N K A B → → ←⎯⎯ → f
Back
Sender Receiver f2 f1 Key 21 8 13 34 20
Message fields integer sequence
2 3 4
mod 3 mod 3 mod 2 mod 5 mod 5 After suitable modular reduction
A S S Na null
interpretation
Na S B A null
Vector of A’s current possessions null
Kas
Vector of A’s current keys
I nterpretation for 3 principals A, B, S (A= 0, B= 1, S= 2); sender A currently holds 5 possessions and 2 keys Af0 is the null possession and Ak0 is the null key
We can now interpret sequences of non-negative
integers as a valid protocol
Interpret each message in turn updating
belief/possession/key vectors after each message (by applying logic rules)
This is the execution of the abstract protocol Every protocol achieves something! The issue is
whether it is something we want!
We generate the neighbourhood by randomly
changing one integer and assessing fitness
This can change the sender, receiver or a component of any
message
Security Goals: (award + 3000 for each achieved
goal)
Assumptions: standard Efficiency Weights:
respectively (for the 1st example)
has believes has believes believes has believes has
ab ab
K ab K ab ab ab
A K A A B B K B A B A B K B A K ←⎯⎯ → ←⎯⎯ →
2nd Example 1st Example
1. : , , 2. : { , } 3. : , , 4. : { , , } 5. : { , , } 6. : { , }
ab as ab bs ab ab
a K a ab K b K b a ab K b a K b K
A S A B N S A N K A B B S B A N S B N N K A B B A B N N A B N A → → ←⎯ ⎯ → → → ←⎯ ⎯ → → → f f 1. : , 2. : , , , 3. : { , } 4. : { , , } 5. : { , , } 6. : { , }
ab bs ab as ab ab
a b a K b ab K K a b ab K a b K a K
A B A N B S B N A N S B N K A B S A N N K A B A B A N N B A B N → → → ←⎯⎯ → → ←⎯⎯ → → → f f
4 server interactions 3 server interactions
We can use search to generate secure
We can generate protocols at logic level
Automated refinement to code Use protocols as candidates for further
Prettier user interfaces to the tool Can we use heuristic search to find