<< . .

( 9)

. . >>

lenger picks b randomly from {0, 1} and sets c— ← enc(kpub , mb ); it then hands c to both D
and A. A may now resume querying D, but is not allowed to ask for the decryption of c— .

After a polynomial number of queries, the A outputs a guess g. If g = b, the adversary wins.
A scheme is considered IND-CCA2 secure if no adversary wins with probability signi¬cantly
better than it could achieve by just guessing a random g to begin with. More formally:

De¬nition 2 (IND-CCA2) A public key encryption scheme consisting of three algorithms,
S = (gen, enc, dec), is called indistinguishable against adaptive chosen ciphertext attack if
the following properties hold for any negligible function neg() and all large enough values of
the security parameter k with corresponding message space Mk :

Completeness: For all m ∈ Mk ,

Pr[ (kpub , kpriv ) ← gen(1k );
c ← enc(kpub , m);
m = dec(kpriv , c) ] > 1 ’ neg(k)

Ciphertext indistinguishability: For any PPT adversary A with access to decryption
oracle D,

Pr[ (kpub , kpriv ) ← gen(1k );
(m0 , m1 ) ← AD(kpriv ,·) (kpub , 1k );
b ← {0, 1} ;
c— = enc(kpub , mb )
— ,·)
(kpub , c— , 1k ) :
g ← AD(kpriv ,c
b=g ]< + neg (k)

The extra completeness property ensures that a message remains the same after under-
going encryption and decryption. We de¬ne negligible functions as follows:

De¬nition 3 (Negligible Functions) A function f : N ’ R is negligible in k if, for
any polynomial q, f (k) ¤ for all su¬ciently large k. If f is negligible in k, we write

f ¤ neg(k).

2.2.2 Digital Signatures

Digital signatures are used when a party wants to indicate they have originated a message
m. A digital signature σ is dependent on some secret known only to the signer and on

the message being signed. The recipient of (m, σ) can then run a public veri¬cation algo-
rithm that will con¬rm or reject the message™s signature without requiring knowledge of
the signer™s secret. In this thesis, we will restrict our attention to schemes that accomplish
this using signing and veri¬cation keys.
We also restrict our attention to party behavior or signature schemes that somehow bind
signatures to their messages “ this may be through the use of message revealing signatures
(where one can derive m from σ) or by treating a non-message revealing signature as invalid
unless explicitly attached to a particular message. For clarity of expression, we adopt the
latter practice and will always pair signatures with their messages in our examples.
More formally, we de¬ne a digital signature scheme as follows:

De¬nition 4 (Digital Signatures) A digital signature scheme consists of three algorithms
(gen, sig, ver):

• gen : 1k ’ K — K , is a key generation algorithm. K and K are the sets of possible
signing and veri¬cation keys, respectively.

• sig : K — M ’ S, is a signing algorithm. M and C are the sets of possible messages
and signatures, respectively.

• ver : K — M — S ’ B, is a veri¬cation algorithm. It outputs a boolean bit indicating
whether it accepts or rejects the message signature pair.

A common de¬nition for signature security is existential unforgeability under adaptive
chosen message attack (EUF-ACMA). As with IND-CCA2, we can describe the security
condition as a game between the adversary and the environment/challenger (Figure 2-2).
The challenger runs (ks , kv ) ← gen(1k ) and hands veri¬cation key kv to A, the adversary.
The challenger then gives ks to a signing oracle S. A can (adaptively) query S with messages
mi and receive back the corresponding signatures σi ← sig(ks , mi ). After some polynomial
number of queries, the adversary outputs a new message m that was never submitted as
a query to S, and a signature forgery σ. If ver(kv , m, σ) = 1, then the adversary wins.
A scheme is considered EUF-ACMA if no adversary is able to win with non-negligible
probability. We call the interaction between the adversary and the signing oracle an adaptive
chosen message attack (ACMA)

Existentially unforgeable under adaptive chosen message attack (EUF-ACMA)
1k time
 (ks , kv )
kv -
(m0 , σ0 )
Challenger -
... A

(mpoly(k) , σpoly(k) )
(m, σ)

? ?
m = mi , for all 0 ¤ i ¤ poly(k)
& ver(kv , m, σ) = 1

Figure 2-2: The EUF-ACMA game

De¬nition 5 (EUF-ACMA) A signature scheme consisting of three algorithms, Σ =
(gen,sig,ver), is called existentially unforgeable under adaptive chosen message attack (EUF-
ACMA) if the following properties hold for any negligible function neg() and all large enough
values of the security parameter k with corresponding message space Mk :

Completeness: For all m ∈ Mk ,

Pr[ (ks , kv ) ← gen(1k );
σ ← sig(s, m);
0 ← ver(m, σ, v) ] < neg(k)

Unforgeability: For any PPT forger A with access to signing oracle S,

Pr[ (ks , kv ) ← gen(1k );
(m, σ) ← AS(ks ,·) :
1 ← ver(m, σ, kv ) and A never asked S to sign m ] < neg(k)

EUF-ACMA security allows for multiple valid signatures on the same message “ there
are some situations that require a stronger de¬nition of security. For example, there are

non-malleable unique signature schemes, which are schemes resilient to an ACMA with
only one valid signature for a given message and veri¬cation key. Even stricter are one-time
signature schemes, schemes that only sign one message once for a given veri¬cation key.
There is, however, a security de¬nition that is stronger than EUF-ACMA but weaker
than unique signatures. Schemes that meet this alternative security de¬nition are called
“strong” [31, 5] or “super-secure” [23]. Usage of strong signatures are not as common as
EUF-ACMA or one-time signatures, but there are situations where one-time signatures are
used when only strong signatures are necessary [21].
Strong security is very similar to EUF-ACMA “ in fact, their de¬nitions di¬er only
slightly. In the de¬nition of EUF-ACMA, the adversary is required to output a valid
message/signature pair (m, σ) where m was never a query to the signing oracle. For strong
security, we make the adversary™s game easier: in order to win, it must output a valid pair
(m, σ), where (m, σ) itself was never a response from the oracle. Referring back to the
EUF-ACMA game in Figure 2-2, the strong signature game is the same as replacing the
second-to-last line with “(m, σ) = (mi , σi ) for all 0 ¤ i ¤ poly(k).” We consider this to be an
easier game since any adversary that wins the EUF-ACMA game wins the strong signature
game as well. By making the game easier, we make our security de¬nition stronger. A
strong signature scheme not only guarantees that past signatures don™t help for forging
signatures on new messages, but that they also don™t help for forging new signatures on old

De¬nition 6 (Strong Signature Schemes) A signature scheme consisting of three algo-
rithms, Σ = (gen,sig,ver), is called strong if the following properties hold for any negligible
function neg() and all large enough values of the security parameter k with corresponding
message space Mk :

Completeness: For any m ∈ Mk ,

Pr[ (s, v) ← gen(1k );
σ ← sig(s, m);
0 ← ver(m, σ, v) ] < neg(k)
This is a di¬erent de¬nition of “secure signatures” than the one presented by Goldwasser, Micali, and
Yao in 1983 [24] which was eventually renamed EUF-ACMA security

Strict Unforgeability: For any PPT forger F with access to signing oracle S,

Pr[ (s, v) ← gen(1k );
(m, σ) ← F S(s,·) :
1 ← ver(m, σ, v) and F never received (m, σ) from S ] < neg(k)

2.3 Formal Cryptography

Formal cryptography uses mathematical or logical systems to analyze protocols. The results
of such analysis, however, do not directly apply to real protocols because of the high level of
abstraction used. For the purpose of this thesis, we will focus on symbolic analysis and the
Dolev-Yao model. We ¬rst describe symbolic analysis and its importance in general terms,
before describing the speci¬cs of the Dolev-Yao model.

2.3.1 Symbols and Rules

In symbolic analysis, we think of messages as symbols and cryptographic operations as sym-
bolic operations on these messages. For example, if we had a message that we represented
with the symbol m, then the ciphertext of m encrypted under a public key K would be
the symbol {|m|}K , where we let {|·|} represent encryption. If we have an entity, we can
represent the entity™s initial knowledge as a set S of symbols. We can then write rules
governing the way new symbols are formed and handled based on what the entity knows
already. Given this initial set S , we can talk about the closure of S (denoted as C[S ]) which
is the result of applying these rules. Continuing with public key encryption, we might write
the following rules:

1. S ⊆ C[S ]

2. If m ∈ C[S ] and K ∈ C[S ], then {|m|}K ∈ C[S ]

3. If {|m|}K ∈ C[S ] and K ’1 ∈ C[S ], then m ∈ C[S ] (where K ’1 is K ™s corresponding
secret key)

Rule 1 says that anything the entity knows, it can derive. Rule 2 says that if the entity
can derive a message and a public key, then the entity can derive the ciphertext of the
message under the key. Lastly, Rule 3 says that if the entity can derive a ciphertext under

a particular public key and can also derive the corresponding private key, then the entity
can derive the ciphertext™s plaintext.
We generally think of the formal model adversary as being in complete control of the
network it is a part of. The ability to represent the knowledge of an adversary during
a protocol run is important for this allows an analyzer to determine what messages an
adversary is capable of creating when trying to attack the protocol. The closure operation
does this, allowing a protocol checker to iterate all plausible attacks.

2.3.2 The Dolev-Yao Model

The Dolev-Yao model is a popular model for symbolic analysis which serves as the founda-
tion for a number of formal methods. There are many variants on the Dolev-Yao model and
we de¬ne one that serves our purpose of analyzing public key encryption. We also include
the notion of a local output as proposed in [16].
The ¬rst thing to de¬ne is the set of atomic symbols from which the Dolev-Yao algebra
is constructed.

De¬nition 7 (The Dolev-Yao Message Algebra) Messages in the Dolev-Yao algebra
A are composed of atomic elements of the following types:

• Party identi¬ers (M) “ These are denoted by symbols P1 , P2 , .. for a ¬nite number
of names in the algebra. These are public and are associated with a role of either
Initiator or Responder.

• Nonces (R) “ These can be thought of as a ¬nite number of private, unpredictable
random-strings. These symbols are denoted by R1 , R2 , ... and so on.

e e
• Public keys (KP ub ) “ These are denoted by symbols KP1 , KP2 , ... which are public and
each associated with a particular party identi¬er.

• A garbage term, written G, to represent ill-formed messages,

• ⊥, to represent an error or failure,

• Starting , to indicate that a protocol execution has begun, and

• Finished , to indicate that a protocol execution has ended.

Messages in the algebra can be compounded by the following symbolic operations:

• pair: A — A ’ A. When messages m and m are paired, we write m|m .

• encrypt : KP ub — A ’ A. When message m is encrypted with public key KP , we write
{|m|}K e

The Dolev-Yao algebra is free, meaning that no two distinct symbols represent the same
message. An important consequence of this is that we can de¬ne a parse tree for each
message which describes the unique symbolic structure of the message (see Figure 2-3).

R1 | {|P1 |}K e |R2 | KP0 e
P0 KP 0 e

R1 | {|P1 |}K e |R2 | KP0 e
P0 KP 0

R1 | {|P1 |}K e |R2 KP0 e
P0 KP 0

e KP0
R1 | {|P1 |}K e |R2 KP1

R1 | {|P1 |}K e R2

{|P1 |}K e
R1 P0


Figure 2-3: Example Dolev-Yao parse tree

As mentioned in Section 2.3.1, one of the major bene¬ts of describing the world using
symbols is that we can enumerate the messages it is possible for an entity to make, based
on the symbols it already knows. In particular, we assume that the adversary completely
controls the network, but that any message delivered by the adversary must be derivable
from the adversary™s initial knowledge and the messages communicated by honest parties.
The adversary™s initial knowledge consists of all public keys (KP ub ), all identi¬ers (M),
and those nonces that the adversary itself generates (RAdv ). To derive new messages, the
adversary has only a few symbolic operations available to it: pairing two known elements,
separating a pair, encrypting with public keys, and decrypting messages whose keys belong
to corrupted parties (MAdv ‚ M).
This restriction on the adversary™s ability to derive messages is captured by the Dolev-
Yao closure operation:

De¬nition 8 (Closure) Let

• RAdv ‚ R be the set of nonces associated with the adversary,

e e
• KAdv = {KP : P ∈ MAdv } be the set of encryption keys belonging to corrupted parties
(KAdv ‚ KP ub ), and

Then the closure of a set S ∈ A, written C[S ], is the smallest subset of A such that:

1. S ⊆ C[S ],

2. M ∪ KP ub ∪ RAdv ⊆ C[S ],

3. If {|m|}K ∈ C[S ] and K ∈ KAdv , then m ∈ C[S ],

4. If m ∈ C[S ] and K ∈ KP ub , then {|m|}K ∈ C[S ],

5. If m|m ∈ C[S ], then m ∈ C[S ] and m ∈ C[S ], and

6. If m ∈ C[S ] and m ∈ C[S ], then m|m ∈ C[S ].

Symbolic Protocols

<< . .

( 9)

. . >>

Copyright Design by: Sunlight webdesign