30.01.2013 Views

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50 CHAPTER 2. PROTOCOL ANALYSIS USING CONSTRAINT SOLVING<br />

And the role receiver (or B) is given by a tuple constructed by the follow:<br />

• KB = {B, S, A, NB, KBS},<br />

• <strong>and</strong> the set <strong>of</strong> rules is:<br />

B1 : v4 ⇒ encs (NB, π1(decs ?<br />

(v4, KBS))); v4 = encs (〈X3, Y3〉, KBS)<br />

B2 :<br />

?<br />

v5 ⇒ ∅; v5 = encs (NB − 1, π1(decs (v4, KBS)))<br />

Before describing the execution <strong>of</strong> a protocol, we need to describe the execution<br />

<strong>of</strong> a role. In the high level specification <strong>of</strong> a protocol, a role represents an abstract<br />

participant in the protocol, while a concrete participant <strong>of</strong> the protocol, denoted an<br />

agent (or instance <strong>of</strong> role), is as represented below:<br />

Definition 31 (Instance <strong>of</strong> role) An instance <strong>of</strong> role R is obtained from the role R by<br />

instantiating its parameters, that is its initial knowledge, KR, <strong>and</strong> its fresh values. If R<br />

is a role, <strong>and</strong> σ is a substitution instantiating the parameters <strong>of</strong> R, Rσ is an instance <strong>of</strong><br />

that role.<br />

Let an instance <strong>of</strong> role defined by ({vi ⇒ Si; Ui} i∈I , K), by definition <strong>of</strong> role (Definition<br />

30), <strong>and</strong> by definition <strong>of</strong> instance <strong>of</strong> role (Definition 31), it is easy to see<br />

that V ar(Si) ⊆ {v1, . . . , vi} for i ∈ {1, . . . , ♮I}.<br />

An agent, also called a concrete participant in the protocol, should play a role<br />

in that protocol. To this end, he should instantiate that role. An agent could<br />

instantiate many roles, or instantiate the same role many time.<br />

Definition 32 (Instance <strong>of</strong> protocol) An instance <strong>of</strong> a protocol P is defined by a<br />

union <strong>of</strong> instances <strong>of</strong> P roles <strong>and</strong> by a set <strong>of</strong> ground terms representing the initial<br />

knowledge <strong>of</strong> the intruder I. We denote an instance <strong>of</strong> the protocol P as follows:<br />

({vi ⇒ Si; Ui}i∈I,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!