19.11.2012 Views

A review of Proverif as an automatic security protocol verifier

A review of Proverif as an automatic security protocol verifier

A review of Proverif as an automatic security protocol verifier

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.

have also published a tool, XOR-ProVerif, to perform the mentioned tr<strong>an</strong>slation<br />

<strong>automatic</strong>ally.<br />

4.3 Diffie-Hellm<strong>an</strong><br />

Another primitive that is <strong>of</strong>ten employed in cryptographic <strong>protocol</strong>s is Diffie-<br />

Hellm<strong>an</strong> key exch<strong>an</strong>ge[20]. In its b<strong>as</strong>ic form, the method enables two particip<strong>an</strong>ts<br />

in a <strong>protocol</strong> run to construct a shared key without <strong>an</strong>y previously shared secret.<br />

This key c<strong>an</strong> be used in subsequent communications between these parties.<br />

However, the nature <strong>of</strong> the <strong>protocol</strong> depends on the nature <strong>of</strong> (discrete) exponentiation.<br />

For example, the method works because exponentiation in a group<br />

is commutative (i.e. a xy = a yx for <strong>an</strong>y a, x <strong>an</strong>d y). A <strong>protocol</strong> <strong>verifier</strong> such <strong>as</strong><br />

ProVerif does not enable a researcher to explicitly describe the algebraic properties<br />

used in the <strong>protocol</strong>s that he checks. Therefore, <strong>as</strong> w<strong>as</strong> also described in<br />

section 4.2 for the c<strong>as</strong>e <strong>of</strong> the XOR, it is difficult to directly <strong>as</strong>sert properties <strong>of</strong><br />

a <strong>protocol</strong> that uses such primitives.[29]<br />

However, this problem w<strong>as</strong> resolved recently, <strong>as</strong> a method w<strong>as</strong> constructed by<br />

Küsters <strong>an</strong>d Truderung in [29] to rewrite <strong>protocol</strong>s using Diffie-Hellm<strong>an</strong> exponentiation<br />

to a <strong>protocol</strong> definition without such primitives. This definition c<strong>an</strong><br />

in turn be tr<strong>an</strong>slated to a specification consisting <strong>of</strong> Horn clauses. ProVerif will<br />

then be able to <strong>an</strong>alyze this rewritten specification. The method that is discussed<br />

is able to implement both the commutativity <strong>of</strong> exponentiation <strong>an</strong>d the<br />

calculation <strong>of</strong> the multiplicative inverse <strong>of</strong> <strong>an</strong> element (i.e. exponentiation with<br />

exponent −1). More specifically, a specific cl<strong>as</strong>s <strong>of</strong> terms is discussed, called<br />

exponent-ground terms. These terms have a constraint on the nature <strong>of</strong> the exponents<br />

that occur in them: these may not contain <strong>an</strong>y variables or further<br />

exponentiations. The authors argue that this does not limit the number <strong>of</strong> <strong>protocol</strong>s<br />

employing Diffie-Hellm<strong>an</strong> that c<strong>an</strong> be <strong>an</strong>alyzed. They proceed by proving<br />

the rewritability <strong>of</strong> Horn theories that consist <strong>of</strong> only exponent-ground terms<br />

to Horn theories that contain no exponentiation at all. They also include <strong>an</strong><br />

explicit rewriting method <strong>an</strong>d demonstrate it in <strong>an</strong> example. The authors have<br />

also published a tool, DH-ProVerif, to perform the mentioned tr<strong>an</strong>slation <strong>automatic</strong>ally.<br />

Küsters <strong>an</strong>d Truderung claim that their method is efficient, because<br />

<strong>of</strong> the polynomial running time <strong>of</strong> their algorithm. The algorithms presented in<br />

earlier work are sometimes less efficient, <strong>an</strong>d sometimes focus on other algebraic<br />

properties <strong>of</strong> the Diffie-Hellm<strong>an</strong> exponentiation. For example, the authors <strong>of</strong> [12]<br />

provide a solution that is not known to have polynomial running time, though<br />

it h<strong>an</strong>dles a broader r<strong>an</strong>ge <strong>of</strong> algebraic properties.<br />

4.4 R<strong>an</strong>domness<br />

In most modern-day <strong>protocol</strong>s, some r<strong>an</strong>domness is used in <strong>as</strong>ymmetric encryption.<br />

If no r<strong>an</strong>domness would be used, <strong>an</strong> attacker could upon receipt <strong>of</strong> a<br />

ciphertext e<strong>as</strong>ily encrypt a message with the corresponding puplic key <strong>an</strong>d then

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

Saved successfully!

Ooh no, something went wrong!