From 7a369f34e10b2890dfca4a0c7ba95e0985c94ccb Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Mon, 10 May 2021 10:46:43 +0200 Subject: [PATCH] Initial commit --- .gitignore | 8 ++ ca-signed-auth.pv | 65 ++++++++++ commit1.pv | 26 ++++ commit2.pv | 31 +++++ passport-trace/trace1.dot | 245 ++++++++++++++++++++++++++++++++++++++ passport-trace/trace1.pdf | Bin 0 -> 19835 bytes passport.pv | 63 ++++++++++ passport_MOD.pv | 74 ++++++++++++ proverif.pdf | Bin 0 -> 75673 bytes report/report.pdf | Bin 0 -> 80066 bytes report/report.tex | 160 +++++++++++++++++++++++++ self-signed-auth.pv | 58 +++++++++ version1.pv | 39 ++++++ version2.pv | 37 ++++++ warmup_a.pv | 37 ++++++ warmup_aMOD.pv | 37 ++++++ warmup_b.pv | 67 +++++++++++ 17 files changed, 947 insertions(+) create mode 100644 .gitignore create mode 100644 ca-signed-auth.pv create mode 100644 commit1.pv create mode 100644 commit2.pv create mode 100644 passport-trace/trace1.dot create mode 100644 passport-trace/trace1.pdf create mode 100644 passport.pv create mode 100644 passport_MOD.pv create mode 100644 proverif.pdf create mode 100644 report/report.pdf create mode 100644 report/report.tex create mode 100644 self-signed-auth.pv create mode 100644 version1.pv create mode 100644 version2.pv create mode 100644 warmup_a.pv create mode 100644 warmup_aMOD.pv create mode 100644 warmup_b.pv diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..92e4952 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.zip + +*.aux +*.fdb_latexmk +*.fls +*.log +*.out +*.synctex.gz diff --git a/ca-signed-auth.pv b/ca-signed-auth.pv new file mode 100644 index 0000000..fd7b73e --- /dev/null +++ b/ca-signed-auth.pv @@ -0,0 +1,65 @@ +(* Honest participants *) +free C,S. + +(* Channel *) +free c. + +free hello,ack. + +(* Shared secret between C and S *) +private free m. +(* Secret signing key of CA *) +private free dkCA. + +fun vk/1. +fun ek/1. +fun h/1. + +fun sign/2. +reduc checksign(sign(m,k),vk(k)) = m. +reduc getmess(sign(m,k)) = m. + +fun aenc/2. +reduc adec(aenc(m,ek(k)),k) = m. + +fun senc/2. +reduc sdec(senc(m,k),k) = m. + +query ev:endServerAuth(x,y) ==> ev:beginServerAuth(x,y). +query ev:endClientAuth(x,y,z) ==> ev:beginClientAuth(x,y,z). + +let client = + in(d,(idC,idS)); + new nC; + out(c,(hello,nC)); + in(c,(=hello,nS)); + in(c,(cert,=vk(dkCA))); + let (=idS,ekS)=checksign(cert,vk(dkCA)) in + new secret; + out(c,aenc(secret,ekS)); + event beginClientAuth(nC,nS,secret); + let k=h((secret,nC,nS)) in + out(c,senc((m),k)); + in(c,x); + let (=ack)=sdec(x,k) in + event endServerAuth(nC,nS). + +let server = + in(d,(idC,idS)); + new dkS; + in(c,(=hello,nC)); + new nS; + event beginServerAuth(nC,nS); + out(c,(hello,nS)); + out(c,(sign((idS,ek(dkS)),dkCA),vk(dkCA))); + in(c,x); + let secret=adec(x,dkS) in + let k=h((secret,nC,nS)) in + in(c,y); + let (=m)=sdec(y,k) in + event endClientAuth(nC,nS,secret); + out(c,senc((ack),k)). + +process + new d; + ! (out(d,(C,S)) | client | server) diff --git a/commit1.pv b/commit1.pv new file mode 100644 index 0000000..6556769 --- /dev/null +++ b/commit1.pv @@ -0,0 +1,26 @@ +(* Channel *) +free d. + +(* secret message *) +private free m. + +fun commit/2. +fun open/3. + +equation open(commit(m,k),m,k) = m. + +query attacker:m phase 1. + +noninterf m. + +let alice = + phase 1; + new k; + out(d,commit(m,k)). + +let server = + phase 1; + in(d,x). + +process + alice | server diff --git a/commit2.pv b/commit2.pv new file mode 100644 index 0000000..8cda387 --- /dev/null +++ b/commit2.pv @@ -0,0 +1,31 @@ +(* Channel *) +free d. + +(* secret message *) +private free m. + +fun commit/2. +fun open/3. + +equation open(commit(m,k),m,k) = m. + +query attacker:m phase 1. + +noninterf m. + +let alice = + phase 1; + new k; + out(d,commit(m,k)); + phase 2; + out(d,(m,k)). + +let server = + phase 1; + in(d,x); + phase 2; + in(d,(m,k)); + let (=m)=(open(x,m,k)) in 0. + +process + alice | server diff --git a/passport-trace/trace1.dot b/passport-trace/trace1.dot new file mode 100644 index 0000000..4f3af54 --- /dev/null +++ b/passport-trace/trace1.dot @@ -0,0 +1,245 @@ +digraph { +graph [ordering = out] +edge [arrowhead = none, penwidth = 1.6, fontsize = 30] +node [shape = point, width = 0, height = 0, fontsize = 30] +Trace [label = +>, shape = plaintext] +P0__0 [label = "Honest Process", shape = plaintext] +P__0 [label = "Attacker", shape = plaintext] +Trace -> P0__0 [label = "", style = invisible, weight = 100]{rank = same; P0__0 P__0} +P0__0 -> P0__1 [label = <>, weight = 100] +P0__1 -> P0__2 [label = <>, weight = 100] +P0__2 [shape = plaintext, label = <
{1}new ke1_1
{2}new km1_1
{3}new ke2_1
{4}new km2_1
{5}new d_1
>] +P0__2 -> P0__3 [label = <>, weight = 100] +/*RPar */ +P0__3 -> P0_5__3 [label = <>] +P0__3 -> P0_4__3 [label = <>] +P0__3 -> P0_3__3 [label = <>] +P0__3 -> P0_2__3 [label = <>] +P0__3 -> P0_1__3 [label = <>] +P0__3 -> P0_0__3 [label = <>] +P0__3 [label = "", fixedsize = false, width = 0, height = 0, shape = none] +{rank = same; P0_0__3 P0_1__3 P0_2__3 P0_3__3 P0_4__3 P0_5__3} +P0_1__3 -> P0_1__4 [label = <>, weight = 100] +P0_1__4 [shape = plaintext, label = <
Beginning of process passport
>] +P0_1__4 -> P0_1__5 [label = <>, weight = 100] +P0_2__3 -> P0_2__4 [label = <>, weight = 100] +P0_2__4 [shape = plaintext, label = <
Beginning of process passport
>] +P0_2__4 -> P0_2__5 [label = <>, weight = 100] +P0_5__3 [label = "!", shape = ellipse] +P0_5_0__3 [label = "", fixedsize = false, width = 0, height = 0, shape = none] +P0_5__3 -> P0_5_0__3 [label = <>, weight = 100] +P0_5_0__3 -> P0_5_0__4 [label = <>, weight = 100] +P0_5_0__4 [shape = plaintext, label = <
Beginning of process reader
>] +P0_5_0__4 -> P0_5_0__5 [label = <>, weight = 100] +P0_5_0__5 -> P0_5_0__6 [label = <>, weight = 100] +P0_4__3 -> P0_4__4 [label = <>, weight = 100] +{rank = same; P0_4__4 P0_5_0__6} +P0_5_0__6 -> P0_5_0__7 [label = <>, weight = 100] +P0_4__4 -> P0_4__5 [label = <>, weight = 100] +{rank = same; P0_4__5 P0_5_0__7} +P0_5_0__7 -> P0_4__5 [label = <(ke1_1,km1_1)>, dir = back, arrowhead = normal] +P0_5_0__7 -> P0_5_0__8 [label = <>, weight = 100] +P0_4__5 -> P0_4__6 [label = <>, weight = 100] +{rank = same; P0_4__6 P0_5_0__8} +P0_4__7 [label = "", width = 0.3, height = 0.3] +P0_4__6 -> P0_4__7 [label = <>, weight = 100] +P0_5_0__8 -> P0_5_0__9 [label = <>, weight = 100] +P0_4__8 [label = "", style = invisible] +P0_4__7 -> P0_4__8 [label = <>, weight = 100, style = invisible] +P0_3__3 -> P0_3__4 [label = <>, weight = 100] +P0_2__5 -> P0_2__6 [label = <>, weight = 100] +P0_1__5 -> P0_1__6 [label = <>, weight = 100] +P0_0__3 -> P0_0__4 [label = <>, weight = 100] +P__0 -> P__1 [label = <>, weight = 100] +{rank = same; P__1 P0_0__4 P0_1__6 P0_2__6 P0_3__4 P0_4__8 P0_5_0__9} +P0_5_0__9 -> P0_5_0__10 [label = <>, weight = 100] +P__1 -> P__2 [label = <>, weight = 100] +{rank = same; P__2 P0_5_0__10} +P0_5_0__10 -> P__2 [label = <~M = GetC>, arrowhead = normal] +P0_5_0__10 -> P0_5_0__11 [label = <>, weight = 100] +P0_4__9 [label = "", style = invisible] +P0_4__8 -> P0_4__9 [label = <>, weight = 100, style = invisible] +P0_3__4 -> P0_3__5 [label = <>, weight = 100] +P0_2__6 -> P0_2__7 [label = <>, weight = 100] +P0_1__6 -> P0_1__7 [label = <>, weight = 100] +P0_0__4 -> P0_0__5 [label = <>, weight = 100] +P__2 -> P__3 [label = <>, weight = 100] +{rank = same; P__3 P0_0__5 P0_1__7 P0_2__7 P0_3__5 P0_4__9 P0_5_0__11} +P0_5_0__11 -> P0_5_0__12 [label = <>, weight = 100] +P0_4__10 [label = "", style = invisible] +P0_4__9 -> P0_4__10 [label = <>, weight = 100, style = invisible] +P0_3__5 -> P0_3__6 [label = <>, weight = 100] +P0_2__7 -> P0_2__8 [label = <>, weight = 100] +P0_1__7 -> P0_1__8 [label = <>, weight = 100] +P0_0__5 -> P0_0__6 [label = <>, weight = 100] +P__3 -> P__4 [label = <>, weight = 100] +{rank = same; P__4 P0_0__6 P0_1__8 P0_2__8 P0_3__6 P0_4__10 P0_5_0__12} +P0_5_0__12 -> P0_5_0__13 [label = <>, weight = 100] +P__4 -> P__5 [label = <>, weight = 100] +{rank = same; P__5 P0_5_0__13} +P0_5_0__13 -> P__5 [label = , dir = back, arrowhead = normal] +P0_5_0__13 -> P0_5_0__14 [label = <>, weight = 100] +P0_4__11 [label = "", style = invisible] +P0_4__10 -> P0_4__11 [label = <>, weight = 100, style = invisible] +P0_3__6 -> P0_3__7 [label = <>, weight = 100] +P0_2__8 -> P0_2__9 [label = <>, weight = 100] +P0_1__8 -> P0_1__9 [label = <>, weight = 100] +P0_0__6 -> P0_0__7 [label = <>, weight = 100] +P__5 -> P__6 [label = <>, weight = 100] +{rank = same; P__6 P0_0__7 P0_1__9 P0_2__9 P0_3__7 P0_4__11 P0_5_0__14} +P0_5_0__14 -> P0_5_0__15 [label = <>, weight = 100] +P0_5_0__15 [shape = plaintext, label = <
{10}new nr_4
{11}new kr_4
>] +P0_5_0__15 -> P0_5_0__16 [label = <>, weight = 100] +P0_5_0__16 -> P0_5_0__17 [label = <>, weight = 100] +P0_4__12 [label = "", style = invisible] +P0_4__11 -> P0_4__12 [label = <>, weight = 100, style = invisible] +P0_3__7 -> P0_3__8 [label = <>, weight = 100] +P0_2__9 -> P0_2__10 [label = <>, weight = 100] +P0_1__9 -> P0_1__10 [label = <>, weight = 100] +P0_0__7 -> P0_0__8 [label = <>, weight = 100] +P__6 -> P__7 [label = <>, weight = 100] +{rank = same; P__7 P0_0__8 P0_1__10 P0_2__10 P0_3__8 P0_4__12 P0_5_0__17} +P0_5_0__17 -> P0_5_0__18 [label = <>, weight = 100] +P__7 -> P__8 [label = <>, weight = 100] +{rank = same; P__8 P0_5_0__18} +P0_5_0__18 -> P__8 [label = <~M_1 = sign(senc((nr_4,a_1,kr_4),ke1_1),km1_1)>, arrowhead = normal] +P0_5_0__18 -> P0_5_0__19 [label = <>, weight = 100] +P0_4__13 [label = "", style = invisible] +P0_4__12 -> P0_4__13 [label = <>, weight = 100, style = invisible] +P0_3__8 -> P0_3__9 [label = <>, weight = 100] +P0_2__10 -> P0_2__11 [label = <>, weight = 100] +P0_1__10 -> P0_1__11 [label = <>, weight = 100] +P0_0__8 -> P0_0__9 [label = <>, weight = 100] +P__8 -> P__9 [label = <>, weight = 100] +{rank = same; P__9 P0_0__9 P0_1__11 P0_2__11 P0_3__9 P0_4__13 P0_5_0__19} +P0_5_0__19 -> P0_5_0__20 [label = <>, weight = 100] +P0_4__14 [label = "", style = invisible] +P0_4__13 -> P0_4__14 [label = <>, weight = 100, style = invisible] +P0_3__9 -> P0_3__10 [label = <>, weight = 100] +P0_2__11 -> P0_2__12 [label = <>, weight = 100] +P0_1__11 -> P0_1__12 [label = <>, weight = 100] +P0_0__9 -> P0_0__10 [label = <>, weight = 100] +P__9 -> P__10 [label = <>, weight = 100] +{rank = same; P__10 P0_0__10 P0_1__12 P0_2__12 P0_3__10 P0_4__14 P0_5_0__20} +P0_5_0__20 -> P0_5_0__21 [label = <>, weight = 100] +P__10 -> P__11 [label = <>, weight = 100] +{rank = same; P__11 P0_5_0__21} +P0_5_0__21 -> P__11 [label = , style = dotted] +P0_5_0__21 -> P0_5_0__22 [label = <>, weight = 100] +P0_4__15 [label = "", style = invisible] +P0_4__14 -> P0_4__15 [label = <>, weight = 100, style = invisible] +P0_3__10 -> P0_3__11 [label = <>, weight = 100] +P0_2__12 -> P0_2__13 [label = <>, weight = 100] +P0_1__12 -> P0_1__13 [label = <>, weight = 100] +P0_0__10 -> P0_0__11 [label = <>, weight = 100] +P__11 -> P__12 [label = <>, weight = 100] +{rank = same; P__12 P0_0__11 P0_1__13 P0_2__13 P0_3__11 P0_4__15 P0_5_0__22} +/*RPar */ +P0_5_0__22 -> P0_5_0_1__22 [label = <>] +P0_5_0__22 -> P0_5_0_0__22 [label = <>] +P0_5_0__22 [label = "", fixedsize = false, width = 0, height = 0, shape = none] +{rank = same; P0_5_0_0__22 P0_5_0_1__22} +P0_5_0_1__22 -> P0_5_0_1__23 [label = <>, weight = 100] +P0_5_0_1__23 [shape = plaintext, label = <
Beginning of process passport
>] +P0_5_0_1__23 -> P0_5_0_1__24 [label = <>, weight = 100] +P0_5_0_1__24 -> P0_5_0_1__25 [label = <>, weight = 100] +P0_5_0_0__22 -> P0_5_0_0__23 [label = <>, weight = 100] +{rank = same; P0_5_0_0__23 P0_5_0_1__25} +P0_5_0_1__25 -> P0_5_0_1__26 [label = <>, weight = 100] +P0_5_0_0__23 -> P0_5_0_0__24 [label = <>, weight = 100] +{rank = same; P0_5_0_0__24 P0_5_0_1__26} +P0_5_0_1__26 -> P0_5_0_0__24 [label = <choice[(ke1_1,km1_1),(ke2_1,km2_1)]>, dir = back, arrowhead = normal] +P0_5_0_1__26 -> P0_5_0_1__27 [label = <>, weight = 100] +P0_5_0_0__24 -> P0_5_0_0__25 [label = <>, weight = 100] +{rank = same; P0_5_0_0__25 P0_5_0_1__27} +P0_5_0_0__26 [label = "", width = 0.3, height = 0.3] +P0_5_0_0__25 -> P0_5_0_0__26 [label = <>, weight = 100] +P0_5_0_1__27 -> P0_5_0_1__28 [label = <>, weight = 100] +P0_5_0_0__27 [label = "", style = invisible] +P0_5_0_0__26 -> P0_5_0_0__27 [label = <>, weight = 100, style = invisible] +P0_4__16 [label = "", style = invisible] +P0_4__15 -> P0_4__16 [label = <>, weight = 100, style = invisible] +P0_3__11 -> P0_3__12 [label = <>, weight = 100] +P0_2__13 -> P0_2__14 [label = <>, weight = 100] +P0_1__13 -> P0_1__14 [label = <>, weight = 100] +P0_0__11 -> P0_0__12 [label = <>, weight = 100] +P__12 -> P__13 [label = <>, weight = 100] +{rank = same; P__13 P0_0__12 P0_1__14 P0_2__14 P0_3__12 P0_4__16 P0_5_0_0__27 P0_5_0_1__28} +P0_5_0_1__28 -> P0_5_0_1__29 [label = <>, weight = 100] +P__13 -> P__14 [label = <>, weight = 100] +{rank = same; P__14 P0_5_0_1__29} +P0_5_0_1__29 -> P__14 [label = , dir = back, arrowhead = normal] +P0_5_0_1__29 -> P0_5_0_1__30 [label = <>, weight = 100] +P0_5_0_0__28 [label = "", style = invisible] +P0_5_0_0__27 -> P0_5_0_0__28 [label = <>, weight = 100, style = invisible] +P0_4__17 [label = "", style = invisible] +P0_4__16 -> P0_4__17 [label = <>, weight = 100, style = invisible] +P0_3__12 -> P0_3__13 [label = <>, weight = 100] +P0_2__14 -> P0_2__15 [label = <>, weight = 100] +P0_1__14 -> P0_1__15 [label = <>, weight = 100] +P0_0__12 -> P0_0__13 [label = <>, weight = 100] +P__14 -> P__15 [label = <>, weight = 100] +{rank = same; P__15 P0_0__13 P0_1__15 P0_2__15 P0_3__13 P0_4__17 P0_5_0_0__28 P0_5_0_1__30} +P0_5_0_1__30 -> P0_5_0_1__31 [label = <>, weight = 100] +P0_5_0_1__31 [shape = plaintext, label = <
{43}new nt_4
>] +P0_5_0_1__31 -> P0_5_0_1__32 [label = <>, weight = 100] +P0_5_0_1__32 -> P0_5_0_1__33 [label = <>, weight = 100] +P0_5_0_0__29 [label = "", style = invisible] +P0_5_0_0__28 -> P0_5_0_0__29 [label = <>, weight = 100, style = invisible] +P0_4__18 [label = "", style = invisible] +P0_4__17 -> P0_4__18 [label = <>, weight = 100, style = invisible] +P0_3__13 -> P0_3__14 [label = <>, weight = 100] +P0_2__15 -> P0_2__16 [label = <>, weight = 100] +P0_1__15 -> P0_1__16 [label = <>, weight = 100] +P0_0__13 -> P0_0__14 [label = <>, weight = 100] +P__15 -> P__16 [label = <>, weight = 100] +{rank = same; P__16 P0_0__14 P0_1__16 P0_2__16 P0_3__14 P0_4__18 P0_5_0_0__29 P0_5_0_1__33} +P0_5_0_1__33 -> P0_5_0_1__34 [label = <>, weight = 100] +P__16 -> P__17 [label = <>, weight = 100] +{rank = same; P__17 P0_5_0_1__34} +P0_5_0_1__34 -> P__17 [label = <~M_2 = nt_4>, arrowhead = normal] +P0_5_0_1__34 -> P0_5_0_1__35 [label = <>, weight = 100] +P0_5_0_0__30 [label = "", style = invisible] +P0_5_0_0__29 -> P0_5_0_0__30 [label = <>, weight = 100, style = invisible] +P0_4__19 [label = "", style = invisible] +P0_4__18 -> P0_4__19 [label = <>, weight = 100, style = invisible] +P0_3__14 -> P0_3__15 [label = <>, weight = 100] +P0_2__16 -> P0_2__17 [label = <>, weight = 100] +P0_1__16 -> P0_1__17 [label = <>, weight = 100] +P0_0__14 -> P0_0__15 [label = <>, weight = 100] +P__17 -> P__18 [label = <>, weight = 100] +{rank = same; P__18 P0_0__15 P0_1__17 P0_2__17 P0_3__15 P0_4__19 P0_5_0_0__30 P0_5_0_1__35} +P0_5_0_1__35 -> P0_5_0_1__36 [label = <>, weight = 100] +P0_5_0_0__31 [label = "", style = invisible] +P0_5_0_0__30 -> P0_5_0_0__31 [label = <>, weight = 100, style = invisible] +P0_4__20 [label = "", style = invisible] +P0_4__19 -> P0_4__20 [label = <>, weight = 100, style = invisible] +P0_3__15 -> P0_3__16 [label = <>, weight = 100] +P0_2__17 -> P0_2__18 [label = <>, weight = 100] +P0_1__17 -> P0_1__18 [label = <>, weight = 100] +P0_0__15 -> P0_0__16 [label = <>, weight = 100] +P__18 -> P__19 [label = <>, weight = 100] +{rank = same; P__19 P0_0__16 P0_1__18 P0_2__18 P0_3__16 P0_4__20 P0_5_0_0__31 P0_5_0_1__36} +P0_5_0_1__36 -> P0_5_0_1__37 [label = <>, weight = 100] +P__19 -> P__20 [label = <>, weight = 100] +{rank = same; P__20 P0_5_0_1__37} +P0_5_0_1__37 -> P__20 [label = <~M_1 = sign(senc((nr_4,a_1,kr_4),ke1_1),km1_1)>, dir = back, arrowhead = normal] +P0_5_0_1__37 -> P0_5_0_1__38 [label = <>, weight = 100] +P0_5_0_0__32 [label = "", style = invisible] +P0_5_0_0__31 -> P0_5_0_0__32 [label = <>, weight = 100, style = invisible] +P0_4__21 [label = "", style = invisible] +P0_4__20 -> P0_4__21 [label = <>, weight = 100, style = invisible] +P0_3__16 -> P0_3__17 [label = <>, weight = 100] +P0_2__18 -> P0_2__19 [label = <>, weight = 100] +P0_1__18 -> P0_1__19 [label = <>, weight = 100] +P0_0__16 -> P0_0__17 [label = <>, weight = 100] +P__20 -> P__21 [label = <>, weight = 100] +{rank = same; P__21 P0_0__17 P0_1__19 P0_2__19 P0_3__17 P0_4__21 P0_5_0_0__32 P0_5_0_1__38} +P0_5_0_1__38 -> P0_5_0_1__39 [label = <>, weight = 100] +P0_5_0_1__39 [color = red, shape = plaintext, label = <
{46}let x_3 = checksign(sign(senc((nr_4,a_1,kr_4),
+ke1_1),km1_1),vk(choice[km1_1,km2_1]))
+This process performs a test that may succeed on
+one side and not on the other.
>] +P0_5_0_1__39 -> P0_5_0_1__40 [label = <>, weight = 100] +} \ No newline at end of file diff --git a/passport-trace/trace1.pdf b/passport-trace/trace1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7d3f25c64f2f29c97f982fc2792e230e94ea2bac GIT binary patch literal 19835 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 literal 0 HcmV?d00001 diff --git a/report/report.pdf b/report/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bc009ca74a1fb6b1f2d8cb4fd751a5874476cea0 GIT binary patch literal 80066 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 literal 0 HcmV?d00001 diff --git a/report/report.tex b/report/report.tex new file mode 100644 index 0000000..dab617e --- /dev/null +++ b/report/report.tex @@ -0,0 +1,160 @@ +\documentclass[12pt,a4paper]{article} + +\usepackage[cm]{fullpage} +\usepackage{hyperref} +\usepackage{amsthm} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{amssymb} +\usepackage{xspace} +\usepackage[english]{babel} +\usepackage{fancyhdr} +\usepackage{titling} +\usepackage{graphicx} +\renewcommand{\thesection}{Exercise \projnumber.\arabic{section}:} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This part needs customization from you % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% please enter your group number your names and matriculation numbers here +\newcommand{\groupnumber}{5} +\newcommand{\name}{Tobias Eidelpes} +\newcommand{\matriculation}{01527193} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% End of customization % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\projnumber}{1} +\newcommand{\Title}{ProVerif} +\setlength{\headheight}{15.2pt} +\setlength{\headsep}{20pt} +\setlength{\textheight}{680pt} +\pagestyle{fancy} +\fancyhf{} +\fancyhead[L]{Formal Methods for Security and Privacy \projnumber\ - ProVerif} +\fancyhead[C]{} +\fancyhead[R]{Group \groupnumber} +\renewcommand{\headrulewidth}{0.4pt} +\fancyfoot[C]{\thepage} + + +\begin{document} +\thispagestyle{empty} +\noindent\framebox[\linewidth]{% + \begin{minipage}{\linewidth}% + \hspace*{5pt} \textbf{Formal Methods for Security and Privacy (SS2021)} \hfill Prof.~Matteo Maffei \hspace*{5pt}\\ + + \begin{center} + {\bf\Large Project \projnumber~-- \Title} + \end{center} + + \vspace*{5pt}\hspace*{5pt} \hfill TU Wien \hspace*{5pt} +\end{minipage}% +} +\vspace{0.5cm} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\section*{Group \groupnumber} +Our group consists of the following members: +\begin{center} +\textbf{\name} %please fill the information above + +\matriculation %please fill the information above +\end{center} + +\section{Warm Up} + +\paragraph{Results for protocol (a):} + Non-injective agreement is not fulfilled because the attacker can act as a + man-in-the-middle. He first sniffs the initial \texttt{hello} message and + the nonce and forwards it to the responder. The responder sends the hash of + the nonce and the secret key. The identifier contained in the response is + now modified by the attacker to be his own. Since non-injective agreement is + not satisfied, injective agreement is also not satisfied. + + By adding the id of the initiator into the hash of the response, the + attacker cannot pose as the responder, because the initiator would detect + the mismatch. +\paragraph{Results for protocol (b):} + Non-injective and injective agreement hold. + +\section{Self-Signed Certificates} + +\paragraph{Attack 1:} + The attacker can again pose as the server S and exchange nonces with the + client. Then he sends the signed encryption key to the client. The attacker + can decrypt the received secret from the client because the client is using + the encryption key sent by the attacker. Since the attacker now knows all + three parameters to calculate the symmetric key \texttt{k}, it can decrypt + the shared secret \texttt{m}. The attacker also poses as the client and + communicates with the server. Since the attacker knows \texttt{m}, it can + relay all messages exchanged by the two honest participants without either + of them knowing that they are communicating with the attacker. + +\paragraph{Attack 1:} + The second attack works similarly but does not include the honest server as + a participant at all. The attacker simply poses as the server from the + beginning and the honest client will think he is communicating with the + honest server when in fact he is not. + +\paragraph{Why does introducing a certification authority fix the problem?} + By signing the identity of the certificate holder, the attacker cannot pose + as the server anymore. Clients are able to distinguish the certificate from + the attacker from the one signed by the CA, because the attacker's + certificate is not signed by the CA. + + +\section{Commitment Schemes} + +\paragraph{Results for \texttt{commit1.pv}:} + The message \texttt{m} is kept secret (weak secrecy holds). Strong secrecy + holds as well because the attacker does not know the key \texttt{k}. + +\paragraph{Results for \texttt{commit2.pv}:} + The attacker obviously knows the message \texttt{m} after phase 2 because it + is transmitted over a public channel by Alice. Since weak secrecy does not + hold, strong secrecy cannot hold either. + +\paragraph{Results for \texttt{version1.pv}:} + Weak and strong secrecy hold through all phases. + +\paragraph{Results for \texttt{version2.pv}:} + Both $m_1$ and $m_3$ are kept secret. Strong secrecy, however, does not + hold. + +\paragraph{Why is only one version considered secure?} + The second version is not secure because there is only one key $k$ being + used for the three messages. After revealing $m_2$, the attacker gets + information about $m_1$ and $m_3$. + +\section{e-Passports} +\paragraph{Notes on Exercise 1.5:} + Unlinkability is not given by the implementation, because the attacker can + distinguish different passports by their error messages. Two passports are + created at first and they interact with the reader. The attacker can act as + the reader and capture the message. Depending on which error message is + received in subsequent communication, the attacker can infer which of the + two passports it is talking to. If it receives \texttt{error2}, the nonce + check failed and if it receives \texttt{error1}, the signature check failed. + Figure~\ref{fig:passport} provides a trace as generated by ProVerif. + + To fix the protocol to guarantee unlinkability, only one error message is + emitted (\texttt{error1}) instead of two. For this to work, the check is + made whether the signature is correct AND the nonce is correct. If one of + them is not correct, \texttt{error1} is sent. Since there is no second error + message, the attacker is not able to tell different passports apart from + each other. + + \begin{center} + \begin{figure} + \includegraphics[width=1\textwidth]{../passport-trace/trace1.pdf} + \caption{Trace of the attack on the French BAC implementation.} + \label{fig:passport} + \end{figure} + \end{center} + +\end{document} + diff --git a/self-signed-auth.pv b/self-signed-auth.pv new file mode 100644 index 0000000..0c4bb97 --- /dev/null +++ b/self-signed-auth.pv @@ -0,0 +1,58 @@ +free C,S. +free c. + +free hello,ack. + +private free m. + +fun vk/1. +fun ek/1. +fun h/1. + +fun sign/2. +reduc checksign(sign(m,k),vk(k)) = m. + +fun aenc/2. +reduc adec(aenc(m,ek(k)),k) = m. + +fun senc/2. +reduc sdec(senc(m,k),k) = m. + +query ev:endServerAuth(x,y) ==> ev:beginServerAuth(x,y). +query ev:endClientAuth(x,y,z) ==> ev:beginClientAuth(x,y,z). + +let client = + in(d,(idC,idS)); + new nC; + out(c,(hello,nC)); + in(c,(=hello,nS)); + in(c,(cert,vkS)); + let (=vkS,ekS)=checksign(cert,vkS) in + new secret; + out(c,aenc(secret,ekS)); + event beginClientAuth(nC,nS,secret); + let k=h((secret,nC,nS)) in + out(c,senc((m),k)); + in(c,x); + let (=ack)=sdec(x,k) in + event endServerAuth(nC,nS). + +let server = + in(d,(idC,idS)); + new dkS; + in(c,(hello,nC)); + new nS; + event beginServerAuth(nC,nS); + out(c,(hello,nS)); + out(c,(sign((vk(dkS),ek(dkS)),dkS),vk(dkS))); + in(c,x); + let secret=adec(x,dkS) in + let k=h((secret,nC,nS)) in + in(c,y); + let (=m)=sdec(y,k) in + event endClientAuth(nC,nS,secret); + out(c,senc((ack),k)). + +process + new d; + ! (out(d,(C,S)) | client | server) diff --git a/version1.pv b/version1.pv new file mode 100644 index 0000000..e29131f --- /dev/null +++ b/version1.pv @@ -0,0 +1,39 @@ +(* Channel *) +free d. + +fun commit/6. +fun open/3. + +equation open(commit(m1,m2,m3,k1,k2,k3),m1,k1) = m1. +equation open(commit(m1,m2,m3,k1,k2,k3),m2,k2) = m2. +equation open(commit(m1,m2,m3,k1,k2,k3),m3,k3) = m3. + +private free m1,m2,m3. + +query attacker:m1 phase 1. +query attacker:m3 phase 1. + +query attacker:m1 phase 2. +query attacker:m3 phase 2. + +noninterf m1. +noninterf m3. + +let alice = + new k1; + new k2; + new k3; + phase 1; + out(d,commit(m1,m2,m3,k1,k2,k3)); + phase 2; + out(d,(m2,k2)). + +let server = + phase 1; + in(d,x); + phase 2; + in(d,(m2,k2)); + let (=m2)=(open(x,m2,k2)) in 0. + +process + alice | server diff --git a/version2.pv b/version2.pv new file mode 100644 index 0000000..1151fe7 --- /dev/null +++ b/version2.pv @@ -0,0 +1,37 @@ +(* Channel *) +free d. + +fun commit/4. +fun open/3. + +equation open(commit(m1,m2,m3,k),m1,k) = m1. +equation open(commit(m1,m2,m3,k),m2,k) = m2. +equation open(commit(m1,m2,m3,k),m3,k) = m3. + +private free m1,m2,m3. + +query attacker:m1 phase 1. +query attacker:m3 phase 1. + +query attacker:m1 phase 2. +query attacker:m3 phase 2. + +noninterf m1. +noninterf m3. + +let alice = + new k; + phase 1; + out(d,commit(m1,m2,m3,k)); + phase 2; + out(d,(m2,k)). + +let server = + phase 1; + in(d,x); + phase 2; + in(d,(m2,k)); + let (=m2)=(open(x,m2,k)) in 0. + +process + alice | server diff --git a/warmup_a.pv b/warmup_a.pv new file mode 100644 index 0000000..57399c5 --- /dev/null +++ b/warmup_a.pv @@ -0,0 +1,37 @@ +(* Honest participants *) +free C,S. + +(* Channel *) +free c. + +fun h/1. + +free hello, success. + +(* Secret key shared by C and S *) +private free kCS. + +(* Non-injective agreement *) +query ev:end(id1,id2,n) ==> ev:begin(id1,id2,n). + +(* Injective agreement *) +query evinj:end(id1,id2,n) ==> evinj:begin(id1,id2,n). + +let initiator = + in(d,(idI,idR)); + new nonce; + out(c,(hello,nonce)); + in(c,(=idR,=h((nonce,kCS)))); + event end(idR,idI,nonce); + out(c,success). + +let responder = + in(d,(idI,idR)); + in(c,(=hello,nonce)); + event begin(idR,idI,nonce); + out(c,(idR,h((nonce,kCS)))); + in(c,=success). + +process + new d; + ! initiator | ! responder | ! out(d,(S,C)) | ! out(d,(C,S)) diff --git a/warmup_aMOD.pv b/warmup_aMOD.pv new file mode 100644 index 0000000..25a3d71 --- /dev/null +++ b/warmup_aMOD.pv @@ -0,0 +1,37 @@ +(* Honest participants *) +free C,S. + +(* Channel *) +free c. + +fun h/1. + +free hello, success. + +(* Secret key shared by C and S *) +private free kCS. + +(* Non-injective agreement *) +query ev:end(id1,id2,n) ==> ev:begin(id1,id2,n). + +(* Injective agreement *) +query evinj:end(id1,id2,n) ==> evinj:begin(id1,id2,n). + +let initiator = + in(d,(idI,idR)); + new nonce; + out(c,(hello,nonce)); + in(c,(=idR,=h((nonce,kCS,idI)))); + event end(idR,idI,nonce); + out(c,success). + +let responder = + in(d,(idI,idR)); + in(c,(=hello,nonce)); + event begin(idR,idI,nonce); + out(c,(idR,h((nonce,kCS,idI)))); + in(c,=success). + +process + new d; + ! initiator | ! responder | ! out(d,(S,C)) | ! out(d,(C,S)) diff --git a/warmup_b.pv b/warmup_b.pv new file mode 100644 index 0000000..e6b27f5 --- /dev/null +++ b/warmup_b.pv @@ -0,0 +1,67 @@ +(* Honest Hosts (kS = trusted server) *) +free A,B,kS. + +(* Channel for A - B communication *) +free c. +(* Channel for id sharing *) +free d. +(* Channels for cert sharing *) +free e,f. + +(* Private keys of initiator and responder *) +private free kI, kR. + +(* Function for verification key (public), takes private key as param *) +fun vk/1. + +fun sign/2. + +reduc getmess(sign(m,k)) = m. +reduc checksign(sign(m,k),vk(k)) = m. + +free text1,text2,text3. + +query ev:end(id1,id2,nb) ==> ev:begin(id1,id2,nb). +query evinj:end(id1,id2,nb) ==> evinj:begin(id1,id2,nb). + +query ev:end(id2,id1,na) ==> ev:begin(id2,id1,na). +query evinj:end(id2,id1,na) ==> evinj:begin(id2,id1,na). + +let initiator = + in(d,(idI,idR)); + new nb; + out(c,(nb,text1)); + in(c,(certR,x)); (* Receive signed cert from server *) + let (vkR,=idR)=checksign(certR,vk(kS)) in (* Check server sig *) + let (na,=nb,=idI,text2)=checksign(x,vk(kR)) in (* Check responder sig *) + event end(idR,idI,nb); + event begin(idI,idR,na); + in(f,(certI)); + out(c,(certI,sign((nb,na,idR,text3),kI))); + 0. + + +let responder = + in(d,(idI,idR)); + in(c,(nb,text1)); + event begin(idR,idI,nb); + in(e,(certR)); (* Receive signed cert from server *) + new na; + out(c,(certR,sign((na,nb,idI,text2),kR))); + in(c,(certI,x)); + let (vkI,=idI)=checksign(certI,vk(kS)) in (* Check server sig *) + let (=nb,=na,=idR,text3)=checksign(x,vk(kI)) in (* Check initiator sig *) + event end(idI,idR,na); + 0. + +let server = + in(d,(idI,idR)); + new kS; + out(e,sign((vk(kR),idR),kS)); + out(f,sign((vk(kI),idI),kS)); + 0. + +process + new d; + ! out(c,vk(kI)) | ! out(c,vk(kR)) | ! out(c,vk(kS)) | (* Output verification keys *) + ! initiator | ! responder | ! out(d,(A,B)) | ! out(d,(B,A))