• Aucun résultat trouvé

Security against adversary type II

Dans le document Secret handshake protocols (Page 147-155)

6.2 Secret Handshakes with multiple CA support

6.2.2.2 Security against adversary type II

It remains to be shown that colluding CAs cannot forge Credentials and Matching References for a targetCA. In the rest of this Section we will tackle the analysis of the security against this other type of adversary, by presenting two games, CAImpersonate and CADetect, similar to the aforementioned Impersonate and Detect games, with the difference that the adversary is now another CA; the adversary then also obtains the values ˜gw−1 andy0, . . . , yn. In particular, the challenger will run the oracleOCASetup for the attacker and provide the output to the adversary: the adversary is therefore free

to either generate and maintain its own CAs, or to invoke the OSetup oracle and have the challenger generate a CA under its control. The adversary will eventually attempt at impersonation or detection of a property under the control of the CA controlled by the challenger.

CA Detection Resistance Let A be a malicious CA whose goal is to use the ad-vantage held in the role of CA to engage in Secret Handshake protocol instances and attempt at the detection of a property whose Matching References are issued by an-other CA, without owning the appropriate Matching Reference. We call CA detector resistance the resilience to this type of attacker. We assume – with no loss in generality – that there are only two CAs in the system, the adversary and the one simulated by the challenger.

At first, A can access OCASetup, OSetup, OCertify, OGrant, ORevoke. At the end of the query phase, A decides a property p, under the control of the CA simulated by the challenger, for which no call to OGrant has been made. A is then challenged to engage in a protocol execution with the challenger, and asked at the end to distinguish the correct key that Handshake.Match would output with the correct Matching Reference from a random value of the same length. We call this game CADetect.

Lemma 17. If an adversary A has a non-null advantage

AdvCADetectA:=P r[A wins the gameCADetect]

then a probabilistic, polynomial time algorithm B can create an environment where it usesA’s advantage to solve any given instance of the Decisional Diffie-Hellman problem (DDH).

Proof. We defineBas follows. Bis given an instance

g, ga, gb, gσ

of the DDH problem inG1 and wishes to use Ato decide ifσ=ab. The algorithmB simulates an environ-ment in which A operates, using A’s advantage in the game Detect to help compute the solution to the DDH problem. In particular, B implements the oracles OCASetup, OSetup,OCertify,OGrant,ORevokeas follows:

OCASetup : Busesg as the one received from the DDH challenge; the other parameters are generated according to the rules of the protocol;

OSetup : fB(p) is implemented as follows: on a query forfB(p), ifphas never been queried before,B picks a random valuerp R

←Zq, storing the pair (p, rp) in a table. Then Bflips a random biased coinguess(p)∈ {0,1}biased as follows: guess(p) equals 1 with probabilityδ and is equal to 0 with probability 1−δ. Banswers as follows:

ifguess(p) = 0,B looks uprp in the table and answers withfB(p) =rp. Instead, ifguess(p) = 1,B answers with fB(p) =brp; the other parameters are generated according to the rules of the protocol;

OCertify : Banswers according to the rules of the protocol;

OGrant : A queries B to receive a Matching Reference for property pi; assuming that guess(pi) = 0,B can answer according to the rules of the protocol;

ORevoke : Banswers according to the rules of the protocol;

Setup and Queries The adversaryAcan interact with the oraclesOCASetup,OSetup, OCertify,OGrant,ORevoke;

Challenge At the end of this phase, A chooses a property p, such that no query to the oracle OGrant has been submitted. Let us assume that guess(p) = 1:

as a consequence, f(p) = brp. B then engages in an instances of Handshake with

tBis the value used byBto generateTB. Areceives the key generated by the algorithm Handshake.RandomizeCredentials: in order to compute such key,Bassumes thatσ =ab, and therefore computes ˆe(ga,˜gm)x0 = ˆe(ga,˜gm)x. Aanswers the challenge with a bit b; A wins the game if b = 0 if the key is a random bitstring, and b = 1 if the key is correct.

Analysis of A’s answer It is straightforward to verify that, ifA wins the game, B can give the same answer to solve the DDH problem. Indeed, if A wins the game and answersb= 1, it means that the keyB generated was correct. Then, the same key must be computable using Equation 5.3 with the Matching Reference for propertyp,

˜

gf(p)h(p)tB.

Then we can write

(ax+σrph(p)tB−abrph(p)tB)m=max

However this equation is satisfied only if σ = ab, which is the positive answer to the DDH problem. If not, B can give the negative answer to DDH.

A detailed analysis shows that if guess(p) = 1 and guess(p) = 0 for all other queries toOGrant such thatp6=p, then the execution environment is indistinguishable from the actual game Detect. This happens with probability

P r[guess(p) = 1 and guess(p) = 0 for all p6=p] =δ·(1−δ)Qp (6.1) where Qp is the number of different properties A queries to the oracle OGrant. By setting δ ≈ Q1

p we know that the probability in 6.1 is greater than 1Q

p. So in con-clusion, we can bound the probability of success of the adversary AdvCADetectA as AdvCADetectA≤e·Qp·AdvDDHB.

CA Impersonation Resistance To address the analysis of this requirement, we fol-low the same strategy adopted in Section 5.3.3.4; in particular, we define two sub-games, CAImpersonate1 and CAImpersonate2 and then join them together under a broader CAImpersonategame.

Let A be a malicious CA whose goal is the impersonation of a user owning a Credential for a given property, under the control of another CA.Acan accessOCASetup, OSetup,OCertify,OGrant,ORevoke. We assume – with no loss in generality – that there are only two CAs in the system, the adversary and the one simulated by the challenger.

A eventually decides that this phase of the game is over. The challenger then revokes each Credential handed out to the attacker in the previous phase. A then declares a property p ∈ P under the control of the CA simulated by the challenger, which will be the object of the challenge; the adversaryAis then challenged to engage inHandshake with the challenger, and has to be able to convince that he owns a non-revoked Credential for property p. A is then asked to output the key computed. In order to successfully win the game, it must not be possible for the challenger to abort the handshake due to the fact that the Credentials used by the attacker have been revoked. We call this gameCAImpersonate.

To create the first sub-game,CAImpersonate1, we also assume that the attacker will forge a brand new Credential in the challenge phase.

Lemma 18. If an adversary A has a non-null advantage

AdvCAImpersonate1A:=P r[Awins the game CAImpersonate1]

then a probabilistic, polynomial time algorithm B can create an environment where it usesA’s advantage to solve a given instance of the SM Problem.

Proof. We define the challengerBas follows. Bis given an instance D simulates an environment in whichAoperates. In particular,B implements the oracles OCASetup,OSetup,OCertify,OGrant,ORevoke as follows:

OCASetup : Bsets public parameters g,˜g, gw,g˜w−1 as the ones received from the challenge;

OSetup : B sets TB as ˜gy; the other parameters are generated according to the rules of the protocol;

OCertify : A queries B for Credentials for an arbitrary number of user ui and property pi; B answers by picking a random Identification Handle xui,piR Zq and by giving it to A; B then queries the oracle Ow,y providing v = f xui,pi

B(pi)h(pi) as in-put, and adding the value v to the set O of queries to oracle O. The output of the oracle is

← ˜gz−1; to allow the user to verify the goodness of the Credential, the CA gives to the user gfB(pi) and ˜gyh(pi);

OGrant : Aqueries B for Matching References for an arbitrary number of propertiespi; B answers with matchpi = ˜gyfB(pi)h(pi); to allow the user to verify the goodness of the Credential, the CA gives to the usergfB(pi) and ˜gyh(pi);

ORevoke : A queries B for an arbitrary number of Revocation Handles for user ui and property pi;B answers withrevui,pi = ˜gxui,pi;

Setup and Queries The adversaryAcan interact with the oraclesOCASetup,OSetup, OCertify,OGrant,ORevoke;

Challenge Athen declares that this phase of the game is over. Btherefore revokes each of the CredentialsArequested in the previous phase. Athen chooses a property

p ∈ P. B challenges A by sending ˜gm and A answers the challenge with the tuple hgα, gβ,g˜γ,˜gδ, eki.

Analysis of A’s response IfA wins the game,B can check that ˆe(gβ,˜gγ)

as mandated by theHandshake.Matchsub-algorithm detailed in Section 5.3.2.

Let us set α =r, k=rxm and δ =s−1, for some integers r, x, s ∈Zq unknown toB. Then, from Equation 6.3 we derive that γ = (sw)−1 and from Equation 6.2 that β = rsw(x+yfB(p)h(p)). Notice that by the definition of the game, the attacker has not received a Credential containing the termgzwXu∗,p∗ =gzw(x+yfB(p)h(p))from the challenger as answer to a query to the OCertify oracle.

This implies in turn that the value v = f x

B(p)h(p) has never been queried by the challenger to the oracle Ow,y in the execution of a OCertify query: as a consequence, v

does not belong to the set O. Therefore we conclude that, ifA wins the game, B can provide

D

(gα)fB(p)h(p), gβ,g˜γ,˜gδ,eˆ(g,˜g)k E

as an answer to the SM problem.

We now turn our attention to the CAImpersonate2 game, focusing on a malicious CA attempting to succeed in the impersonation of a user owning a credential for a given property p, under the control of the CA managed by the challenger. We also introduce an additional constraint on the impersonation strategy: we assume that the adversary will be reusing an already revoked Credential received from another CA and yet able to circumvent revocation. Given that the revocation check involves the Matching Reference for a property, the only way for the attacker to succeed is to use a Credential received for a property – sayp – in the attempt to impersonate a different property – say p.

The malicious CAAcan accessOCASetup,OSetup,OCertify,OGrant,ORevoke. We assume – with no loss in generality – that there are only two CAs in the system, the adversary and the one simulated by the challenger.

Lemma 19. If an adversary A has a non-null advantage

AdvCAImpersonate2A:=P r[Awins the game CAImpersonate2]−12

then a probabilistic, polynomial time algorithm B can create an environment where it usesA’s advantage to solve a given instance of the Decisional Diffie-Hellman Problem (DDH).

Proof. We defineBas follows. Bis given an instance

˜

g,˜ga,g˜b,˜gσ

of the DDH problem and wishes to use A to decide if σ = ab. The algorithm B simulates an environment in which Aoperates. In particular,B implements the oracles OCASetup,OSetup,OCertify, OGrant,ORevoke as follows:

OCASetup : Bsets the public parameter ˜gas the ones received from the DDH challenge; the other parameters are generated according to the rules of the protocol;

OSetup : B setsTB = ˜ga; the other parameters are then picked and published following the rules of the protocol;

OCertify : A queries B for Credentials for an arbitrary number of pairs (u, p) ∈ U×P;

B answers with credu,p = hCu,p,1, Cu,p,2, Cu,p,3i where Cu,p,1 = gzw, Cu,p,2 =

˜

g(zw)−1(xu,p+afB(p)h(p))andCu,p,3 = ˜gz−1(xu,p+afB(p)h(p)); to allow the user to verify the goodness of the Credential, the CA gives to the user gfB(p) and ˜gah(p); this representation of Credentials is indistinguishable from the ones mandated by the protocol: indeed notice that we can set z = z0(xu,p+afB(p)h(p)) and we can rewrite Cu,p,1 = gz0w(xu,p+afB(p)h(p)), Cu,p,2 = ˜g(z0w)−1 and Cu,p,3 = ˜gz0−1 which is exactly the way Credentials are formulated according to the algorithmCertify described in Section 5.3.2. B adds to a listV the tuple (˜gxu,p+ah(p)fB(p), u, p, xu,p) for each query ofAand keeps it for later use;

OGrant : Aqueries B for Matching References for an arbitrary number of properties p;

B answers withmatchp = ˜gafB(p)h(p); to allow the user to verify the goodness of the Credential, the CA gives to the usergfB(p) and ˜gah(p);

ORevoke : A queries B for an arbitrary number of Revocation Handles for user ui and property pi;B answers withrevui,pi = ˜gxui,pi;

Setup and Queries The adversaryAcan interact with the oraclesOCASetup,OSetup, OCertify,OGrant,ORevoke;

Challenge Athen declares that this phase of the game is over. B therefore revokes each Credential requested by A in the previous phase. A then chooses a property p ∈ P. B challenges A by sending ˜gb and A answers the challenge with the tuple hgα, gβ,g˜γ,˜gδ,eˆ(g,g)˜ ki.

Analysis of A’s response IfAwins the game, B can check that ˆe(gβ,˜gγ)

as mandated by theHandshake.Matchsub-algorithm detailed in Section 5.3.2.

Let us set α =r,k=rxb andδ =s−1, for some integers r, x, s∈Zq unknown to B. Then, from Equation 6.6 we derive thatγ = (ws)−1; if we setv =x+afB(p)h(p), from Equation 6.5 we can write β=rsv.

We know by definition that the attacker has already received Cu,p,1 = gzwv = gzw(xu◦,p◦+afB(p)h(p)) during the previous query phase. Consequently, the Revocation Handlerevu,p = ˜gxu◦,p◦ has also been published. Bcan easily recoveruandp, since he can check which element ˜gxu◦,p◦+ah(p)fB(p) within the list V satisfies the following equality ˆe(gβ,g˜γ) = ˆe(gα,˜gxu◦,p◦+ah(p)fB(p)), and then look up the respective xu,p.

If p = p, then A has lost the game, since a successful answer of the attacker cannot be revoked by any of the issued Revocation Handles, whereas this Credential can be revoked with revu,p. Then it must be thatp6=p; in this case x =xu,p+ afB(p)h(p)−afB(p)h(p).

It then follows that ˆ

e(g,˜g)k= ˆe(g,g)˜ rb(xu◦,p◦+afB(p)h(p)−afB(p)h(p)) The challenger is therefore able to compute

ˆ

To conclude the analysis of impersonation resistance by adversary type II, we in-troduce a final lemma that merges the two gamesCAImpersonate1andCAImpersonate2 engaging the attacker in theCAImpersonategame where the challenger gets an advan-tage in solving a hard problem independently of the strategy of the adversary.

Lemma 20. If an adversary A has a non-null advantage

AdvCAImpersonateA:=P r[Awins the game CAImpersonate]

then a probabilistic, polynomial time algorithm B can create an environment where it uses A to gain either an advantage AdvCAImpersonateA

2 on the Decisional Diffie-Hellman problem (DDH) or an advantage AdvCAImpersonateA

2 on the SM Problem.

A proof of this Lemma is a straightforward adaptation of the proof of Lemma 12, which we therefore omit here.

Dans le document Secret handshake protocols (Page 147-155)