SLIDE 1
Efficient UC-Secure Authenticated Key-Exchange for Algebraic - - PowerPoint PPT Presentation
Efficient UC-Secure Authenticated Key-Exchange for Algebraic - - PowerPoint PPT Presentation
Efficient UC-Secure Authenticated Key-Exchange for Algebraic Languages PKC 2013 , Fabrice Ben Hamouda Olivier Blazy Cline Chevalier David Pointcheval Damien Vergnaud Horst Grtz Institute for IT Security / Ruhr-University Bochum ENS /
SLIDE 2
SLIDE 3
1 Introduction 2 Building Blocks
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 2/26
SLIDE 4
1 Introduction 2 Building Blocks 3 Language Authenticated Key Exchange
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 2/26
SLIDE 5
1 Introduction 2 Building Blocks 3 Language Authenticated Key Exchange 4 Conclusion
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 2/26
SLIDE 6
Outline
1 Introduction 2 Building Blocks 3 Language Authenticated Key Exchange 4 Conclusion
SLIDE 7
Authenticated Key Exchange
Alice Bob − − − − − − − − − − − − − − − → ← − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − → KAB Share a common session key iff everything goes well.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 4/26
SLIDE 8
Password Authenticated Key Exchange [BM92]
Alice Bob − − − − − − − − − − − − − − − → ← − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − → pwA pwB Share a common session key iff they possess the same password.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 5/26
SLIDE 9
Secret Handshakes [BDSS03]
Alice Bob − − − − − − − − − − − − − − − → ← − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − → σA σB Share a common session key iff their signatures fit.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 6/26
SLIDE 10
Credential Authenticated Key Exchange [CCGS10]
Alice Bob − − − − − − − − − − − − − − − → ← − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − → Cred(A) Cred(B) Share a common session key iff they possess the required credentials.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 7/26
SLIDE 11
Language Authenticated Key Exchange
Alice Bob − − − − − − − − − − − − − − − → ← − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − → wA wB Share a common session key iff their (words/languages) fit.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 8/26
SLIDE 12
Outline
1 Introduction 2 Building Blocks
Cramer Shoup Encryption Revisited Smooth Projective Hash Functions and their language Manageable Languages
3 Language Authenticated Key Exchange 4 Conclusion
SLIDE 13
Cramer Shoup Encryption Definition [CS02]
§ Setup(1λ): Generates a multiplicative group (p, G, g1, g2). § EKeyGenE(param): dk = (µ1,2, ν1,2, η1,2) $
← Z6
p,
pk = (c = gµ1
1 gµ2 2 , d = gν1 1 gν2 2 , h = gη1 1 gη2 2 ). § Encrypt(pk, M; α): For M, and α $
← Zp, defines C = CS(M; α) as
- u = (gα
1 , gα 2 ), e = Mhα, v = (cdξ)α
. ξ = Hash(u, e)
§ Decrypt(dk = (µ, ν, η), C = (u, e, v)):
If v = uµi+ξνi
i
, then M = e · u−ηi
i
. IND-CCA under DDH
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 10/26
SLIDE 14
Double Cramer Shoup Encryption Definition
§ Setup(1λ): Generates a multiplicative group (p, G, g1, g2). § EKeyGenE(param): dk $
← Z6
p, pk. § Encrypt1(pk, M; α): C = CS(M; α). § Encrypt2(pk, N, ξ; α′): For N, and α $
← Zp, defines C′ = CS′(N, ξ; α) as
- u′ = (gα′
1 , gα′ 2 ), e′ = Mhα′, v′ = (cdξ)α′
.
§ Decrypt(dk = (µ, ν, η), C = (u, e, v), C′):
If v = uµi+ξνi
i
, then M = e · u−ηi
i
. If v′ = u′
i µi+ξνi, then N = e′ · u′ i −ηi.
IND-PD-CCA under DDH (IND-CCA on CS, IND-CPA on CS’)
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 11/26
SLIDE 15
Multi Double Cramer Shoup Encryption Definition
§ Setup(1λ): Generates a multiplicative group (p, G, g1, g2). § EKeyGenE(param): dk $
← Z6
p, pk. § Encrypt1(pk, M; α): C = CS(M; α), where ξ = Hash(u, e). § Encrypt2(pk, N, ξ; α′): C′ = CS′(N, ξ; α′). § Decrypt(dk = (µ, ν, η), C, C′):
If v = uiµi+ξνi, then M = e · ui−ηi. If v′ = u′
i µi+ξνi, then N = e′ · u′ i −ηi.
IND-PD-CCA under DDH.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 12/26
SLIDE 16
Smooth Projective Hash Functions Definition [CS02,GL03]
Let {H} be a family of functions:
§ X, domain of these functions § L, subset (a language) of this domain
such that, for any point x in L, H(x) can be computed by using
§ either a secret hashing key hk: H(x) = HashL(hk; x); § or a public projected key hp: H′(x) = ProjHashL(hp; x, w)
Public mapping hk → hp = ProjKGL(hk, x)
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 13/26
SLIDE 17
Properties
For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 14/26
SLIDE 18
Properties
For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L
Smoothness
For any x ∈ L, H(x) and hp are independent
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 14/26
SLIDE 19
Properties
For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L
Smoothness
For any x ∈ L, H(x) and hp are independent
Pseudo-Randomness
For any x ∈ L, H(x) is pseudo-random, without a witness w
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 14/26
SLIDE 20
Properties
For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L
Smoothness
For any x ∈ L, H(x) and hp are independent
Pseudo-Randomness
For any x ∈ L, H(x) is pseudo-random, without a witness w The latter property requires L to be a hard-partitioned subset of X:
Hard-Partitioned Subset
L is a hard-partitioned subset of X if it is computationally hard to distinguish a random element in L from a random element in X \ L
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 14/26
SLIDE 21
Straightforward Languages
§ Diffie Hellman / Linear Tuple
(g, h, G = ga, H = ha) Valid Diffie Hellman tuple? hp : gκhλ hpa = G κHλ Oblivious Transfer, Implicit Opening of a ciphertext
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 15/26
SLIDE 22
Straightforward Languages
§ Diffie Hellman / Linear Tuple
(g, h, G = ga, H = ha) Valid Diffie Hellman tuple? hp : gκhλ hpa = G κHλ Oblivious Transfer, Implicit Opening of a ciphertext (U = ua, V = vb, W = ga+b) Valid Linear tuple? hp : uκgλ, vµgλ hpa
1hpb 2 = UκV µW λ
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 15/26
SLIDE 23
Straightforward Languages
§ Diffie Hellman / Linear Tuple § Conjunction / Disjunction
L1 ∩ L2 Simultaneous verification hp : hp1, hp2 H′
1 · H′ 2 = H1 · H2
∧Ai
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 15/26
SLIDE 24
Straightforward Languages
§ Diffie Hellman / Linear Tuple § Conjunction / Disjunction
L1 ∪ L2 One out of 2 conditions hp = hp1, hp2, hp∆ H′ = L1?hpw1
1
: hpw2
2 · hp∆ = X hk1 1
Is it a bit?
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 15/26
SLIDE 25
Advanced Languages
§ (Linear) Cramer-Shoup Encryption
(u1 = gr
1, u2 = gr 2, e = hrM, v = (cdξ)r)
Verifiability of the CS hp : gκ
1 gµ 2 (cdξ)ηhλ
hpr = uκ
1uµ 2 vη(e/M)λ
Implicit Opening of a ciphertext, verifiability of a ciphertext, PAKE
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 16/26
SLIDE 26
Advanced Languages
§ (Linear) Cramer-Shoup Encryption
(u1 = gr
1, u2 = gr 2, e = hrM, v = (cdξ)r)
Verifiability of the CS hp : gκ
1 gµ 2 (cdξ)ηhλ
hpr = uκ
1uµ 2 vη(e/M)λ
Implicit Opening of a ciphertext, verifiability of a ciphertext, PAKE (gr
1, gs 2, gr+s 3
, hr
1hs 2M, (c1dξ 1)r(c2dξ 2)s)
Verifiability of the LCS hp : gκ
1 gθ 3(c1dξ 1)ηhλ, gµ 2 gθ 3(c2dξ 2)ηhλ
hpr
1hps 2 = uκ 1uµ 2 uθ 3vη(e/M)λ
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 16/26
SLIDE 27
Advanced Languages
§ (Linear) Cramer-Shoup Encryption § Commitment of a commitment
(U = ua, V = vs, G = hsga) ELin hp : uηgλ, vθhλ hpa
1hps 2 = UηV θG λ
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 16/26
SLIDE 28
Advanced Languages
§ (Linear) Cramer-Shoup Encryption § Commitment of a commitment § Linear Pairing Equations
i∈Ak
e(Yi, Ak,i) ·
i∈Bk
Zi Zk,i = Dk For each variables: hpi : uκigλ, vµigλ
- i∈Ak e(hpwi
i , Ak,i)
- ·
- i∈Bk HP
Zk,iwi i
- =
- i∈Ak e(Hi, Ak,i)
- ·
- i∈Bk Hi Zk,i
- /Dλ
k
Knowledge of a secret key, Knowledge of a (secret) signature on a (secret) message valid under a (secret) verification key, . . .
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 16/26
SLIDE 29
Commitment à la Lindell [Lin11]
Alice Bob C, C′ = DCS(M, 1; α), π = Ped(C′, t, M) C, π − − − − − − − − − − − − − − − → ǫ $ ← Zn
p,
ǫ, hp ← − − − − − − − − − − − − − − − hpi = gµi
1 gνi 2 hλi(cdξ)θi
z = ǫα1 + α2 t, C′ − − − − − − − − − − − − − − − →
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 17/26
SLIDE 30
Commitment à la Lindell [Lin11]
Alice Bob C, C′ = DCS(M, 1; α), π = Ped(C′, t, M) C, π − − − − − − − − − − − − − − − → ǫ $ ← Zn
p,
ǫ, hp ← − − − − − − − − − − − − − − − hpi = gµi
1 gνi 2 hλi(cdξ)θi
z = ǫα1 + α2 t, C′ − − − − − − − − − − − − − − − → hpz, M − − − − − − − − − − − − − − − → Hash(CǫC′, M, hk)
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 17/26
SLIDE 31
§ Self-Randomizable Language
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 18/26
SLIDE 32
§ Self-Randomizable Language § Double-Step PD-CCA Commitment
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 18/26
SLIDE 33
§ Self-Randomizable Language § Double-Step PD-CCA Commitment § Implicit Decommitment
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 18/26
SLIDE 34
Outline
1 Introduction 2 Building Blocks 3 Language Authenticated Key Exchange
General Instantiation Secret Handshakes Password Authenticated Key Exchange
4 Conclusion
SLIDE 35
Language Authenticated Key Exchange
Alice Bob C(LB, L′
A, MB), π(C′)
− − − − − − − − − − − − − − − → C(L′
B, LA, MA), hpB, ǫ
← − − − − − − − − − − − − − − − hpA, C′(1, 1, 1) − − − − − − − − − − − − − − − → HB · H′
A
H′
B · HA
Same value iff languages are as expected, and users know witnesses.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 20/26
SLIDE 36
Secret Handshakes for the same secret signing authority
Alice Bob C(L(σ, vkA, idB), L(σ, vkA, idA), σ(A)), π(C′) − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − → C(L(σ, vkB, idB), L(σ, vkB, idA), σ(B)), hpB, ǫ ← − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − hpA, C′(1, 1, 1) − − − − − − − − − − − − − − − → HB · H′
A
H′
B · HA
Ciphertext of a Waters Signature valid under the committed vk: e(σ1, g) = e(h, vk) · e(id∗, σ2)
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 21/26
SLIDE 37
Password Authenticated Key Exchange
Alice Bob C(pwB), π(C′) − − − − − − − − − − − − − − − → C(pwA), hpB, ǫ ← − − − − − − − − − − − − − − − hpA, C′(1) − − − − − − − − − − − − − − − → HB · H′
A
H′
B · HA
Share a common session key iff they possess the same password.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 22/26
SLIDE 38
Password Authenticated Key Exchange
Alice Bob urA, vrA, pwBhrA, (cdξA)rA − − − − − − − − − − − − − − − − − − → gtkHash(C′
A)
pwAhrB, grB ← − − − − − − − − − − − − − − − hpB : uλBvµBhηB(cdξA)θB, ǫ C′
A = (usA, vsA, hsA, (cdξA)sA)
− − − − − − − − − − − − − − − − − − − − − → t, hpA : gλAhηA ChkA
B,−pwA · hpsA+ǫrA B
hprB
A · C∗ A,−pwB hkB
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 23/26
SLIDE 39
Outline
1 Introduction 2 Building Blocks 3 Language Authenticated Key Exchange 4 Conclusion
SLIDE 40
Extensions and Open Questions
We presented a general Framework to instantiate several AKE protocols.
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 25/26
SLIDE 41
Extensions and Open Questions
We presented a general Framework to instantiate several AKE protocols. This allows to produce efficient UC instantiations under classical assumptions (DDH,DLin,...)
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 25/26
SLIDE 42
Extensions and Open Questions
We presented a general Framework to instantiate several AKE protocols. This allows to produce efficient UC instantiations under classical assumptions (DDH,DLin,...) Concrete examples for PAKE, v-PAKE, several Secret Handshakes, CAKE, . . .
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 25/26
SLIDE 43
Extensions and Open Questions
We presented a general Framework to instantiate several AKE protocols. This allows to produce efficient UC instantiations under classical assumptions (DDH,DLin,...) Concrete examples for PAKE, v-PAKE, several Secret Handshakes, CAKE, . . . New manageable languages with SPHF implicit proofs of knowledge
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 25/26
SLIDE 44
Extensions and Open Questions
We presented a general Framework to instantiate several AKE protocols. This allows to produce efficient UC instantiations under classical assumptions (DDH,DLin,...) Concrete examples for PAKE, v-PAKE, several Secret Handshakes, CAKE, . . . New manageable languages with SPHF implicit proofs of knowledge Several new tools: multi-commitment on CS, revisited commitment à la Lindell, . . .
LAKE | Horst Görtz Institute for IT-Security | PKC 2013 25/26
SLIDE 45