Ke Yang Ph.D. in Computer Science Carnegie Mellon University 7/17/2016

advertisement
Ke Yang
Ph.D. in Computer Science
Carnegie Mellon University
7/17/2016
Ke Yang, CMU
1
My Research Interests…
 Cryptography and Security
 Fair Computation
 Non-malleability
 Obfuscation and tamper-resistant software
 Quantum information theory and quantum
computation
 Limitations in NMR computation
 EPR pair distillation
 Machine Learning
 Computational Complexity Theory
7/17/2016
Ke Yang, CMU
2
Fair Computation
Ke Yang
Carnegie Mellon University
7/17/2016
Ke Yang, CMU
3
Fairness: an example
 Consider the eBay problem…
 Alice sells iPods and Bob wants to buy one.
 Alice likes to deliver the iPod only if Bob pays.
 Bob likes to pay only if Alice delivers.
 We need a fair exchange!
either Alice gets the $$$ and Bob gets the iPod,
or none gets any.
7/17/2016
Ke Yang, CMU
4
Fairness means…
All should get the “stuff” they want
at the same time.
(for the rest of this talk, “stuff” = “information”)
(fair exchange is a special case)
7/17/2016
Ke Yang, CMU
5
Fair exchange in business
 A fundamental issue
 “I should receive what I paid for.”
 “I should get paid for what I deliver.”
 (Traditional) solutions
 Proactive: enforcing fairness in the first place
escrow accounts, Cash-On-Delivery...
 Reactive: punishing unfair behavior afterwards
credit system, legal measures...
7/17/2016
Ke Yang, CMU
6
proactive vs. reactive
 The proactive solution…
 is more effective
“An ounce of prevention is worth a pound of cure.”
 but is typically inefficient
Needs a trusted party, complicated procedure…
 The reactive solution…
 is more efficient and more popular
Efficient normal execution (when nothing goes wrong).
 but not as effective
Not all misbehaviors are caught.
7/17/2016
Ke Yang, CMU
7
Fairness in e-business
 Fair exchange of information: still a
fundamental issue.
 Complicated by the “e-”
 Problems with the proactive solution: efficiency
 Need efficient normal execution
 Trusted third party can be unrealistic
 Problems with the reactive solution: identity
 Easy to fake, expensive to verify
 Paperless transactions – hard to obtain evidence
7/17/2016
Ke Yang, CMU
8
This talk is about fairness
√
 Fair exchange: a fundamental problem in
security as well as in business
 Fairness beyond fair exchange
 Why we didn’t have fair solutions
 Our solution:




7/17/2016
Proactive without trusted third party
Efficient normal execution
Rigorous and provable security
Applications to the Socialist Millionaires’ Problem
Ke Yang, CMU
9
Fairness beyond exchange
 For more complicated tasks, the
parties may do more than just
exchanging information.
 Fairness formulated in the framework
of 2-Party Computation (2PC) and
Multi-party Computation (MPC)
protocols.
7/17/2016
Ke Yang, CMU
10
MPC and 2PC…
Multi-party computation (MPC):
 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)
 None wants to disclose his private input
2-party computation (2PC): n=2
We work with 2PC for most of the talk.
7/17/2016
Ke Yang, CMU
11
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.”
 Rough intuition: in NYSE, the trading price is between
the ask (selling) price and bid (buying) price.
 Auction
 Parties: 1 auctioneer, (n-1) bidders
 Function: many possibilities (e.g. Vickrey)…
7/17/2016
Ke Yang, CMU
12
Secure MPC/2PC
 MPC/2PC protocols have been studied
for a long time…
 The focus was security
 Correctness: the protocol computes the
right function.
 Privacy: the protocol discloses minimal
amount of information.
7/17/2016
Ke Yang, CMU
13
Example: on-line bidding protocol
seller
(seller.price)
buyer
(buyer.price)
}
(seller.output)
7/17/2016
transcript
(buyer.output)
Ke Yang, CMU
14
Definition of security
seller
(seller.price)
buyer
(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.
7/17/2016
Ke Yang, CMU
15
“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).
7/17/2016
Ke Yang, CMU
16
State of art on secure MPC/2PC
 Well-studied
 [Yao ’82, Yao ’86] 2PC
 [Goldreich-Micali-Wigderson ’87] MPC
 many papers to follow…
 Well-understood




7/17/2016
Rigorous security notions (simulation paradigm).
General constructions for any (efficient) function.
Practical solutions for specific functions.
Protocols of (very strong) “Internet Security”:
concurrency, non-malleability…
Ke Yang, CMU
17
Security vs. fairness?
 The problem of secure MPC/2PC is
well-studied and well-understood.
 The problem of fair MPC/2PC is not!
 Security and fairness are not only
different, but almost orthogonal.
7/17/2016
Ke Yang, CMU
18
Security ≠ fairness
 Security is about absolute information gain.
 A typical security statement --“At the end of the protocol, each party learns at most
y=f(x1,x2,…,xn) and anything inferable from y.”
 Fairness is about relative information gain.
 A typical fairness statement:
“At the end of protocol, either all parties learns
y=f(x1,x2,…,xn), or no party learns anything.”
7/17/2016
Ke Yang, CMU
19
Security  fairness
 Many existing secure MPC/2-PC protocols
are completely unfair.
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.
7/17/2016
Ke Yang, CMU
20
Unfair protocols can be bad!
 Fair exchange is a fundamental
problem itself.
 Even when fairness does not seem
relevant, an unfair protocol can
completely destroy the security…
 Example: the on-line bidding
problem.
7/17/2016
Ke Yang, CMU
21
How to cheat w/ an unfair protocol
On-line Bidding Function:
if (seller.price <= buyer.price),
then return (seller.price + buyer.price)/2
else return “no transaction.”
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.
7/17/2016
Ke Yang, CMU
22
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!
7/17/2016
Ke Yang, CMU
23
Fair exchange and beyond
√
 Fair exchange: a fundamental problem in
security as well as in business
√
 Fairness beyond fair exchange
 Why we didn’t have fair solutions
 Our solution:




7/17/2016
Proactive without trusted third party
Efficient normal execution
Rigorous and provable security
Applications to the Socialist Millionaires’ Problem
Ke Yang, CMU
24
Designing fair protocols
Q: “If fairness is that important, why
can’t we have fair protocols?”
A: “Because it is impossible!”
7/17/2016
Ke Yang, CMU
25
Impossibility of fair protocols
 [Cleve ’86] There do not exist fair twoparty coin-tossing protocols.
 coin-tossing protocol: Alice and Bob jointly
generate a uniformly distributed bit b.
 Fairness: no one should be able to bias b.
(different fairness condition: probabilistic function)
 The coin-tossing protocol is one of the basic
building blocks of MPC/2PC protocols, and
its impossibility implies that fair MPC/2PC is
in general impossible.
7/17/2016
Ke Yang, CMU
26
Wait a minute!
 What’s wrong with Blum’s protocol?
 [Blum ’81] There exists a secure two-party
coin-tossing protocol.
1. Alice generates bit a and sends Commit(a) to Bob.
2. Bob generates bit b and sends b to Alice.
3. Alice opens a to Bob.
4. The result is a XOR b.
Intuition: a XOR b is uniform if either a or b is uniform.
7/17/2016
Ke Yang, CMU
27
Problem: premature abort
1.
2.
3.
4.
Alice generates bit a and sends Commit(a) to Bob.
Bob generates bit b and sends b to Alice.
Alice opens a to Bob.
The result is a XOR b.
 Suppose Alice wishes to bias the output towards 0.
 (Malicious Alice) in step 3, if a XOR b == 0, then
open a; otherwise, abort.
 Then the output is always 0!
7/17/2016
Ke Yang, CMU
28
Summary of the impossibility result
 No fair two-party protocols in general.
 Case for MPC is more complicated:
suppose n parties, t corrupted.
 t < n/3: yes with point-to-point network.
 n/3 ≤ t < n/2: yes with broadcast network.
 n/2 ≤ t (fault majority): no!
7/17/2016
Ke Yang, CMU
29
What to do next?
√
 Fair exchange: a fundamental problem in
security as well as in business
 Fairness beyond fair exchange
√
 Why we didn’t have fair solutions
√
 Our solution:




7/17/2016
Proactive without trusted third party
Efficient normal execution
Rigorous and provable security
Applications to the Socialist Millionaires’ Problem
Ke Yang, CMU
30
Fair protocols?
 We still need (some form of) fairness.
 We have to “tweak” the model to circumvent
the impossibility result.
 Tweak the set-up (optimistic approach):
Add a trusted party as arbiter in case of abort.
 Can achieve full fairness.
 Need for trusted party can be unrealistic.
 Tweak the definition (gradual release approach):
Parties take turns to reveal information “bit by bit.”
 No trusted parties needed.
 Still somewhat unfair, but we can quantify and
control the amount of “unfairness.”
7/17/2016
Ke Yang, CMU
31
The gradual release approach
 Reasonably studied
 Initial idea by [Blum ’83]
 Subsequent work: [Damgard ’95, Boneh-Naor
’00, Garay-Jakobsson ’02, Pinkas ’03]…
 Not quite well-understood




7/17/2016
Ad hoc security notions
Limited general constructions (only 2PC)
Few practical constructions
Weak security (no “Internet Security”)
Ke Yang, CMU
32
Our contributions
 A 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 protocol with corrupted majority.
√
 Efficient, practical for specific applications.
 E.g. the Socialist Millionaires’ Problem
 Very strong “Internet Security”
 Concurrency, non-malleability…
7/17/2016
Ke Yang, CMU
33
The simulation paradigm
 De facto standard in secure MPC/2PC.
 A real world: parties engage in protocol .
 An ideal world: an ideal functionality F does
all the computation (guaranteed
correctness, privacy, and fairness).
 Simulation:
Protocol  securely realizes F, if
 adversary A,  simulator S, s.t.
View(A, ) ≈ View(S, F)
7/17/2016
Ke Yang, CMU
34
Simulation paradigm and fairness
 Tradition (security) definition:
 protocol ,  adversary A,  simulator S, s.t.
View(A, ) ≈ View(S, F).
 Doesn’t work with fairness!
 [Cleve ’86] (for 2PC)
 protocol ,  adversary A, s.t.
A makes  unfair (unsimulatable).
7/17/2016
Ke Yang, CMU
35
Our solution: quantifier switch
 A timed protocol [T] is a collection of protocols,
parameterized by T: each [t] is a “normal”
protocol each t.
 A timed protocol [T] securely realizes F, if
 t,  adversary A of time t,  simulator S, s.t.
View(A, [t]) ≈ View(S, F)
 Notice the quantifier switch:
old definition:
 protocol ,
 adversary A,  simulator S…
new definition:
7/17/2016
Ke Yang, CMU
36
What about fairness?
 In our framework, fairness is simply a
statement about the running time of the
protocols.
 A timed protocol [T] is fair, if the running
time of [t] is O(t).
 Intuition: “Whatever an adversary can
compute in time t, an honest party can
compute in time comparable to t as well.”
 The first rigorous security/fairness
definition that completely falls in the
simulation paradigm (previous ones are
rather ad hoc).
7/17/2016
Ke Yang, CMU
37
Constructing fair protocols
 Now we have a rigorous definition for
security and fairness.
 Next we need to construct protocols
that satisfy this definition.
7/17/2016
Ke Yang, CMU
38
Fair Exchange of Information (FEI)
 Alice has a, and Bob has b.
 At the end of the protocol, either:
 Alice learns b, and Bob learns a, or
 No one learns anything.
7/17/2016
Ke Yang, CMU
39
FEI is the core of fair 2PC
Once we can solve FEI, we can construct
general fair 2PC protocols easily…
fair coin-tossing




Alice generates bit a
Bob generates bit b.
Alice and Bob fairly exchange a and b.
The result is a XOR b.
7/17/2016
Ke Yang, CMU
40
Great if we can solve FEI…
So what do we do?
7/17/2016
Ke Yang, CMU
41
Solving FEI using time lines
head
tail
accelerator 1
accelerator 2
…
accelerator k
 A time-line: an array of numbers (head, …, tail).
 Time-line commitments:




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.
7/17/2016
Ke Yang, CMU
42
A time line, mathematically
accelerator 1
g





g
k-1
2
2
accelerator 2
g
…
…
k-1+2k-2)
(2
2
g
k
2
2
N=p·q, where p, q, (p-1)/2, (q-1)/2 are all primes.
g a random element in ZN*.
2k
2
head = g, tail = g .
one step = one squaring modulo N.
2k
2
Knowing (p,q) makes it easy to compute g .
7/17/2016
Ke Yang, CMU
43
Sounds familiar?
 Time-lines are used before:
 [Boneh-Naor ’00, Garay-Jakobsson ’02, GarayPomerance ’03]
 Our construction is a (simplified) variant of
the [Garay-Pomerance ’03].
 Difference: a new Yet-More-General BBS
(YMG-BBS) assumption – also needed by
previous constructions to work.
7/17/2016
Ke Yang, CMU
44
FEI 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
7/17/2016
Ke Yang, CMU
45
FEI using time-lines
Alice
Bob
t
2t
 ABORT: If Bob aborts and force-open in t steps,
Alice can do it as well in 2t steps.
7/17/2016
Ke Yang, CMU
46
Time-lines makes FEI
 THM: At any time, if a party aborts
and force-opens in time t, the other
party can force-open in time 2t.
 Intuition: “Whatever an adversary
can compute in time t, an honest
party can compute in time
comparable to t as well.”
7/17/2016
Ke Yang, CMU
47
Dealing with cheating parties
Alice
g
2
g2
k-1
g
2
2
g
k-1
A
A
…
(2
g2
k-1+2k-2)
(2
2
g
k-1+2k-2)
A
2
2
g
k
A
Bob
B
B
B
…
k
2
2
gB
 A cheating party might give false accelerators.
 Can add zero-knowledge proofs to enforce
correctness.
 Reasonably efficient protocols.
7/17/2016
Ke Yang, CMU
48
Derived time-lines
k-1
(2
2
g
k-1
(2
2
h
g
2
2
g
h=ga
2
2
h
…
2
2
g
…
2
2
h
k-1+2k-2)
k-1+2k-2)
k
k
 Can derive a new time-line from a master time-line by
raising everything to a random power a.
 A master time-line in the public parameter (common
reference string); each party derives a new time-line
and proves correctness.
 Very efficient zero-knowledge proofs!
7/17/2016
Ke Yang, CMU
49
From FEI to Fair 2PC
 Most existing (unfair) secure 2PC protocols
contains three phases…
 Share: parties share their private inputs.
 Evaluate: jointly evaluate the function in a “gateby-gate” fashion.
 Reveal: parties reveal their secrets.
 The reveal phase makes the protocol unfair.
 FEI can make the reveal phase fair, and thus
making the entire protocol fair.
7/17/2016
Ke Yang, CMU
50
Fair MPC/2PC
 THEOREM: There exist secure and fair 2PC
protocols for any (efficiently) function.
 MPC: can extend FEI to multi-party case:
 {P1, P2, …, Pn}: each Pi holds a private input xi
 Either all parties learn everything, or no one
learns anything.
 Similar solution using time-lines.
7/17/2016
Ke Yang, CMU
51
An application
 We show how to compute the socialist
millionaires’ problem fairly and
efficiently.
7/17/2016
Ke Yang, CMU
52
The Socialist Millionaires’ Problem
 The Millionaires’ Problem
 Alice has $a million, Bob has $b million.
 They want to compare who is richer but not
disclosing a or b.
 f(a,b) = {if (a>b) then 1 else 0}
 The Socialist Millionaires’ Problem (SMP)
 Alice has $a million, Bob has $b million.
 They want to compare if they are equal but not
disclosing a or b.
 f(a,b) = {if (a=b) then 1 else 0}
7/17/2016
Ke Yang, CMU
53
SMP is useful!
 Remember the authentication problem?
 Parties: 1 server, 1 client
 Function : if (server.passwd == client.passwd),
then return “succeed,” else return “fail.”
 This is exactly SMP!
 SMP is also known as “private equality testing”
a basic building block for Privacy-Preserving
Data Mining (PPDM).
 Many applications in cryptography, security,
and e-commerce…
7/17/2016
Ke Yang, CMU
54
We need secure and fair SMP
 Take the authentication problem…
 Security:
 We don’t want a cheating client/server to learn
the password by trying a bad one
 Fairness:
 Typically the server limits the number of
unsuccessful attempts to prevent on-line
attacks.
 Unfair for clients with bad connection.
 Need a fair protocol!
7/17/2016
Ke Yang, CMU
55
Our solution for fair SMP
 Based on ideas from [Cramer-Damgard-Nielsen ’01,
Damgard-Nielsen ’03]
 Alice has a, Bob has b.
 They jointly compute y=(a-b)*r for a random r.
 If a=b, then y=0; otherwise y is a random non-zero
number.
 Efficient protocol to compute y=(a-b)*r.
 We make it fair and strongly secure (“Internet
security”).
 Direct applications in Password Authenticated Keyexchange (PAK) and Privacy-Preserving Data Mining
(PPDM).
7/17/2016
Ke Yang, CMU
56
Conclusions
 Fairness is about relative information gain, almost
orthogonal to security, which is about absolute
information gain.
 Important to design fair protocols: fundamental by
itself; the lack of fairness may destroy the security.
 Impossibility result: premature abort.
 Gradual release approach to control the unfairness.
 Time-line solution for FEI: unfairness is 2x in time.
 First MPC protocol that is fair and secure with
faulty majority.
7/17/2016
Ke Yang, CMU
57
References
 Juan Garay, Philip MacKenzie and Ke Yang
Efficient and Secure Multi-Party Computation
with Faulty Majority and Complete Fairness
 Paper available on-line at
http://www.cs.cmu.edu/~yangke/papers/fmpc.ps
 A more technical version of this talk at
http://www.cs.cmu.edu/~yangke/papers/fmpc-talk.pdf
7/17/2016
Ke Yang, CMU
58
My other work in cryptography…
 Non-malleability




Zero Knowledge [Garay-MacKenzie-Y ’03]
Encryption [MacKenzie-Reiter-Y ’04]
Oblivious Transfer [Garay-MacKenzie-Y ’04]
Commitment [MacKenzie-Y ’04]
 Obfuscation and tamper-resistance
(security and non-malleability of programs)
 Impossibility of obfuscation [BGIRSVY ’01]
 Tamper-resistant software library (with Eric
Grosse)
 Efficient PIR with applications in anonymous
communication [KORSY ’04]
7/17/2016
Ke Yang, CMU
59
My other work…
 Quantum information theory and quantum
computation
 Limits in NMR computation [Blum-Y ’03]
 NMR computing uses a different model from the
“standard” quantum computing.
 Needs an (inefficient) compiler to covert
algorithms in standard model to NMR model.
 Our result: such inefficiency is inherent.
 EPR pair distillation
[Ambainis-Smith-Y ’02, Ambainis-Y ’04]
 Machine learning and computatoinal
complexity…
7/17/2016
Ke Yang, CMU
60
Thank you!
7/17/2016
Ke Yang, CMU
61
How do we do FEI?
 Intuitively, release information “bit by bit…”
 So that if Alice aborts prematurely, she is
only one bit ahead of Bob.
 However, “bit by bit” doesn’t work…
 The information might just be one bit.
 Different bits might have different importance.
Alice’s information (for Bob)
real info
7/17/2016
Bob’s information (for Alice)
junk
junk
Ke Yang, CMU
real info
62
A Hierarchical view of game theory
Mechanism Design:
Design a function y=f(x1,x2,…,xn) that satisfy
certain requirement (truthful, etc…)
Multi-Party Computation:
Design a protocol to compute y=f(x1,x2,…,xn)
that maintains privacy, fairness, etc…
7/17/2016
Ke Yang, CMU
63
Intuition behind Cleve’s proof
[Cleve ’86] There do not exist fair twoparty coin-tossing protocols.
 It is impossible to prevent abort.
 A protocol contains some critical rounds
where information is exchanged.
 Aborting at a critical round creates
unfairness.
 Therefore, at least one party can cause a
significant bias by aborting.
7/17/2016
Ke Yang, CMU
64
Number theoretical assumptions
 Let N=p·q, where p, q, (p-1)/2, (q-1)/2 are all primes.
 Let g be a random element in ZN*.
T
 Let G = (g, g2, g4, …, g2 ).
 Suppose we want to compute points in G…
 sequential access: can move one step forward by squaring.
 random access: can compute any point if we know (p,q).
 Assumption: without knowing (p,q), can only do sequential
access (one step at a time).
T
 Corollary: g2 takes T steps to compute – if T=2k is large, it
is infeasible to compute.
 YMG-BBS assumption: it appears pseudorandom.
7/17/2016
Ke Yang, CMU
65
Time-line commitments
 Let N=p·q, where p, q, (p-1)/2, (q-1)/2 are all
primes.
 Let g be a random element in ZN*.
T
 Let G = (g, g2, g4, …, g2 ), where T=2k.
 We call G a time line.
 Time-line commitment –
T
(N, g, g2 ·x) is a time-line commitment to x:
 Efficiently computable knowing (p,q).
 Uniquely determines x (perfect binding).
 Computationally hiding (based on the YMG-BBS
assumption)
 Force-open in T steps.
7/17/2016
Ke Yang, CMU
66
More on time-line commitments
 (N, g, g2T·x) is a time-line commitment to x.
 Force-opening takes T=2k steps.
 Gradual opening:
2k-1
2
Step 1: reveal g
– cuts force-opening time by half.
k-1
(2 +2k-2)
2
Step 2: reveal g
– cuts the time by another half.
...
Each step cuts the work by half!
accelerator #1
g
7/17/2016
Step 1
g
k-1
2
2
Ke Yang, CMU
accelerator #2
Step 2
g
…
…
k-1+2k-2)
(2
2
g
k
2
2
67
Intuition: layered blinding
secret (committed value)
g
7/17/2016
2
2
g
k-1
Ke Yang, CMU
(2
2
g
…
k-1+2k-2)
2
2
g
k
68
Download