The Journey towards a Reference Implementation of IPSec Automatic - - PowerPoint PPT Presentation

the journey towards a reference implementation of ipsec
SMART_READER_LITE
LIVE PREVIEW

The Journey towards a Reference Implementation of IPSec Automatic - - PowerPoint PPT Presentation

1/25 The Journey towards a Reference Implementation of IPSec Automatic Security Analysis with Tamarin-Prover Eike Stadtlnder July 12, 2018 2/25 Outline Motivation Tamarin-Prover Overview Multiset Rewriting Tamarin-Prover in Practice


slide-1
SLIDE 1

1/25

The Journey towards a Reference Implementation of IPSec

Automatic Security Analysis with Tamarin-Prover Eike Stadtländer July 12, 2018

slide-2
SLIDE 2

2/25

Outline

Motivation Tamarin-Prover Overview Multiset Rewriting Tamarin-Prover in Practice Reference Implementation of IPSec Building Blocks Finite State Machine Status Quo Lab-Goals Refmection

slide-3
SLIDE 3

3/25

Motivation

slide-4
SLIDE 4

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-5
SLIDE 5

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-6
SLIDE 6

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-7
SLIDE 7

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-8
SLIDE 8

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-9
SLIDE 9

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-10
SLIDE 10

4/25

Motivation

Modern proofs are error-prone, they become more complex and they are created faster than they can be verifjed.

  • Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”.

In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011)

  • Norbert Blum. A Solution of the P versus NP Problem.
  • Aug. 11, 2017. arXiv:

1708.03486v2 [cs.CC]

  • Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. . June 28, 2018

(recently updated: 602 pages) Security of network protocols is critical:

  • corporate espionage (Germany: 55bn. €/a, bitkom 2017)

The security proofs are not always trustworthy (Halevi 2005; Bellare and Rogaway 2004). Automatic security analysis aims to improve trustworthiness of security proofs.

slide-11
SLIDE 11

5/25

Tamarin-Prover

slide-12
SLIDE 12

6/25

Tamarin-Prover

Overview

  • Developed by Simon Meier and Benedikt Schmidt as part of their PhD theses.

(Meier 2013; Schmidt 2012). We will follow Meier 2013, Chapters 7,8.

  • Security protocol verifjcation tool
  • based on labeled multiset rewriting
  • Symbolic model
  • messages are not bitstrings but terms
  • relations between terms are given by equational theories
  • Dolev-Yao attacker
  • cryptographic primitives are handled as black-boxes
  • active attacker has complete control over the network
  • access to a corrupt oracle
slide-13
SLIDE 13

6/25

Tamarin-Prover

Overview

  • Developed by Simon Meier and Benedikt Schmidt as part of their PhD theses.

(Meier 2013; Schmidt 2012). We will follow Meier 2013, Chapters 7,8.

  • Security protocol verifjcation tool
  • based on labeled multiset rewriting
  • Symbolic model
  • messages are not bitstrings but terms
  • relations between terms are given by equational theories
  • Dolev-Yao attacker
  • cryptographic primitives are handled as black-boxes
  • active attacker has complete control over the network
  • access to a corrupt oracle
slide-14
SLIDE 14

6/25

Tamarin-Prover

Overview

  • Developed by Simon Meier and Benedikt Schmidt as part of their PhD theses.

(Meier 2013; Schmidt 2012). We will follow Meier 2013, Chapters 7,8.

  • Security protocol verifjcation tool
  • based on labeled multiset rewriting
  • Symbolic model
  • messages are not bitstrings but terms
  • relations between terms are given by equational theories
  • Dolev-Yao attacker
  • cryptographic primitives are handled as black-boxes
  • active attacker has complete control over the network
  • access to a corrupt oracle
slide-15
SLIDE 15

6/25

Tamarin-Prover

Overview

  • Developed by Simon Meier and Benedikt Schmidt as part of their PhD theses.

(Meier 2013; Schmidt 2012). We will follow Meier 2013, Chapters 7,8.

  • Security protocol verifjcation tool
  • based on labeled multiset rewriting
  • Symbolic model
  • messages are not bitstrings but terms
  • relations between terms are given by equational theories
  • Dolev-Yao attacker
  • cryptographic primitives are handled as black-boxes
  • active attacker has complete control over the network
  • access to a corrupt oracle
slide-16
SLIDE 16

6/25

Tamarin-Prover

Overview

  • Developed by Simon Meier and Benedikt Schmidt as part of their PhD theses.

(Meier 2013; Schmidt 2012). We will follow Meier 2013, Chapters 7,8.

  • Security protocol verifjcation tool
  • based on labeled multiset rewriting
  • Symbolic model
  • messages are not bitstrings but terms
  • relations between terms are given by equational theories
  • Dolev-Yao attacker
  • cryptographic primitives are handled as black-boxes
  • active attacker has complete control over the network
  • access to a corrupt oracle
slide-17
SLIDE 17

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple S where S is partially-ordered set of sorts and is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S msg fresh pub , fresh msg pub msg ,

PHS

fst snd h senc sdec

slide-18
SLIDE 18

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where S is partially-ordered set of sorts and is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S msg fresh pub , fresh msg pub msg ,

PHS

fst snd h senc sdec

slide-19
SLIDE 19

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S msg fresh pub , fresh msg pub msg ,

PHS

fst snd h senc sdec

slide-20
SLIDE 20

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S = {msg, fresh pub }, fresh msg pub msg ,

PHS

fst snd h senc sdec

slide-21
SLIDE 21

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S = {msg, fresh, pub}, fresh msg pub msg ,

PHS

fst snd h senc sdec

slide-22
SLIDE 22

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S = {msg, fresh, pub}, fresh ≤ msg, pub ≤ msg,

PHS

fst snd h senc sdec

slide-23
SLIDE 23

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and Σ is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S = {msg, fresh, pub}, fresh ≤ msg, pub ≤ msg,

PHS

fst snd h senc sdec

slide-24
SLIDE 24

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and Σ is a set of function symbols associated with the sorts such that

  • 1. For every s

S the connected component C of s contains a top sort top s satisfying c C c top s .

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S = {msg, fresh, pub}, fresh ≤ msg, pub ≤ msg, ΣPHS = {⟨·, ·⟩, fst(·), snd(·), h(·), senc(·, ·), sdec(·, ·)}

slide-25
SLIDE 25

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and Σ is a set of function symbols associated with the sorts such that

  • 1. For every s ∈ S the connected component C of s contains a top sort top(s)

satisfying ∀c ∈ C : c ≤ top(s).

  • 2. For every k-ary function symbol f

s sk s , we also have f top s top sk top s .

Example (Cryptographic messages)

S = {msg, fresh, pub}, fresh ≤ msg, pub ≤ msg, ΣPHS = {⟨·, ·⟩, fst(·), snd(·), h(·), senc(·, ·), sdec(·, ·)}

slide-26
SLIDE 26

7/25

Term Algebras and Cryptographic Messages I

Defjnition

A order-sorted signature is a triple (S, ≤, Σ) where (S, ≤) is partially-ordered set of sorts and Σ is a set of function symbols associated with the sorts such that

  • 1. For every s ∈ S the connected component C of s contains a top sort top(s)

satisfying ∀c ∈ C : c ≤ top(s).

  • 2. For every k-ary function symbol f : s1 × · · · × sk → s ∈ Σ, we also have

f : top(s1) × · · · × top(sk) → top(s) ∈ Σ.

Example (Cryptographic messages)

S = {msg, fresh, pub}, fresh ≤ msg, pub ≤ msg, ΣPHS = {⟨·, ·⟩, fst(·), snd(·), h(·), senc(·, ·), sdec(·, ·)}

slide-27
SLIDE 27

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature S . For every sort s S we assume there are countably infjnite sets of variables

s and constants s where s s

and

s t s t if s t

S s t. Then given A

s S s s S s,

A denotes the set of all well-sorted terms constructed over A.

Example (Cryptographic messages)

Given

PHS

msg fresh pub

PHS we have, for instance, the following

well-sorted terms m

msg

fst m n senc m k sdec k senc k m

slide-28
SLIDE 28

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s S we assume there are countably infjnite sets of variables

s and constants s where s s

and

s t s t if s t

S s t. Then given A

s S s s S s,

A denotes the set of all well-sorted terms constructed over A.

Example (Cryptographic messages)

Given

PHS

msg fresh pub

PHS we have, for instance, the following

well-sorted terms m

msg

fst m n senc m k sdec k senc k m

slide-29
SLIDE 29

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where

s s

and

s t s t if s t

S s t. Then given A

s S s s S s,

A denotes the set of all well-sorted terms constructed over A.

Example (Cryptographic messages)

Given

PHS

msg fresh pub

PHS we have, for instance, the following

well-sorted terms m

msg

fst m n senc m k sdec k senc k m

slide-30
SLIDE 30

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where Cs ∩ Vs = ∅ and Vs ∩ Vt = ∅ = Cs ∩ Ct if s, t ∈ S, s ̸= t. Then given A

s S s s S s,

A denotes the set of all well-sorted terms constructed over A.

Example (Cryptographic messages)

Given

PHS

msg fresh pub

PHS we have, for instance, the following

well-sorted terms m

msg

fst m n senc m k sdec k senc k m

slide-31
SLIDE 31

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where Cs ∩ Vs = ∅ and Vs ∩ Vt = ∅ = Cs ∩ Ct if s, t ∈ S, s ̸= t. Then given A ⊆ ∪

s∈S Cs ∪ ∪ s∈S Vs, TΣ(A) denotes the set of all well-sorted terms

constructed over Σ ∪ A.

Example (Cryptographic messages)

Given

PHS

msg fresh pub

PHS we have, for instance, the following

well-sorted terms m

msg

fst m n senc m k sdec k senc k m

slide-32
SLIDE 32

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where Cs ∩ Vs = ∅ and Vs ∩ Vt = ∅ = Cs ∩ Ct if s, t ∈ S, s ̸= t. Then given A ⊆ ∪

s∈S Cs ∪ ∪ s∈S Vs, TΣ(A) denotes the set of all well-sorted terms

constructed over Σ ∪ A.

Example (Cryptographic messages)

Given ΣPHS = ({msg, fresh, pub}, ≤, ΣPHS) we have, for instance, the following well-sorted terms m

msg

fst m n senc m k sdec k senc k m

slide-33
SLIDE 33

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where Cs ∩ Vs = ∅ and Vs ∩ Vt = ∅ = Cs ∩ Ct if s, t ∈ S, s ̸= t. Then given A ⊆ ∪

s∈S Cs ∪ ∪ s∈S Vs, TΣ(A) denotes the set of all well-sorted terms

constructed over Σ ∪ A.

Example (Cryptographic messages)

Given ΣPHS = ({msg, fresh, pub}, ≤, ΣPHS) we have, for instance, the following well-sorted terms m ∈ Vmsg, fst m n senc m k sdec k senc k m

slide-34
SLIDE 34

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where Cs ∩ Vs = ∅ and Vs ∩ Vt = ∅ = Cs ∩ Ct if s, t ∈ S, s ̸= t. Then given A ⊆ ∪

s∈S Cs ∪ ∪ s∈S Vs, TΣ(A) denotes the set of all well-sorted terms

constructed over Σ ∪ A.

Example (Cryptographic messages)

Given ΣPHS = ({msg, fresh, pub}, ≤, ΣPHS) we have, for instance, the following well-sorted terms m ∈ Vmsg, fst(⟨m, n⟩), senc m k sdec k senc k m

slide-35
SLIDE 35

8/25

Term Algebras and Cryptographic Messages II

Defjnition

Given a order-sorted signature Σ = (S, ≤, Σ). For every sort s ∈ S we assume there are countably infjnite sets of variables Vs and constants Cs where Cs ∩ Vs = ∅ and Vs ∩ Vt = ∅ = Cs ∩ Ct if s, t ∈ S, s ̸= t. Then given A ⊆ ∪

s∈S Cs ∪ ∪ s∈S Vs, TΣ(A) denotes the set of all well-sorted terms

constructed over Σ ∪ A.

Example (Cryptographic messages)

Given ΣPHS = ({msg, fresh, pub}, ≤, ΣPHS) we have, for instance, the following well-sorted terms m ∈ Vmsg, fst(⟨m, n⟩), senc(m, k), sdec(k2, senc(k1, m))

slide-36
SLIDE 36

9/25

Equational Theories and Cryptographic Primitives

Defjnition

Let be a order-sorted signature. A pair s t

  • f terms s t

is called an equation, we write s t. The equational theory defjned by E is the smallest congruence relation

E containing

all instances of equations in E.

Example (Cryptographic primitives)

Given

PHS as before. We defjne

EPHS fst x y x snd x y y sdec k senc k m m

slide-37
SLIDE 37

9/25

Equational Theories and Cryptographic Primitives

Defjnition

Let Σ be a order-sorted signature. A pair {s, t} of terms s, t ∈ TΣ(V) is called an equation, we write s = t. The equational theory defjned by E is the smallest congruence relation

E containing

all instances of equations in E.

Example (Cryptographic primitives)

Given

PHS as before. We defjne

EPHS fst x y x snd x y y sdec k senc k m m

slide-38
SLIDE 38

9/25

Equational Theories and Cryptographic Primitives

Defjnition

Let Σ be a order-sorted signature. A pair {s, t} of terms s, t ∈ TΣ(V) is called an equation, we write s = t. The equational theory defjned by E is the smallest congruence relation

E containing

all instances of equations in E.

Example (Cryptographic primitives)

Given

PHS as before. We defjne

EPHS fst x y x snd x y y sdec k senc k m m

slide-39
SLIDE 39

9/25

Equational Theories and Cryptographic Primitives

Defjnition

Let Σ be a order-sorted signature. A pair {s, t} of terms s, t ∈ TΣ(V) is called an equation, we write s = t. The equational theory defjned by E is the smallest congruence relation

E containing

all instances of equations in E.

Example (Cryptographic primitives)

Given ΣPHS as before. We defjne EPHS = {fst(⟨x, y⟩) = x, snd(⟨x, y⟩) = y, sdec(k, senc(k, m)) = m}

slide-40
SLIDE 40

9/25

Equational Theories and Cryptographic Primitives

Defjnition

Let Σ be a order-sorted signature. A pair {s, t} of terms s, t ∈ TΣ(V) is called an equation, we write s = t. The equational theory defjned by E is the smallest congruence relation =E containing all instances of equations in E.

Example (Cryptographic primitives)

Given ΣPHS as before. We defjne EPHS = {fst(⟨x, y⟩) = x, snd(⟨x, y⟩) = y, sdec(k, senc(k, m)) = m}

slide-41
SLIDE 41

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let

Fact be an unsorted signature partitioned into linear and persistent fact symbols.

Furthermore, assume there is a designated fact symbol Fr

Fact modelling freshness.

Given a order-sorted term algebra , we defjne the set of all facts by F t tk t tk F

Fact arity F

k A (labeled) multiset rewriting rule is a triple p a c of fjnite sequences p a c , written p a c.

Example

In our example from before:

slide-42
SLIDE 42

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let ΣFact be an unsorted signature partitioned into linear and persistent fact symbols. Furthermore, assume there is a designated fact symbol Fr

Fact modelling freshness.

Given a order-sorted term algebra , we defjne the set of all facts by F t tk t tk F

Fact arity F

k A (labeled) multiset rewriting rule is a triple p a c of fjnite sequences p a c , written p a c.

Example

In our example from before:

slide-43
SLIDE 43

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let ΣFact be an unsorted signature partitioned into linear and persistent fact symbols. Furthermore, assume there is a designated fact symbol Fr

Fact modelling freshness.

Given a order-sorted term algebra T , we defjne the set of all facts by F = {F(t1, . . . , tk) | t1, . . . , tk ∈ T , F ∈ ΣFact, arity(F) = k} A (labeled) multiset rewriting rule is a triple p a c of fjnite sequences p a c , written p a c.

Example

In our example from before:

slide-44
SLIDE 44

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let ΣFact be an unsorted signature partitioned into linear and persistent fact symbols. Furthermore, assume there is a designated fact symbol Fr

Fact modelling freshness.

Given a order-sorted term algebra T , we defjne the set of all facts by F = {F(t1, . . . , tk) | t1, . . . , tk ∈ T , F ∈ ΣFact, arity(F) = k} A (labeled) multiset rewriting rule is a triple p a c of fjnite sequences p a c , written p a c.

Example

In our example from before: Secret(m, k)

slide-45
SLIDE 45

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let ΣFact be an unsorted signature partitioned into linear and persistent fact symbols. Furthermore, assume there is a designated fact symbol Fr

Fact modelling freshness.

Given a order-sorted term algebra T , we defjne the set of all facts by F = {F(t1, . . . , tk) | t1, . . . , tk ∈ T , F ∈ ΣFact, arity(F) = k} A (labeled) multiset rewriting rule is a triple (p, a, c) of fjnite sequences p, a, c ∈ F∗, written p a c.

Example

In our example from before: Secret(m, k)

slide-46
SLIDE 46

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let ΣFact be an unsorted signature partitioned into linear and persistent fact symbols. Furthermore, assume there is a designated fact symbol Fr

Fact modelling freshness.

Given a order-sorted term algebra T , we defjne the set of all facts by F = {F(t1, . . . , tk) | t1, . . . , tk ∈ T , F ∈ ΣFact, arity(F) = k} A (labeled) multiset rewriting rule is a triple (p, a, c) of fjnite sequences p, a, c ∈ F∗, written p a c.

Example

In our example from before: [Secret(m, k)] Encrypted(m) [Out(senc(k, m))]

slide-47
SLIDE 47

10/25

Labeled Multiset Rewriting and Protocol Specifjcation I

Defjnition

Let ΣFact be an unsorted signature partitioned into linear and persistent fact symbols. Furthermore, assume there is a designated fact symbol Fr ∈ ΣFact modelling freshness. Given a order-sorted term algebra T , we defjne the set of all facts by F = {F(t1, . . . , tk) | t1, . . . , tk ∈ T , F ∈ ΣFact, arity(F) = k} A (labeled) multiset rewriting rule is a triple (p, a, c) of fjnite sequences p, a, c ∈ F∗, written p a c.

Example

In our example from before: [Secret(m, k)] Encrypted(m) [Out(senc(k, m))]

slide-48
SLIDE 48

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (

fresh).

  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MD Out x K x K x K x In x Fr x fresh K x fresh K x pub K x K xk K f x xk f arity f k

slide-49
SLIDE 49

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (

fresh).

  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MD Out x K x K x K x In x Fr x fresh K x fresh K x pub K x K xk K f x xk f arity f k

slide-50
SLIDE 50

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MD Out x K x K x K x In x Fr x fresh K x fresh K x pub K x K xk K f x xk f arity f k

slide-51
SLIDE 51

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MD Out x K x K x K x In x Fr x fresh K x fresh K x pub K x K xk K f x xk f arity f k

slide-52
SLIDE 52

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MD Out x K x K x K x In x Fr x fresh K x fresh K x pub K x K xk K f x xk f arity f k

slide-53
SLIDE 53

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MDΣ := { Out x K x K x K x In x Fr x fresh K x fresh K x pub } K x K xk K f x xk f arity f k

slide-54
SLIDE 54

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MDΣ := { Out(x) K(x), K x K x In x Fr x fresh K x fresh K x pub } K x K xk K f x xk f arity f k

slide-55
SLIDE 55

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MDΣ := { Out(x) K(x), K(x) K(x) In(x), Fr x fresh K x fresh K x pub } K x K xk K f x xk f arity f k

slide-56
SLIDE 56

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MDΣ := { Out(x) K(x), K(x) K(x) In(x), Fr(x : fresh) K(x : fresh) K x pub } K x K xk K f x xk f arity f k

slide-57
SLIDE 57

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MDΣ := { Out(x) K(x), K(x) K(x) In(x), Fr(x : fresh) K(x : fresh) K(x : pub) } K x K xk K f x xk f arity f k

slide-58
SLIDE 58

11/25

Labeled Multiset Rewriting and Protocol Specifjcation II

Defjnition

Let E defjne an equational theory =E. Let R be a fjnite set of multiset rewriting rules. Then we call R a (labeled) multiset rewriting system if it satisfjes the following properties

  • 1. No rule in R contains a fresh name (Vfresh).
  • 2. No conclusion of a rule in R contains a Fr fact.
  • 3. No conclusion of a rule instance in R contains a fresh name which does not occur

in one of its premises (modulo E).

Example

Message deduction rules (means of the attacker): MDΣ := { Out(x) K(x), K(x) K(x) In(x), Fr(x : fresh) K(x : fresh) K(x : pub) } ∪ {K(x1), . . . , K(xk) K(f(x1, . . . , xk)) | f ∈ Σ, arity(f) = k}

slide-59
SLIDE 59

12/25

Traces and Security Properties

Given a multiset rewriting system R and a equational theory by E. This yields a transition relation = ⇒R,E modelling the application of rewriting rules to multisets of facts. tracesE R A A An S Sn

A

=

R E S A

=

R E An

=

R E Sn

uniqueness condition for freshness Security properties can then be formulated as fjrst-order formulas on traces, e.g. secrecy properties: I x K x Id I x Corrupt I x

slide-60
SLIDE 60

12/25

Traces and Security Properties

Given a multiset rewriting system R and a equational theory by E. This yields a transition relation = ⇒R,E modelling the application of rewriting rules to multisets of facts. tracesE(R) = {[A1, A2, . . . , An] | ∃S1, . . . , Sn : ∅

A1

= ⇒R,E S1

A2

= ⇒R,E . . . An = ⇒R,E Sn} uniqueness condition for freshness Security properties can then be formulated as fjrst-order formulas on traces, e.g. secrecy properties: I x K x Id I x Corrupt I x

slide-61
SLIDE 61

12/25

Traces and Security Properties

Given a multiset rewriting system R and a equational theory by E. This yields a transition relation = ⇒R,E modelling the application of rewriting rules to multisets of facts. tracesE(R) = {[A1, A2, . . . , An] | ∃S1, . . . , Sn : ∅

A1

= ⇒R,E S1

A2

= ⇒R,E . . . An = ⇒R,E Sn ∧ uniqueness condition for freshness} Security properties can then be formulated as fjrst-order formulas on traces, e.g. secrecy properties: I x K x Id I x Corrupt I x

slide-62
SLIDE 62

12/25

Traces and Security Properties

Given a multiset rewriting system R and a equational theory by E. This yields a transition relation = ⇒R,E modelling the application of rewriting rules to multisets of facts. tracesE(R) = {[A1, A2, . . . , An] | ∃S1, . . . , Sn : ∅

A1

= ⇒R,E S1

A2

= ⇒R,E . . . An = ⇒R,E Sn ∧ uniqueness condition for freshness} Security properties can then be formulated as fjrst-order formulas on traces , e.g. secrecy properties: I x K x Id I x Corrupt I x

slide-63
SLIDE 63

12/25

Traces and Security Properties

Given a multiset rewriting system R and a equational theory by E. This yields a transition relation = ⇒R,E modelling the application of rewriting rules to multisets of facts. tracesE(R) = {[A1, A2, . . . , An] | ∃S1, . . . , Sn : ∅

A1

= ⇒R,E S1

A2

= ⇒R,E . . . An = ⇒R,E Sn ∧ uniqueness condition for freshness} Security properties can then be formulated as fjrst-order formulas on traces, e.g. secrecy properties: ∀I, x : K(x) ∧ Id(I, x) ⇒ Corrupt(I, x)

slide-64
SLIDE 64

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas

can be R E-valid or R E-satisfjable (or neither).

  • Every R E-validity claim can be converted into a R E-satisfjability claim.
  • is R E-valid ifg.

is not R E-satisfjable.

  • Security protocol verifjcation boils down to searching R E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-65
SLIDE 65

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R E-validity claim can be converted into a R E-satisfjability claim.
  • is R E-valid ifg.

is not R E-satisfjable.

  • Security protocol verifjcation boils down to searching R E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-66
SLIDE 66

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R, E-validity claim can be converted into a R, E-satisfjability claim.
  • is R E-valid ifg.

is not R E-satisfjable.

  • Security protocol verifjcation boils down to searching R E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-67
SLIDE 67

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R, E-validity claim can be converted into a R, E-satisfjability claim.
  • ϕ is R, E-valid ifg. ¬ϕ is not R, E-satisfjable.
  • Security protocol verifjcation boils down to searching R E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-68
SLIDE 68

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R, E-validity claim can be converted into a R, E-satisfjability claim.
  • ϕ is R, E-valid ifg. ¬ϕ is not R, E-satisfjable.
  • Security protocol verifjcation boils down to searching R, E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-69
SLIDE 69

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R, E-validity claim can be converted into a R, E-satisfjability claim.
  • ϕ is R, E-valid ifg. ¬ϕ is not R, E-satisfjable.
  • Security protocol verifjcation boils down to searching R, E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-70
SLIDE 70

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R, E-validity claim can be converted into a R, E-satisfjability claim.
  • ϕ is R, E-valid ifg. ¬ϕ is not R, E-satisfjable.
  • Security protocol verifjcation boils down to searching R, E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-71
SLIDE 71

13/25

Theoretical Outlook

Let R be a multiset rewriting system (with conditions) and =E an equational theory.

  • Trace formulas ϕ can be R, E-valid or R, E-satisfjable (or neither).
  • Every R, E-validity claim can be converted into a R, E-satisfjability claim.
  • ϕ is R, E-valid ifg. ¬ϕ is not R, E-satisfjable.
  • Security protocol verifjcation boils down to searching R, E-satisfying traces.
  • Constraint systems are used to incrementally construct a satisfying trace by

solving constraints.

  • The constraint reduction rules are a heuristic giving rise to a verifjcation
  • algorithm. When the algorithm terminates it arrived either
  • at a trivially unsolvable constraint and the claim is falsifjed or
  • at a constraint system for which a trivial solution can be easily found and the claim

is verifjed.

  • The underlying satisfjability problem is undecidable, the solver does not always

terminate.

slide-72
SLIDE 72

14/25

Overview of the Theoretical Part

Notion Model Terms Cryptographic messages Equational Theories Semantics of cryptographic primitives Rules State transitions of protocol instances, Oracles Action facts Protocol transcript Rewriting Systems Protocol Specifjcation, Means of the Attacker Traces Parallel executions of the protocol Trace Formulas Security properties (e.g. executability, secrecy, authenticity)

slide-73
SLIDE 73

14/25

Overview of the Theoretical Part

Notion Model Terms Cryptographic messages Equational Theories Semantics of cryptographic primitives Rules State transitions of protocol instances, Oracles Action facts Protocol transcript Rewriting Systems Protocol Specifjcation, Means of the Attacker Traces Parallel executions of the protocol Trace Formulas Security properties (e.g. executability, secrecy, authenticity)

slide-74
SLIDE 74

14/25

Overview of the Theoretical Part

Notion Model Terms Cryptographic messages Equational Theories Semantics of cryptographic primitives Rules State transitions of protocol instances, Oracles Action facts Protocol transcript Rewriting Systems Protocol Specifjcation, Means of the Attacker Traces Parallel executions of the protocol Trace Formulas Security properties (e.g. executability, secrecy, authenticity)

slide-75
SLIDE 75

14/25

Overview of the Theoretical Part

Notion Model Terms Cryptographic messages Equational Theories Semantics of cryptographic primitives Rules State transitions of protocol instances, Oracles Action facts Protocol transcript Rewriting Systems Protocol Specifjcation, Means of the Attacker Traces Parallel executions of the protocol Trace Formulas Security properties (e.g. executability, secrecy, authenticity)

slide-76
SLIDE 76

14/25

Overview of the Theoretical Part

Notion Model Terms Cryptographic messages Equational Theories Semantics of cryptographic primitives Rules State transitions of protocol instances, Oracles Action facts Protocol transcript Rewriting Systems Protocol Specifjcation, Means of the Attacker Traces Parallel executions of the protocol Trace Formulas Security properties (e.g. executability, secrecy, authenticity)

slide-77
SLIDE 77

14/25

Overview of the Theoretical Part

Notion Model Terms Cryptographic messages Equational Theories Semantics of cryptographic primitives Rules State transitions of protocol instances, Oracles Action facts Protocol transcript Rewriting Systems Protocol Specifjcation, Means of the Attacker Traces Parallel executions of the protocol Trace Formulas Security properties (e.g. executability, secrecy, authenticity)

slide-78
SLIDE 78

15/25

Tamarin-Prover in Practice

slide-79
SLIDE 79

16/25

(Short) Demo ⌣

slide-80
SLIDE 80

17/25

Reference Implementation of IPSec

slide-81
SLIDE 81

18/25

Building Blocks for IPSec

  • Random choices
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation

(built-in)

  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now )

slide-82
SLIDE 82

18/25

Building Blocks for IPSec

  • Random choices
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation

(built-in)

  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now )

slide-83
SLIDE 83

18/25

Building Blocks for IPSec

  • Random choices
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation

(built-in)

  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now ) rule gen_nonce: [ Fr(~n) ] --> [ State(~n) ]

slide-84
SLIDE 84

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation

(built-in)

  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now ) rule gen_nonce: [ Fr(~n) ] --> [ State(~n) ]

slide-85
SLIDE 85

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation

(built-in)

  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now )

slide-86
SLIDE 86

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation

(built-in)

  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now ) rule dh_calc: let gab = ga ^ ~b in [ Fr(~b), In(<A, ga>) ] --> [ Out(<B, gab>) ]

slide-87
SLIDE 87

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now ) rule dh_calc: let gab = ga ^ ~b in [ Fr(~b), In(<A, ga>) ] --> [ Out(<B, gab>) ]

slide-88
SLIDE 88

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions

(function symbols, no collisions)

  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now )

slide-89
SLIDE 89

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now ) functions: prf/1 rule use_prf: let SKEYSEED = prf(<Ni, Nr, DH>) in [ State(Ni, Nr, DH) ] --> [ State(Ni, Nr, DH, SKEYSEED) ]

slide-90
SLIDE 90

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now )

slide-91
SLIDE 91

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes

(use EtA for now)

  • Certifjcates

(use identifjer and signature(s) for now )

slide-92
SLIDE 92

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives

( )

  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes (use EtA for now)
  • Certifjcates

(use identifjer and signature(s) for now ) rule use_aeenc: let ct = senc(~secret, key_e) tag = mac(ct, key_a) hdr = < '120', ... > in [ Fr(~secret), State(key_e, key_a) ] --> [ Out(<hdr, ct, tag>)]

slide-93
SLIDE 93

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives (✓)
  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes (use EtA for now)
  • Certifjcates

(use identifjer and signature(s) for now )

slide-94
SLIDE 94

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives (✓)
  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes (use EtA for now)
  • Certifjcates

(use identifjer and signature(s) for now )

slide-95
SLIDE 95

18/25

Building Blocks for IPSec

  • Random choices ✓
  • Cryptographic primitives (✓)
  • Diffje-Hellman exponentiation (built-in)
  • Pseudo-random functions (function symbols, no collisions)
  • Signature schemes (cf. demo)
  • Authenticated encryption schemes (use EtA for now)
  • Certifjcates (use identifjer and signature(s) for now ✓)
slide-96
SLIDE 96

19/25

Finite State Machine

Init Phase

slide-97
SLIDE 97

19/25

Finite State Machine

Init Phase

slide-98
SLIDE 98

19/25

Finite State Machine

Init Phase

∅ I1

init_send

slide-99
SLIDE 99

19/25

Finite State Machine

Init Phase

∅ I1

init_send

R1

resp_accept

m1 = ⟨Hdr, SAi1, KEi, Ni⟩

slide-100
SLIDE 100

19/25

Finite State Machine

Init Phase

∅ I1

init_send

R1 R2

resp_accept resp_send

m1

slide-101
SLIDE 101

19/25

Finite State Machine

Init Phase

∅ I1 I2

init_send init_accept

R1 R2

resp_accept resp_send

m1 m2 = ⟨Hdr, SAr1, KEr, Nr, CERTREQ⟩

slide-102
SLIDE 102

19/25

Finite State Machine

Init Phase

∅ I1 I2 I3

init_send init_accept init_keyderiv

R1 R2 R3

resp_accept resp_send resp_keyderiv

m1 m2

slide-103
SLIDE 103

19/25

Finite State Machine

Init Phase

∅ I1 I2 I3 . . .

i n i t _ s e n d init_accept init_keyderiv . . .

R1 R2 R3 . . .

resp_accept resp_send resp_keyderiv . . .

m1 m2

slide-104
SLIDE 104

20/25

Code Walkthrough ⌣

slide-105
SLIDE 105

21/25

Lab-Goals Refmection

slide-106
SLIDE 106

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular

  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions?

  • What are the limitations of Tamarin-Prover?

  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-107
SLIDE 107

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular

  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions?

  • What are the limitations of Tamarin-Prover?

  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-108
SLIDE 108

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular

  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions?

  • What are the limitations of Tamarin-Prover?

  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-109
SLIDE 109

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular ⌣
  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions?

  • What are the limitations of Tamarin-Prover?

  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-110
SLIDE 110

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular ⌣
  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions? ⌣
  • What are the limitations of Tamarin-Prover?

  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-111
SLIDE 111

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular ⌣
  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions? ⌣
  • What are the limitations of Tamarin-Prover? 
  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-112
SLIDE 112

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular ⌣
  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions? ⌣
  • What are the limitations of Tamarin-Prover? 
  • Practical Application
  • Implementing small toy examples to learn the language

  • Working on (parts of) the IPSec protocol

slide-113
SLIDE 113

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular ⌣
  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions? ⌣
  • What are the limitations of Tamarin-Prover? 
  • Practical Application
  • Implementing small toy examples to learn the language ⌣
  • Working on (parts of) the IPSec protocol

slide-114
SLIDE 114

22/25

Goals for the Lab - Revisited

  • Theory of Tamarin-Prover
  • mathematical foundation, in particular ⌣
  • order-sorted term algebras
  • equational theories
  • operations: substitution, replacements, unifjcation, matching, rewriting modulo

equational theories

  • How is the language of Tamarin-Prover refmecting those notions? ⌣
  • What are the limitations of Tamarin-Prover? 
  • Practical Application
  • Implementing small toy examples to learn the language ⌣
  • Working on (parts of) the IPSec protocol 
slide-115
SLIDE 115

23/25

References

slide-116
SLIDE 116

References I

[bit17] bitkom, ed. Spionage, Sabotage, Datendiebstahl: Deutscher Wirtschaft entsteht jährlich ein Schaden von 55 Milliarden Euro. July 21, 2017. URL: https://www.bitkom.org/Presse/Presseinformation/Spionage- Sabotage-Datendiebstahl-Deutscher-Wirtschaft-entsteht- jaehrlich-ein-Schaden-von-55-Milliarden-Euro.html (visited on 06/30/2018). [Blu17] Norbert Blum. A Solution of the P versus NP Problem. Aug. 11, 2017. arXiv: 1708.03486v2 [cs.CC]. [BR04] Mihir Bellare and Phillip Rogaway. Code-Based Game-Playing Proofs and the Security of Triple Encryption. Cryptology ePrint Archive, Report 2004/331. 2004. URL: https://eprint.iacr.org/2004/331 (visited on 05/11/2018).

24/25

slide-117
SLIDE 117

References II

[Hal05] Shai Halevi. A plausible approach to computer-aided cryptographic proofs. Cryptology ePrint Archive, Report 2005/181. 2005. URL: https://eprint.iacr.org/2005/181 (visited on 05/11/2018). [Mei13] Simon Meier. “Advancing automated security protocol verifjcation”. PhD thesis. ETH Zürich, 2013. DOI: 10.3929/ethz-a-009790675. [Moc18] Sinichi Mochizuki. Inter-universal Teichmüller Theory I-IV. June 28, 2018. [Opf11] Gerhard Opfer. “An Analytic Approach to the Collatz 3n+1 Problem”. In: Hamburger Beiträge zur Angewandten Mathematik 9 (2011). [Sch12] Benedikt Schmidt. “Formal analysis of key exchange protocols and physical protocols”. PhD thesis. ETH Zürich, 2012. DOI: 10.3929/ethz-a-009898924.

Thank you for your attention!

25/25