From d96ffa3354f99232f50388a24dfa0aced0d00e41 Mon Sep 17 00:00:00 2001 From: Cas Cremers Date: Wed, 24 Nov 2010 17:13:14 +0100 Subject: [PATCH] Added more Woo-Lam-Pi variants. --- .../MultiProtocolAttacks/woo-lam-pi-1.spdl | 51 +++++++++++++++++++ .../MultiProtocolAttacks/woo-lam-pi-2.spdl | 51 +++++++++++++++++++ .../MultiProtocolAttacks/woo-lam-pi-3.spdl | 51 +++++++++++++++++++ 3 files changed, 153 insertions(+) create mode 100644 gui/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl create mode 100644 gui/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl create mode 100644 gui/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl diff --git a/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl b/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl new file mode 100644 index 0000000..0db8c2a --- /dev/null +++ b/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-1.spdl @@ -0,0 +1,51 @@ +# Woo and Lam Pi 1 +# +# Modelled after the description in the SPORE library +# http://www.lsv.ens-cachan.fr/spore/wooLamPi1.html +# + +protocol woolamPi-1(I,R,S) +{ + role I + { + var Nr: Nonce; + + send_1(I,R, I); + read_2(R,I, Nr); + send_3(I,R, {I,R,Nr}k(I,S)); + + } + + role R + { + const Nr: Nonce; + var T: Ticket; + + read_1(I,R, I); + send_2(R,I, Nr); + read_3(I,R, T); + send_4(R,S, {I,R, T}k(R,S)); + read_5(S,R, {I,R, Nr}k(R,S)); + + claim_R1(R,Nisynch); + } + + role S + { + var Nr: Nonce; + + read_4(R,S, {I,R, {I,R,Nr}k(I,S)}k(R,S)); + send_5(S,R, {I,R,Nr}k(R,S)); + } +} + +const Alice,Bob,Eve,Simon: Agent; +const Te: Ticket; +const Ne: Nonce; + + +untrusted Eve; +compromised k(Eve,Simon); + + + diff --git a/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl b/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl new file mode 100644 index 0000000..dc6b0d4 --- /dev/null +++ b/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-2.spdl @@ -0,0 +1,51 @@ +# Woo and Lam Pi 2 +# +# Modelled after the description in the SPORE library +# http://www.lsv.ens-cachan.fr/spore/wooLamPi2.html +# + +protocol woolamPi-2(I,R,S) +{ + role I + { + var Nr: Nonce; + + send_1(I,R, I); + read_2(R,I, Nr); + send_3(I,R, {I,Nr}k(I,S)); + + } + + role R + { + const Nr: Nonce; + var T: Ticket; + + read_1(I,R, I); + send_2(R,I, Nr); + read_3(I,R, T); + send_4(R,S, {I, T}k(R,S)); + read_5(S,R, {I, Nr}k(R,S)); + + claim_R1(R,Nisynch); + } + + role S + { + var Nr: Nonce; + + read_4(R,S, {I, {I,Nr}k(I,S)}k(R,S)); + send_5(S,R, {I,Nr}k(R,S)); + } +} + +const Alice,Bob,Eve,Simon: Agent; +const Te: Ticket; +const Ne: Nonce; + + +untrusted Eve; +compromised k(Eve,Simon); + + + diff --git a/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl b/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl new file mode 100644 index 0000000..847416b --- /dev/null +++ b/gui/Protocols/MultiProtocolAttacks/woo-lam-pi-3.spdl @@ -0,0 +1,51 @@ +# Woo and Lam Pi 2 +# +# Modelled after the description in the SPORE library +# http://www.lsv.ens-cachan.fr/spore/wooLamPi3.html +# + +protocol woolamPi-3(I,R,S) +{ + role I + { + var Nr: Nonce; + + send_1(I,R, I); + read_2(R,I, Nr); + send_3(I,R, {Nr}k(I,S)); + + } + + role R + { + const Nr: Nonce; + var T: Ticket; + + read_1(I,R, I); + send_2(R,I, Nr); + read_3(I,R, T); + send_4(R,S, {I, T}k(R,S)); + read_5(S,R, {I, Nr}k(R,S)); + + claim_R1(R,Nisynch); + } + + role S + { + var Nr: Nonce; + + read_4(R,S, {I, {Nr}k(I,S)}k(R,S)); + send_5(S,R, {I,Nr}k(R,S)); + } +} + +const Alice,Bob,Eve,Simon: Agent; +const Te: Ticket; +const Ne: Nonce; + + +untrusted Eve; +compromised k(Eve,Simon); + + +