improvements on distributed key generation
play

Improvements on Distributed Key Generation Bachelor Project Kopiga - PowerPoint PPT Presentation

Improvements on Distributed Key Generation Bachelor Project Kopiga Rasiah Responsible Supervisor Bryan Ford Nicolas Gailly 1 Improvements on Distributed Key Generation Objective: Bringing improvements in order to enhance the security of


  1. Improvements on Distributed Key Generation Bachelor Project Kopiga Rasiah Responsible Supervisor Bryan Ford Nicolas Gailly 1

  2. Improvements on Distributed Key Generation • Objective: Bringing improvements in order to enhance the security of the protocol 2

  3. Outline • Background: • What is DKG • Shamir’s secret • Feldman’s VSS • How DKG works • My work: Proactive secret sharing • Implementation • Conclusion 3

  4. Distributed Key Generation • Set of n participants who collectively generate a shared private/public key • Each node have a share of the secret (private key) • No single point failure: attacker needs to break into multiple location to have access to the secret. • DKG is mostly used in group digital signature, or decrypt shared ciphertexts. 4

  5. Shamir’s secret sharing dealer 5

  6. Shamir’s secret sharing dealer 6

  7. Shamir’s secret sharing • f(x) = s + a 1 x + a 2 x 2 + … + a t-1 x t-1 , t < n • f(0) = secret • construct n points out of it (shares) and distributes to the nodes 7

  8. Shamir’s secret sharing f(1) f(2) f(3) f(4) f(5) • t points are sufficient to reconstruct a t-1 degree polynomial function 1 2 3 4 5

  9. Shamir’s secret sharing 1 2 3 4 5 9

  10. Feldman’s verifiable secret sharing • Based on Shamir’s secret sharing nodes can verify if their shares are consistent • • dealer broadcasts F( • ) = f( • ) * g • F(i) == s i * g 10

  11. Distributed Key Generation • Based on Feldman’s VSS • System without any trusted party • Executes n VSS instances in parallel: every node is a dealer • Each node generates f i (x) = z i + a 1 x + a 2 x 2 +…+ a t-1 x t-1 , where z i is random 11

  12. Distributed Key Generation f 1 (1) f 1 (2) 2 1 f 1 (4) f 1 (3) 3 4 12

  13. Distributed Key Generation f 1 (1) f 1 (2) f 2 (2) 2 1 f 2 (1) f 2 (3) f 1 (4) f 1 (3) f 2 (4) 3 4 13

  14. Distributed Key Generation f 1 (1) f 1 (2) +f 2 (1) +f 2 (2) +f 3 (1) +f 3 (2) +f 4 (1) +f 4 (2) 1 2 = s 1 = s 2 f 1 (3) f 1 (4) +f 2 (3) +f 2 (4) +f 3 (3) +f 3 (4) +f 4 (3) +f 4 (4) 3 4 = s 3 = s 4 14

  15. Distributed Key Generation f 1 (1) f 1 (2) +f 2 (1) +f 2 (2) +f 3 (1) +f 3 (2) +f 4 (1) +f 4 (2) 1 2 = s 1 = s 2 s = ∑ j f j (0) S = ∑ j F j (0) = s * g f 1 (3) f 1 (4) +f 2 (3) +f 2 (4) +f 3 (3) +f 3 (4) +f 4 (3) +f 4 (4) 3 4 = s 3 = s 4 15

  16. Proactive secret sharing • Given enough time, an attacker can gradually break into more than t servers • Not practical to change the secret • Solution: Proactive secret sharing. • We only focus on refreshing the shares 16

  17. Proactive secret sharing • Why refreshing ? • Refreshing the shares makes the underlying polynomial change ! • Old stolen information become useless 17

  18. The idea • Let’s assume that the initial DKG round has been done • Each node generates new intermediate random polynomials g i (x) • g i (x) = 0 + b 1,i x + b 2,i x 2 +…+ b t-1,i x t-1 • They execute again the DKG protocol: • distributions of the intermediate shares 18

  19. Distributed Key Generation g 1 (1) g 2 (2) g 1 (2) g 1 (x) g 2 (x) g 2 (1) 1 2 g 2 (4) g 1 (3) g 2 (3) g 1 (4) g 3 (x) g 4 (x) 3 4 19

  20. Proactive secret sharing s i = ∑ j f j (i) for node i s i ’ = ∑ j g j (i) 20

  21. Proactive secret sharing s i = ∑ j f j (i) + s i ’ = ∑ j g j (i) <— 2 nd round DKG r i = ∑ j h j (i) 21

  22. Proactive secret sharing s i = ∑ j f j (i) + s i ’ = ∑ j g j (i) r i = ∑ j h j (i) 22

  23. Proactive secret sharing s i = ∑ j f j (i) s = ∑ j f j (0) = 0 + s i ’ = ∑ j g j (i) + s i ’ = ∑ j g j (0) s = ∑ j h j (0) r i = ∑ j h j (i) g i (x) = 0 + b 1,i x + b 2,i x 2 +…+ b t-1,i x t-1 23

  24. Distributed Key Generation s 2 s 1 + ∑ j g j (2) + ∑ j g j (1) = r 2 = r 1 1 2 s 3 s 4 + ∑ j g j (3) + ∑ j g j (4) = r 3 = r 4 3 4 24

  25. Distributed Key Generation s 2 s 1 + ∑ j g j (2) + ∑ j g j (1) = r 2 = r 1 1 2 renewed share s 3 s 4 + ∑ j g j (3) + ∑ j g j (4) = r 3 = r 4 3 4 25

  26. Proactive secret sharing • The attacker’s time is now restricted between the updating process • He need to break into servers at the same period 26

  27. Implementation 2 nd round of DKG for updating the shares: • • Renew function adds 2 shares according to their indices: • check if G(0) = 0 ( = 0 * g) • check share1.index == share2.index 27

  28. Conclusion • enhances security of the protocol • much more interesting if periodicity is implemented Future work • Implement the periodicity • Implement the share recovering process Current work • Drand (distributed randomness beacon daemon) where • nodes collectively produces random values 28

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend