robust password protected secret sharing
play

Robust Password- Protected Secret Sharing Michel Abdalla, Mario - PowerPoint PPT Presentation

Robust Password- Protected Secret Sharing Michel Abdalla, Mario Cornejo, Anca Ni ulescu, David Pointcheval cole Normale Suprieure, CNRS and INRIA, Paris, France R E S E A R C H U N I V E R S I T Y PPSS: Motivation Cloud provider


  1. Robust Password- Protected Secret Sharing Michel Abdalla, Mario Cornejo, Anca Ni ţ ulescu, David Pointcheval École Normale Supérieure, CNRS and INRIA, Paris, France R E S E A R C H U N I V E R S I T Y

  2. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents

  3. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents

  4. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents Everyone might have access to the data

  5. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents

  6. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents Provider still has access to the data

  7. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents

  8. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents

  9. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents • We can remember just low-entropy passwords (and not too many). • Humans cannot remember large secret keys. • Provider/authorities might perform an offline dictionary attack.

  10. PPSS: Motivation Cloud provider medical top secret taxes paychecks records documents • USB Tokens might not be always available. • Tokens might fall into the wrong hands. • Large keys give better security.

  11. PPSS: Password-Protected Secret Sharing Cloud provider taxes

  12. PPSS: Password-Protected Secret Sharing Cloud provider • User creates a cryptographic key. taxes

  13. PPSS: Password-Protected Secret Sharing Cloud provider • User creates a cryptographic key. • Encrypts her data using this key. taxes

  14. PPSS: Password-Protected Secret Sharing Keys store Cloud provider … • User creates a cryptographic key. • Encrypts her data using this key. • Stores her secret key into servers n by using her password and some public information. taxes

  15. PPSS: Password-Protected Secret Sharing Keys store Cloud provider … taxes • User creates a cryptographic key. • Encrypts her data using this key. • Stores her secret key into servers n by using her password and some public information. • Stores the data into the provider.

  16. PPSS: Password-Protected Secret Sharing Keys store Cloud provider … • After interactions using her t + 1 password, the user can recover her secret key taxes

  17. PPSS: Password-Protected Secret Sharing Keys store Cloud provider … • After interactions using her t + 1 password, the user can recover her secret key taxes

  18. PPSS: Properties • A PPSS scheme defines two steps: Initialization : Secret & password are processed Reconstruction : The user can recover the secret by interacting with a subset of servers. t + 1 • Additional properties: Soundness : Even if the adversary cannot make the user recover a different secret. Robustness : The recovery is guaranteed if there are s non-corrupt servers. t + 1

  19. PPSS: Instantiations of PPSS Scheme Messages Client inter-server Robust ZKP BJSL11 4 PKI PKI No Costly CLLN14 10 Std PKI No Costly JKK14 2 CRS None Yes Costly JKKX16 2 CRS None No No

  20. PPSS: Instantiations of PPSS Scheme Messages Client inter-server Robust ZKP BJSL11 4 PKI PKI No Costly CLLN14 10 Std PKI No Costly JKK14 2 CRS None Yes Costly JKKX16 2 CRS None No No This work 2 CRS None Yes No

  21. Robust Password-Protected Secret Sharing PPSS OPRF Robust Gap Secret Sharing Secret Sharing Scheme

  22. Robust Password-Protected Secret Sharing PPSS OPRF Robust Gap Secret Sharing Secret Sharing Scheme

  23. Robust Password-Protected Secret Sharing PPSS OPRF Robust Gap Secret Sharing Secret Sharing Scheme

  24. Robust Password-Protected Secret Sharing PPSS OPRF Robust Gap Secret Sharing Secret Sharing Scheme

  25. PPSS: Secret Sharing Scheme s 1 s 2 Secret s 3 … s n

  26. PPSS: Secret Sharing Scheme s 1 s 2 Secret s 3 … s n

  27. PPSS: Robust Gap Secret Sharing Scheme How do we implement robustness?

  28. PPSS: Robust Gap Secret Sharing Scheme Assume a set of valid shares from a Threshold SSS s 1 s 2 s 3 … s n ( s 1 , . . . , s n )

  29. PPSS: Robust Gap Secret Sharing Scheme Fingerprint function: Hash function s 1 σ 1 s 2 σ 2 s 3 σ 3 … s n σ n ( s 1 , . . . , s n ) ( σ 1 , . . . , σ n )

  30. PPSS: Robust Gap Secret Sharing Scheme 2 2 k ( n − t r )+1 < N ≤ 2 2 k ( n − t r )+2 Generate a prime number N s 1 σ 1 s 2 σ 2 × S s 3 σ 3 … s n σ n S = Q n ( s 1 , . . . , s n ) ( σ 1 , . . . , σ n ) i =1 σ i mod N

  31. PPSS: Robust Gap Secret Sharing Scheme 2 2 k ( n − t r )+1 < N ≤ 2 2 k ( n − t r )+2 Generate a prime number N s 1 σ 1 Output: s 2 σ 2 … s 1 s 2 s 3 { s k } n = s n × S s 3 σ 3 SSInfo = ( S , N ) { } S N … , s n σ n S = Q n ( s 1 , . . . , s n ) ( σ 1 , . . . , σ n ) i =1 σ i mod N

  32. PPSS: Robust Gap Secret Sharing Scheme How can we decide which are the valid sets of shares to reconstruct?

  33. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , s 1 s 2 s 3 … s n

  34. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , s 1 τ 1 s 2 τ 2 s 3 τ 3 … s n τ n

  35. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , s 1 τ 1 s 2 τ 2 × T s 3 τ 3 … s n τ n

  36. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T γ = S

  37. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T … τ 2 τ 3 τ n τ 1 γ = = S … σ 2 σ 3 σ n σ 1

  38. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T T 0 … τ 2 τ 3 τ n τ 1 γ = = = S 0 S … σ 2 σ 3 σ n σ 1

  39. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T T 0 … τ 2 τ 3 τ n τ 1 γ = = = S 0 S … σ 2 σ 3 σ n σ 1 | gcd( τ 1 , ) | ≈ 1 T 0

  40. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T T 0 … τ 2 τ 3 τ n τ 1 γ = = = S 0 S … σ 2 σ 3 σ n σ 1 Correct fingerprint! | gcd( τ 1 , ) | ≈ 1 T 0

  41. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T T 0 … τ 2 τ 3 τ n τ 1 γ = = = S 0 S … σ 2 σ 3 σ n σ 1 Correct fingerprint! | gcd( τ 1 , ) | ≈ 1 T 0 | gcd( ) | ≈ Incorrect fingerprint! T 0 k τ 2 ,

  42. PPSS: Robust Gap Secret Sharing Scheme Given SSInfo = ( S , N ) { } S N , T T 0 … τ 2 τ 3 τ n τ 1 γ = = = S 0 S … σ 2 σ 3 σ n σ 1 Correct fingerprint! | gcd( τ 1 , ) | ≈ 1 T 0 | gcd( ) | ≈ Incorrect fingerprint! T 0 k τ 2 , Correct fingerprint! | gcd( ) | ≈ 1 T 0 τ 3 ,

  43. PPSS: Oblivious PRF sk pw F F ( sk , pw ) • The output is indistinguishable from random • The server learns nothing

  44. PPSS: Password-Protected Secret Sharing Initialization phase

  45. PPSS: Initialization The user interacts with servers to obliviously evaluate the PRF n ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) …

  46. PPSS: Initialization The user interacts with servers to obliviously evaluate the PRF n ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … π 1 = F sk 1 ( pw ) pw

  47. PPSS: Initialization The user interacts with servers to obliviously evaluate the PRF n ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … π 1 = F sk 1 ( pw ) π 2 = F sk 2 ( pw ) pw

  48. PPSS: Initialization The user interacts with servers to obliviously evaluate the PRF n ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … π 1 = F sk 1 ( pw ) π 2 = F sk 2 ( pw ) π n = F sk n ( pw ) pw

  49. PPSS: Initialization Each share is encrypted using the each PRF evaluation ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … π 1 = F sk 1 ( pw ) π 2 = F sk 2 ( pw ) π n = F sk n ( pw ) R = K || r pw { π k } n { pk k } n

  50. PPSS: Initialization Each share is encrypted using the each PRF evaluation ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … π 1 = F sk 1 ( pw ) π 2 = F sk 2 ( pw ) π n = F sk n ( pw ) R = K || r ( s 1 , . . . , s n , SSInfo ) ← ShareGen ( R ) pw { π k } n { pk k } n

  51. PPSS: Initialization Each share is encrypted using the each PRF evaluation ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … π 1 = F sk 1 ( pw ) π 2 = F sk 2 ( pw ) π n = F sk n ( pw ) R = K || r ( s 1 , . . . , s n , SSInfo ) ← ShareGen ( R ) σ k = π k ⊕ s k pw { π k } n { pk k } n

  52. PPSS: Initialization The user computes a commitment ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … C = Commit ( pw, H ( { pk k } n , { σ k } n , SSInfo , K ); r ) pw { π k } n { pk k } n { σ k } n K r SSInfo

  53. PPSS: Initialization The user uploads the encrypted data ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … PInfo PInfo PInfo PInfo = ( { pk k } n , { σ k } n , SSInfo , C ) pw { π k } n { pk k } n { σ k } n K r SSInfo C

  54. PPSS: Password-Protected Secret Sharing Reconstruction phase

  55. PPSS: Reconstruction The user interacts with the server ( pk 1 , sk 1 ) ( pk 2 , sk 2 ) ( pk n , sk n ) … PInfo PInfo PInfo π 1 = F sk 1 ( pw ) PInfo pw

Recommend


More recommend