4.1 Boneh-Franklin IBE
4.1.1 Security Against Chosen Ciphertext Attacks
The protocol BasicIdent, though secure against a chosen plaintext attack, is not secure against an adversary who can mount a chosen ciphertext attack. But it is possible to augment the protocol to achieve CCA security. The resulting protocol, calledFullIdent, is described next.
Set-Up Define two additional hash functions H3:{0,1}n× {0,1}n→ZZ∗pand H4: {0,1}n→ {0,1}n. Other parts are same as theSet-UpofBasicIdent.
Key-Gen: Same as theKey-GenofBasicIdent.
Encrypt: To encrypt M to the public keyid, compute Qid=H1(id), choose a ran- domσ∈ {0,1}nand set r=H3(σ,M). finally, the ciphertext is
C=hrP,σ⊕H2(e(Qid,Ppub)r),M⊕H4(σ)i
Decrypt: To decrypt C=hU,V,Wiusing the private key diddo the following:
compute V⊕H2(e(did,U)) =σ; and then W⊕H4(σ) =M; set r=H3(σ,M)and verify whether U=rP; if not, reject C; otherwise output M.
FullIdent is the result of applying the so-called Fujisaki-Okamoto transforma- tion [86] toBasicIdent. LetEpk(M; r)be the encryption of M under the public key pkusing random bits r whereE is some public key encryption scheme. Fujisaki- Okamoto defined a hybrid scheme:
Ehy
pk(M) =hEpk(σ,H3(σ,M)),H4(σ)⊕Mi
One implication of the Fujisaki-Okamoto transformation is that if E is secure against chosen plaintext attack, thenEhyis secure against chosen ciphertext attack assuming that H3and H4are random oracles.
So, in a sense, Boneh-Franklin extended this idea to the identity-based set- ting. They apply the Fujisaki-Okamoto transformation on the IND-ID-CPA secure schemeBasicIdentto obtain the IND-ID-CCA secure schemeFullIdent.
The security reduction proceeds through several stages. First, apply the Fujisaki- Okamoto transformation on BasicPubto obtain a public key encryption scheme BasicPubhy. Now, an IND-ID-CCA adversaryA′
1againstFullIdentis used to con- struct an IND-CCA adversaryA′
2 againstBasicPubhy. By direct application of the result of Fujisaki-Okamoto, there is an IND-CPA adversaryA2againstBasicPub.
Finally, by Game 2 we know that this adversary can be used to construct an algo- rithm to solve the BDH problem.
We give a formal description of the first reduction, i.e., given an IND-ID-CCA adversaryA′
1againstFullIdenthow an IND-CCA adversaryA′
2can be constructed againstBasicPubhy. Galindo in [89] showed that there is a flaw in the security reduc- tion as described by Boneh-Franklin and suggested a remedy. The problem creeps in because of ciphertext integrity check in the Fujisaki-Okamoto transformation.
We introduce the flaw in the appropriate place and then follow Galindo’s modified analysis in our description.
In the IND-CCA game againstBasicPubhy,A′
2 receives from its challenger the public key
Kpub=hP,Ppub,Qid,H2,H3,H4i A′
2 now simulates the IND-ID-CCA game forA′
1 and interacts with its own challenger whenever necessary.
Set-Up: A′
2givesA′
1the public parameters
PP=hP,Ppub,H1,H2,H3,H4i where H1is simulated in the same way as in Game 1 earlier.
Phase 1 – key extraction queries: as in game 1.
Phase 1 – decryption queries: Lethidi,Ciibe the ith decryption query, where Ci= hUi,Vi,Wii. IfA′
2can generate the decryption key didiforidias in the key extraction queries, then use this didi to obtain a decryption of Ciand return the result toA′
1. If A′
2 is unable to form this didi that means ci=1 in the tuplehidi,Qi,bi,ciiof H1list and hence Qi=biQid.A′
2sets Ci′=hbiUi,Vi,Wiiand sends this to its challenger for decryption.A′
2returns toA′
1whatever the challenger returns. This is assumed to be a valid answer to the decryption queryhidi,Cii. Suppose didi=sQibe the private key corresponding toidi, which is unknown toA′
2. Let, did=sQidbe the decryption key ofBasicPubhy, which is available to the challenger. Then theFullIdentdecryption of Ciusing didiwould be same as theBasicPubhydecryption of Ci′using did; since
e(biUi,did) =e(biUi,sQid) =e(Ui,sbiQid) =e(Ui,didi).
Galindo’s Observation At this point, Galindo [89] pointed at a flaw in the orig- inal analysis of Boneh-Franklin. Galindo observed that the original argument does not take into account the fact that the decryption algorithm performs a ciphertext integrity check before returning the message. He showed that given the ciphertext Ci′=hbiUi,Vi,Wii, the BasicPubhy decryption algorithm will reject it with over- whelming probability. Let Ui=riPwhere ri=H3(σ,Mi)∈ZZ∗p, so biUi=biriP.
Since biis chosen at random fromZZ∗p, so biriis uniformly distributed inZZ∗p. There- fore, H3(σ,Mi)6=biri with probability(1−1/p)because H3is a random oracle beyond the control ofA′
2. We get a proper decryption only if bi=1, which implies H1(idi) =Qid, where Qidis part of the public key ofBasicPubhy.
Fixing the flaw A decryption queryhidi,Ciican be answered only if it is possible to form a proper private key corresponding toidi or H1(idi) =Qid. Based on this observation, Galindo suggests the following modification in the simulation.
H1-queries: A′
2selects a j at random from{1, . . . ,qH1}before initializing the H1list. WhenA′
1makes a query to H1atidiwith i6=j, it picks a random bi∈ZZ∗p, sets Qi= biP, addshidi,Qi,biito H1list and returns Qj toA′
1. If i=j, it sets H1(idj) =Qid, addshidj,Qid,∗ito H1listand returns QidtoA′
1.
In terms of Figure 4.1the identity space is partitioned in such a way that the challenge identity space now contains a single identity:idj.
Phase 1 – Key extraction: WhenA′
1places a private key query foridi,A′ 2checks whetheridi=idj. It aborts in that eventuality. Otherwise,A′
2forms the private key as in the original simulation and returns it toA′
1.
Phase 1 – Decryption queries: For a decryption queryhidi,Cii, ifidi=idj, then A′
2 asks its challenger for a decryption of Ciwhich it relays toA′ 1 (A′
2 can do so because H1(idi) =Qid). Otherwise, it forms the private key for didi and uses it to decrypt Ci.
Challenge: At this stageA′
1 outputs two messages M0,M1and an identityid∗. If id∗6=idj,A′
2aborts the game. Otherwise, it sends M0,M1to its challenger and in return gets C∗ as the challenge ciphertext. C∗ is an encryption of Mγ, whereγ ∈ {0,1} is chosen uniformly at random by the challenger. It returns C∗ as its own challenge toA′
1. Since, H1(id∗) =Qid, C∗is also an encryption of Mγunderid∗in FullIdent.
Phase 2: As in Phase 1, except that any key extraction query forid∗, or decryption query forhid∗,C∗iis disallowed.
Guess: A′
1outputs its guessγ′ofγ, whichA2′echoes.
IfA′
2does not abort the game, then the view with respect toA′
1is same as that in a real IND-ID-CCA attack. The probability thatA2does not abort, Pr[abort]is at least 1/qH1(1−qE/qH1). Hence,A2’s advantage againstBasicPubhy is at least ε/qH1(1−qE/qH1)≈ε/qH1.
In the next stage of the reduction,A′
2is used to construct an IND-CPA adversary A2againstBasicPubby a straight forward application of the technique of Fujisaki
and Okamoto [86]. GivenA2, the Game 2 of the previous section is used to construct an algorithmBthat solves the BDH problem. Through this three stage reduction, an advantageεagainstFullIdentcan be converted to (roughly) an advantageε/q3H
against BDH, where qH is the maximum number of oracle queries to any of the random oracles Hi, 1≤i≤4. In the process of fixing the flaw in security analysis, the security degradation increases because in the original analysis of Boneh-Franklin it was a factor of 1/(q2HqD)where qD is the number of decryption queries and in general qD≪qH. Galindo improved the tightness by a factor of qH by using a second general transformation also due to Fujisaki-Okamoto [86]. Improvement by another qHfactor is obtained by using the stronger decisional version of BDH, i.e., the DBDH assumption. Later in this chapter we will describe variants of the Boneh- Franklin IBE where a simple tweak makes it possible to obtain a tight reduction.