jncf 2017
play

JNCF 2017 2017/01/20 Private Multi-party Matrix Multiplication and - PowerPoint PPT Presentation

1 2 JNCF 2017 2017/01/20 Private Multi-party Matrix Multiplication and Trust Computations Jean-Guillaume Dumas 1 ; Pascal Lafourcade 2 ; Jean-Baptiste Orfila 1 ; Maxime Puys 1 1 Public Key Infrastructure Alice wants to securely reach a


  1. 1 2 JNCF 2017 2017/01/20 Private Multi-party Matrix Multiplication and Trust Computations Jean-Guillaume Dumas 1 ; Pascal Lafourcade 2 ; Jean-Baptiste Orfila 1 ; Maxime Puys 1 1

  2. Public Key Infrastructure  Alice wants to securely reach a website (e.g. using « https ») Alice google.com Public key Private key 2

  3. Public Key Infrastructure  Problem : Fake website ! ɢ oogle.com Alice google.com 3

  4. Public Key Infrastructure  Certificates are delivered by a certification authority (CA) CA_1 Id: google.com Pub key: google.com … Sign: CA1 4

  5. Public Key Infrastructure Id: ɢ oogle.com Pub key: …  Alice checks the certificate Sign: CA_Fake Id: CA1 ɢ oogle.com Pub key: … Sign: CA1 Alice google.com Id: google.com CA_1 => OK Pub key: CA_FAKE => KO … Sign: CA1 5

  6. Trust between CA PKI_B CA_B CA_A CA_C PKI_A PKI_C User2 User1 6

  7. Trust between CA PKI_B CA_B CA_A CA_C PKI_A PKI_C User2 User1 7

  8. Network trust evaluation  Trust value between nodes 4 3/10 4/10 5/10 9/10 1 5 2 7/10 6/10 8/10 3 8

  9. Network trust evaluation  Trust evaluation between P1 and P5 ? 4 3/10 4/10 5/10 9/10 1 5 2 7/10 6/10 8/10 3 ? 9

  10. Trust Model [Jøsang 2007]  Trust metric:  T = (Trust, Distrust, Uncertainty) Positive Experiences 1 – Trust - Distrust Negative Experiences  Trust Aggregation:  Direct evaluation: 1 2 10

  11. Trust Model [Jøsang 2007]  Trust metric:  T = (Trust, Distrust, Uncertainty) Positive Experiences 1 – Trust - Distrust Negative Experiences  Trust Aggregation (monoids based): Sequential (‘x’) Parallel (‘+’) 1 2 3 . . . . 1 2 11

  12. Matrix representation  From a graph… …To a matrix T 12 T 13 T 14 ? 4 T 14 T 25 T 45 A = T 12 T 25 T 32 1 5 2 T 53 T 13 T 32 T 45 3 T 53  Trust aggregation [Dumas, Hossayni, 2012]  k: longest path between vertices  A k converges to global trust 12

  13. Securely computing trust  How to securely compute matrix product ?  Conditions:  n players  1 secret input per player (i.e. the row)  1 common computation (i.e. A k ) 13

  14. Outline Introduction 1. A secure multiparty dot product problem 2. State of the art a. Definitions and tools b. Data repartition problem c. A new dot product protocol 3. DSDP Security strenghtening of the DSDP protocol 4. 1 player corruption a. Collusion attacks b. Random Ring Order c. Conclusion 5. 14

  15. Secure dot product: State of the Art  Usual approach: Column: All values owned by 1 player V = Row: All values owned by 1 player U = T12 T13 T14 U T . V  [Du et al. 2001]; [Amirbekyan et al. 2007]; [Wang et al. 2008];  ... 15

  16. Homomorphic Encryptions  Homomorphic Encryptions:  E k (m1) E k (m2) = E k (m1+m2)  E k (m1) m2 = E k (m1.m2)  e.g. Cryptosystems of Paillier, Benaloh, Naccache- Stern…  Paillier’s cryptosystem: Ciphering/Deciphering based on modular exponentiations (« RSA like ») Cleartext space depends on each player’s parameters  Benaloh’s cryptosystem: Deciphering: computing an ‘‘ easy ’’ discrete log Common cleartext space 16

  17. Dot product  Data repartition: Column: 1 secret value per player U T . V V = Row: All values owned by 1 player U = T12 T13 T14 17

  18. Security notions  Protocol must achieve …  Correctness  Privacy  Safety  … despite adversaries …  Curious-but-honnest  Malicious  …Capable of cooperating 18

  19. State of the Art  MPWP: [Dolev et al. ’10]  Securely computing weighted average  Benaloh’s cryptosystem  Communications cost: O(n 3 )  P-MPWP: (1 st contribution)  Adaptation w/ Paillier’s cryptosystem  Reduction of the communications: O(n 2 )  DSDP: (2 nd contribution)  Paillier’s cryptosystem  Communications cost: O(n)  Less security properties are verified 19

  20. Distributed Secure Dot Product (DSDP)  0. Data repartition u1 u2 u3 P1 v2 P2 P3 v3 20

  21. Distributed Secure Dot Product (DSDP)  1. Protection of P2 and P3 inputs -> ciphering u1 u2 u3 P1 P3 P2 v2 v3 v2 v3 21

  22. Distributed Secure Dot Product (DSDP)  2. Data exchange u1 u2 u3 P1 v2 v3 P2 P3 22

  23. Distributed Secure Dot Product (DSDP)  3. Homomorphic operations u2 u3 v2 v3 P1 P2 P3 23

  24. Distributed Secure Dot Product (DSDP)  3. Homomorphic operations v3 u3 v2 u2 P1 P2 P3 24

  25. Distributed Secure Dot Product (DSDP)  4. P1 data protection: adding randomness v3 u3 r3 v2 u2 r2 P1 P2 P3 25

  26. Distributed Secure Dot Product (DSDP)  4. P1 data protection: homomorphic operations v3 u3 + r3 v2 u2 + r2 P1 P2 P3 26

  27. Distributed Secure Dot Product (DSDP)  5. Data exchange P1 v3 u3 + r3 v2 u2 + r2 P2 P3 27

  28. Distributed Secure Dot Product (DSDP)  6. Deciphering P1 v3 u3 + r3 v2 u2 + r2 P2 P3 28

  29. Distributed Secure Dot Product (DSDP)  7. Reciphering with next player’s key P1 v3 u3 + r3 v2 u2 + r2 P2 P3 29

  30. Distributed Secure Dot Product (DSDP)  8. Homomorphic operation P1 P2 P3 v3 u3 + r3 v2 u2 + r2 30

  31. Distributed Secure Dot Product (DSDP)  8. Homomorphic operation P1 P2 P3 v2 u2 + r2 + v3 u3 + r3 31

  32. Distributed Secure Dot Product (DSDP)  9. Data exchange P1 P2 P3 v2 u2 + r2 + v3 u3 r3 + 32

  33. Distributed Secure Dot Product (DSDP)  10. Deciphering P1 P2 P3 v2 u2 + r2 + v3 u3 r3 + 33

  34. Distributed Secure Dot Product (DSDP)  11. Reciphering with master player’s key P1 P2 P3 v2 u2 + r2 + v3 u3 r3 + 34

  35. Distributed Secure Dot Product (DSDP)  12. Data exchange P1 v2 u2 + r2 + v3 u3 r3 + P2 P3 35

  36. Distributed Secure Dot Product (DSDP)  13. Removing randomness v3 v2 u2 + r2 + u3 + r3 P1 P2 P3 36

  37. Distributed Secure Dot Product (DSDP)  14. Adding missing data v3 u1 u1 + v2 u2 + u3 P1 P2 P3 37

  38. Distributed Secure Dot Product (DSDP)  Properties:  Correctness  Security against one semi-honest adversary  Safety  O(n) communications  Automatic security verification  ProVerif 38

  39. DSDP  Normal case P1 v3 u3 + r3 v2 u2 + r2 P2 P3 39

  40. DSDP: P3 is compromised  Modified data sent from P3 instead of P1 P1 P2 P3 v3 x3 + y3 v2 x2 + y2 40

  41. DSDP: P3 is compromised  Counter-measure: Signatures P1 v3 u3 + r3 P1 v2 u2 + r2 P2 P3 41

  42. DSDP: P1 is compromised  Attack: replacing u3 and r3 P1 x3 v2 u2 + r2 P2 P3 42

  43. DSDP: P1 is compromised  Only v2 is unknown! v2 u2 + r2 + x3 P1 P2 P3 43

  44. DSDP: Counter-measure  Zero-Knowledge Proof of non trivial affine transform u2 r2 g g P1 P2 v2 u2 + r2 g 44

  45. DSDP: Counter-measure  Zero-Knowledge Proof of non trivial affine transform Non trivial = ? = u2 values r2 g g P1 P2 v2 v2 u2 + r2 u2 r2 g = ? = g g . 45

  46. DSDP: Collusion Attack 1  Normal case: v2 u2 + r2 P2 P1 v2 u2 + r2 + v3 u3 + r3 P3 P4 v2 u2 + r2 + v3 u3 r3 v4 u4 r4 + + + 46

  47. DSDP: P1 and P3 corrupted  P3 extra data exchange: P2 P1 v2 u2 + r2 + v3 u3 r3 + P3 P4 47

  48. DSDP: Collusion Attacks  Attacks conditions:  P1 corrupted  Honest player rounded by corrupted ones  Problem: players ’ location!  Counter-measure: Random Ring Order (RRO)  Players are randomly placed  d protocol repetitions using masked secrets 48

  49. DSDP: Random Ring Order  Masked secret: v i = v i,1 + v i,2  Round 1: P1 v2,1 u2 + r2 P2 P3 v2,1 u2 + r2 + v3,1 u3 r3 + 49

  50. DSDP: Random Ring Order  Masked secret: v i = v i,1 + v i,2  Round 2: P1 v3,2 u3 + r3’ P3 P2 v3,2 u3 + r3’ + v2,2 u2 r2’ + 50

  51. DSDP: Random Ring Order  Masked secret: v i = v i,1 + v i,2  Last step: v2,1 u2 + v3,1 u3 + v3,2 u3 + v2,2 u2 P1 P3 P2 51

  52. DSDP: Random Ring Order  Masked secret: v i = v i,1 + v i,2  Last step: v2,1 u2 + v2,2 u2 + v3,1 u3 v3,2 u3 + P1 P3 P2 52

  53. DSDP: Random Ring Order  Masked secret: v i = v i,1 + v i,2  At the end: v2 u2 v3 u3 + P1 P3 P2 53

  54. Security of RRO  Attacks successful if: Adversaries are well-placed at each round  Probabilist security:  #{Malicious Players} < #{Honests Players} => d=O(log n) rounds (in average)  Guaranteed security:  Even in the worst case( #{Malicious} = n-2) => d = O(n* s ) rounds, with s bits of security 54

  55. Dot Product Protocols Comparison 55

  56. Private trust computation  Applying dot-product protocols to matrix product k Global Trust T 12 T 13 T 14 ? T 12 T 13 T 14 T 15 T 23 ? T 25 converges T 23 T 24 T 25 ? T 35 T 31 T 35 ? T 45 T 4 3 T 45 T 53 ? T 52 T 53 Applicable to monoids of trust Inputs privacy 56

Recommend


More recommend