A Framework for Fair (Multi-Party) Computation

advertisement
A Framework for Fair
(Multi-Party) Computation
Juan Garay (Bell Labs)
Phil MacKenzie (Bell Labs)
Ke Yang (CMU)
Talk Outline
•
•
•
•
•
Multi-party computation (MPC); example; Fair MPC
Fairness definition(s)
Fair protocols with corrupted majority
Fair MPC Framework
Summary & extensions
06/09/04
Fair MPC
2
Secure Multi-Party Computation (MPC)
Multi-party computation (MPC) [Goldreich-Micali-Wigderson 87] :
–
–
–
–
n parties {P1, P2, …, Pn}: each Pi holds a private input xi
One public function f (x1,x2,…,xn)
All want to learn y = f (x1,x2,…,xn)
(Correctness)
Nobody wants to disclose his private input
(Privacy)
2-party computation (2PC) [Yao 82, Yao 86] : n=2
Studied for a long time. Focus has been security.
06/09/04
Fair MPC
3
Instances of MPC and 2PC
• Authentication
– Parties: 1 server, 1 client.
– Function : if (server.passwd == client.passwd), then return
“succeed,” else return “fail.”
• On-line Bidding
– Parties: 1 seller, 1 buyer.
– Function: if (seller.price <= buyer.price), then return
(seller.price + buyer.price)/2, else return “no transaction.”
– Intuition: In NYSE, the trading price is between the ask (selling)
price and bid (buying) price.
• Auctions
– Parties: 1 auctioneer, (n-1) bidders.
– Function: Many possibilities (e.g., Vickrey).
06/09/04
Fair MPC
4
Secure Multi-Party Computation
Parties P1, P2, …, Pn (some corrupted), each holding private input xi,
wish to compute y = f(x1, x2,…, xn) privately and correctly.
Security is normally formulated in a simulation paradigm:
• Real world: Parties carry out the protocol.
Adversary A controls communication and corrupts parties.
• Ideal process: A functionality Ff performs the computation.
• Security: Protocol  securely realizes Ff if
A  S s.t. View(, A )  View(Ff , S )
to any distinguisher (environment) Z.
06/09/04
Fair MPC
5
Variants of Security Definitions
Simulation paradigm first in [GMW87], now de facto standard.
Many variants…
• Synchronous/asynchronous network
• Stand alone/concurrent executions
• Single-invocation/reactive
[Goldwasser-Levin 91, Micali-Rogaway 91, Beaver 91, Canetti 00,
Pfitzmann-Waidner 00, Pfitzmann-Waidner 01,…]
Universally Composability (UC) framework [Canetti 01]:
Asynchronous network, reactive, allows arbitrary composition
(very strong security)
06/09/04
Fair MPC
6
On-line Bidding: Definition of Security
seller
buyer
(seller.price)
(buyer.price)
}
(seller.output)
•
•
transcript
(buyer.output)
Correctness:
seller.output = buyer.output = f (seller.price, buyer.price)
Privacy: The transcript carries no additional information about
seller.price and buyer.price.
06/09/04
Fair MPC
7
“Privacy” is a little tricky…
On-line Bidding Function
if (seller.price <= buyer.price),
then return (seller.price + buyer.price)/2,
else return “no transaction.”
•
•
•
If seller.price ≤ buyer.price, then both parties can learn each
other’s private input.
If seller.price > buyer.price, then both parties should learn
nothing more than this fact.
Privacy: Each party should only learn whatever can be inferred
from the output (which can be a lot sometimes).
06/09/04
Fair MPC
8
Fair Secure Multi-Party Computation (FMPC)
Parties P1, P2, …, Pn (some corrupted), each holding private input xi,
wish to compute y = f(x1, x2,…, xn) privately and correctly.
Security is about absolute information gain.
“At the end of the protocol, each party learns y (and anything
inferable from y).”
Fairness is about relative information gain.
“At the end of the protocol, either all parties learn y,
or no party learns anything.”
Important in MPC; crucial in some appn’s
(e.g., two-party contract signing, fair exchange,…).
06/09/04
Fair MPC
9
Security vs. Fairness
• The problem of secure MPC/2PC is well-studied and wellunderstood.
–
–
–
–
Rigorous security notions (simulation paradigm).
General constructions for any (efficient) function.
Practical solutions for specific functions.
Protocols of (very strong) “Internet Security:” concurrency, nonmalleability,…
• The problem of fair MPC/2PC…
• Security and fairness are not only different, but almost
“orthogonal.”
06/09/04
Fair MPC
10
Security  Fairness
On-line Bidding Function
if (seller.price <= buyer.price),
then return (seller.price + buyer.price)/2
else return “no transaction.”
E.g., in an unfair on-line bidding protocol, the seller may learn
the output (and thus buyer.price) before the buyer learns
anything.
06/09/04
Fair MPC
11
Cheating with Unfair Protocols
A cheating seller:
1. Initiate protocol w/ price x (originally $999,999).
2. Run until getting the output (buyer hasn’t got the output yet).
3. if (output == “no transaction”), then abort (e.g., announce
“network failure”), set x  x-1, and repeat.
A cheating seller can:
– find out the buyer’s price (destroys privacy) and
– achieve maximum profit (destroys correctness)
(the actual function computed is {return buyer.price})
 The lack of fairness completely voids the security!
06/09/04
Fair MPC
12
Fairness: Positive Results
n parties, t corrupted:
•
t  n/3 — possible with p2p channels
– computational [GMW87]
– information-theoretic [BGW88, CCD88]
•
n/3  t  n/2 — possible with broadcast channel
– computational [GMW87]
– information-theoretic [RB89]
06/09/04
Fair MPC
13
Unfortunately…
•
Fairness is impossible with corrupted majority (t  n/2):
Intuition (2 parties): Party sending the last message may
abort early.
•
[Cleve 86] No “fair” two-party coin-tossing protocol exists.
More formally: For every protocol , there exists an adv. A
s.t. A makes  unfair.
• Consequently, many security definitions do not consider fairness,
or only consider partial fairness [BG90, BL91, FGHHS02, GL02].
06/09/04
Fair MPC
14
Fairness After the Impossibility Result
We still need (some form of) fairness, so “tweak” model/definition:
“Optimistic” approach (tweak the model) [M97, ASW98, CC00,…]
• Adds a trusted party as an arbiter in case of dispute.
• Needs to be (constantly) available.
“Gradual Release” approach (tweak the definition) [Blum83, D95,
BN00,…]
• No trusted party needed.
• Parties take turns releasing info’ “little-by-little.”
• Still somewhat unfair, but we can quantify and control the
amount of “unfairness.”
06/09/04
Fair MPC
15
The Gradual Release Approach
•
Reasonably studied
– Initial idea by [Blum 83]
– Subsequent work: […,Damgard 95, Boneh-Naor 00, GarayPomerance 03, Pinkas 03,…]
• Not quite well-understood
–
–
–
–
06/09/04
Ad hoc security notions
Limited general constructions (only 2PC)
Few practical constructions
No “Internet Security”
Fair MPC
16
Previous Security Definitions
A typical gradual release protocol (e.g., [BN00, GP03, P03]) consists
of two phases:
1. Computation phase: “Normal” computation.
2. Revealing phase: Each Pi gradually reveals a “secret” si ;
then each Pi computes the result y from s1, s2,…, sn.
Security definition:
1. The computation phase is simulatable;
2. The revealing phase is simulatable if S knows y.
3. If A can find y in time t, then honest parties can find y in time
“comparable” to t.
06/09/04
Fair MPC
17
Previous Security Definitions (cont’d)
Security definition:
1. The computation phase is simulatable;
2. The revealing phase is simulatable if S knows y.
3. If A can find y in time t, then honest parties can find y in time
“comparable” to t.
Definition is not in the simulation paradigm:
Suppose A aborts early and doesn’t have enough time to find y.
Then S shouldn’t know y either…
But then the revealing phase is not simulatable!
 A may gain advantage by simply aborting early.
This becomes even worse when protocols are composed…
06/09/04
Fair MPC
18
Simulation Paradigm and Fairness
• Traditional (security) definition:
 protocol ,  adversary A,  simulator S s.t.
View( , A ) ≈ View(F , S ).
• Doesn’t work with fairness!
• [Cleve ’86] (for 2PC, or corrupted majority)
 protocol ,  adversary A s.t.
A makes  unfair (unsimulatable).
06/09/04
Fair MPC
19
Our Security Definition
• Our approach: Allows  to depend on the running time of A.
Timed protocol [T] = {[t]}, parameterized by the adversary’s
running time. Each [t] is a “normal” protocol for each t.
• Security definition (Bounded-Adversary Security):
[T] securely realizes Ff if
 t , A of time t ,  ideal adversary S s.t.
View([t], A )  View(Ff , S (t) )
for any distinguisher (environment) Z of running time t .
06/09/04
Fair MPC
20
What about Fairness?
• Fairness definition (two party case): A timed protocol [T] is
fair if the running time of [t] is O(t).
More formally/general: [T] is -fair if each honest party’s running time
in [t] is bounded by · t + p, for a fixed poly. p.
[T] is fair if  = O(n).
• Intuition: “Whatever and adversary can compute in time t, an
honest party can compute in time comparable to t as well.”
What about abort-free runs?
• Reasonable protocols: [T] is reasonable if the “normal” (abortfree ) running time of [t] is a fixed poly. independent of t.
06/09/04
Fair MPC
21
Talk Outline
å Multi-party computation (MPC); example; Fair MPC
å Fairness definition(s)
• Fair protocols with corrupted majority
• Fair MPC Framework
• Summary & extensions
06/09/04
Fair MPC
22
Observation on Existing MPC Protocols
Many (unfair) MPC protocols (e.g., [GMW87, CDN01, CLOS02])
share the same structure:
Sharing phase: Parties share data among themselves
(simple sharing, or (n, t) threshold sharing)
Evaluation phase: “Gate-by-gate” evaluation
(all intermediate data are shared or “blinded”)
Revealing phase: Each party reveal its secret share
(all parties learn the result from the shares)
Honest parties reveal their secrets, and corrupted parties
abort (and learn the result).
06/09/04
Fair MPC
23
FCPFO : Commit-Prove-Fair-Open
• Commit phase: Every party Pi commits to a value xi.
• Prove phase: Every party Pi proves a relation about xi.
• Open phase: Open x1, x2,…, xn simultaneously.
Simultaneous opening guarantees fairness — either all parties
learn all the committed values, or nobody learns anything.
Using FCPFO, the revealing phase becomes fair, and so does the
MPC protocol.
06/09/04
Fair MPC
24
Time-lines: Towards realizing FCPFO
head
tail
accelerator 1
accelerator 2
…
accelerator k
• A time-line: An array of numbers (head, …, tail).
• Time-line commitments:
–
–
–
–
06/09/04
TL-Commit(x) = (head, tail· x)
Perfect binding.
Hiding (2k steps to compute tail from head).
Gradual opening: Each accelerator cuts the number of steps by half.
Fair MPC
25
A time-line, mathematically
accelerator 1
g
g
k-1
2
2
[BN00,GJ02,GP03]
accelerator 2
g
…
…
k-1+2k-2)
(2
2
g
k
2
2
• N: “safe Blum modulus,”
N = p·q, where p, q, (p-1)/2, (q-1)/2 are all primes.
• g a random element in ZN*.
• head = g, tail =
06/09/04
2
g2
k
Fair MPC
26
A time-line, mathematically (cont’d)
accelerator 1
accelerator 2
…
g
… g
g
g
• C • Can move forward m positions by doing m squarings.
2i
2
• • Knowing (N), one can compute G[i] = g efficiently, for any i.
k-1
2
2
k-1+2k-2)
(2
2
k
2
2
• • Conjecture: Hard to move backward, not knowing factorization of N;
inefficient to move forward (step-by-step)  point “far away” is
“unknown”…
• Difference: New “Yet-More-General BBS Assumption” (YMG-BBS).
06/09/04
Fair MPC
27
Fair exchange using time-lines
• START: Alice has a, Bob has b.
• COMMIT:
– Alice sends TL-Commit(a) to Bob,
– Bob sends TL-Commit(b) to Alice.
• OPEN: Take turns to gradually open the commitments.
Alice
Bob
06/09/04
Fair MPC
28
Fair exchange using time-lines (cont’d)
Alice
Bob
t
2t
• ABORT: If Bob aborts and force-opens in t steps, Alice can do it as
well in 2t steps.
06/09/04
Fair MPC
29
Realizing FCPFO using time-lines
• Setup: A “master” time-line T = N; g; G[j], j=1,…,k in CRS.
• Commit: Each party Pi :
Derives a time-line Ti= N; gi; Gi[j];
TL-commits to xi : (gi; Gi[k]· xi),
• Prove: Standard ZK proof.
• Open: In round m, each party Pi reveals Gi[m] with ZK proof;
if any party aborts, enter panic mode.
Panic mode: Depends on current round m…
• If (k-m) is “large,” then abort.
(A does not have enough time to force-open.)
• If (k-m) is “small,” then force-open.
(A has enough time to force-open as well.)
06/09/04
Fair MPC
30
Putting things together…
Plug FCPFO into existing MPC protocols  Fair MPC protocols
•
[Canetti-Lindell-Ostrovsky-Sahai 02]
A fair MPC protocol in the CRS model.
• [Cramer-Damgard-Nielsen 01]
An efficient fair MPC protocol in the PKI model.
— the CDN protocol is efficient
— added FCPFO can be realized efficiently
• Efficient and fair solution to the Socialist Millionaires’ Problem
(aka PET — remember the authentication problem?)
06/09/04
Fair MPC
31
The Fair MPC Framework
Fair MPC: Variant of the UC framework to make fairness possible.
• Interactive PRAMs: Machines that allow for simulation and
subroutine access with no overhead.
• Ideal process: “Direct-output functionalities” — results from ideal
functionality go directly to the parties.
In UC, S may not forward the results, making the protocol unfair.
• Real world/ideal process: Synchronous broadcast with rounds.
Asynchronous communication is inherently unfair (e.g., starvation).
Note: FMPC only provides the possibility of having fair ideal
functionalities. Always possible to have unfair functionalities/
protocols.
06/09/04
Fair MPC
32
A Composition Theorem in the FMPC Framework
Similar to composition theorem in UC…
•
More complicated since we deal with timed protocols.
We need to consider the precise running time of adversaries
(bounded-adversary composition).
• Intuitively: Any secure protocol in FMPC remains secure when
arbitrarily composed. In particular, concurrently secure and
non-malleable.
06/09/04
Fair MPC
33
Summary & Extensions
•
Fair MPC framework + rigorous definition of
security/fairness.
– First in the simulation paradigm.
•
Construction of secure and fair protocols.
– A general technique to convert completely unfair MPC/2PC
protocols into fair ones.
– First fair MPC protocols with corrupted majority.
•
Efficient, practical for specific applications.
– The Socialist Millionaires’ Problem.
•
“Internet Security”
– Concurrency, non-malleability…
06/09/04
Fair MPC
34
Summary & Extensions (cont’d)
• [t] ?!
Why should A have a fixed time bound in advance?
On-going: Determine time dynamically — more complicated ideal
process.
• References:
J. Garay, P. MacKenzie and K. Yang, “Efficient and Secure
Multi-Party Computation with Faulty Majority and Complete
Fairness.” Available from Cryptology ePrint archive (Jan. 2004).
06/09/04
Fair MPC
35
“Time is on my side —
yes it is”
Juan Garay
Bell Labs – Lucent Technologies
Download