Secure Distributed Computation on Private Inputs David Pointcheval - - PowerPoint PPT Presentation

secure distributed computation on private inputs
SMART_READER_LITE
LIVE PREVIEW

Secure Distributed Computation on Private Inputs David Pointcheval - - PowerPoint PPT Presentation

Secure Distributed Computation on Private Inputs David Pointcheval ENS - CNRS - INRIA Foundations & Practice of Security Clermont-Ferrand, France - October 27th, 2015 The Cloud David Pointcheval Introduction 2 / 30 Access from


slide-1
SLIDE 1

Secure Distributed Computation

  • n Private Inputs

Foundations & Practice of Security Clermont-Ferrand, France - October 27th, 2015

David Pointcheval ENS - CNRS - INRIA

slide-2
SLIDE 2

David Pointcheval / 30

The Cloud

2 Introduction

slide-3
SLIDE 3

David Pointcheval / 30

Access from Anywhere

3 Introduction

slide-4
SLIDE 4

David Pointcheval / 30

Available for Everything

One can Store documents, photos, etc Share them with colleagues, friends, family Process the data Ask queries on the data

4 Introduction

slide-5
SLIDE 5

David Pointcheval / 30

With Current Solutions

The Cloud provider knows the content and claims to actually identify users and apply access rights safely store the data securely process the data protect privacy

5 Introduction

slide-6
SLIDE 6

David Pointcheval / 30

But…

For economical reasons, by accident, or attacks data can get deleted any user can access the data

  • ne can log

all the connected users all the queries to analyze and sell/negotiate the information

6 Introduction

slide-7
SLIDE 7

David Pointcheval / 30

Requirements

Users need more Storage guarantees Privacy guarantees confidentiality of the data anonymity of the users

  • bliviousness of the queries

How to process users’ queries?

7 Introduction

slide-8
SLIDE 8

David Pointcheval / 30 Inputs Outputs Circuit

AND OR NOT OR AND NOT

FHE: The Killer Tool

Fully Homomorphic Encryption allows to process encrypted data, and get the encrypted output

8 Some Approaches [Gentry - STOC ’09] [Rivest-Adleman-Dertouzos - FOCS ’78]

slide-9
SLIDE 9

David Pointcheval / 30 Circuit

EAND EOR ENOT EOR EAND ENOT

FHE: The Killer Tool

Fully Homomorphic Encryption allows to process encrypted data, and get the encrypted output

Encrypted Inputs Encrypted Outputs 8 Some Approaches [Gentry - STOC ’09] [Rivest-Adleman-Dertouzos - FOCS ’78]

slide-10
SLIDE 10

David Pointcheval / 30

Outsourced Processing

Inputs Circuit 9

EAND EOR ENOT EOR EAND ENOT

Some Approaches

slide-11
SLIDE 11

David Pointcheval / 30 Outputs Encrypted Outputs

Outsourced Processing

Encrypted
 Inputs Inputs Circuit 9

EAND EOR ENOT EOR EAND ENOT

Some Approaches

slide-12
SLIDE 12

David Pointcheval / 30 Outputs Encrypted Outputs

Outsourced Processing

Encrypted
 Inputs Inputs Circuit no information about
 the input/output data 9

EAND EOR ENOT EOR EAND ENOT

Some Approaches

Symmetric encryption (secret key) is enough

slide-13
SLIDE 13

David Pointcheval / 30

Strong Privacy

Universal Circuit Program 10

EAND EOR ENOT EOR EAND ENOT

Some Approaches Inputs

slide-14
SLIDE 14

David Pointcheval / 30 Outputs

Strong Privacy

Encrypted
 Inputs + Encrypted
 Program Universal Circuit Program 10

EAND EOR ENOT EOR EAND ENOT

Encrypted Outputs Some Approaches Inputs

slide-15
SLIDE 15

David Pointcheval / 30 Outputs

Strong Privacy

Encrypted
 Inputs + Encrypted
 Program Universal Circuit Program no information about
 the input/output data nor the program 10

EAND EOR ENOT EOR EAND ENOT

Encrypted Outputs Some Approaches Inputs

slide-16
SLIDE 16

David Pointcheval / 30

FHE: Ideal Solution?

… But each gate requires huge computations…

Allows private storage Allows private computations Private queries in an encrypted database Private « googling » The provider does not learn the content the queries the answers

Privacy by design…

11 Some Approaches

slide-17
SLIDE 17

David Pointcheval / 30

Confidentiality & Sharing

Encryption allows to protect data the provider stores them without knowing them nobody can access them either, except the owner

How to share them with friends?

12 Some Approaches

slide-18
SLIDE 18

David Pointcheval / 30

Confidentiality & Sharing

Encryption allows to protect data the provider stores them without knowing them nobody can access them either, except the owner

How to share them with friends?

Specific people have full access to some data: with public-key encryption for multiple recipients Specific people have partial access such as statistics or aggregation of the data

12 Some Approaches

slide-19
SLIDE 19

David Pointcheval / 30

Broadcast Encryption

13 Some Approaches [Fiat-Naor - Crypto ‘94]

slide-20
SLIDE 20

David Pointcheval / 30

Broadcast Encryption

13 Some Approaches [Fiat-Naor - Crypto ‘94]

slide-21
SLIDE 21

David Pointcheval / 30

Broadcast Encryption

The sender can select the target group of receivers This allows to control who will access to the data

13 Some Approaches [Fiat-Naor - Crypto ‘94]

slide-22
SLIDE 22

David Pointcheval / 30

Functional Encryption

The user generates sub-keys Ky according to the input y

14 Some Approaches [Boneh-Sahai-Waters - TCC ‘11]

slide-23
SLIDE 23

David Pointcheval / 30

Functional Encryption

The user generates sub-keys Ky according to the input y From C = Encrypt(x), Decrypt(Ky, C) outputs f(x,y) This allows to control the amount of shared data

14 Some Approaches [Boneh-Sahai-Waters - TCC ‘11]

slide-24
SLIDE 24

David Pointcheval / 30

Outline

Broadcast Encryption Efficient solutions for sharing data Functional Encryption Some recent efficient solutions for inner product Fully Homomorphic Encryption Despite recent improvements, this is still inefficient

With 2-party computation


  • ne can get an efficient alternative

15

slide-25
SLIDE 25

David Pointcheval / 30

Multi-Party Computation

Secure Multi-Party Computation Ideally: each party gives its input and just learns its output for any ideal functionality

input

  • utput

input

  • utput

input

  • utput

16 MPC

slide-26
SLIDE 26

David Pointcheval / 30

Multi-Party Computation

Latency too high over Internet……

Secure Multi-Party Computation Ideally: each party gives its input and just learns its output for any ideal functionality In practice: many interactions between the parties

17

input

  • utput

input

  • utput

input

  • utput

MPC

slide-27
SLIDE 27

David Pointcheval / 30

Two-Party Computation

General construction: Yao Garbled Circuits For specific construction: quite inefficient

18 y x z

f(x, y) = (x + y)e mod n z = f(x, y)

2-PC

slide-28
SLIDE 28

David Pointcheval / 30

Encryption Switching Protocols

With additive encryption E+, multiplication encryption Ex
 and an interactive switch from c+ to cx: Alices sends c+A = E+(x), and Bob sends c+B = E+(y) They compute c = c+A ⊕ c+B = E+(x+y) They run the interactive switch to get c’ = Ex(x+y) They compute C = ⊗e c’ = Ex((x+y)e) They run the interactive decryption to gets z

19

f(x, y) = (x + y)e mod n

[Couteau-Peters-P - EPrint 2015/990] 2-PC

slide-29
SLIDE 29

David Pointcheval / 30

Homomorphic Encryption

20

Additive encryption on Zn: Paillier encryption Public key: n = pq Secret key: d = [λ−1 mod n] × λ Encryption: c = (1 + n)m · rn mod n2 Decryption: m = [cd − 1 mod n2]/n

Additively homomorphic Efficient interactive decryption

[Paillier - Eurocrypt ’99] 2-PC

slide-30
SLIDE 30

David Pointcheval / 30

Homomorphic Encryption

21

Multiplicatively homomorphic Efficient interactive decryption

Multiplicative encryption on G: ElGamal encryption Secret key: x ∈ Zp Public key: h = gx Encryption: c = (c0 = gr, c1 = hr · m) Decryption: m = c1/cx

If n = pq, with safe primes p = 2p + 1 and q = 2q + 1 Works for G = n, under the DDH in Z

p and Z q

Works for G = Jn, under the additional QR assumption But does not work in Z

n…

[ElGamal - IEEE TIT ’85] 2-PC

slide-31
SLIDE 31

David Pointcheval / 30

Encoding of Messages

22

Multiplicative encryption on Z∗

n: by encoding m Z∗ n into Jn

For n = pq, generator g of Jn of order λ χ Z∗

n\Jn,

using the CRT: χ = gtp mod p, for an even tp: χ p χ = gtq mod q, for an odd tp: χ q hence χ Z∗

n\Jn

For m Z∗

n,

a R {1, . . . , n/2}, so that χa · m Jn m1 = ga mod n and m2 = χa · m From m1,

  • ne gets α = χa mod n using the CRT:

α = mtp

1 mod p and α = mtq 1 mod q

From m2,

  • ne gets m = m2/α mod n

2-PC

slide-32
SLIDE 32

David Pointcheval / 30

Homomorphic Encryption

23

Multiplicatively homomorphic Efficient interactive decryption Efficient encryption switching protocols with the Paillier encryption

Multiplicative encryption on Z∗

n: for n = pq

Secret key: x, tp, tq Zλ Public key: χ Z∗

n\Jn, Jn = g, h = gx (ElGamal in Jn)

Encryption: encode m into (m1 = ga, m2 = χa · m) J2

n

encrypt m2 under h, to get (c0, c1) the ciphertext is C = (c0, c1, m1) Decryption: decrypt (c0, c1) using x, to get m2 convert m1 = ga into α = χa using the CRT get m = m2/α mod n

2-PC

slide-33
SLIDE 33

David Pointcheval / 30

Two-Party Computation?

24

The two homomorphic encryption schemes together with the encryption switching protocols: Efficient two-party computation But in the intersection of the plaintext spaces! Cannot deal with zero! But cannot avoid zero either during computations!

Zn ∩ Z∗

n = Z∗ n

2-PC

slide-34
SLIDE 34

David Pointcheval / 30

How to Handle Zero?

25

One can note that A ∈ Z∗

n, unless m is a non-trivial multiple of p or q

B ∈ n = ⇒ they can both be encrypted with appropriate ElGamal-like encryption

Multiplicatively homomorphic: 0 is absorbing in B Encrypted Zero Test protocols: E+(m) → E+(b)

In order to multiplicatively encrypt m ∈ Zn: One defines b = 1 if m = 0, and b = 0 otherwise One encrypts A = m + b mod n One encrypts B = T b mod n for a random square T

2-PC

slide-35
SLIDE 35

David Pointcheval / 30

Set Disjointness Testing

26

Alice’s friends: A = {a1,…, am} Bob’s friends: B = {b1,…, bn} A ∩ B = ∅ ? Alice computes P(X) = ∏i (X - ai) = ∑i Ai Xi,
 and sends Ci = E+(Ai) Bob computes Bj = E+(P(bj)) = ∑i bji Ci They switch to B’j = Ex(P(bj)) They compute C’ = Ex(∏j P(bj)) = ∏j B’j They decrypt C’ → c = ∏j P(bj) = ∏j ∏i (bj - ai) c = 0 ⇔ A ∩ B ≠ ∅

2-PC

slide-36
SLIDE 36

David Pointcheval / 30

Outsourced Computations

Inputs 27 Advanced 2-PC skA skB

slide-37
SLIDE 37

David Pointcheval / 30

Outsourced Computations

Encrypted
 Inputs Inputs 27 Encrypted Outputs Advanced 2-PC skA skB

The user possesses n=pq The user gives the shares to 2 independent servers

slide-38
SLIDE 38

David Pointcheval / 30 Outputs

Outsourced Computations

Encrypted
 Inputs Inputs 27 Encrypted Outputs Advanced 2-PC skA skB no information about
 the input/output data

The user possesses n=pq The user gives the shares to 2 independent servers

Interactive Fully Homomorphic Encryption

slide-39
SLIDE 39

David Pointcheval / 30

Homomorphic Encryption

28 [Bresson-Catalano-P. - Asiacrypt ’03]

Additive encryption on Zn: BCP encryption Parameters: n = pq and a square g ∈ Z∗

n2

Secret key: x ∈ Znλ(n) Public key: h = gx mod n2 Encryption: c0 = gr mod n2, for n ∈ [1..n2/2] c1 = hr(1 + mn) mod n2 Decryption: m = [c1/cx

0 − 1 mod n2]/n

Alternatively: with λ(n) → x0 = x mod n (where x = x0 + nx1) c1/cx0

0 =

g(x−x0)r · (1 + mn) = (grx1)n · (1 + mn) = un · (1 + n)m mod n2

Advanced 2-PC

slide-40
SLIDE 40

David Pointcheval / 30

Multi-User Setting

29

The two independent servers share the Paillier’s secret key for n=pq and setup a BCP scheme The servers can convert BCP ciphertexts into Paillier ciphertexts, and run the 2-party protocol The servers can convert a Paillier ciphertext into a BCP ciphertext for a specific user

⇒ Secure efficient outsourced computations

More servers can be used:
 unless all the servers corrupted, privacy guaranteed

Advanced 2-PC

slide-41
SLIDE 41

David Pointcheval / 30

Conclusion

Threat However strong the trustfulness of the Cloud provider may be, any system or human vulnerability can be exploited against privacy Privacy by design Tools to limit data access The provider is just trusted to store the data (can be controlled) process and answer any request (or DoS)

30