Introduction to Secure Computation

advertisement
Introduction to Secure
Computation
Benny Pinkas
HP Labs, Princeton
1
Roadmap
• Secure Function Evaluation
– Motivation and definitions
– Scenarios
– Constructions
2
SFE Example – Millionaires Problem
?
<
=
>
X
$
Secure
Function
Evaluation
Protocol
Y
$
3
Secure Function Evaluation
• A set of (two or more) parties with private
inputs wish to compute some joint function
of their inputs.
• Parties wish to preserve some security
properties. E.g., privacy and correctness.
– Example: Computing the maximum
• Security must be preserved in the face of
adversarial behavior by some of the
participants.
4
…Secure Function Evaluation
• Cryptography aims for the following
(regarding privacy):
– A secure protocol must reveal no more
information than the output of the
function itself
– That is, the process of protocol
computation reveals nothing.
5
The Security Definition
For every real
adversary A
Protocol
interaction

there exists an
adversary S
Trusted party
REAL
IDEAL
6
Does the trusted party
scenario make sense?
y
x
F(x,y)
F(x,y)
• We cannot hope for more privacy
• Does the trusted party scenario make sense?
• Are the parties motivated to submit their
true inputs?
• Can they tolerate the disclosure of F(x,y)?
• If so, we can implement the scenario without a
trusted party.
7
Roadmap
• Secure Function Evaluation
– Motivation and definitions
– Scenarios
– Constructions
8
Modeling the Adversary
• Semi-honest: follows the protocol but
tries to learn more
• Malicious: can do anything
– E.g.,
• Protocol: “Flip a random coin and send the
result”
• Malicious party might…
• Easier to provide security against semihonest adversaries
9
Modeling the Adversary
• Do semi-honest adversaries make
sense?
– Semi-trusted parties?
– Secure hardware/software?
– It’s easier for the adversary to
eavesdrop than to change the program.
• Is there a reasonable model between
semi-honest and malicious?
10
Participating Parties
• Two parties.
• Multi-party: N parties with private inputs
x1,..,xN, wish to compute F(x1,..,xN).
• There are generic secure constructions for
both scenarios
• The constructions for the two-party
scenario are usually more efficient
11
Multi-Party Protocols
• The main issues are often the communication
pattern and the number of rounds
12
A different setting for multiparty protocols? [NPS]
Computation
Server 1
Computation
Server 2
Computation
Server m
Perform computation
P1
P2
Provide inputs (and that’s it)
Pn
13
Trust
Computation
Server 1
Computation
Server 2
Computation
Server m
dangerous collusion
benign collusion
P1
P2
benign collusion
Pn
This is not weaker security if we have some
14
trust that computation servers do not collude
Advantages
• Separation between input providers
and computation.
• Input providers
– submit their inputs independently of
each other.
– Do not have to coordinate their
operation.
• Once all inputs are submitted, the
computation is performed by the
computation servers.
15
Roadmap
• Secure Function Evaluation
– Motivation and definitions
– Scenarios
– Constructions
16
Secure two-party computation of
general functions [Yao, early 80s]
• First, represent the function F as a
Boolean circuit C
• It’s always possible
• Sometimes it’s easy (additions,
comparisons)
• Sometimes the result is inefficient
(e.g. for indirect addressing, a[i])
17
Garbling the circuit
• Bob constructs the circuit, and then
garbles it.
wk0,wk1
G
wi0,wi1
wJ0,wJ1
Wk0 = 0 on wire k
Wk1 = 1 on wire k
|Wk0| = |Wk1| > 80
(Alice will learn one
string per wire, but
not the bit to which
it corresponds.)
18
Gate tables
• For, e.g., an AND gate, Bob constructs
a table that enables to compute:
–
–
–
–
wk0 given wi0,wJ0
wk0 given wi0,wJ1
wk0 given wi1,wJ0
wk1 given wi1,wJ1
wk0,wk1
G
wi0,wi1
wJ0,wJ1
• I.e., given wix,wJy, can compute wkG(x,y)
19
Secure computation
• Bob sends the tables of the gates to Alice
• Given, e.g., wi0,wJ1, she computes wk0, but doesn’t
know the actual values of the wires.
• If Alice gets garbled values (w’s)
of her input values, she can
G
compute the output of the
circuit, and nothing else.
wi0,wi1
wk0,wk1
wJ0,wJ1
20
Secure computation – the big
picture
• Represent the function as a circuit C
• Bob sends to Alice |C| tables (e.g. 40|C|
Bytes).
• Alice performs an oblivious transfer for
every input bit. (Can do, e.g. 100 OTs per
sec.)
• ~One round of communication.
• Efficient for medium size circuits!
• Good for one invocation only! 
21
FairPlay [Nisan,Malkhi,Pinkas,Sella]
• Yao’s construction is about 20 years old.
There are no known implementations (?).
• FairPlay - a full fledged secure two-party
computation system, implementing Yao’s
“garbled circuit” protocol.
• Goals:
–
–
–
–
Investigate whether two-party SFE is practical
Actual measurements of overall computation
Breakdown of computation into parts
Test-bed for various optimizations
22
…FairPlay
• The Compilation paradigm
– Programs written in a high-level
programming language
– SHDL: Low-level language describing
Boolean circuits
– First stage: compile to SHDL and
optimize
– Second stage: Given an SHDL circuit,
generate programs implementing Yao’s
protocol
23
Specific Constructions of SFE
•
•
•
•
Mean
Max, Min
Set intersection
Median and quintiles
24
Discussion Points
• Candidate applications?
• Where will SFE be most beneficial?
• How to model the adversary?
25
Issues
• Suppose you cannot access the data
– Data cleaning?
– What functions do you need to compute?
26
Download