SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
On the Verification of Cryptographic
Protocols
Federico Cerutti
Dipartimento di Ingegneria dell’Informazione, Universit`a di Brescia
Via Branze 38, I-25123 Brescia, Italy
January 11, 2011
Talk at Prof. Giuzzi’s Course: “Algebra for coding theory and cryptography”
c 2010 Federico Cerutti <federico.cerutti@ing.unibs.it>
From Cryptography to Protocols
Cryptography hides information: send or receive messages in
encrypted form
Cryptographic functions can be put to use in more creative ways
to design security protocols
[Needham and Schroeder, 1978]’s security goals:
Establishment of authenticated interactive communication
(greeting messages over the phone)
One-way authentication (both parties could not be available at the
same time)
Signed communication (nonrepudiation feature, the recepient can
prove to a third party that the message originated from the
claimed sender)
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 2
Needham Schroeder Protocol (NS)
[Needham and Schroeder, 1978]
Notation:
Principals (e.g. A, B)
Encryption keys, as shared keys (e.g. Kab), public keys (e.g. Ka), and the corresponding private
keys (e.g. K−1
a )
Statements or formulae (e.g. Na)
S
A B
1: A, B
2: {Kb, B}
K
−1
s
3: {Na, A}Kb
6: {Na, Nb}Ka
7: {Nb}Kb
4: B, A
5: {Ka, A}
K
−1
s
Assumption: both parties know S’ public key
Message 1: A → S: A, B Message 5: S → B: {Ka, A}
K
−1
s
Message 2: S → A: {Kb, B}
K
−1
s
Message 6: B → A: {Na, Nb}Ka
Message 3: A → B: {Na, A}Kb
Message 7: A → B: {Nb}Kb
Message 4: B → S: B, A
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 3
Important issues in designing of authentication
protocols
The adversary attacking a network protocol can actively interfere
(interposition, eavesdropping, alteration, dropping, duplication,
rerouting, messages rearranging).
Encryption is a basic tool for the construction of protocols, but it
needs to be used properly in order to achieve the security goal.
Security goal can be (and should be) defined independently from
the underlying cryptographic techniques (symmetric/asymmetric
cryptography. . . ) used in the solution.
Recognize the need for techniques for the verification and
analysis of security protocols.
Protocols such as those developed here are prone to extremely subtle errors that are
unlikely to be detected in normal operation. The need for techniques to verify the
correctness of such protocols is great, and we encourage those interested in such problems
to consider this area. [Needham and Schroeder, 1978]
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 4
Dolev, Yao
Burrows, Abadi, Needham
Delagrande, Grote, Hunter
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 5
The first attempt: the Dolev-Yao (DY) model
[Dolev and Yao, 1981]
Very constrained
Does not allow to describe many interesting protocols
But:
It is the first paper providing a formal model
The adversarial model is still quite general
They show that by restricting the class of target protocols one can
obtain interesting algorithmic results
Important requirements:
A precise language for the description of protocols
A formal execution model that describes how the protocol is run,
possibly in the presence of an adversary. This includes a
description of the adversary’s capabilities
A formal language for specifying desired security protocols
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 6
DY Assumptions
A perfect public key system, where:
the one-way functions used are unbreakable
the public directory is secure and cannot be tampered with
everyone has access to all public keys
the private keys are known by the legitimate user
In a two-party protocol, only the two users who wish to
communicate are involved in the transmission process
Only “active” eavesdroppers, or someone who first taps the
communication line to obtain messages and then tries everything
he can in order to discover the plaintext. A saboteur:
can obtain any message passing through the network
is a legitimate user of the network (he can initiate a conversation
with any other user)
will have the opportunity to be a receiver to any user
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 7
DY sketched
Let Σ be a finite alphabet of operator symbols and Σ∗ be the set of
all finite strings over Σ including the empty word λ.
Σ = {d} ∪ {EX, DX, iX, dX|X is a user name}
Reduction rules
EXDX → λ DXEX → λ dXiX → λ diX → λ
A Ping-pong protocol P(S, R) between the users S and R is a
sequence of strings α1, α2, . . . , αl such that αi ∈ Σ∗
S if i is odd and
αi ∈ Σ∗
R otherwise. [Dolev et al., 1982]
∆ = (ΣZ ∪ {αi(X, Y )|1 ≤ i ≤ l, X and Y are different users})∗ is an
operator-words of the adversary.
Let α1(S, R) be the first word of P(S, R) and Z an adversary. P is
insecure, if there exists a string γ ∈ ∆ such that γα1 = λ
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 8
DY Executed
Example ([Stamer, 2005])
1 A → B : {{m}KB
, A}KB
, α1(A, B) = EBiAEB
2 B → A : {{m}KA
, B}KA
, α2(A, B) = EAiBEADBdADB
γ = DZdADZ
Z
EZiAEZDAdZDA
A(3)
EAiZdDZdADZ
Z(3)
EZiAEZDAdZDA
A(2)
EAiZ
Z(2)
γ α2α1 = λ γ = γ α2 γα1 = λ
Theorem ([Dolev et al., 1982])
For “Ping-Pong” protocols there exists a security checking algorithm
whose input are the generic cancellation rules and the protocol. The
time-complexity is O(n3), where n is the length of the input.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 9
DY explained [Stamer, 2005]
1.1 A → B: {{m}Kb
, A}Kb
1.2 B → Z/A: {{m}Ka , B}Ka
2.1 Z → A: {{{m}Ka , B}Ka , Z}Ka
2.2 A → Z: {{{m}Ka , B}Kz , A}Kz
3.1 Z → A: {{m}Ka , Z}Ka
3.2 A → Z: {{m}Kz , Z}Kz
At the end, Z knows m.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 10
DY Conclusions
First paper that provides a formal model
Protocol restrictions are mostly on honest participants and the
protection goal
The adversarial model is still quite general
Theoretical results
Simple security characterization for a subclass of protocols
Security problem decidable in polynomial time
Not general enough
Difficult to extend
It does not consider the evolution of the message exchanging
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 11
Dolev, Yao
Burrows, Abadi, Needham
Delagrande, Grote, Hunter
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 12
A Logic of Authentication (BAN)
[Burrows et al., 1990]
A more general approach
Goal of authentication (informally and imprecisely): after
authentication, two principals (people, computers, services)
should be entitled to believe that they are communicating with
each other and not with intruders
BAN helps in answering the following questions:
Does this protocol work? Can it be made to work?
Exactly what does this protocol achieve?
Does this protocol need more assumptions than another protocol?
Does this protocol do anything unnecessary?
BAN assumes totally corrected implementations of protocols and
cryptosystems
BAN is focused on the beliefs of trustworthy parties involved in
the protocols and on the logic evolution of these beliefs as a
consequence of communication
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 13
What is Logic
A way for formalizing knowledge through sentences. . .
The sentences have to be expressed according to the syntax of the
representation language
We need the semantics of the language, which defines the truth of
each sentence with respect to each possible world (or model)
. . . and for reasoning over this knowledge
Entailment relation: α |= β means that the sentence α entails the
sentence β, or that in every model in which α is true, β is also true
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 14
Logic is ancient
All men are mortal, Socrates is a man, therefore Socrates is mortal.
MP
man(X) man(X) → mortal(X)
mortal(X)
man(Socrates) |= mortal(Socrates)
In every model (or in every possible world) where Socrates actually is
a man, then actually Socrates is mortal.
man(X) mortal(X) man(X) → mortal(X)
T T T
T F F
F T T
F F F
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 15
Formal theory [Mendelson, 2010]
Definition (Conditions for L being a formal theory)
1 A countable set of symbols is given as the symbols of L; every its
finite sequence of symbolsis called an expression of L.
2 There is a subset of the set of expressions of L called the set of
well-formed formulas (wfs) of L. There is usually an effective
procedure to determine whether a given expression is a wf.
3 There is a set of wfs called the set of axioms of L. If one can
effectively decide whether a given wf is an axiom, then L is called
an axiomatic theory.
4 There is a finite set R1, . . . , Rn of relations among wfs, called
rules of inference. For each Ri, there is a unique positive integer
j such that, for every set of j wfs and each wf B, one can
effectively decide whether the given j wfs are in the relation Ri
to B, and, if so, B is said to follow from or to be a direct
consequence of the given wfs by virtue of Ri
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 16
Formal theory [Mendelson, 2010]
Definition
A proof in a formal theory L is a sequence B1, . . . , Bj of wfs such that,
for each i either Bi is an axiom of L or Bi i- a direct consequence of
some of the preceding wfs in the sequence by virtue of one of the rules
of inference of L.
Definition
A theorem of L is a wf B of L such that B is the last wf of some proof
in L. Such a proof is called a proof of B in L.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 16
Formal theory [Mendelson, 2010]
Definition
A wf B is said to be a consequence in L of a set Γ of wfs if and only if
there is a sequence B1, . . . , Bk of wfs such that C is Bk and, for each i,
either Bi is an axiom or Bi is Γ, or Bi is a direct consequence by some
rule of inference of some of the preceding wfs in the sequence. Such a
sequence is called a proof (or a deduction) of C from Γ. The members
of Γ are called the hypotheses or premises of the proof. We use Γ C
as an abbreviation for “C is a consequence of Γ”.
The following are simple properties of the notion of consequence:
1 If Γ ⊆ ∆ and Γ C, then ∆ C;
2 Γ C if and only if there is a finite subset ∆ of Γ such that ∆ C;
3 If ∆ C, and for each B in ∆, Γ B, then Γ C.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 16
Formal axiomatic theory L1
[Mendelson, 2010, Kleene, 1952]
1 The symbols of L1 are ¬, ⇒, (, ), ∧, ∨, and the letters Ai with
positive integers i as subscripts: A1, A2, A3, . . .. The symbols ¬
and ⇒ are called primitive connectives, and the letters Ai are
called statement letters.
2 a All statement letters are well-formed formulas (wfs).
b If B and C are wfs, then so are (¬B), (B ⇒ C), (B ∧ C), and (B ∨ C).
c C is a wfs if and only if there is a finite sequence B1, . . . , Bn, (n ≥ 1)
such that Bn = C and, if 1 ≤ i ≤ n, Bi is either a wfs or a negation
(Bi = (¬Bk), k < i), or conditional (Bi = (Bj ⇒ Bl), j < i, l < i), or a
conjunction, or a disjunction constructed from previous expression in
the sequence.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 17
Formal axiomatic theory L1
[Mendelson, 2010, Kleene, 1952]
1 If B, C and D are wfs of L1, then the following are axioms of L1:
A1 B ⇒ (C ⇒ B);
A2 (B ⇒ (C ⇒ D)) ⇒ ((B ⇒ C) ⇒ (B ⇒ D));
A3 (B ∧ C) ⇒ B;
A4 (B ∧ C) ⇒ C;
A5 B ⇒ (C ⇒ (B ∧ C));
A6 B ⇒ (B ∨ C);
A7 C ⇒ (B ∨ C);
A8 (B ⇒ D) ⇒ ((C ⇒ D) ⇒ (B ∨ C ⇒ D));
A9 (B ⇒ C) ⇒ ((B ⇒ ¬C) ⇒ ¬B));
A10 ¬¬B ⇒ B.
2 The only rule of inference of L1 is modus ponens: C is a direct
consequence of B and (B ⇒ C).
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 17
The BAN formalism
Logic with principals (P, Q, R . . .), encryption keys (K...) and formulas or
statements (X, Y, . . .). Conjunction is the only propositional connective
P believes X, the principal P may act as though X is true
P sees X, someone has sent a message containing X to P, who can read and repeat
X
P said X, P at some time sent a message including the statement X; it is known
that P believed X then
P controls X, P is an authority on X and should be trusted on this matter
fresh X, X has not been sent in a message at any time before the current run of
the protocol
P
K
↔ Q, P and Q may use the shared key K to communicate
K
→ P, P has public key K (and the relative private key K−1 which is good
P
X
Q, the formula X is a secret known only to P and Q, and possibly to
principals trusted by them
{X}K , the formula X is encrypted under the key K
X Y , the formula X is combined with the formula Y , it is intended that Y be a
secret and that its presence prove the identity of whoever utters X Y
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 18
Logical Postulates: preliminaries
Two epochs:
present that begins at the start of the particular run of the protocol under
consideration
past indeed all messages sent before the present are considered to be in
the past and should not be accepted as recent
All beliefs held in the present are stable for the entirety of the
protocol run
Beliefs held in the past are not necessarily carried forward into
the present
A message cannot be understood by a principals who does not
know the key
The key cannot be deduced from the encrypted message
Each encrypted message contains sufficient redundancy to allow a
principal who decrypts it to verify that he has used the right key
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 19
The postulates
1 Message-meaning
P believes
K
→ Q P sees {X}K−1
P believes Q said X
. . .
2 Nonce-verification
P believes fresh X P believes Q said X
P believes Q believes X
3 Jurisdiction
P believes Q controls X P believes Q believes X
P believes X
4 Composition
. . .
5 Freshness of composed messages with nonces
. . .
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 20
Needham Schroeder Protocol (NS)
[Needham and Schroeder, 1978]
Notation:
Principals (e.g. A, B)
Encryption keys, as shared keys (e.g. Kab), public keys (e.g. Ka), and the corresponding private
keys (e.g. K−1
a )
Statements or formulae (e.g. Na)
S
A B
1: A, B
2: {Kb, B}
K
−1
s
3: {Na, A}Kb
6: {Na, Nb}Ka
7: {Nb}Kb
4: B, A
5: {Ka, A}
K
−1
s
Assumption: both parties know S’ public key
Message 1: A → S: A, B Message 5: S → B: {Ka, A}
K
−1
s
Message 2: S → A: {Kb, B}
K
−1
s
Message 6: B → A: {Na, Nb}Ka
Message 3: A → B: {Na, A}Kb
Message 7: A → B: {Nb}Kb
Message 4: B → S: B, A
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 21
NS idealized
Original Idealized
Message 1 A → S: A, B
Message 2 S → A: {Kb, B}K−1
s
S → A: {
Kb
→ B}K−1
s
Message 3 A → B: {Na, A}Kb
A → B: {Na}Kb
Message 4 B → S: B, A
Message 5 S → B: {Ka, A}K−1
s
S → B: {
Ka
→ A}K−1
s
Message 6 B → A: {Na, Nb}Ka B → A: { A
Nb
B Na }Ka
Message 7 A → B: {Nb}Kb
A → B: { A
Na
B Nb
}Kb
Messages 1 and 4 do not contribute to the logical properties
In message 3, Na is not known by B and thus is not being used
to prove the identity of A
In messages 6 and 7, Na and Nb are used as secrets
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 22
NS analyzed
A believes
Ka
→ A B believes
Kb
→ B A believes
Ks
→ S
B believes
Ks
→ B S believes
Ka
→ A S believes
Kb
→ B
S believes
Ks
→ S
A believes ∀K S controls
K
→ B B believes ∀K S controls
K
→ A
A believes fresh Na B believes fresh Nb
A believes A
Na
B B believes A
Nb
B
A believes fresh
Kb
→ B B believes fresh
Ka
→ A
A believes
Kb
→ B B believes
Ka
→ A
A believes B believes A
Nb
B B believes A believes A
Na
B
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 23
BAN Explained [Burrows et al., 1989]
A believes S controls
Kb
→ B
A believes fresh
Kb
→ B
A believes
Ks
→ S A sees {
Kb
→ B}
K
−1
s
A believes S said
Kb
→ B
A believes S believes
Kb
→ B
A believes
Kb
→ B
where
(1) Message Meaning
[assumption]A believes
Ks
→ S [message 2]A sees {
Kb
→ B}
K
−1
s
A believes S said
Kb
→ B
(2) Nonce verification
[assumption]A believes fresh
Kb
→ B [(1)]A believes S said
Kb
→ B
A believes S believes
Kb
→ B
Jurisdiction rule
[assumption]A believes S controls
Kb
→ B [(2)]A believes S believes
Kb
→ B
A believes
Kb
→ B
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 24
BAN Conclusions
First logic for protocol verification
Description of proof systems
BAN enables us to exhibit step by step how beliefs are built up
to the point of mutual authentication
It can guide in identifying mistakes and in suggesting corrections
It lacks on semantics [Abadi and Tuttle, 1991,
Mao and Boyd, 1993, Delgrande et al., 2009]
It is not in a pure declarative form rather it has to idealize a
protocol
It cannot reveal some kinds of attack (like reflection attack)
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 25
Dolev, Yao
Burrows, Abadi, Needham
Delagrande, Grote, Hunter
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 26
New Idea in Logic Verification of Cryptographic
Protocols [Delgrande et al., 2009]
Standard specification of protocols is both incomplete and
imprecise
The Goal of the protocol in not explicitly given (incomplete),
therefore it is difficult to determine if a given trace constitutes an
attack
It is not clear what A → B means (imprecise): it does not means
that A successfully sends the message to B; instead:
A intends to send the message to B
A actually sends the message to someone
Not only beliefs but also intentions
Aim: define a logic program in which the answer sets correspond
to sequences of exchanged messages between agents
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 27
A logic program
Definitions:
It is a picture of why and how you believe a program/policy will
work
The foundation of program planning and the key tool of program
evaluation
A series of “if-then” relationships that, if implemented as
intended, lead to the desired outcomes
Example ([Lamperti, 2011])
speak(al, russian).
speak(robert, english).
speak(mary, russian).
speak(mary, english).
communicate(X, Y ) ← speak(X, L), speak(Y, L), X = Y.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 28
The Answer Set {Programming|Prolog} (ASP)
in a Nutshell [Gelfond, 2008]
Declarative programming based on the stable model semantics of
logic programming [Gelfond and Lifschitz, 1988], autoepistemic logic
[Moore, 1985], and default logic [Reiter, 1980]
Literals: p(ˆt), ¬p(ˆt) (ˆt is a term)
Rules: l0 or . . . or lk ← lk+1, . . . , lm, not lm+1, . . . , not ln.
or is the epistemic disjunction
not is default negation (aka negation as failure): literals possibly
preceded by default negation are called extended literals
Constraint: ← l0, . . . , ln.
Fact: l0 or . . . or lk.
Choice rules: i {p, q} j (at least i of the enclosed atoms are true,
but not more that j)
Conditions: p(X) : q(X) (e.g. if we have q(a), q(b), then we can
instantiate p(a), p(b))
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 29
The Answer Set {Programming|Prolog} (ASP)
in a Nutshell [Gelfond, 2008]
Definition
A program of Answer Set Prolog is a pair {σ, Π} where σ is a
signature and Π is a collection of logic programming rules over σ.
Given a logic program Π, the corresponding signature is denoted by
σ(Π). If σ(Π) is not explicitly given, it is assumed it consists of
symbols occurring in the program.
Terms, literals, and rules of Π are called ground if they contain no
variables and no symbols for arithmetic functions. A rule r is called a
ground instance of a rule r of Π if it is obtained from r by:
1 replacing r’s non-integer variables by properly typed ground
terms of σ(Π)
2 replacing r’s variables for non-negative integers by numbers
3 replacing the remaining occurrences of numerical terms by their
values
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 29
ASP partial interpretation [Gelfond, 2008]
Definition (Partial interpretation of σ)
A set of ground literals G = {l0, . . . , lk} is consistent iff i, j s.t.
li = ¬lj. Consistent sets of ground literals over σ are called partial
interpretations of σ.
Given a partial interpretation S:
l ground literal, ¯l = ¬l, l is true if l ∈ S, false if ¯l ∈ S, unknown
otherwise
not l extended literal is true if l /∈ S, false otherwise
conjunction of extended literals U is true if all elements of U is
true in S, false if at least one element of U is false in S, unknown
otherwise
disjunction of literals D is true if at least one of its members is
true in S, false if all members of D is false in S, unknown
otherwise
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 30
ASP: negation as failure [Gelfond, 2008]
Non-monotonic inference rule in logic programming
not p is derived from failure of deriving p
Example
cross railroad ← ¬train approaches.
“If you know that the train not approaches, then cross the railroad”.
cross railroad ← not train approaches.
“If you don’t known if the train approaches or not, then cross the
railroad”. Incomplete information!
Example
fly(X) ← bird(X), not abnormal(X).
abnormal(X) ← penguin(X).
“Each bird flies, except abnormal ones”. Defaults!
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 31
ASP: epistemic disjunction [Gelfond, 2008]
In classical logic, A ∨ B forbids that both A and B are false
In epistemic logic, A or B means that every possible set of
reasoner’s belief must satisfy A or satisfy B.
Example
node(X) ← arc(X, Y ).
node(Y ) ← arc(X, Y ).
color(X, red) or color(X, green) or color(X, blue) ← node(X).
I know that an arc is between two nodes of a graph, and I know that
each node has a colour that is one of the following, red, green, or blue.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 32
ASP: the answers set semantics [Gelfond, 2008]
Definition
A partial interpretation S of σ(Π) is an answer set for Π if S is
minimal (w.r.t. set inclusion) partial interpretation satisfying the
rules of Π.
An answer set corresponds to a possible set of beliefs which can be
built by a rational reasoner on the basis of rules of Π. In the
construction of such a set, S, the reasoner is assumed to be guided by
the following informal principles:
S must satisfy the rules of Π
the reasoner should adhere to the rationality principle which says
that one shall not believe anything one is not forced to believe
(minimality)
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 33
An example in ASP
Example ([Eiter, 2008])
person(joey).
male(X) or female(X) ← person(X).
bachelor(X) ← male(X), not married(X).
Two answer sets:
1 {person(joey), male(joey), bachelor(joey)}
2 {person(joey), female(joey)}
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 34
The DGH approach
Three independent modules:
1 Protocol module: it includes generic information about message
passing and protocols
2 Intruder module: it includes a specification of the intruders
capabilities
3 Instance module: it includes the structure of a specific protocol
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 35
The DGH approach: Protocol module
General message passing framework
Principals’ holdings, capabilities, . . .
Keys: asymmetric and symmetric key encryption
Nonces or timestamp
Actions (e.g. send and receive)
Time (discrete): actions occur at some point in time (to keep the
search space manageable, a single time step is used for one agent
to receive a message, decrypt its contents, compose a reply,
encrypt and send it)
Notion of appropriateness: matching of messages
Two auxiliary predicates:
1 talked: to indicate that two agents have successfully
communicated
2 authenticated: is part of goal specification
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 36
The DGH approach: Protocol module
send (A, B, M, T) : - wants(A, send (A, B, M) , T) , has (A, M, T) .
receive (A, B, M, T+1) : - send (B, A, M, T) , not intercept (M, T+1)
{wants(A, send (A, B, M) , T) } 1 : - receive (A, B, M2, T) ,
f i t (msg( J , B, A, M2) ,
msg( J+1, A, B, M) )
talked (A, B, T+1) : - send (A, B, M, T) , receive (B, A, M, T+1).
authenticated (A, B, T) : - send (A, B, enc (M1, K1) , T1 ) ,
fresh (A, nonce (A, Na) , T1 ) ,
part m ( nonce (A, Na) , M1) ,
key pair (K1 , Kinv1 ) , has (A, K1 , T1 ) ,
has (B, Kinv1 , T1 ) ,
not has (C, Kinv1 , T1) : agent (C) : C != B,
send (B, A, enc (M2, K2) , T2 ) ,
receive (A, B, enc (M2, K2) , T) ,
part m ( nonce (A, Na) , M2) ,
key pair (K2 , Kinv2 ) , has (B, K2 , T1 ) ,
has (A, Kinv2 , T1 ) ,
not has (C, Kinv2 , T1 ) : agent (C) : C != A,
T1 < T2 , T2 < T.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 37
The DGH approach: Intruder module
This module specifies all aspects of the intruder
The intruder model is flexible and easy to modify
Holdings:
the public key of every agent
a public-private key pair (in order to pretend to be an honest
agent)
Capabilities:
intercept messages and it receives the messages that it intercepts
send messages whenever it wants to
fake the sender name of messages it sends
0 { intercept (M, T+1) } 1 : - send (A, B, M, T) .
receive ( I , A, M, T+1) : - send (A, B, M, T) ,
intercept (M, T+1).
1 { receive (A, B, M, T+1) : principal (B) } 1 : -
send ( I , A, M, T) .
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 38
The DGH approach: Instance module
Messages (NS simplified case)
A B
1: {Na, A}Kb
2: {Na, Nb}Ka
3: {Nb}Kb
msg( 1 , A, B, enc (m( nonce (C, Na) , principal (A) ) , pub key (B ) ) ) .
msg( 2 , B, A, enc (m( nonce (C, Na) , nonce (D, Nb) ) , pub key (A) ) ) .
msg( 3 , A, B, enc (m( nonce (D, Nb) ) , pub key (B ) ) ) .
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 39
The DGH approach: Instance module
Goals and Attacks
Goals: both principals should believe that the other one is
authenticated and that they actually are
goal (A, B, T) : - authenticated (A, B, T) ,
believes (A, authenticated (A, B) , T) ,
authenticated (B, A, T) ,
believes (B, authenticated (B, A) , T) .
Attacks: run of the protocol that causes an agent to believe the
goal is true, when in fat the goal is not true
attack : - believes (A, authenticated (A, B) , T) ,
not authenticated (A, B, T) .
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 40
DGH Executed
send ( a , i , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( i ) ) , 0 )
receive ( i , a , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( i ) ) , 1 )
send ( i , b , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( b ) ) , 1 )
receive (b , a , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( b ) ) , 2 )
send (b , a , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 2 )
receive ( i , b , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 3 )
send ( i , a , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 3 )
authenticated ( a , i , 4 )
believes ( a , authenticated ( a , i ) , 4 )
believes ( a , completed ( a , i ) , 4 )
receive ( a , i , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 4 )
send ( a , i , enc (m( nonce (b , 1 ) ) , pub key ( i ) ) , 4 )
authenticated ( a , i , 5 )
believes ( a , authenticated ( a , i ) , 5 )
believes ( a , completed ( a , i ) , 5 )
receive ( i , a , enc (m( nonce (b , 1 ) ) , pub key ( i ) ) , 5 )
send ( i , b , enc (m( nonce (b , 1 ) ) , pub key ( b ) ) , 5 )
authenticated ( a , i , 6 )
believes ( a , authenticated ( a , i ) , 6 )
believes ( a , completed ( a , i ) , 6 )
believes (b , authenticated (b , a ) , 6 )
believes (b , completed (b , a ) , 6 )
receive (b , a , enc (m( nonce (b , 1 ) ) , pub key ( b ) ) , 6 )
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 41
DGH Explained (reflection attack)
Two parallel protocol runs.
1.1 A → I: {Na, A}Ki
2.1 IA → B: {Na, A}Kb
2.2 B → IA: {Na, Nb}Ka
1.2 I → A: {Na, Nb}Ka
1.3 A → I: {Nb}ki
2.3 IA → B: {Nb}kb
I knows Nb.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 42
Conclusions
Cryptography is not enough
Protocols use cryptography to reach goals like authentication
The verification of protocols is still an open challenge
DY
’80
First attempt
Computable algorithm
BAN Logic
’90
Specific logic for authentication
Focused on beliefs
DGH
2009
“General purpose” logic: reuse of results in ASP theory
Deal with both beliefs and intentions
More on [Chen et al., 2008]
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 43
References I
[Abadi and Tuttle, 1991] Abadi, M. and Tuttle, M. R. (1991).
A semantics for a logic of authentication (extended abstract).
In Proceedings of the tenth annual ACM symposium on Principles of distributed computing, PODC ’91,
pages 201–216, New York, NY, USA. ACM.
[Bornat and Sufrin, 2008] Bornat, R. and Sufrin, B. (2008).
Jape.
http://jape.comlab.ox.ac.uk:8080/jape/.
[Burrows et al., 1990] Burrows, M., Abadi, M., and Needham, R. (1990).
A logic of authentication.
ACM Trans. Comput. Syst., 8:18–36.
[Burrows et al., 1989] Burrows, M., Abadi, M., and Needham, R. M. (1989).
A logic of authentication, rep. 39.
Technical report, Digital Equipment Corporation Systems Research Center, Palo Alto, Calif.
[Chen et al., 2008] Chen, Q., Zhang, C., and Zhang, S. (2008).
Secure transaction protocol analysis: models and applications.
Springer-Verlag, Berlin, Heidelberg.
[Delgrande et al., 2009] Delgrande, J., Grote, T., and Hunter, A. (2009).
A general approach to the verification of cryptographic protocols using answer set programming.
In Erdem, E., Lin, F., and Schaub, T., editors, Logic Programming and Nonmonotonic Reasoning,
volume 5753 of Lecture Notes in Computer Science, pages 355–367. Springer Berlin / Heidelberg.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 44
References II
[Dolev et al., 1982] Dolev, D., Even, S., and Karp, R. (1982).
On the security of ping-pong protocols.
Information and Control, 55(1-3):57 – 68.
[Dolev and Yao, 1981] Dolev, D. and Yao, A. C. (1981).
On the security of public key protocols.
Technical report, Stanford, CA, USA.
[Dolev and Yao, 1983] Dolev, D. and Yao, A. C. (1983).
On the security of public key protocols.
Information Theory, IEEE Transactions on, 29(2):198–208.
[Eiter, 2008] Eiter, T. (2008).
Answer set programming in a nutshell.
http://gradlog.informatik.uni-freiburg.de/gradlog/slides_ak/eiter_asp.pdf.
[Gelfond, 2008] Gelfond, M. (2008).
Chapter 7 answer sets.
In Frank van Harmelen, V. L. and Porter, B., editors, Handbook of Knowledge Representation,
volume 3 of Foundations of Artificial Intelligence, pages 285 – 316. Elsevier.
[Gelfond and Lifschitz, 1988] Gelfond, M. and Lifschitz, V. (1988).
The stable model semantics for logic programming.
In ICLP/SLP, pages 1070–1080.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 45
References III
[Kleene, 1952] Kleene, S. C. (1952).
Introduction to Metamatematics.
[Lamperti, 2011] Lamperti, G. (2011).
Programmazione logica.
http://www.ing.unibs.it/ lamperti/lp/lezioni/lp-logico.pdf.
[Leone et al., ] Leone, N., Pfeifer, G., and Faber, W.
The dlv project.
http://www.dbai.tuwien.ac.at/proj/dlv/.
[Lifschitz, 2008] Lifschitz, V. (2008).
What is answer set programming?
In Proceedings of the AAAI Conference on Artificial Intelligence, pages 1594–1597. MIT Press.
[Mao and Boyd, 1993] Mao, W. and Boyd, C. (1993).
Towards formal analysis of security protocols.
In Computer Security Foundations Workshop VI, 1993. Proceedings.
[Mendelson, 2010] Mendelson, E. (2010).
Introduction to Mathematical Logic: Fifth Edition.
[Micciancio, 2005] Micciancio, D. (2005).
Cse208: Spring 2005 - advanced cryptography: Symbolic methods for security analysis.
http://cseweb.ucsd.edu/classes/sp05/cse208/index.html.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 46
References IV
[Moore, 1985] Moore, R. C. (1985).
Semantical considerations on nonmonotonic logic.
Artif. Intell., 25:75–94.
[Needham and Schroeder, 1978] Needham, R. M. and Schroeder, M. D. (1978).
Using encryption for authentication in large networks of computers.
Commun. ACM, 21:993–999.
[Reiter, 1980] Reiter, R. (1980).
A logic for default reasoning.
Artificial Intelligence, 13(1-2):81–132.
[Stamer, 2005] Stamer, H. (2005).
Verification of cryptographic protocols part 1: The dolev-yao model and “ping-pong” protocols.
http://www.theory.informatik.uni-kassel.de/~stamer/RewritingOverview_slides.pdf.
c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 47

Contenu connexe

Tendances

Net solved pprsnt
Net solved pprsntNet solved pprsnt
Net solved pprsnt
arund178
 
A constraint programming based approach to
A constraint programming based approach toA constraint programming based approach to
A constraint programming based approach to
abirISECS
 
Jarrar.lecture notes.aai.2012s.descriptionlogic
Jarrar.lecture notes.aai.2012s.descriptionlogicJarrar.lecture notes.aai.2012s.descriptionlogic
Jarrar.lecture notes.aai.2012s.descriptionlogic
SinaInstitute
 

Tendances (18)

AI Lesson 09
AI Lesson 09AI Lesson 09
AI Lesson 09
 
C# programming : Chapter One
C# programming : Chapter OneC# programming : Chapter One
C# programming : Chapter One
 
Intuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years laterIntuitionistic Modal Logic: fifteen years later
Intuitionistic Modal Logic: fifteen years later
 
Path cycle part1
Path cycle part1Path cycle part1
Path cycle part1
 
AI Lesson 11
AI Lesson 11AI Lesson 11
AI Lesson 11
 
Net solved pprsnt
Net solved pprsntNet solved pprsnt
Net solved pprsnt
 
A constraint programming based approach to
A constraint programming based approach toA constraint programming based approach to
A constraint programming based approach to
 
Advances in Learning with Bayesian Networks - july 2015
Advances in Learning with Bayesian Networks - july 2015Advances in Learning with Bayesian Networks - july 2015
Advances in Learning with Bayesian Networks - july 2015
 
Categorical Semantics for Explicit Substitutions
Categorical Semantics for Explicit SubstitutionsCategorical Semantics for Explicit Substitutions
Categorical Semantics for Explicit Substitutions
 
Constructive Modalities
Constructive ModalitiesConstructive Modalities
Constructive Modalities
 
Cs6503 theory of computation book notes
Cs6503 theory of computation book notesCs6503 theory of computation book notes
Cs6503 theory of computation book notes
 
Automated Education Propositional Logic Tool (AEPLT): Used For Computation in...
Automated Education Propositional Logic Tool (AEPLT): Used For Computation in...Automated Education Propositional Logic Tool (AEPLT): Used For Computation in...
Automated Education Propositional Logic Tool (AEPLT): Used For Computation in...
 
Jarrar.lecture notes.aai.2012s.descriptionlogic
Jarrar.lecture notes.aai.2012s.descriptionlogicJarrar.lecture notes.aai.2012s.descriptionlogic
Jarrar.lecture notes.aai.2012s.descriptionlogic
 
A Model for the Burden of Persuasion in Argumentation (JURIX 2020)
A Model for the Burden of Persuasion in Argumentation (JURIX 2020)A Model for the Burden of Persuasion in Argumentation (JURIX 2020)
A Model for the Burden of Persuasion in Argumentation (JURIX 2020)
 
Cooperating Techniques for Extracting Conceptual Taxonomies from Text
Cooperating Techniques for Extracting Conceptual Taxonomies from TextCooperating Techniques for Extracting Conceptual Taxonomies from Text
Cooperating Techniques for Extracting Conceptual Taxonomies from Text
 
Modal Type Theory
Modal Type TheoryModal Type Theory
Modal Type Theory
 
Categorical Explicit Substitutions
Categorical Explicit SubstitutionsCategorical Explicit Substitutions
Categorical Explicit Substitutions
 
Ecml2010 Slides
Ecml2010 SlidesEcml2010 Slides
Ecml2010 Slides
 

En vedette

Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
Federico Cerutti
 

En vedette (11)

Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
 
Cerutti--ECSQARU 2009
Cerutti--ECSQARU 2009Cerutti--ECSQARU 2009
Cerutti--ECSQARU 2009
 
Cerutti-AT2013-Trust and Risk
Cerutti-AT2013-Trust and RiskCerutti-AT2013-Trust and Risk
Cerutti-AT2013-Trust and Risk
 
Cerutti--AAAI Fall Symposia 2009
Cerutti--AAAI Fall Symposia 2009Cerutti--AAAI Fall Symposia 2009
Cerutti--AAAI Fall Symposia 2009
 
Cerutti -- TAFA2013
Cerutti -- TAFA2013Cerutti -- TAFA2013
Cerutti -- TAFA2013
 
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
 
Algorithm Selection for Preferred Extensions Enumeration
Algorithm Selection for Preferred Extensions EnumerationAlgorithm Selection for Preferred Extensions Enumeration
Algorithm Selection for Preferred Extensions Enumeration
 
Formal Arguments, Preferences, and Natural Language Interfaces to Humans: an ...
Formal Arguments, Preferences, and Natural Language Interfaces to Humans: an ...Formal Arguments, Preferences, and Natural Language Interfaces to Humans: an ...
Formal Arguments, Preferences, and Natural Language Interfaces to Humans: an ...
 
Cerutti--NMR 2010
Cerutti--NMR 2010Cerutti--NMR 2010
Cerutti--NMR 2010
 
Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...
Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...
Argumentation Extensions Enumeration as a Constraint Satisfaction Problem: a ...
 
Cerutti-AT2013-Graphical Subjective Logic
Cerutti-AT2013-Graphical Subjective LogicCerutti-AT2013-Graphical Subjective Logic
Cerutti-AT2013-Graphical Subjective Logic
 

Similaire à Cerutti--Verification of Crypto Protocols (postgrad seminar @ University of Brescia)

Introduction to cryptography
Introduction to cryptographyIntroduction to cryptography
Introduction to cryptography
Amir Neziri
 
Fuzzy Logic and Biometrics Traits Evaluation_AJOCICT
Fuzzy Logic and Biometrics Traits Evaluation_AJOCICTFuzzy Logic and Biometrics Traits Evaluation_AJOCICT
Fuzzy Logic and Biometrics Traits Evaluation_AJOCICT
Salahdeen Nasiru Kehinde
 
Aizatulin
AizatulinAizatulin
Aizatulin
anesah
 
Ontologies dynamic networks of formally represented meaning1
Ontologies dynamic networks of formally represented meaning1Ontologies dynamic networks of formally represented meaning1
Ontologies dynamic networks of formally represented meaning1
STIinnsbruck
 

Similaire à Cerutti--Verification of Crypto Protocols (postgrad seminar @ University of Brescia) (20)

Crypto cameraready(1) (2)
Crypto cameraready(1) (2)Crypto cameraready(1) (2)
Crypto cameraready(1) (2)
 
Introduction to cryptography
Introduction to cryptographyIntroduction to cryptography
Introduction to cryptography
 
AN ONTOLOGY FOR EXPLORING KNOWLEDGE IN COMPUTER NETWORKS
AN ONTOLOGY FOR EXPLORING KNOWLEDGE IN COMPUTER NETWORKSAN ONTOLOGY FOR EXPLORING KNOWLEDGE IN COMPUTER NETWORKS
AN ONTOLOGY FOR EXPLORING KNOWLEDGE IN COMPUTER NETWORKS
 
Mining knowledge graphs to map heterogeneous relations between the internet o...
Mining knowledge graphs to map heterogeneous relations between the internet o...Mining knowledge graphs to map heterogeneous relations between the internet o...
Mining knowledge graphs to map heterogeneous relations between the internet o...
 
FAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTING
FAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTINGFAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTING
FAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTING
 
Transformer_tutorial.pdf
Transformer_tutorial.pdfTransformer_tutorial.pdf
Transformer_tutorial.pdf
 
A New Key Agreement Protocol Using BDP and CSP in Non Commutative Groups
A New Key Agreement Protocol Using BDP and CSP in Non Commutative GroupsA New Key Agreement Protocol Using BDP and CSP in Non Commutative Groups
A New Key Agreement Protocol Using BDP and CSP in Non Commutative Groups
 
Near Duplicate Document Detection: Mathematical Modeling and Algorithms
Near Duplicate Document Detection: Mathematical Modeling and AlgorithmsNear Duplicate Document Detection: Mathematical Modeling and Algorithms
Near Duplicate Document Detection: Mathematical Modeling and Algorithms
 
Ontologies for Urban Systems ECTQG2007
Ontologies for Urban Systems ECTQG2007Ontologies for Urban Systems ECTQG2007
Ontologies for Urban Systems ECTQG2007
 
Fuzzy Logic and Biometrics Traits Evaluation_AJOCICT
Fuzzy Logic and Biometrics Traits Evaluation_AJOCICTFuzzy Logic and Biometrics Traits Evaluation_AJOCICT
Fuzzy Logic and Biometrics Traits Evaluation_AJOCICT
 
AI3391 Artificial intelligence Unit IV Notes _ merged.pdf
AI3391 Artificial intelligence Unit IV Notes _ merged.pdfAI3391 Artificial intelligence Unit IV Notes _ merged.pdf
AI3391 Artificial intelligence Unit IV Notes _ merged.pdf
 
Rethinking Embedded System Design
Rethinking Embedded System DesignRethinking Embedded System Design
Rethinking Embedded System Design
 
A survey on parallel corpora alignment
A survey on parallel corpora alignment A survey on parallel corpora alignment
A survey on parallel corpora alignment
 
18 786
18 78618 786
18 786
 
A Simple Introduction to Neural Information Retrieval
A Simple Introduction to Neural Information RetrievalA Simple Introduction to Neural Information Retrieval
A Simple Introduction to Neural Information Retrieval
 
Lecture19 xing
Lecture19 xingLecture19 xing
Lecture19 xing
 
Aizatulin
AizatulinAizatulin
Aizatulin
 
Ontologies dynamic networks of formally represented meaning1
Ontologies dynamic networks of formally represented meaning1Ontologies dynamic networks of formally represented meaning1
Ontologies dynamic networks of formally represented meaning1
 
A ROUTING MECHANISM BASED ON SOCIAL NETWORKS AND BETWEENNESS CENTRALITY IN DE...
A ROUTING MECHANISM BASED ON SOCIAL NETWORKS AND BETWEENNESS CENTRALITY IN DE...A ROUTING MECHANISM BASED ON SOCIAL NETWORKS AND BETWEENNESS CENTRALITY IN DE...
A ROUTING MECHANISM BASED ON SOCIAL NETWORKS AND BETWEENNESS CENTRALITY IN DE...
 
FAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTING
FAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTINGFAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTING
FAST DETECTION OF DDOS ATTACKS USING NON-ADAPTIVE GROUP TESTING
 

Plus de Federico Cerutti

Argumentation and Machine Learning: When the Whole is Greater than the Sum of...
Argumentation and Machine Learning: When the Whole is Greater than the Sum of...Argumentation and Machine Learning: When the Whole is Greater than the Sum of...
Argumentation and Machine Learning: When the Whole is Greater than the Sum of...
Federico Cerutti
 

Plus de Federico Cerutti (13)

Security of Artificial Intelligence
Security of Artificial IntelligenceSecurity of Artificial Intelligence
Security of Artificial Intelligence
 
Introduction to Evidential Neural Networks
Introduction to Evidential Neural NetworksIntroduction to Evidential Neural Networks
Introduction to Evidential Neural Networks
 
Argumentation and Machine Learning: When the Whole is Greater than the Sum of...
Argumentation and Machine Learning: When the Whole is Greater than the Sum of...Argumentation and Machine Learning: When the Whole is Greater than the Sum of...
Argumentation and Machine Learning: When the Whole is Greater than the Sum of...
 
Human-Argumentation Experiment Pilot 2013: Technical Material
Human-Argumentation Experiment Pilot 2013: Technical MaterialHuman-Argumentation Experiment Pilot 2013: Technical Material
Human-Argumentation Experiment Pilot 2013: Technical Material
 
Probabilistic Logic Programming with Beta-Distributed Random Variables
Probabilistic Logic Programming with Beta-Distributed Random VariablesProbabilistic Logic Programming with Beta-Distributed Random Variables
Probabilistic Logic Programming with Beta-Distributed Random Variables
 
Supporting Scientific Enquiry with Uncertain Sources
Supporting Scientific Enquiry with Uncertain SourcesSupporting Scientific Enquiry with Uncertain Sources
Supporting Scientific Enquiry with Uncertain Sources
 
Introduction to Formal Argumentation Theory
Introduction to Formal Argumentation TheoryIntroduction to Formal Argumentation Theory
Introduction to Formal Argumentation Theory
 
Handout: Argumentation in Artificial Intelligence: From Theory to Practice
Handout: Argumentation in Artificial Intelligence: From Theory to PracticeHandout: Argumentation in Artificial Intelligence: From Theory to Practice
Handout: Argumentation in Artificial Intelligence: From Theory to Practice
 
Argumentation in Artificial Intelligence: From Theory to Practice
Argumentation in Artificial Intelligence: From Theory to PracticeArgumentation in Artificial Intelligence: From Theory to Practice
Argumentation in Artificial Intelligence: From Theory to Practice
 
Handout for the course Abstract Argumentation and Interfaces to Argumentative...
Handout for the course Abstract Argumentation and Interfaces to Argumentative...Handout for the course Abstract Argumentation and Interfaces to Argumentative...
Handout for the course Abstract Argumentation and Interfaces to Argumentative...
 
Argumentation in Artificial Intelligence: 20 years after Dung's work. Left ma...
Argumentation in Artificial Intelligence: 20 years after Dung's work. Left ma...Argumentation in Artificial Intelligence: 20 years after Dung's work. Left ma...
Argumentation in Artificial Intelligence: 20 years after Dung's work. Left ma...
 
Argumentation in Artificial Intelligence: 20 years after Dung's work. Right m...
Argumentation in Artificial Intelligence: 20 years after Dung's work. Right m...Argumentation in Artificial Intelligence: 20 years after Dung's work. Right m...
Argumentation in Artificial Intelligence: 20 years after Dung's work. Right m...
 
Argumentation in Artificial Intelligence
Argumentation in Artificial IntelligenceArgumentation in Artificial Intelligence
Argumentation in Artificial Intelligence
 

Dernier

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Cerutti--Verification of Crypto Protocols (postgrad seminar @ University of Brescia)

  • 1. On the Verification of Cryptographic Protocols Federico Cerutti Dipartimento di Ingegneria dell’Informazione, Universit`a di Brescia Via Branze 38, I-25123 Brescia, Italy January 11, 2011 Talk at Prof. Giuzzi’s Course: “Algebra for coding theory and cryptography” c 2010 Federico Cerutti <federico.cerutti@ing.unibs.it>
  • 2. From Cryptography to Protocols Cryptography hides information: send or receive messages in encrypted form Cryptographic functions can be put to use in more creative ways to design security protocols [Needham and Schroeder, 1978]’s security goals: Establishment of authenticated interactive communication (greeting messages over the phone) One-way authentication (both parties could not be available at the same time) Signed communication (nonrepudiation feature, the recepient can prove to a third party that the message originated from the claimed sender) c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 2
  • 3. Needham Schroeder Protocol (NS) [Needham and Schroeder, 1978] Notation: Principals (e.g. A, B) Encryption keys, as shared keys (e.g. Kab), public keys (e.g. Ka), and the corresponding private keys (e.g. K−1 a ) Statements or formulae (e.g. Na) S A B 1: A, B 2: {Kb, B} K −1 s 3: {Na, A}Kb 6: {Na, Nb}Ka 7: {Nb}Kb 4: B, A 5: {Ka, A} K −1 s Assumption: both parties know S’ public key Message 1: A → S: A, B Message 5: S → B: {Ka, A} K −1 s Message 2: S → A: {Kb, B} K −1 s Message 6: B → A: {Na, Nb}Ka Message 3: A → B: {Na, A}Kb Message 7: A → B: {Nb}Kb Message 4: B → S: B, A c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 3
  • 4. Important issues in designing of authentication protocols The adversary attacking a network protocol can actively interfere (interposition, eavesdropping, alteration, dropping, duplication, rerouting, messages rearranging). Encryption is a basic tool for the construction of protocols, but it needs to be used properly in order to achieve the security goal. Security goal can be (and should be) defined independently from the underlying cryptographic techniques (symmetric/asymmetric cryptography. . . ) used in the solution. Recognize the need for techniques for the verification and analysis of security protocols. Protocols such as those developed here are prone to extremely subtle errors that are unlikely to be detected in normal operation. The need for techniques to verify the correctness of such protocols is great, and we encourage those interested in such problems to consider this area. [Needham and Schroeder, 1978] c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 4
  • 5. Dolev, Yao Burrows, Abadi, Needham Delagrande, Grote, Hunter c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 5
  • 6. The first attempt: the Dolev-Yao (DY) model [Dolev and Yao, 1981] Very constrained Does not allow to describe many interesting protocols But: It is the first paper providing a formal model The adversarial model is still quite general They show that by restricting the class of target protocols one can obtain interesting algorithmic results Important requirements: A precise language for the description of protocols A formal execution model that describes how the protocol is run, possibly in the presence of an adversary. This includes a description of the adversary’s capabilities A formal language for specifying desired security protocols c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 6
  • 7. DY Assumptions A perfect public key system, where: the one-way functions used are unbreakable the public directory is secure and cannot be tampered with everyone has access to all public keys the private keys are known by the legitimate user In a two-party protocol, only the two users who wish to communicate are involved in the transmission process Only “active” eavesdroppers, or someone who first taps the communication line to obtain messages and then tries everything he can in order to discover the plaintext. A saboteur: can obtain any message passing through the network is a legitimate user of the network (he can initiate a conversation with any other user) will have the opportunity to be a receiver to any user c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 7
  • 8. DY sketched Let Σ be a finite alphabet of operator symbols and Σ∗ be the set of all finite strings over Σ including the empty word λ. Σ = {d} ∪ {EX, DX, iX, dX|X is a user name} Reduction rules EXDX → λ DXEX → λ dXiX → λ diX → λ A Ping-pong protocol P(S, R) between the users S and R is a sequence of strings α1, α2, . . . , αl such that αi ∈ Σ∗ S if i is odd and αi ∈ Σ∗ R otherwise. [Dolev et al., 1982] ∆ = (ΣZ ∪ {αi(X, Y )|1 ≤ i ≤ l, X and Y are different users})∗ is an operator-words of the adversary. Let α1(S, R) be the first word of P(S, R) and Z an adversary. P is insecure, if there exists a string γ ∈ ∆ such that γα1 = λ c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 8
  • 9. DY Executed Example ([Stamer, 2005]) 1 A → B : {{m}KB , A}KB , α1(A, B) = EBiAEB 2 B → A : {{m}KA , B}KA , α2(A, B) = EAiBEADBdADB γ = DZdADZ Z EZiAEZDAdZDA A(3) EAiZdDZdADZ Z(3) EZiAEZDAdZDA A(2) EAiZ Z(2) γ α2α1 = λ γ = γ α2 γα1 = λ Theorem ([Dolev et al., 1982]) For “Ping-Pong” protocols there exists a security checking algorithm whose input are the generic cancellation rules and the protocol. The time-complexity is O(n3), where n is the length of the input. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 9
  • 10. DY explained [Stamer, 2005] 1.1 A → B: {{m}Kb , A}Kb 1.2 B → Z/A: {{m}Ka , B}Ka 2.1 Z → A: {{{m}Ka , B}Ka , Z}Ka 2.2 A → Z: {{{m}Ka , B}Kz , A}Kz 3.1 Z → A: {{m}Ka , Z}Ka 3.2 A → Z: {{m}Kz , Z}Kz At the end, Z knows m. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 10
  • 11. DY Conclusions First paper that provides a formal model Protocol restrictions are mostly on honest participants and the protection goal The adversarial model is still quite general Theoretical results Simple security characterization for a subclass of protocols Security problem decidable in polynomial time Not general enough Difficult to extend It does not consider the evolution of the message exchanging c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 11
  • 12. Dolev, Yao Burrows, Abadi, Needham Delagrande, Grote, Hunter c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 12
  • 13. A Logic of Authentication (BAN) [Burrows et al., 1990] A more general approach Goal of authentication (informally and imprecisely): after authentication, two principals (people, computers, services) should be entitled to believe that they are communicating with each other and not with intruders BAN helps in answering the following questions: Does this protocol work? Can it be made to work? Exactly what does this protocol achieve? Does this protocol need more assumptions than another protocol? Does this protocol do anything unnecessary? BAN assumes totally corrected implementations of protocols and cryptosystems BAN is focused on the beliefs of trustworthy parties involved in the protocols and on the logic evolution of these beliefs as a consequence of communication c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 13
  • 14. What is Logic A way for formalizing knowledge through sentences. . . The sentences have to be expressed according to the syntax of the representation language We need the semantics of the language, which defines the truth of each sentence with respect to each possible world (or model) . . . and for reasoning over this knowledge Entailment relation: α |= β means that the sentence α entails the sentence β, or that in every model in which α is true, β is also true c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 14
  • 15. Logic is ancient All men are mortal, Socrates is a man, therefore Socrates is mortal. MP man(X) man(X) → mortal(X) mortal(X) man(Socrates) |= mortal(Socrates) In every model (or in every possible world) where Socrates actually is a man, then actually Socrates is mortal. man(X) mortal(X) man(X) → mortal(X) T T T T F F F T T F F F c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 15
  • 16. Formal theory [Mendelson, 2010] Definition (Conditions for L being a formal theory) 1 A countable set of symbols is given as the symbols of L; every its finite sequence of symbolsis called an expression of L. 2 There is a subset of the set of expressions of L called the set of well-formed formulas (wfs) of L. There is usually an effective procedure to determine whether a given expression is a wf. 3 There is a set of wfs called the set of axioms of L. If one can effectively decide whether a given wf is an axiom, then L is called an axiomatic theory. 4 There is a finite set R1, . . . , Rn of relations among wfs, called rules of inference. For each Ri, there is a unique positive integer j such that, for every set of j wfs and each wf B, one can effectively decide whether the given j wfs are in the relation Ri to B, and, if so, B is said to follow from or to be a direct consequence of the given wfs by virtue of Ri c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 16
  • 17. Formal theory [Mendelson, 2010] Definition A proof in a formal theory L is a sequence B1, . . . , Bj of wfs such that, for each i either Bi is an axiom of L or Bi i- a direct consequence of some of the preceding wfs in the sequence by virtue of one of the rules of inference of L. Definition A theorem of L is a wf B of L such that B is the last wf of some proof in L. Such a proof is called a proof of B in L. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 16
  • 18. Formal theory [Mendelson, 2010] Definition A wf B is said to be a consequence in L of a set Γ of wfs if and only if there is a sequence B1, . . . , Bk of wfs such that C is Bk and, for each i, either Bi is an axiom or Bi is Γ, or Bi is a direct consequence by some rule of inference of some of the preceding wfs in the sequence. Such a sequence is called a proof (or a deduction) of C from Γ. The members of Γ are called the hypotheses or premises of the proof. We use Γ C as an abbreviation for “C is a consequence of Γ”. The following are simple properties of the notion of consequence: 1 If Γ ⊆ ∆ and Γ C, then ∆ C; 2 Γ C if and only if there is a finite subset ∆ of Γ such that ∆ C; 3 If ∆ C, and for each B in ∆, Γ B, then Γ C. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 16
  • 19. Formal axiomatic theory L1 [Mendelson, 2010, Kleene, 1952] 1 The symbols of L1 are ¬, ⇒, (, ), ∧, ∨, and the letters Ai with positive integers i as subscripts: A1, A2, A3, . . .. The symbols ¬ and ⇒ are called primitive connectives, and the letters Ai are called statement letters. 2 a All statement letters are well-formed formulas (wfs). b If B and C are wfs, then so are (¬B), (B ⇒ C), (B ∧ C), and (B ∨ C). c C is a wfs if and only if there is a finite sequence B1, . . . , Bn, (n ≥ 1) such that Bn = C and, if 1 ≤ i ≤ n, Bi is either a wfs or a negation (Bi = (¬Bk), k < i), or conditional (Bi = (Bj ⇒ Bl), j < i, l < i), or a conjunction, or a disjunction constructed from previous expression in the sequence. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 17
  • 20. Formal axiomatic theory L1 [Mendelson, 2010, Kleene, 1952] 1 If B, C and D are wfs of L1, then the following are axioms of L1: A1 B ⇒ (C ⇒ B); A2 (B ⇒ (C ⇒ D)) ⇒ ((B ⇒ C) ⇒ (B ⇒ D)); A3 (B ∧ C) ⇒ B; A4 (B ∧ C) ⇒ C; A5 B ⇒ (C ⇒ (B ∧ C)); A6 B ⇒ (B ∨ C); A7 C ⇒ (B ∨ C); A8 (B ⇒ D) ⇒ ((C ⇒ D) ⇒ (B ∨ C ⇒ D)); A9 (B ⇒ C) ⇒ ((B ⇒ ¬C) ⇒ ¬B)); A10 ¬¬B ⇒ B. 2 The only rule of inference of L1 is modus ponens: C is a direct consequence of B and (B ⇒ C). c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 17
  • 21. The BAN formalism Logic with principals (P, Q, R . . .), encryption keys (K...) and formulas or statements (X, Y, . . .). Conjunction is the only propositional connective P believes X, the principal P may act as though X is true P sees X, someone has sent a message containing X to P, who can read and repeat X P said X, P at some time sent a message including the statement X; it is known that P believed X then P controls X, P is an authority on X and should be trusted on this matter fresh X, X has not been sent in a message at any time before the current run of the protocol P K ↔ Q, P and Q may use the shared key K to communicate K → P, P has public key K (and the relative private key K−1 which is good P X Q, the formula X is a secret known only to P and Q, and possibly to principals trusted by them {X}K , the formula X is encrypted under the key K X Y , the formula X is combined with the formula Y , it is intended that Y be a secret and that its presence prove the identity of whoever utters X Y c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 18
  • 22. Logical Postulates: preliminaries Two epochs: present that begins at the start of the particular run of the protocol under consideration past indeed all messages sent before the present are considered to be in the past and should not be accepted as recent All beliefs held in the present are stable for the entirety of the protocol run Beliefs held in the past are not necessarily carried forward into the present A message cannot be understood by a principals who does not know the key The key cannot be deduced from the encrypted message Each encrypted message contains sufficient redundancy to allow a principal who decrypts it to verify that he has used the right key c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 19
  • 23. The postulates 1 Message-meaning P believes K → Q P sees {X}K−1 P believes Q said X . . . 2 Nonce-verification P believes fresh X P believes Q said X P believes Q believes X 3 Jurisdiction P believes Q controls X P believes Q believes X P believes X 4 Composition . . . 5 Freshness of composed messages with nonces . . . c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 20
  • 24. Needham Schroeder Protocol (NS) [Needham and Schroeder, 1978] Notation: Principals (e.g. A, B) Encryption keys, as shared keys (e.g. Kab), public keys (e.g. Ka), and the corresponding private keys (e.g. K−1 a ) Statements or formulae (e.g. Na) S A B 1: A, B 2: {Kb, B} K −1 s 3: {Na, A}Kb 6: {Na, Nb}Ka 7: {Nb}Kb 4: B, A 5: {Ka, A} K −1 s Assumption: both parties know S’ public key Message 1: A → S: A, B Message 5: S → B: {Ka, A} K −1 s Message 2: S → A: {Kb, B} K −1 s Message 6: B → A: {Na, Nb}Ka Message 3: A → B: {Na, A}Kb Message 7: A → B: {Nb}Kb Message 4: B → S: B, A c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 21
  • 25. NS idealized Original Idealized Message 1 A → S: A, B Message 2 S → A: {Kb, B}K−1 s S → A: { Kb → B}K−1 s Message 3 A → B: {Na, A}Kb A → B: {Na}Kb Message 4 B → S: B, A Message 5 S → B: {Ka, A}K−1 s S → B: { Ka → A}K−1 s Message 6 B → A: {Na, Nb}Ka B → A: { A Nb B Na }Ka Message 7 A → B: {Nb}Kb A → B: { A Na B Nb }Kb Messages 1 and 4 do not contribute to the logical properties In message 3, Na is not known by B and thus is not being used to prove the identity of A In messages 6 and 7, Na and Nb are used as secrets c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 22
  • 26. NS analyzed A believes Ka → A B believes Kb → B A believes Ks → S B believes Ks → B S believes Ka → A S believes Kb → B S believes Ks → S A believes ∀K S controls K → B B believes ∀K S controls K → A A believes fresh Na B believes fresh Nb A believes A Na B B believes A Nb B A believes fresh Kb → B B believes fresh Ka → A A believes Kb → B B believes Ka → A A believes B believes A Nb B B believes A believes A Na B c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 23
  • 27. BAN Explained [Burrows et al., 1989] A believes S controls Kb → B A believes fresh Kb → B A believes Ks → S A sees { Kb → B} K −1 s A believes S said Kb → B A believes S believes Kb → B A believes Kb → B where (1) Message Meaning [assumption]A believes Ks → S [message 2]A sees { Kb → B} K −1 s A believes S said Kb → B (2) Nonce verification [assumption]A believes fresh Kb → B [(1)]A believes S said Kb → B A believes S believes Kb → B Jurisdiction rule [assumption]A believes S controls Kb → B [(2)]A believes S believes Kb → B A believes Kb → B c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 24
  • 28. BAN Conclusions First logic for protocol verification Description of proof systems BAN enables us to exhibit step by step how beliefs are built up to the point of mutual authentication It can guide in identifying mistakes and in suggesting corrections It lacks on semantics [Abadi and Tuttle, 1991, Mao and Boyd, 1993, Delgrande et al., 2009] It is not in a pure declarative form rather it has to idealize a protocol It cannot reveal some kinds of attack (like reflection attack) c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 25
  • 29. Dolev, Yao Burrows, Abadi, Needham Delagrande, Grote, Hunter c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 26
  • 30. New Idea in Logic Verification of Cryptographic Protocols [Delgrande et al., 2009] Standard specification of protocols is both incomplete and imprecise The Goal of the protocol in not explicitly given (incomplete), therefore it is difficult to determine if a given trace constitutes an attack It is not clear what A → B means (imprecise): it does not means that A successfully sends the message to B; instead: A intends to send the message to B A actually sends the message to someone Not only beliefs but also intentions Aim: define a logic program in which the answer sets correspond to sequences of exchanged messages between agents c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 27
  • 31. A logic program Definitions: It is a picture of why and how you believe a program/policy will work The foundation of program planning and the key tool of program evaluation A series of “if-then” relationships that, if implemented as intended, lead to the desired outcomes Example ([Lamperti, 2011]) speak(al, russian). speak(robert, english). speak(mary, russian). speak(mary, english). communicate(X, Y ) ← speak(X, L), speak(Y, L), X = Y. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 28
  • 32. The Answer Set {Programming|Prolog} (ASP) in a Nutshell [Gelfond, 2008] Declarative programming based on the stable model semantics of logic programming [Gelfond and Lifschitz, 1988], autoepistemic logic [Moore, 1985], and default logic [Reiter, 1980] Literals: p(ˆt), ¬p(ˆt) (ˆt is a term) Rules: l0 or . . . or lk ← lk+1, . . . , lm, not lm+1, . . . , not ln. or is the epistemic disjunction not is default negation (aka negation as failure): literals possibly preceded by default negation are called extended literals Constraint: ← l0, . . . , ln. Fact: l0 or . . . or lk. Choice rules: i {p, q} j (at least i of the enclosed atoms are true, but not more that j) Conditions: p(X) : q(X) (e.g. if we have q(a), q(b), then we can instantiate p(a), p(b)) c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 29
  • 33. The Answer Set {Programming|Prolog} (ASP) in a Nutshell [Gelfond, 2008] Definition A program of Answer Set Prolog is a pair {σ, Π} where σ is a signature and Π is a collection of logic programming rules over σ. Given a logic program Π, the corresponding signature is denoted by σ(Π). If σ(Π) is not explicitly given, it is assumed it consists of symbols occurring in the program. Terms, literals, and rules of Π are called ground if they contain no variables and no symbols for arithmetic functions. A rule r is called a ground instance of a rule r of Π if it is obtained from r by: 1 replacing r’s non-integer variables by properly typed ground terms of σ(Π) 2 replacing r’s variables for non-negative integers by numbers 3 replacing the remaining occurrences of numerical terms by their values c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 29
  • 34. ASP partial interpretation [Gelfond, 2008] Definition (Partial interpretation of σ) A set of ground literals G = {l0, . . . , lk} is consistent iff i, j s.t. li = ¬lj. Consistent sets of ground literals over σ are called partial interpretations of σ. Given a partial interpretation S: l ground literal, ¯l = ¬l, l is true if l ∈ S, false if ¯l ∈ S, unknown otherwise not l extended literal is true if l /∈ S, false otherwise conjunction of extended literals U is true if all elements of U is true in S, false if at least one element of U is false in S, unknown otherwise disjunction of literals D is true if at least one of its members is true in S, false if all members of D is false in S, unknown otherwise c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 30
  • 35. ASP: negation as failure [Gelfond, 2008] Non-monotonic inference rule in logic programming not p is derived from failure of deriving p Example cross railroad ← ¬train approaches. “If you know that the train not approaches, then cross the railroad”. cross railroad ← not train approaches. “If you don’t known if the train approaches or not, then cross the railroad”. Incomplete information! Example fly(X) ← bird(X), not abnormal(X). abnormal(X) ← penguin(X). “Each bird flies, except abnormal ones”. Defaults! c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 31
  • 36. ASP: epistemic disjunction [Gelfond, 2008] In classical logic, A ∨ B forbids that both A and B are false In epistemic logic, A or B means that every possible set of reasoner’s belief must satisfy A or satisfy B. Example node(X) ← arc(X, Y ). node(Y ) ← arc(X, Y ). color(X, red) or color(X, green) or color(X, blue) ← node(X). I know that an arc is between two nodes of a graph, and I know that each node has a colour that is one of the following, red, green, or blue. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 32
  • 37. ASP: the answers set semantics [Gelfond, 2008] Definition A partial interpretation S of σ(Π) is an answer set for Π if S is minimal (w.r.t. set inclusion) partial interpretation satisfying the rules of Π. An answer set corresponds to a possible set of beliefs which can be built by a rational reasoner on the basis of rules of Π. In the construction of such a set, S, the reasoner is assumed to be guided by the following informal principles: S must satisfy the rules of Π the reasoner should adhere to the rationality principle which says that one shall not believe anything one is not forced to believe (minimality) c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 33
  • 38. An example in ASP Example ([Eiter, 2008]) person(joey). male(X) or female(X) ← person(X). bachelor(X) ← male(X), not married(X). Two answer sets: 1 {person(joey), male(joey), bachelor(joey)} 2 {person(joey), female(joey)} c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 34
  • 39. The DGH approach Three independent modules: 1 Protocol module: it includes generic information about message passing and protocols 2 Intruder module: it includes a specification of the intruders capabilities 3 Instance module: it includes the structure of a specific protocol c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 35
  • 40. The DGH approach: Protocol module General message passing framework Principals’ holdings, capabilities, . . . Keys: asymmetric and symmetric key encryption Nonces or timestamp Actions (e.g. send and receive) Time (discrete): actions occur at some point in time (to keep the search space manageable, a single time step is used for one agent to receive a message, decrypt its contents, compose a reply, encrypt and send it) Notion of appropriateness: matching of messages Two auxiliary predicates: 1 talked: to indicate that two agents have successfully communicated 2 authenticated: is part of goal specification c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 36
  • 41. The DGH approach: Protocol module send (A, B, M, T) : - wants(A, send (A, B, M) , T) , has (A, M, T) . receive (A, B, M, T+1) : - send (B, A, M, T) , not intercept (M, T+1) {wants(A, send (A, B, M) , T) } 1 : - receive (A, B, M2, T) , f i t (msg( J , B, A, M2) , msg( J+1, A, B, M) ) talked (A, B, T+1) : - send (A, B, M, T) , receive (B, A, M, T+1). authenticated (A, B, T) : - send (A, B, enc (M1, K1) , T1 ) , fresh (A, nonce (A, Na) , T1 ) , part m ( nonce (A, Na) , M1) , key pair (K1 , Kinv1 ) , has (A, K1 , T1 ) , has (B, Kinv1 , T1 ) , not has (C, Kinv1 , T1) : agent (C) : C != B, send (B, A, enc (M2, K2) , T2 ) , receive (A, B, enc (M2, K2) , T) , part m ( nonce (A, Na) , M2) , key pair (K2 , Kinv2 ) , has (B, K2 , T1 ) , has (A, Kinv2 , T1 ) , not has (C, Kinv2 , T1 ) : agent (C) : C != A, T1 < T2 , T2 < T. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 37
  • 42. The DGH approach: Intruder module This module specifies all aspects of the intruder The intruder model is flexible and easy to modify Holdings: the public key of every agent a public-private key pair (in order to pretend to be an honest agent) Capabilities: intercept messages and it receives the messages that it intercepts send messages whenever it wants to fake the sender name of messages it sends 0 { intercept (M, T+1) } 1 : - send (A, B, M, T) . receive ( I , A, M, T+1) : - send (A, B, M, T) , intercept (M, T+1). 1 { receive (A, B, M, T+1) : principal (B) } 1 : - send ( I , A, M, T) . c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 38
  • 43. The DGH approach: Instance module Messages (NS simplified case) A B 1: {Na, A}Kb 2: {Na, Nb}Ka 3: {Nb}Kb msg( 1 , A, B, enc (m( nonce (C, Na) , principal (A) ) , pub key (B ) ) ) . msg( 2 , B, A, enc (m( nonce (C, Na) , nonce (D, Nb) ) , pub key (A) ) ) . msg( 3 , A, B, enc (m( nonce (D, Nb) ) , pub key (B ) ) ) . c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 39
  • 44. The DGH approach: Instance module Goals and Attacks Goals: both principals should believe that the other one is authenticated and that they actually are goal (A, B, T) : - authenticated (A, B, T) , believes (A, authenticated (A, B) , T) , authenticated (B, A, T) , believes (B, authenticated (B, A) , T) . Attacks: run of the protocol that causes an agent to believe the goal is true, when in fat the goal is not true attack : - believes (A, authenticated (A, B) , T) , not authenticated (A, B, T) . c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 40
  • 45. DGH Executed send ( a , i , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( i ) ) , 0 ) receive ( i , a , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( i ) ) , 1 ) send ( i , b , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( b ) ) , 1 ) receive (b , a , enc (m( nonce ( a , 1 ) , principal ( a ) ) , pub key ( b ) ) , 2 ) send (b , a , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 2 ) receive ( i , b , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 3 ) send ( i , a , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 3 ) authenticated ( a , i , 4 ) believes ( a , authenticated ( a , i ) , 4 ) believes ( a , completed ( a , i ) , 4 ) receive ( a , i , enc (m( nonce ( a , 1 ) , nonce (b , 1 ) ) , pub key ( a ) ) , 4 ) send ( a , i , enc (m( nonce (b , 1 ) ) , pub key ( i ) ) , 4 ) authenticated ( a , i , 5 ) believes ( a , authenticated ( a , i ) , 5 ) believes ( a , completed ( a , i ) , 5 ) receive ( i , a , enc (m( nonce (b , 1 ) ) , pub key ( i ) ) , 5 ) send ( i , b , enc (m( nonce (b , 1 ) ) , pub key ( b ) ) , 5 ) authenticated ( a , i , 6 ) believes ( a , authenticated ( a , i ) , 6 ) believes ( a , completed ( a , i ) , 6 ) believes (b , authenticated (b , a ) , 6 ) believes (b , completed (b , a ) , 6 ) receive (b , a , enc (m( nonce (b , 1 ) ) , pub key ( b ) ) , 6 ) c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 41
  • 46. DGH Explained (reflection attack) Two parallel protocol runs. 1.1 A → I: {Na, A}Ki 2.1 IA → B: {Na, A}Kb 2.2 B → IA: {Na, Nb}Ka 1.2 I → A: {Na, Nb}Ka 1.3 A → I: {Nb}ki 2.3 IA → B: {Nb}kb I knows Nb. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 42
  • 47. Conclusions Cryptography is not enough Protocols use cryptography to reach goals like authentication The verification of protocols is still an open challenge DY ’80 First attempt Computable algorithm BAN Logic ’90 Specific logic for authentication Focused on beliefs DGH 2009 “General purpose” logic: reuse of results in ASP theory Deal with both beliefs and intentions More on [Chen et al., 2008] c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 43
  • 48. References I [Abadi and Tuttle, 1991] Abadi, M. and Tuttle, M. R. (1991). A semantics for a logic of authentication (extended abstract). In Proceedings of the tenth annual ACM symposium on Principles of distributed computing, PODC ’91, pages 201–216, New York, NY, USA. ACM. [Bornat and Sufrin, 2008] Bornat, R. and Sufrin, B. (2008). Jape. http://jape.comlab.ox.ac.uk:8080/jape/. [Burrows et al., 1990] Burrows, M., Abadi, M., and Needham, R. (1990). A logic of authentication. ACM Trans. Comput. Syst., 8:18–36. [Burrows et al., 1989] Burrows, M., Abadi, M., and Needham, R. M. (1989). A logic of authentication, rep. 39. Technical report, Digital Equipment Corporation Systems Research Center, Palo Alto, Calif. [Chen et al., 2008] Chen, Q., Zhang, C., and Zhang, S. (2008). Secure transaction protocol analysis: models and applications. Springer-Verlag, Berlin, Heidelberg. [Delgrande et al., 2009] Delgrande, J., Grote, T., and Hunter, A. (2009). A general approach to the verification of cryptographic protocols using answer set programming. In Erdem, E., Lin, F., and Schaub, T., editors, Logic Programming and Nonmonotonic Reasoning, volume 5753 of Lecture Notes in Computer Science, pages 355–367. Springer Berlin / Heidelberg. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 44
  • 49. References II [Dolev et al., 1982] Dolev, D., Even, S., and Karp, R. (1982). On the security of ping-pong protocols. Information and Control, 55(1-3):57 – 68. [Dolev and Yao, 1981] Dolev, D. and Yao, A. C. (1981). On the security of public key protocols. Technical report, Stanford, CA, USA. [Dolev and Yao, 1983] Dolev, D. and Yao, A. C. (1983). On the security of public key protocols. Information Theory, IEEE Transactions on, 29(2):198–208. [Eiter, 2008] Eiter, T. (2008). Answer set programming in a nutshell. http://gradlog.informatik.uni-freiburg.de/gradlog/slides_ak/eiter_asp.pdf. [Gelfond, 2008] Gelfond, M. (2008). Chapter 7 answer sets. In Frank van Harmelen, V. L. and Porter, B., editors, Handbook of Knowledge Representation, volume 3 of Foundations of Artificial Intelligence, pages 285 – 316. Elsevier. [Gelfond and Lifschitz, 1988] Gelfond, M. and Lifschitz, V. (1988). The stable model semantics for logic programming. In ICLP/SLP, pages 1070–1080. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 45
  • 50. References III [Kleene, 1952] Kleene, S. C. (1952). Introduction to Metamatematics. [Lamperti, 2011] Lamperti, G. (2011). Programmazione logica. http://www.ing.unibs.it/ lamperti/lp/lezioni/lp-logico.pdf. [Leone et al., ] Leone, N., Pfeifer, G., and Faber, W. The dlv project. http://www.dbai.tuwien.ac.at/proj/dlv/. [Lifschitz, 2008] Lifschitz, V. (2008). What is answer set programming? In Proceedings of the AAAI Conference on Artificial Intelligence, pages 1594–1597. MIT Press. [Mao and Boyd, 1993] Mao, W. and Boyd, C. (1993). Towards formal analysis of security protocols. In Computer Security Foundations Workshop VI, 1993. Proceedings. [Mendelson, 2010] Mendelson, E. (2010). Introduction to Mathematical Logic: Fifth Edition. [Micciancio, 2005] Micciancio, D. (2005). Cse208: Spring 2005 - advanced cryptography: Symbolic methods for security analysis. http://cseweb.ucsd.edu/classes/sp05/cse208/index.html. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 46
  • 51. References IV [Moore, 1985] Moore, R. C. (1985). Semantical considerations on nonmonotonic logic. Artif. Intell., 25:75–94. [Needham and Schroeder, 1978] Needham, R. M. and Schroeder, M. D. (1978). Using encryption for authentication in large networks of computers. Commun. ACM, 21:993–999. [Reiter, 1980] Reiter, R. (1980). A logic for default reasoning. Artificial Intelligence, 13(1-2):81–132. [Stamer, 2005] Stamer, H. (2005). Verification of cryptographic protocols part 1: The dolev-yao model and “ping-pong” protocols. http://www.theory.informatik.uni-kassel.de/~stamer/RewritingOverview_slides.pdf. c 2011 Federico Cerutti <federico.cerutti@ing.unibs.it> January 2011 47