• No results found

Second composition theorem

3P-AKE

wfs

+ 2P-AKE

nfs

= 3P-AKE

fs

In this section we state and prove our second composition theorem. This result corresponds to the cryptographic core of full EAP.

Construction. From a 3P-AKE protocol Π3 and a PSK-based 2P-AKE pro-tocol Π4, we construct the 3P-AKE protocol Π5 shown in Figure 4.1. Specifi-cally, protocol Π5works as follows. First sub-protocol Π3 is run betweenA,B andS in order to establish an intermediate keyKΠ3. Then sub-protocol Π4 is run betweenA andB usingKΠ3 as the their PSK. The session key derived in sub-protocol Π4 becomesA andB’s final session key in protocol Π5.

Result. Our second composition result shows that protocol Π5 is 3P-AKE secure if sub-protocol Π3is 3P-AKEwfssecure and sub-protocol Π4is 2P-AKEnfs secure with explicit entity authentication. We remark that the last requirement is necessary in order for our proof to go through. In fact, Π5 inherits the property of explicit entity authentication from sub-protocol Π4. Moreover, while Π4 does not necessarily achieve any forward secrecy on its own, protocol Π5 does. The reason is that within Π5, sub-protocol Π4 is merely used to upgrade the security of Π3 from weak forward secrecy to full forward secrecy.

For technical reasons, we additionally need to assume some minimal struc-ture on sub-protocol Π4beyond it being a 2P-AKE protocol. In particular, we require that the probability that two sessions at the same party end up with the same local transcriptτ in sub-protocol Π4should be “small”. Formally, we demand that the probability of such a transcript collision should be statistically bounded by some function of the number of parties and sessions. This tech-nical requirement is needed in order be able to apply a local partner function to the transcript of sub-protocol Π4 (see the proof of Claim 4.18).

Theorem 4.12. LetΠ5be the 3P-AKE protocol constructed from the 3P-AKE protocolΠ3and 2P-AKE protocolΠ4as described in the construction above. Let f3 and f4 be partner functions, where f4 is required to be local. Then, for any adversary A in security experiment AKEfs against protocol Π5, we can create a partner functionf5 and algorithmsB1 andB2, such that

Adv3PΠ5-,fAKE5 fs(A)3n2·Adv3PΠ3-,fAKE3 wfs(B1) + 2n2·Adv2PΠ4-,fAKE4 nfs(B2) + 2 , (4.21) where n = (nπ + 1)· |I ∪ R|, nπ is the maximum number of sessions that A creates at each party, and = (|I ∪ R|, nπ) is a function that bounds the probability that two sessions at the same party get the same local transcript in protocolΠ4.

The idea of the proof is as follows. Using that sub-protocol Π3 is 3P-AKEwfs secure, we can replace the intermediate key KΠ3 coming out of Π3 with a random key for the test-session. This then allows us to reduce the 3P-AKEfs security of protocol Π5 to the 2P-AKEnfs of sub-protocol Π4, since the now random intermediate key of the test-session is identically distributed with the PSKs used in Π4. The partner functionf5will be composed out off3 and f4, so that two sessions aref5-partners if and only if they aref3-partners and f4-partners.

The main difficulty of the proof lies in the first step, i.e., replacing the intermediate key of the test-session with a random key. The issue is that A plays in a security game that hasfull forward secrecy, whereas the reduction B1to sub-protocol Π3plays in a security game with onlyweakforward secrecy.

As such,Ais allowed strictly more Corruptqueries than whatB1 can do itself.

The question is howB1 can simulate the 3P-AKEfs security game for Awhile still keeping the test-session fresh in its own 3P-AKEwfs security game.

This is where we use that sub-protocol Π4 provides explicit entity authen-tication. Essentially, it guarantees that the test-session must have a partner in protocol Π5. By definition of f5, this implies that it must also have anf3 -partner in sub-protocol Π3. But recall from Table 3.1 that when the test-session has a partner, then there is no difference between the AKEfsand AKEwfs mod-els! Thus, as long as we can show that the test-session has a partner in protocol Π5, we are fine. Consequently, we first prove as an initial lemma that protocol Π5 provides explicit entity authentication.

Proof of Theorem 4.12. We begin by defining the partner function f5 for pro-tocol Π5. We construct f5 from the partner functions f3 and f4 given for sub-protocols Π3 and Π4 as follows:

f5,T5(π) =π⇐⇒(f3,T3(π) =π)(f4,T4(π) =π), (4.22) where T3 and T4 are the transcripts one gets from T5 by restricting to the messages pertaining to sub-protocols Π3 and Π4, respectively. The soundness of f5 follows directly from the soundness off3 and f4. Moreover, like in the proof of the first composition theorem (Theorem 4.2), we assume for simplicity thatf3andf4 have perfect soundness. It follows thatf5has perfect soundness too.

4.3.1 Explicit entity authentication

Lemma 4.13. Withf5as defined above, and everything else as otherwise stated in Theorem 4.12, we have that

Adv3PΠ5-,fAKE5 fs-EA(A)2n2·Adv3PΠ3-,fAKE3 wfs(B1) +n2·Adv2PΠ4-,fAKE4 nfs-EA(B2) + .

Proof.

Game 0: This is the original 3P-AKEfs-EA security experiment, hence AdvGΠ0-EA

5,f5(A) =Adv3PΠ5-,fAKE5 fs-EA(A). (4.23) Game 1: In this game the challenger aborts if two sessions at the same party end up with the same local transcriptτ in sub-protocol Π4. By definition of the function this gives

AdvGΠ0-EA

5,f5(A)AdvGΠ1-EA

5,f5(A) + . (4.24) Game 2: This game implements a selective security game where the adver-sary is required to commit to the session that will accept maliciously first.

Specifically, at the beginning of the game the adversary must first choose a pair (U, i), with i [1, nπ]. The game then proceeds as in Game 1, except that if some session accepts maliciously before πiU, the challenger aborts the game and outputs 0 (i.e., Aloses). In particular, this includes the possibility thatAmakes a query that rendersπiU unfresh (which would precludeπiU from accepting maliciously).

Claim 4.14.

AdvGΠ1-EA

5,f5(A)≤nπ· |I ∪ R| ·AdvGΠ2-EA

5,f5(A). (4.25) Proof. The proof is essentially the same as for Game 2 in Theorem 4.2 (Claim 4.5), only that this time the selective security adversary guesses one session rather

than two.

In the remaining games, letπiU denote the session that the adversary com-mits to in Game 2. Note thatπUi is not necessarily the same as the test-session chosen by the adversary.

Game 3: This game extends the selective security requirement of Game 2 by demanding that the adversary also commits to the partner of πUi in sub-protocol Π3 (if any). Specifically, at the beginning of the game the adversary must pick a pair (U, i) as in Game 2, but it must also pick a pair (V, j), with j [0, nπ]. Game 3 then proceeds as in Game 2, but it additionally aborts if πUi gets a different f3-partner thanπjV in sub-protocol Π3. This includes the case thatπUi gets anf3-partner ifj = 0.

Remark 4.15. Note that there is no contradiction betweenπUi accepting ma-liciously in protocol Π5according to partner functionf5, while simultaneously

having anf3-partner in sub-protocol Π3.

Claim 4.16.

AdvGΠ2-EA

5,f5(A)(nπ+ 1)·max{|I|,|R|} ·AdvGΠ3-EA

5,f5(A). (4.26) Proof. Again, from an adversaryA that plays against thesingle selective se-curity requirement of Game 2, we can create an adversary A against thetwo selective security requirements of Game 3. Basically, afterAoutputs its com-mitment to a pair (U, i), thenAguesses another pair (V, j) (conditioned on the role ofU), and outputs (U, i) and (V, j) as its own commitments to Game 3.

In the remaining games, let πVj denote the (possibly empty) f3-partner of πUi that the adversary commits to in Game 3 in addition toπiU.

Game 4: This game proceeds as the previous one, but it replaces the inter-mediate keyKΠ3 ofπUi andπjV in sub-protocol Π3with a random key K.

Claim 4.17.

AdvGΠ3-EA

5,f5(A)AdvGΠ4-EA

5,f5(A) +Adv3PΠ3-,fAKE3 wfs(B1). (4.27) Proof. We show that if it is possible to distinguish Game 3 and Game 4, then we can create an algorithmB1that breaks the 3P-AKEwfssecurity of sub-protocol Π3. ReductionB1 begins by choosing a random bitbsim. It then runsA and implements all the abort conditions introduced so far. All ofA’sSend queries that pertain to the 3P-AKE sub-protocol Π3, B1 forwards to its 3P-AKEwfs security game. For all sessions different from πUi and πVj, B1 obtains their intermediate keys KΠ3 in sub-protocol Π3 by making a corresponding Reveal query to its 3P-AKEwfs game.

On the other hand, when the first session out ofπiU andπVj accepts in sub-protocol Π3, thenB1instead makes aTestquery to obtain its intermediate key KΠ3 in protocol Π5. Let k denote this key. When the second session out of πUi and πjV accepts in sub-protocol Π3, it is assigned the same key k as its intermediate key in sub-protocol Π3.

B1 simulates sub-protocol Π4 itself using the intermediate keys it obtained for sub-protocol Π3 as the PSKs for Π4. To answerA’sTestquery, B1 uses the bit bsim it drew in the beginning of the simulation. Finally, whenπiU accepts in protocol Π5, thenB1 stops it simulation and outputs a 0 to its 3P-AKEwfs game ifπUi accepted maliciously, and a 1 otherwise.

Before analyzingB1’s advantage, we argue that ifπiU accepts maliciously in B1’s simulation, then both πiU and πjV are valid test-targets in its 3P-AKEwfs

game, i.e., fresh according to predicate FreshAKEwfs. Recall that B1 selects its test-session based on which ofπiU andπjV accepted first in sub-protocol Π3. We consider three cases:

j = 0: In this case πiU is chosen as the test-session, and B1 makes no Reveal query towards it in its 3P-AKEwfs game because it uses theTest query to obtain its intermediate key. SinceπUi does not have anf3-partner (j= 0), there are of course no otherRevealqueries that could have made πiU unfresh.

We claim thatB1 also never issued aCorruptquery toπiU’s peers. To see this, note that ifπiU is to accept maliciously in protocol Π5, then it must be fresh according to predicateFreshAKEfs. In particular, this means that Acannot issue anyCorruptqueries toπUi’s peersbeforeπiU accepted.5 But B1stops its simulation immediately onceπiU accepts, so noCorruptquery will actually be forwarded toπUi’s peers inB1’s 3P-AKEwfsexperiment in this case.

j = 0 and πUi chosen as test-session: Again, B1 makes no Revealquery towardsπiU orπjV in its 3P-AKEwfsgame, since they are both handled by theTestquery. Moreover, sinceπUi has an f3-partner (j= 0), it remains AKEwfs fresh even if its peers are corrupted.

j = 0 and πVj chosen as test-session: By symmetry of the f3 partner function,πVj hasπiU as itsf3-partner, and thus the argument is the same as for the above case.

Taken together, the above cases show that no-matter which one ofπiU and πVi was selected as the test-session byB1, it will be fresh according to predicate FreshAKEwfs in B1’s 3P-AKEwfs game ifπUi accepted maliciously.

Finally, we analyze B1’s advantage. Let bdenote the challenge-bit used to answerB1’s Testquery in its 3P-AKEwfs game. If b= 0, thenB1’sTestquery is answered with a real key, andB1simulates Game 3 perfectly for Aup until the point whenπUi accepts (in protocol Π5). Thus:

Pr[ExpAKEΠ3,Qwfs(B1)1|b= 0] =AdvGΠ3-EA

5,f5(A). (4.28) On the other hand, ifb= 1, meaning thatB1’sTestquery is answered with a random key, then B1 perfectly simulates Game 4. SinceB1 only outputs a

5Recall that predicateFreshAKEfs forbids anyCorruptquery to a session’s peers if (1) it does not have a partner, and (2) it has not accepted yet. This corresponds exactly to the setting we are in when a session accepts maliciously.

1 to its 3P-AKEwfs security game ifAloses inB1’s simulation, i.e., ifπiU does not accept maliciously, we have

Pr[ExpAKEΠ3,Qwfs(B1)1|b= 1] = 1AdvGΠ45-,fEA5(A). (4.29) Thus,B1’s advantage is

Adv3P-AKEΠ3,f3 wfs(B1) = 2·Pr[ExpAKEΠ,Qwfs(B1)1]1 (4.30)

= Pr[ExpAKEΠ,Qwfs(B1)1|b= 0]

+ Pr[ExpAKEΠ,Qwfs(B1)1|b= 1]1

(4.31)

=AdvGΠ3-EA

5,f5(A)AdvGΠ4-EA

5,f5(A), (4.32)

as stated in the claim.

Since the intermediate key KΠ3 of πUi and πVj is replaced with an inde-pendent uniformly random key in Game 4, we can finally show that if πiU accepts maliciously in Game 4, then it must have accepted maliciously in sub-protocol Π4.

Claim 4.18.

AdvGΠ4-EA

5,f5(A)Adv2PΠ4-,fAKE4 nfs-EA(B2). (4.33) Proof. If Awins in Game 4, we can create the following algorithm B2 which breaks the explicit entity authentication of sub-protocol Π4. Algorithm B2

begins by creating all the long-term keys for sub-protocol Π3 and drawing a random bitbsim. It then runsAand simulates sub-protocol Π3 itself using the intermediate keys coming out of sub-protocol Π3as the PSKs for sub-protocol Π4. Additionally, for all sessions different fromπiU and πjV, B2 also simulates sub-protocol Π4 itself. On the other hand, to simulate sub-protocol Π4forπiU and πVj, B2 instead forwards the corresponding queries to its own 2P-AKEnfs security game. OnceAstops and outputs a guessb, thenB2 stops too.

For sessions different fromπUi andπjV,B2simulates Game 4 perfectly since it created all the keys. However,B2 also perfectly simulatesπUi andπVj, since by the change in Game 4, their intermediate key KΠ3 from sub-protocol Π3 is replaced with an independent uniformly random keyK. This is identically distributed to the long-term PSK used inB2’s 2P-AKEnfssecurity game, so by forwarding theSend queries directed toπUi andπjV to its 2P-AKEnfs game,B2

perfectly simulates these sessions too.

It remains to argue that if πUi accepts maliciously in Game 4, then it must also have accepted maliciously inB2’s 2P-AKEnfssecurity game. First we claim that sessionπVj cannot be πUi’sf4-partner in sub-protocol Π4.

• If j = 0, then B2 never creates a corresponding proxy session in its 2P-AKEnfs security game, hence πUi cannot possibly have a partner there.

• If j = 0, then πVj by definition (Game 3) must be πiU’s f3-partner in sub-protocol Π3. But ifπjV wasalso thef4-partner ofπUi in sub-protocol Π4, then by the construction of f5 from f3 and f4, πVj would be πiU’s f5-partner—contradicting the fact that πUi was supposed to accept mali-ciously.

There is one subtlety with the arguments above: technically we need to show that πiU and πVi are f4-partners in Game 4 if and only if they are f4 -partners inB2’s 3P-AKEnfs-EA security game. However, theT4transcript from Game 4 containsmanysessions, while the transcriptTB2 fromB2’s 2P-AKEnfs security game contains at most two: πUi and πVj. In particular, transcriptTB2 is the restriction T4

πiUVi of T4. But evaluating the same partner function on these two transcripts does not necessarily have to yield the same answer.

This is where we use the assumption that f4 is a local partner function (see Definition 3.5). Namely, since f4 is local, we have that πiU and πiV are f4 -partners based onT4if and only if they aref4-partners based on the restriction T4

πUiVi—provided that T4 is a unique transcript, i.e., no two sessions at the same party have the same local transcriptτ. But this is exactly what the abort condition in Game 1 ensures.

Having shown that πiU does not accept with an f4-partner in B2’s 2P-AKEnfs-EA security game, we only have to show that πUi is fresh according to predicateFreshAKEnfs. But this is true sinceB2makes noCorruptquery at all in its 2P-AKEnfs security game, and also makes no Revealquery to πiU. Thus πUi accepts maliciously in B2’s 2P-AKEnfs security game whenever it accepts

maliciously in Game 4, proving Claim 4.18.

Combining the bounds from Game 1 to Game 4 with Claim 4.18 yields

Lemma 4.13.

4.3.2 AKE

fs

security

Given Lemma 4.13, which shows that Π5provides explicit entity authentication, we can now proceed with the proof of Theorem 4.12.

Game 0: This is the real 3P-AKEfssecurity game, hence AdvGΠ0

5,f5(A) =Adv3PΠ5-,fAKE5 fs(A).

Game 1: In this game, the challenger aborts if a session accepts maliciously in protocol Π5, whence

AdvGΠ05,f5(A)AdvGΠ15,f5(A) +Adv3PΠ5-,fAKE5 fs-EA(A). (4.34) The remaining game hops are essentially the same as those of Lemma 4.13.

Hence, we merely state their descriptions and corresponding bounds, but omit the proofs.

Game 2: In this game the challenger aborts if two sessions at the same party end up with the same local transcript τ in sub-protocol Π4. By definition of the function this gives

AdvGΠ15,f5(A)AdvGΠ25,f5(A) + . (4.35) Game 3: This game implements a selective security game where the adversary has to commit to a test-session and its partner (required to exist by Game 1).

Specifically, at the beginning of the game the adversary must output two pairs (U, i) and (V, j). The game then proceeds as in Game 2, except that if either of the following events occur, then the challenger penalizes the adversary by outputting a random bit at the end.

(i) NeitherπUi norπjV were selected as the test-session byA.

(ii) πiU andπVj did not get partnered to each other.

Claim 4.19.

AdvGΠ2

5,f5(A)(n2π· |I| · |R|)/2·AdvGΠ3

5,f5(A). (4.36) In the remaining games, letπUi andπjV denote the two sessions the adversary commits to in the selective security game.

Game 4: This game proceeds as the previous one, but it replaces the inter-mediate keyKΠ3 ofπUi andπjV in sub-protocol Π3with a random key K.

Claim 4.20.

AdvGΠ35,f5(A)AdvGΠ45,f5(A) + 2·Adv3PΠ3-,fAKE3 wfs(B1). (4.37) Finally, any successful attack on protocol Π5in Game 4 can be transformed into a successful attack on sub-protocol Π4.

Claim 4.21.

AdvGΠ4

5,f5(A)Adv2PΠ4-,fAKE4 nfs(B2). (4.38)

Concluding the proof of Theorem 4.12. Combining the bounds from Section 4.3.2 to Game 4 with Claim 4.21, we get

Adv3PΠ5-,fAKE5 fs(A)Adv3PΠ5-,fAKE5 fs-EA(A) + 2n2·Adv3PΠ3-,fAKE3 wfs(B1) +n2·Adv2PΠ4-,fAKE4 nfs(B2) + .

(4.39)

The concrete bound of Theorem 4.12 now follows by applying Lemma 4.13

to Equation (4.39).