Galindo-Garcia Identity-Based Signature Revisited.
Galindo-Garcia Identity-Based Signature Revisited.
Sanjit Chatterjee, Chethan Kamath and Vikas Kumar
Indian Institute of Science, Bangalore
Galindo-Garcia Identity-Based Signature Revisited. Sanjit - - PowerPoint PPT Presentation
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia Identity-Based Signature Revisited. Sanjit Chatterjee, Chethan Kamath and Vikas Kumar Indian Institute of Science, Bangalore November 2, 2013 Galindo-Garcia Identity-Based
Galindo-Garcia Identity-Based Signature Revisited.
Indian Institute of Science, Bangalore
Galindo-Garcia Identity-Based Signature Revisited.
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Public-Key Signature and Identity-Based Signature
◮ Key Generation, K
◮ Used by the user to generate the public-private key pair
(pk, sk)
◮ pk is published and the sk kept secret ◮ Run on a security parameter κ
$
◮ Signing, S
◮ Used by the user to generate signature on some message m ◮ The secret key sk used for signing
$
◮ Verification, V
◮ Outputs 1 if σ is a valid signature on m; else, outputs 0
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Public-Key Signature and Identity-Based Signature
◮ Set-up, G
◮ Used by the PKG to generate the public parameters (mpk) and
master secret (msk)
◮ mpk is published and the msk kept secret ◮ Run on a security parameter κ
$
◮ Key Extraction, E
◮ Used by the PKG to generate the user secret key (usk) ◮ usk is then distributed through a secure channel
$
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Public-Key Signature and Identity-Based Signature
◮ Signing, S
◮ Used by a user with identity id to generate signature on some
message m
◮ The user secret key usk used for signing
$
◮ Verification, V
◮ Outputs 1 if σ is a valid signature on m by the user with
identity id
◮ Otherwise, outputs 0
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
Os
pk (ˆ σ, ˆ m)
◮ Existential unforgeability under chosen-message attack
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
Os
pk (ˆ σ, ˆ m)
◮ Existential unforgeability under chosen-message attack ◮ C generates key-pair (pk, sk) and passes pk to A.
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
Os
pk (ˆ σ, ˆ m)
◮ Existential unforgeability under chosen-message attack ◮ C generates key-pair (pk, sk) and passes pk to A. ◮ Signature Queries: Access to a signing oracle Os
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
Os
pk (ˆ σ, ˆ m)
◮ Existential unforgeability under chosen-message attack ◮ C generates key-pair (pk, sk) and passes pk to A. ◮ Signature Queries: Access to a signing oracle Os ◮ Forgery: A wins if
◮ ˆ
σ is a valid signature on ˆ m.
◮ A has not made a signature query on ˆ
m.
◮ Adversary’s advantage in the game:
$
$
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
Os
pk (ˆ σ, ˆ m)
◮ Existential unforgeability under no-message attack ◮ C generates key-pair (pk, sk) and passes pk to A. ◮ Signature Queries: Access to a signing oracle Os ◮ Forgery: A wins if
◮ ˆ
σ is a valid signature on ˆ m.
◮ A has not made a signature query on ˆ
m.
◮ Adversary’s advantage in the game:
$
$
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
OsOε
mpk (ˆ σ, ˆ id, ˆ m)
◮ Existential unforgeability with adaptive identity under
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
OsOε
mpk (ˆ σ, ˆ id, ˆ m)
◮ Existential unforgeability with adaptive identity under
◮ C generates key-pair (mpk, msk) and passes mpk to A.
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
OsOε
mpk (ˆ σ, ˆ id, ˆ m)
◮ Existential unforgeability with adaptive identity under
◮ C generates key-pair (mpk, msk) and passes mpk to A. ◮ Extract Queries, Signature Queries
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
OsOε
mpk (ˆ σ, ˆ id, ˆ m)
◮ Existential unforgeability with adaptive identity under
◮ C generates key-pair (mpk, msk) and passes mpk to A. ◮ Extract Queries, Signature Queries ◮ Forgery: A wins if
◮ ˆ
σ is a valid signature on ˆ m by ˆ id.
◮ A has not made an extract query on ˆ
id.
◮ A has not made a signature query on ( ˆ
id, ˆ m).
◮ Adversary’s advantage in the game: Pr
σ, ˆ id, ˆ m, mpk) | (msk, mpk)
$
← − G(κ); (ˆ σ, ˆ id, ˆ m)
$
← − AO{s,ε}(mpk)
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
DLP
DLP (G, g, p, gα) α
Galindo-Garcia Identity-Based Signature Revisited. Formal Definitions Security Models for PKS and IBS
DLP
DLP (G, g, p, gα) α
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Salient Features
◮ Derived from Schnorr signature scheme ◮ Based on the discrete-log assumption ◮ Efficient, simple and does not use pairing ◮ Security argued using oracle replay attacks ◮ Uses the random oracle heuristic
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
y := r + zc
g y = RZ c
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ Consider an adversary A with ability to launch
◮ Let {σ0, . . . , σn−1} with σi = (yi = ri + zci, Ri) on mi be the
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ However, A can solve for x if it gets two equations containing
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ Random oracle H–ith random oracle query Q0 i replied with s0 i .
H
i
i
H
I
I using a different random
Q0
I+1
Q0
γ
round 0 Q0
1
Q0
2
Q0
I
Q1
I+1
Q1
γ
round 1 s0
1
s0
I
s1
I
s0
γ
s1
γ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ Random oracle H–ith random oracle query Q0 i replied with s0 i .
H
i
i
H
I
I using a different random
Q0
I+1
Q0
γ
round 0 Q0
1
Q0
2
Q0
I
Q1
I+1
Q1
γ
round 1 s0
1
s0
I
s1
I
s0
γ
s1
γ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ Random oracle H–ith random oracle query Q0 i replied with s0 i .
H
i
i
H
I
I using a different random
Q0
I+1
Q0
γ
round 0 Q0
1
Q0
2
Q0
I
Q1
I+1
Q1
γ
round 1 s0
1
s0
I
s1
I
s0
γ
s1
γ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
DLP
DLP SS H
SS
∆ = (G, g, p, g α) α pk := ∆ EU-NMA ˆ σ = (y, R, ˆ m)
Q0
I+1
Q0
γ
ˆ σ0 = (y = r + αc, R) Q0
1
Q0
2
Q0
I : H( ˆ
m, R) Q1
I+1
Q1
γ
ˆ σ1 = (¯ y = r + α¯ c, R) c ¯ c
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ The oracle replay attack formalised through the forking
◮ The forking lemma gives a lower bound on the success
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
◮ The oracle replay attack formalised through the forking
◮ The forking lemma gives a lower bound on the success
◮ Types of forking algorithms
Forking Algorithm #Oracles #Replay Attacks Success Prob. (≈) GF–General Forking - FW 1 1 (i.e. 2 runs)
acc2 γ
MF–Multiple-Forking(n) - MW ,n 2 2n-1 (i.e. 2n runs)
accn γ2n
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Schnorr Signature and the Oracle Replay Attack
Q0
I0+1
Q0
γ
σ [round 0] Q0
J0+1
Q0
I0
Q1
I0+1
Q1
γ
σ1 [round 1] Q0
1
Q0
2
Q0
J0
Q2
I0+1
Q2
γ
σ2 [round 2] Q2
J0+1
Q2
I0
Q3
I0+1
Q3
γ
σ3 [round 3] s0
J0
s2
J0
s0
I0
s1
I0
s2
I0
s3
I0
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
H and G are hash functions H : {0, 1}∗ → Zp and G : {0, 1}∗ → Zp.
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
H and G are hash functions H : {0, 1}∗ → Zp and G : {0, 1}∗ → Zp.
y := r + zc and c := H(R, id).
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
H and G are hash functions H : {0, 1}∗ → Zp and G : {0, 1}∗ → Zp.
y := r + zc and c := H(R, id).
b := a + yd and d := G(id, A, m).
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
g b = A(R · (g z)c)d.
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
◮ Let ˆ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
◮ Let ˆ
◮ In both B1 and B2, solving DLP is reduced to breaking the
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS Construction and Original Security Argument
ǫ2 q3
G
ǫ4 (qHqG)6
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
◮ We found several problems with B1 and B2
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
◮ We found several problems with B1 and B2
◮ The adversary is able to distinguish a simulation from the real
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
◮ We found several problems with B1 and B2
◮ The adversary is able to distinguish a simulation from the real
◮ Positive contribution:
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
◮ Let ˆ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
◮ Let ˆ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
◮ Let ˆ
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
Q0
I+1
Q0
γ
ˆ σ0 = (g a, b = a + (α + c0z)d, g α) Q0
1
Q0
2
G( ˆ id, g a, ˆ m) Q1
I+1
Q1
γ
ˆ σ1 = (g a, ¯ b = a + (α + c1z)¯ d, g α) d ¯ d
◮ Problem instance plugged in the randomiser R (as in B1)
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
Q0
I+1
Q0
γ
ˆ σ0 = (g a, b = a + (α + c0z)d, g α) Q0
1
Q0
2
G( ˆ id, g a, ˆ m) Q1
I+1
Q1
γ
ˆ σ1 = (g a, ¯ b = a + (α + c1z)¯ d, g α) d ¯ d
◮ Problem instance plugged in the randomiser R (as in B1) ◮ Coron’s technique used to assign target identities (instead of
◮ Signature Query. Os(id, m) –
◮ Toss a biased coin β
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
Q0
I+1
Q0
γ
ˆ σ0 = (g a, b = a + (α + c0z)d, g α) Q0
1
Q0
2
G( ˆ id, g a, ˆ m) Q1
I+1
Q1
γ
ˆ σ1 = (g a, ¯ b = a + (α + c1z)¯ d, g α) d ¯ d
◮ Problem instance plugged in the randomiser R (as in B1) ◮ Coron’s technique used to assign target identities (instead of
◮ Signature Query. Os(id, m) –
◮ Toss a biased coin β
for id and then computes signature using S
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
Q0
I+1
Q0
γ
ˆ σ0 = (g a, b = a + (α + c0z)d, g α) Q0
1
Q0
2
G( ˆ id, g a, ˆ m) Q1
I+1
Q1
γ
ˆ σ1 = (g a, ¯ b = a + (α + c1z)¯ d, g α) d ¯ d
◮ Problem instance plugged in the randomiser R (as in B1) ◮ Coron’s technique used to assign target identities (instead of
◮ Signature Query. Os(id, m) –
◮ Toss a biased coin β
for id and then computes signature using S
◮ General forking algorithm (FW ) used to solve DLP (as in B1)
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
Toss a biased coin β
If β = 0, signature given with randomiser R containing g α Else, R1 uses knowledge of msk to generate user private key for id and then computes signature using S
Q0
I+1
Q0
γ
ˆ σ0 = (g a, b = a + (α + c0z)d, g α) Q0
1
Q0
2
G( ˆ id, g a, ˆ m) Q1
I+1
Q1
γ
ˆ σ1 = (g a, ¯ b = a + (α + c1z)¯ d, g α) d ¯ d
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
◮ Problem instance plugged in the public key pk (as in B2) ◮ Signature queries are handled as in B2 ◮ However, Multiple-forking with n = 1 (MW,1) used to solve
◮ Hence, tighter than B2
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
DLP
DLP GG OsOεHG
GG
∆ = (G, g, p, g α) α mpk := (G, g, p, g z) EU-CMA ˆ σ = (g a, b, g r)
Q0
I0+1
Q0
γ
ˆ σ0 = (g a, b = a + (r + αc)d, g r ) Q0
1
Q0
2
G( ˆ id, g a, ˆ m) Q0
J0+1
H( ˆ id, g r) Q1
I0+1
Q1
γ
ˆ σ1 = (g a, ¯ b = a + (r + α¯ c)d, g r ) d c ¯ c
Galindo-Garcia Identity-Based Signature Revisited. Galindo-Garcia IBS New Security Argument
ǫ2 qGqε
ǫ2 (qH+qG)2
ǫ4 (qH+qG)6
Galindo-Garcia Identity-Based Signature Revisited. Conclusion and Future Work
◮ Analysed the original security proof; fixed ambiguities ◮ Provided an improved security proof
◮ Replacing the ‘costly’ multiple-forking for even tighter
Galindo-Garcia Identity-Based Signature Revisited. Conclusion and Future Work