On Tightly Secure Non-Interactive Key Exchange Julia Hesse - - PowerPoint PPT Presentation

on tightly secure non interactive key exchange
SMART_READER_LITE
LIVE PREVIEW

On Tightly Secure Non-Interactive Key Exchange Julia Hesse - - PowerPoint PPT Presentation

On Tightly Secure Non-Interactive Key Exchange Julia Hesse (Technische Universit at Darmstadt) Dennis Hofheinz (Karlsruhe Institute of Technology) Lisa Kohl (Karlsruhe Institute of Technology) 1 Non-Interactive Key Exchange (NIKE) pk 1 , pk


slide-1
SLIDE 1

On Tightly Secure Non-Interactive Key Exchange

Julia Hesse (Technische Universit¨ at Darmstadt) Dennis Hofheinz (Karlsruhe Institute of Technology) Lisa Kohl (Karlsruhe Institute of Technology)

1

slide-2
SLIDE 2

Non-Interactive Key Exchange (NIKE)

(pk1, sk1) ← KeyGen K21 = SharedKey(pk2, sk1) (pk2, sk2) ← KeyGen K12 = SharedKey(pk1, sk2) pk1, pk2 =

2

slide-3
SLIDE 3

Tight security

Scheme S secure if problem P hard: A attacks S = ⇒ B attacks P s.t. AdvantageS

A

≤ L

  • security loss

· AdvantageP

B (+ similar runtime) ◮ Asymptotic security: L ≤ polynomial

3

slide-4
SLIDE 4

Tight security

Scheme S secure if problem P hard: A attacks S = ⇒ B attacks P s.t. AdvantageS

A

≤ L

  • security loss

· AdvantageP

B (+ similar runtime) ◮ Asymptotic security: L ≤ polynomial ◮ Tight security: L small (e.g. small constant)

3

slide-5
SLIDE 5

Tight security

Scheme S secure if problem P hard: A attacks S = ⇒ B attacks P s.t. AdvantageS

A

≤ L

  • security loss

· AdvantageP

B (+ similar runtime) ◮ Asymptotic security: L ≤ polynomial ◮ Tight security: L small (e.g. small constant)

Why do we care?

◮ Theory: closer relation between P and S ◮ Practice: smaller keys ⇒ more efficient instantiations

3

slide-6
SLIDE 6

Recap: Diffie-Hellman Key Exchange

[DH76; CKS08] G group, g = G, p := |G| a ← Zp K21 = (gb)a b ← Zp K12 = (ga)b ga, gb = gab = Decisional DH: a, b, c ←R Zp: (ga, gb, gab) ≈c (ga, gb, gc)

4

slide-7
SLIDE 7

(Simplified) Security model

pk1, · · · , pkn

5

slide-8
SLIDE 8

(Simplified) Security model

pk1, · · · , pkn

5

slide-9
SLIDE 9

(Simplified) Security model

pk1, · · · , pkn

5

slide-10
SLIDE 10

(Simplified) Security of NIKE w/ extractions

b⋆ A pk1, . . . , pkn (pki, ski) ← KeyGen i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb

b ← {0, 1} K0 ← SharedKey(pki⋆, skj⋆) K1 random key Advantagenike

A

:= | Pr[b⋆ = b] − 1/2|

6

slide-11
SLIDE 11

Recap: DH Key Exchange - Security w/ extractions

Idea: i⋆, j⋆ ←R {1, . . . , n}, embed DDH-challenge in pki⋆, pkj⋆

7

slide-12
SLIDE 12

Recap: DH Key Exchange - Security w/ extractions

Idea: i⋆, j⋆ ←R {1, . . . , n}, embed DDH-challenge in pki⋆, pkj⋆ security loss of ≈ n2 Reduction doesn’t know ski Reduction knows ski i ∈ {i⋆, j⋆} i / ∈ {i⋆, j⋆}

7

slide-13
SLIDE 13

Recap: DH Key Exchange - Security w/ extractions

Idea: i⋆, j⋆ ←R {1, . . . , n}, embed DDH-challenge in pki⋆, pkj⋆ security loss of ≈ n2 Reduction doesn’t know ski Reduction knows ski i ∈ {i⋆, j⋆} i / ∈ {i⋆, j⋆} [BJLS16]: This loss is inherent!

7

slide-14
SLIDE 14

Our results

Can we do better?

8

slide-15
SLIDE 15

Our results

Can we do better?

◮ Yes! First NIKE with security loss n (in the standard model).

8

slide-16
SLIDE 16

Our results

Can we do better?

◮ Yes! First NIKE with security loss n (in the standard model).

Can we do even better?

8

slide-17
SLIDE 17

Our results

Can we do better?

◮ Yes! First NIKE with security loss n (in the standard model).

Can we do even better?

◮ Seems hard! Lower bound of security loss n for broad class of NIKEs.

8

slide-18
SLIDE 18

Our results

Can we do better?

◮ Yes! First NIKE with security loss n (in the standard model).

Can we do even better?

◮ Seems hard! Lower bound of security loss n for broad class of NIKEs.

+ Generic transformation with tight instantiation:

◮ NIKE with passive security NIKE with active security

8

slide-19
SLIDE 19

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

9

slide-20
SLIDE 20

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

b⋆ A B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb

9

slide-21
SLIDE 21

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

b⋆ Metareduction Λ Asim Asim B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆

9

slide-22
SLIDE 22

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

rewind b⋆ Metareduction Λ Asim B B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆ with extracted skj⋆ (or ski⋆)

9

slide-23
SLIDE 23

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

rewind b⋆ Metareduction Λ Asim B B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆ with extracted skj⋆ (or ski⋆) ◮ ∃ run = (i⋆, j⋆) on which B does not abort

9

slide-24
SLIDE 24

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

rewind b⋆ Metareduction Λ Asim B B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆ with extracted skj⋆ (or ski⋆) ◮ ∃ run = (i⋆, j⋆) on which B does not abort ⇒ problem P easy

9

slide-25
SLIDE 25

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

rewind b⋆ Metareduction Λ Asim B B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆ with extracted skj⋆ (or ski⋆) ◮ ∃ run = (i⋆, j⋆) on which B does not abort ⇒ problem P easy ◮ ⇒ security loss of at least Ω(n2)

9

slide-26
SLIDE 26

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

Reduction doesn’t know ski i ∈ {i⋆, j⋆} rewind b⋆ Metareduction Λ Asim B B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆ with extracted skj⋆ (or ski⋆) ◮ ∃ run = (i⋆, j⋆) on which B does not abort ⇒ problem P easy ◮ ⇒ security loss of at least Ω(n2)

9

slide-27
SLIDE 27

The lower bound of [BJLS16]

◮ applies to all NIKEs w/ unique secret keys ◮ rules out tight simple black-box reductions

⇒ has to abort on all runs = (i⋆, j⋆) Reduction doesn’t know ski i ∈ {i⋆, j⋆} rewind b⋆ Metareduction Λ Asim B B pk1, . . . , pkn Instance of P Solution to P i⋆, j⋆ {ski}i /

∈{i⋆,j⋆}, Kb ◮ Idea: simulate A by computing Ki⋆j⋆ with extracted skj⋆ (or ski⋆) ◮ ∃ run = (i⋆, j⋆) on which B does not abort ⇒ problem P easy ◮ ⇒ security loss of at least Ω(n2)

9

slide-28
SLIDE 28

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key

10

slide-29
SLIDE 29

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key Our scheme: public keys have many secret keys

10

slide-30
SLIDE 30

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key Our scheme: public keys have many secret keys Not enough! By correctness: ∀(pk1, sk1), (pk2, sk2): SharedKey(pk2, sk1) = SharedKey(pk1, sk2)

10

slide-31
SLIDE 31

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key Our scheme: public keys have many secret keys Not enough! By correctness: ∀(pk1, sk1), (pk2, sk2): SharedKey(pk2, sk1) = SharedKey(pk1, sk2) Solution: invalid public keys (w/o secret keys)

10

slide-32
SLIDE 32

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key Our scheme: public keys have many secret keys Not enough! By correctness: ∀(pk1, sk1), (pk2, sk2): SharedKey(pk2, sk1) = SharedKey(pk1, sk2) Solution: invalid public keys (w/o secret keys) ≈c invalid public keys valid public keys

10

slide-33
SLIDE 33

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key Our scheme: public keys have many secret keys Not enough! By correctness: ∀(pk1, sk1), (pk2, sk2): SharedKey(pk2, sk1) = SharedKey(pk1, sk2) Solution: invalid public keys (w/o secret keys) ≈c invalid public keys valid public keys ∀(pk1, sk1), pk2 : (pk1, pk2, SharedKey(pk2, sk1)) ≡ (pk1, pk2, random)

10

slide-34
SLIDE 34

How to circumvent the lower bound of [BJLS16]?

Key of [BJLS16]: uniqueness of secret keys ⇒ uniqueness of shared key Our scheme: public keys have many secret keys Not enough! By correctness: ∀(pk1, sk1), (pk2, sk2): SharedKey(pk2, sk1) = SharedKey(pk1, sk2) Solution: invalid public keys (w/o secret keys) ≈c invalid public keys valid public keys ∀(pk1, sk1), pk2 : (pk1, pk2, SharedKey(pk2, sk1)) ≡ (pk1, pk2, random) Note: this requires entropy in sk1 given pk1 (and thus many secret keys)!

10

slide-35
SLIDE 35

Recap: Subset membership problem (SMP)

X set, L ⊆ X NP-language Subset membership assumption for (X, L): ≈c {x | x ←R X \ L} {x | x ←R L}

slide-36
SLIDE 36

Recap: Subset membership problem (SMP)

X set, L ⊆ X NP-language Subset membership assumption for (X, L): ≈c {x | x ←R X \ L} {x | x ←R L} ≈c invalid public keys valid public keys

11

slide-37
SLIDE 37

Recap: Hash proof system

[CS98] HPS = (Gen, PubEval, PrivEval) is HPS for language L if: PubEval(hpk, x, w) PrivEval(hsk, x)

  • return the same key K for all x ∈ L with witness w

Universality: ∀x / ∈ L, (hpk, hsk) ← Gen: (hpk, x, PrivEval(hsk, x)) ≡ (hpk, x, random)

12

slide-38
SLIDE 38

Our NIKE

Variation of the PAKE of [KOY01; GL03] HPS = (Gen, PubEval, PrivEval) for L, SMP for L ⊆ X hard x1 ← L with witness w1 K21 = PubEval(hpk2, x1, w1) (hpk2, hsk2) ← Gen K12 = PrivEval(hsk2, x1) x1 , hpk2 =

13

slide-39
SLIDE 39

Our NIKE

Variation of the PAKE of [KOY01; GL03] HPS = (Gen, PubEval, PrivEval) for L, SMP for L ⊆ X hard x1 ← L with witness w1 (hpk1, hsk1) ← Gen K21 = PubEval(hpk2, x1, w1) x2 ← L with witness w2 (hpk2, hsk2) ← Gen K12 = PrivEval(hsk2, x1) (hpk1, x1), (hpk2, x2) =

13

slide-40
SLIDE 40

Our NIKE

Variation of the PAKE of [KOY01; GL03] HPS = (Gen, PubEval, PrivEval) for L, SMP for L ⊆ X hard Note:

◮ hsk not unique ◮ can switch x to X\L

x1 ← L with witness w1 (hpk1, hsk1) ← Gen K21 = PubEval(hpk2, x1, w1) x2 ← L with witness w2 (hpk2, hsk2) ← Gen K12 = PrivEval(hsk2, x1) (hpk1, x1), (hpk2, x2) =

13

slide-41
SLIDE 41

Proof of Security - Idea

Idea: i⋆ ←R {1, . . . , n}, embed SMP-challenge as xi⋆ in pki⋆

14

slide-42
SLIDE 42

Proof of Security - Idea

Idea: i⋆ ←R {1, . . . , n}, embed SMP-challenge as xi⋆ in pki⋆ ∀j > i⋆ : Ki⋆j = PrivEval(hskj, xi⋆)

14

slide-43
SLIDE 43

Proof of Security - Idea

Idea: i⋆ ←R {1, . . . , n}, embed SMP-challenge as xi⋆ in pki⋆ ∀j > i⋆ : Ki⋆j = PrivEval(hskj, xi⋆) ≈ random if xi⋆ ∈ X\L and hskj unknown

14

slide-44
SLIDE 44

Proof of Security - Idea

Idea: i⋆ ←R {1, . . . , n}, embed SMP-challenge as xi⋆ in pki⋆ ∀j > i⋆ : Ki⋆j = PrivEval(hskj, xi⋆) ≈ random if xi⋆ ∈ X\L and hskj unknown security loss of only n Reduction doesn’t know ski Reduction knows ski i = i⋆ i = i⋆

14

slide-45
SLIDE 45

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆

15

slide-46
SLIDE 46

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

15

slide-47
SLIDE 47

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique

15

slide-48
SLIDE 48

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique Observation: uniqueness of Ki⋆j⋆ sufficient

15

slide-49
SLIDE 49

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique Observation: uniqueness of Ki⋆j⋆ sufficient

◮ shared keys between valid public keys unique

15

slide-50
SLIDE 50

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique Observation: uniqueness of Ki⋆j⋆ sufficient

◮ shared keys between valid public keys unique ◮ invalid public keys have no secret keys

15

slide-51
SLIDE 51

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique Observation: uniqueness of Ki⋆j⋆ sufficient

◮ shared keys between valid public keys unique ◮ invalid public keys have no secret keys

Our metareduction:

◮ Idea: obtain ski⋆ and skj⋆ via rewinding to compute unique Ki⋆j⋆

15

slide-52
SLIDE 52

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique Observation: uniqueness of Ki⋆j⋆ sufficient

◮ shared keys between valid public keys unique ◮ invalid public keys have no secret keys

Our metareduction:

◮ Idea: obtain ski⋆ and skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ or on all runs without j⋆

15

slide-53
SLIDE 53

Towards a new lower bound

[BJLS16]:

◮ obtain ski⋆ or skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ and all runs without j⋆ ⇒ loss of Ω(n2)

Problem: ski⋆, skj⋆ not unique Observation: uniqueness of Ki⋆j⋆ sufficient

◮ shared keys between valid public keys unique ◮ invalid public keys have no secret keys

Our metareduction:

◮ Idea: obtain ski⋆ and skj⋆ via rewinding to compute unique Ki⋆j⋆ ◮ reduction aborts on all runs without i⋆ or on all runs without j⋆ ⇒ loss of Ω(n)

15

slide-54
SLIDE 54

From passive to active security

Idea: add unbounded simulation sound NIZK proof of knowledge of secret key

◮ USS-NIZK allows to simulate during the reduction ◮ PoK allows to extract the secret key from corrupted users

16

slide-55
SLIDE 55

From passive to active security

Idea: add unbounded simulation sound NIZK proof of knowledge of secret key

◮ USS-NIZK allows to simulate during the reduction ◮ PoK allows to extract the secret key from corrupted users

Instantiation:

◮ generic instantiation from standard components ◮ optimized tightly secure instantiation for our NIKE

16

slide-56
SLIDE 56

Our results

Reference |pk|

  • sec. model
  • sec. loss

assumption uses [DH76] 1 × G passive n2 DDH

  • Ours

3 × G passive n DDH

  • [CKS08]

2 × G active⋆ 2 CDH ROM [FHKP13] 1 × ZN active n2 factoring ROM [FHKP13] 2 × G + 1 × Zp active n2 DBDH pairing Ours 12 × G active n DLIN pairing *w/o extractions Modular constructions New lower bound:

◮ applies to all schemes where invalid public keys have no secret keys ◮ yields a loss of Ω(n) for all simple black-box reductions

Generic transformation from passive to active secure NIKE Thank you!!

17

slide-57
SLIDE 57

Bibliography I

Christoph Bader, Tibor Jager, Yong Li, and Sven Sch¨

  • age. “On the

Impossibility of Tight Cryptographic Reductions”. In: EUROCRYPT 2016, Part II. Ed. by Marc Fischlin and Jean-S´ ebastien Coron. Vol. 9666. LNCS. Springer, Heidelberg, May 2016,

  • pp. 273–304. doi: 10.1007/978-3-662-49896-5_10.

David Cash, Eike Kiltz, and Victor Shoup. “The Twin Diffie-Hellman Problem and Applications”. In: EUROCRYPT 2008. Ed. by Nigel P. Smart. Vol. 4965. LNCS. Springer, Heidelberg, Apr. 2008,

  • pp. 127–145.

Ronald Cramer and Victor Shoup. “A Practical Public Key Cryptosystem Provably Secure Against Adaptive Chosen Ciphertext Attack”. In: CRYPTO’98. Ed. by Hugo Krawczyk. Vol. 1462. LNCS. Springer, Heidelberg, Aug. 1998, pp. 13–25.

18

slide-58
SLIDE 58

Bibliography II

Whitfield Diffie and Martin E. Hellman. “New Directions in Cryptography”. In: IEEE Transactions on Information Theory 22.6 (1976), pp. 644–654. Eduarda S. V. Freire, Dennis Hofheinz, Eike Kiltz, and Kenneth G. Paterson. “Non-Interactive Key Exchange”. In: PKC 2013.

  • Ed. by Kaoru Kurosawa and Goichiro Hanaoka. Vol. 7778. LNCS. Springer,

Heidelberg, 2013, pp. 254–271. doi: 10.1007/978-3-642-36362-7_17. Rosario Gennaro and Yehuda Lindell. “A Framework for Password-Based Authenticated Key Exchange”. In: EUROCRYPT 2003. Ed. by Eli Biham.

  • Vol. 2656. LNCS. http://eprint.iacr.org/2003/032.ps.gz.

Springer, Heidelberg, May 2003, pp. 524–543.

19

slide-59
SLIDE 59

Bibliography III

Jonathan Katz, Rafail Ostrovsky, and Moti Yung. “Efficient Password-Authenticated Key Exchange Using Human-Memorable Passwords”. In: EUROCRYPT 2001. Ed. by Birgit Pfitzmann. Vol. 2045.

  • LNCS. Springer, Heidelberg, May 2001, pp. 475–494.

Eike Kiltz and Hoeteck Wee. “Quasi-Adaptive NIZK for Linear Subspaces Revisited”. In: EUROCRYPT 2015, Part II. Ed. by Elisabeth Oswald and Marc Fischlin. Vol. 9057. LNCS. Springer, Heidelberg, Apr. 2015,

  • pp. 101–128. doi: 10.1007/978-3-662-46803-6_4.

20