Using Data Flow Analysis for Automatic Checking
- f Computational Confidentiality
in Cryptographic Protocols
Peeter Laud Tartu University and Cybernetica AS (joint work with Michael Backes)
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 1/33
Using Data Flow Analysis for Automatic Checking of Computational - - PowerPoint PPT Presentation
Using Data Flow Analysis for Automatic Checking of Computational Confidentiality in Cryptographic Protocols Peeter Laud Tartu University and Cybernetica AS (joint work with Michael Backes) Teooriapevad Voorel, 29.0901.10.2006 p. 1/33
Peeter Laud Tartu University and Cybernetica AS (joint work with Michael Backes)
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 1/33
application logic protocol logic
cryptographic layer and network stack
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 2/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 3/33
application logic protocol logic cryptographic layer and network stack messages on insecure and authentic channels scheduling
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 4/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
10110...
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 5/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 6/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 7/33
Program API calls API calls
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 8/33
i (e)
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 9/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 10/33
T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn
Message Sender
M Y C (!)receivec x from x′.P
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 11/33
T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn
Message Sender
M Y C (!)receiveC x from x′.P P Sk[x → M, x′ → Y ]
Execute:
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 12/33
Message Sender
M Y C receiveC x from x′.P P Sk[x → M, x′ → Y ]
Execute:
T ′
1| · · · |T ′ m
S′ T1 S1 T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn T2 Tk−1 S2 Sk−1 T ′
1
T ′
m
S′ S′ Tk+1 Sk+1 Tn Sn
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 13/33
Message Sender
M Y C !receiveC x from x′.P P Sk[x → M, x′ → Y ]
Execute:
T ′
1| · · · |T ′ m
S′ T1 S1 T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn T2 Tk−1 S2 Sk−1 T ′
1
T ′
m
S′ S′ Tk+1 Sk+1 Tk Sk Tn Sn
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 14/33
T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn
Message Sender
M Y C (!)receiveC x from x′.P P Sk[x → M, x′ → Y ]
Execute:
Reject S′ T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 15/33
T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn
Message Sender
M Y C (!)receivec x from x′.P
T1 T2 Tk−1 Tk Tk+1 Tn S1 S2 Sk−1 Sk Sk+1 Sn
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 16/33
i (e)
c x from x′.P
c x from x′.P
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 17/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 18/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 19/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 20/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 21/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 22/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 23/33
c x from z generates Sℓ ≥ I[z → {XP}] and also
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 24/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 25/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 26/33
ℓ where
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 26/33
ℓ, Lb ℓ,....
ℓ (x) ⊇ Eb′ ℓ′
ℓ (x) .
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 27/33
ℓ(x) and x is used at ℓ then x is either stored
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 28/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 29/33
ℓ be the set of constraints after the program point ℓ.
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 30/33
i (x);
ℓ for all ℓ and b.
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 31/33
ℓ let Rb ℓ be an auxiliary constraint variable.
ℓ ≥ L(Cb ℓ, Sb ℓ).
ℓ.
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 32/33
Teooriapäevad Voorel, 29.09–01.10.2006 – p. 33/33