Hiding the Input Size in Secure Two-Party Computation Yehuda Lindell - - PowerPoint PPT Presentation

hiding the input size in secure two party computation
SMART_READER_LITE
LIVE PREVIEW

Hiding the Input Size in Secure Two-Party Computation Yehuda Lindell - - PowerPoint PPT Presentation

Hiding the Input Size in Secure Two-Party Computation Yehuda Lindell , Kobbi Nissim, Claudio Orlandi (or a more privacy Privacy on sensitive social network) My friends should only see our common friends Secure Computation 8dx2rru3d0fW2TS y


slide-1
SLIDE 1

Hiding the Input Size in Secure Two-Party Computation

Yehuda Lindell, Kobbi Nissim, Claudio Orlandi

slide-2
SLIDE 2

Privacy on

(or a more privacy sensitive social network) My friends should only see

  • ur common

friends

slide-3
SLIDE 3

Secure Computation

 Privacy  Correctness  Input Independence  “The protocol is as secure as the ideal world”

Or is it?

8dx2rru3d0fW2TS muv6tbWg32flqIo s1e4xq13OtTzoJc

Cryptographic Protocol f(x,y) x y z1 z2 Trusted Party

slide-4
SLIDE 4

PSI

Friend list Friend list Intersection

Privacy on

(or a more privacy sensitive social network)

slide-5
SLIDE 5

Friend list Friend list

+ size of friend list! Yao’s protocol

Intersection

Privacy on

(or a more privacy sensitive social network)

slide-6
SLIDE 6

Friend list Friend list

+ size of friend list! Yao’s protocol

Intersection

You learned more than you were supposed to! Don’t worry, it’s

  • nly metadata!

Privacy on

(or a more privacy sensitive social network)

slide-7
SLIDE 7

Padding?

𝑌 ∩ 𝑍

X=x1……xn Y=y1..ym Z Z

8dx2rru3d0fW2TS muv6tbWg32flqIo s1e4xq13OtTzoJc

Z

, m

Z

, n

X=x1……xn Y=y1..ym

…xB ….…yB

B B

 Just add a lot of “fake entries” to your DB  Requires an upper bound   Inherent inefficiency 

slide-8
SLIDE 8

Impossibility of Size-Hiding: Proof by Authority

[G04] “…making no restriction on the relationship among the lengths of the two inputs disallows the existence of secure protocols for computing any nondegenerate functionality…” [IP07] “…hiding the size of both inputs is impossible for interesting functions…” [HL10]“…We remark that some restriction on the input lengths is unavoidable because, as in the case of encryption, to some extent such information is always leaked…”

slide-9
SLIDE 9

Impossibility of Size-Hiding: Proof by Authority

[G04] “…making no restriction on the relationship among the lengths of the two inputs disallows the existence of secure protocols for computing any nondegenerate functionality…” [IP07] “…hiding the size of both inputs is impossible for interesting functions…” [HL10]“…We remark that some restriction on the input lengths is unavoidable because, as in the case of encryption, to some extent such information is always leaked…”

slide-10
SLIDE 10

Impossibility

 Is it impossible for

 Any nondegenerate functionality?

 What is nondegenerate?  What does no restriction mean?

 All interesting functions?

 What is interesting?  What about hiding one party’s input?  Is it really like encryption? Is length information

always leaked?

slide-11
SLIDE 11

This Work

 Part of a general research effort to revisit the

foundations of secure computation

 Do we have any proof that it’s impossible?

 If yes, where and for what functions?

 Is it impossible always or sometimes?

 If sometimes, can we characterize when?

 How do we define size hiding?  Compare to recent work on fairness…

slide-12
SLIDE 12

Input Size Can be Hidden Sometimes

 MicaliRabinKilian’03 (and many subsequent work…):

Zero Knowledge Sets (check membership without revealing the size of the set)

 IshaiPaskin’07:

 Branching programs (reveal length of the branching

program but nothing else about input size)

 Implies set intersection, server input size is hidden

 AtenieseDeCristofaroTsudik’11:

 Specific protocol for set intersection, client input size is

hidden; efficient, in random oracle model

 Note: all these are for specific problems/restricted

class, and all hide only one party’s input

slide-13
SLIDE 13

A Test Case: Standard Definition

 Standard definition, e.g. [Gol04]  Need to know other party’s size in advance

 Introduces problem of input size dependence  One party can choose its input after knowing the size of the

  • ther party’s input (outside the scope of the protocol)

if |x|=|y| z=f(x,y) else z = fail x y z z

slide-14
SLIDE 14

Defining Non-Input-Size Hiding

 Formulation [G04]:  Our formulation:  Security guarantees incomparable

if |x|=|y| z=f(x,y) Else z = fail x y z z

z=f(x,y) x y z,|y| z,|x|

slide-15
SLIDE 15

Defining Non-Input-Size Hiding

 Formulation [G04]:  Our formulation:  Security guarantees incomparable

if |x|=|y| z=f(x,y) Else z = fail x y z z

z=f(x,y) x y z,|y| z,|x|

Standard protocols are not secure for either formulation!

slide-16
SLIDE 16

Ideal Model - Classes

 Classes

 0: both input-sizes are leaked  1: Bob learns |𝑦|, Alice does not learn 𝑧  2: both input-sizes are not revealed

 Subclasses

 Who gets output?  Is the output size leaked?

 Our classification is complete for symmetric functions

𝑔 𝑦, 𝑧 = 𝑔(𝑧, 𝑦)

slide-17
SLIDE 17

Class 0

Class 0 𝑦 1 𝑧 , 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧)

slide-18
SLIDE 18

Class 1

Class 1.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧) Class 1.b 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 1 𝑦 , 1 𝑔 𝑦,𝑧 Class 1.c 𝑦 𝑔(𝑦, 𝑧) 𝑧 Class 1.d 𝑦 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧) 1 𝑦 , 𝑔(𝑦, 𝑧) Class 1.e 𝑦 1 𝑔 𝑦,𝑧 𝑧

Essentially equivalent classes (outputs have same length)

slide-19
SLIDE 19

Class 2

Class 2.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 𝑔(𝑦, 𝑧) Class 2.b 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑔(𝑦,𝑧) Class 2.c 𝑦 𝑔(𝑦, 𝑧) 𝑧

slide-20
SLIDE 20

Positive Results

Class 1.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧) 1 𝑦 , 1 𝑔 𝑦,𝑧 Class 1.c 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧) Class 1.e 𝑦 1 𝑔 𝑦,𝑧 𝑧

slide-21
SLIDE 21

Tools

 Fully Homomorphic Encryption

𝐻, 𝐹, 𝐸, 𝐹𝑤𝑏𝑚

 Correctness:

𝐸𝑡𝑙(𝐹𝑤𝑏𝑚𝑞𝑙 𝑔, 𝐹𝑞𝑙 𝑦 = 𝑔(𝑦)

 Circuit privacy:

𝐹𝑤𝑏𝑚𝑞𝑙 𝑔, 𝐹𝑞𝑙 𝑦 ≈ 𝐹𝑞𝑙(𝑔 𝑦 )

slide-22
SLIDE 22

Class 1.a

𝑞𝑙, 𝑑𝑦 𝑑𝑨 = 𝐹𝑤𝑏𝑚𝑞𝑙(𝑔(⋅, 𝑧), 𝑑) 𝑑𝑨 𝑨 = 𝐸𝑓𝑑𝑡𝑙 (𝑑𝑨) 𝑞𝑙, 𝑡𝑙 ← 𝐻𝑓𝑜(1𝑙) 𝑑𝑦 ← 𝐹𝑜𝑑𝑞𝑙(𝑦) Class 1.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧) 𝑨

slide-23
SLIDE 23

Class 1.a

 The devil is in the details

 In order to compute 𝑑𝑨, a circuit computing 𝑔(⋅, 𝑧) must

be known, but this involves knowing the output length

 Solution: 𝑄2 computes an upper bound (it can do this

since it knows |𝑦| and 𝑧

slide-24
SLIDE 24

Computing an Upper Bound

 Example: set union

 𝑨 = 𝑦 ∪ 𝑧

 Clear that 𝑨 ≤ 𝑦 + |𝑧|  But how long exactly?

Any upper bound reveals information about |𝑧|

𝐹(𝑦) 𝑔(⋅, 𝑧) 𝐹(𝑨)

slide-25
SLIDE 25

The Solution

𝐹(𝑦) 𝐹(|𝑨|) 𝑡𝑗𝑨𝑓𝑝𝑔(𝑔 ⋅, 𝑧 ) 𝐹(𝑦) 𝑔(⋅, 𝑧) 𝐹(𝑨) 𝐹(𝑨)

Alice opens ℓ = |𝑨| Send to Alice

𝑔

ℓ(⋅, 𝑧)

slide-26
SLIDE 26

 Thm: FHE ⇒ ∀𝑔 can be securely computed in Classes 1.a/c/e

𝑞𝑙, 𝑑𝑦 𝑑ℓ ℓ ℓ = 𝐸𝑓𝑑𝑡𝑙 (𝑑ℓ) 𝑑𝑨 = 𝐹𝑤𝑏𝑚𝑞𝑙(𝒈ℓ(⋅, 𝑧), 𝑑) 𝑑ℓ = 𝐹𝑤𝑏𝑚𝑞𝑙(𝒕𝒋𝒜𝒇𝒑𝒈(𝑔 ⋅, 𝑧 ), 𝑑) 𝑑𝑨 𝑨 = 𝐸𝑓𝑑𝑡𝑙 (𝑑𝑨) 𝑞𝑙, 𝑡𝑙 ← 𝐻𝑓𝑜(1𝑙) 𝑑𝑦 ← 𝐹𝑜𝑑𝑞𝑙(𝑦) 𝑨

Class 1.a

Class 1.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 , 𝑔(𝑦, 𝑧) The circuit for output of length exactly ℓ

slide-27
SLIDE 27

Positive Results

Class 2.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 𝑔(𝑦, 𝑧) Class 2.b 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑔(𝑦,𝑧) Class 2.c 𝑦 𝑔(𝑦, 𝑧) 𝑧

slide-28
SLIDE 28

Two-Size Hiding Protocols

 Theorem: If FHE exists, then the following

functions can be securely computed in class 2 (semi-honest)

Greater than (Millionaire’s problem) And other functions:

 Equality  Mean  Variance  Median

slide-29
SLIDE 29

Two-Size Hiding Protocols

 Theorem: If FHE exists, then the following

functions can be securely computed in class 2 (semi-honest)

Greater than (Millionaire’s problem) And other functions:

 Equality  Mean  Variance  Median

First example of protocols for interesting functions where the size of the input of both parties is protected

slide-30
SLIDE 30

Size Independent Protocols

 𝜌 is size independent for 𝑔 if

 Correct (except for 𝑜𝑓𝑕𝑚(𝑙))  Computation efficient (runtime 𝑞𝑝𝑚𝑧(𝑗𝑜𝑞𝑣𝑢+𝑙))  Communication efficient (bounded by 𝑞𝑝𝑚𝑧(𝑙))

 Construction idea: “compile” these insecure protocols

using FHE.

 (Concrete protocol for “greater than” in the paper)

slide-31
SLIDE 31

Negative Results

slide-32
SLIDE 32

Lower Bounds

 Theorem: There exist functions that cannot be

computed while hiding both parties’ input size

 Not everything can be computed in Class 2

 Examples: Inner product, Set Intersection, Hamming

distance, etc.

 Any protocol with “high” communication complexity Class 2.a 𝑦 𝑔(𝑦, 𝑧) 𝑧 𝑔(𝑦, 𝑧)

slide-33
SLIDE 33

Class 1.b

 Theorem: There exist functions that cannot be

securely computed in class 1.b

 Proof: size-hiding OT

 𝑦 = selection bit  𝑧 = (𝑧0, 𝑧1) two strings of different length  𝑔 𝑦, 𝑧 = 𝑧𝑦 Class 1.b 𝑦 𝑔(𝑦, 𝑧) 𝑧 1 𝑦 OT 𝑧0 𝑧1 𝑦 𝑧𝑦

slide-34
SLIDE 34

Conclusions and Open Problems

slide-35
SLIDE 35

Conclusions and Open Problems

 Open Problems

 (More) efficient protocols for specific tasks?  Malicious security?  Dealing with side-channel attacks (timing)?

 Hiding the input size is (sometimes) possible.

 Don’t give up!

 Landscape of size-hiding 2PC is very rich

 Many positive and negative results.

slide-36
SLIDE 36

Summary of Feasibility