Mechanism Design and Computer Security

45
Mechanism Design and Computer Security John Mitchell Vanessa Teague Stanford University

description

Mechanism Design and Computer Security. John Mitchell Vanessa Teague Stanford University. The Internet. Three kinds of behavior: Blind obedience, rational self-interest, malicious disruption. Outline for this workshop talk. Some network problems - PowerPoint PPT Presentation

Transcript of Mechanism Design and Computer Security

Page 1: Mechanism Design and Computer Security

Mechanism Design and Computer Security

John Mitchell Vanessa Teague

Stanford University

Page 2: Mechanism Design and Computer Security

The Internet

Three kinds of behavior: Blind obedience, rational self-interest, malicious disruption

Page 3: Mechanism Design and Computer Security

Outline for this workshop talk

Some network problems• Congestion control, Interdomain routing

Algorithmic mechanism design• Pricing function provides incentives

Distributed mechanisms and security• Distributed impl by rational agents• Prevent malicious acts by rational agents• Open problem: irrational malicious

agentsWarning: bait and switch

Page 4: Mechanism Design and Computer Security

TCP/IP Transmission

TCP guarantees packet delivery• Source packets have sequence number• Destination acknowledges• If packet lost, source resends

Source

Destination

Page 5: Mechanism Design and Computer Security

TCP Congestion Control

If packets are lost, assume congestion• Reduce transmission rate by half, repeat• If loss stops, increase rate very slowly

Design assumes routers blindly obey this policy

Source

Destination

Page 6: Mechanism Design and Computer Security

Competition

Amiable Alice yields to boisterous Bob• Alice and Bob both experience packet loss• Alice backs off• Bob disobeys protocol, gets better results

Source A

Source B

Destination

Destination

Page 7: Mechanism Design and Computer Security

What’s the point?

TCP/IP assumes honesty• If everyone follows protocol,

transmission rates adapt to load Incentive for dishonesty

• Dishonest TCP works better, as long as others follow standard TCP backoff

Security risks• Vulnerable to denial of service, IP-

spoofing, etc.

Page 8: Mechanism Design and Computer Security

Goal : More robust networking

Introduce economic incentives• Routers administered autonomously

Reward good behavior• Prevent tragedy of the commons

Include security measures• Economics => adaptive behavior

– Better load balancing to increase welfare

• Accounting => increased instrumentation– Detect, quarantine malicious behavior

Page 9: Mechanism Design and Computer Security

Interdomain Routing

connected group of one or more Internet Protocol prefixes under a single routing policy (aka domain)

Interior Gateway Protocol

Exterior Gateway Protocol

Autonomous System

earthlink.net Stanford.edu

Page 10: Mechanism Design and Computer Security

Transit and Peering

Transit: ISP sells access

Peering: reciprocal connectivity

BGP protocol: routing announcements for both

Peering Peering

Transit

Page 11: Mechanism Design and Computer Security

BGP overview

Iterative path announcement• Path announcements grow from

destination to source• Subject to policy (transit, peering) • Packets flow in reverse direction

Protocol specification• Announcements can be shortest path• Nodes allowed to use other policies

– E.g., “cold-potato routing” by smaller peer

• Not obligated to use path you announce

Page 12: Mechanism Design and Computer Security

BGP example [D.

Wetherall]

Transit: 2 provides transit for 7• 7 reaches and is reached via 2

Peering: 4 and 5 peer• exchange customer traffic

3 4

6 57

1

8 2

77

2 7

2 7

2 7

3 2 7

6 2 7

2 6 52 6 5

2 6 5

3 2 6 5

7 2 6 5

6 5

5

5

4

43 4

6 2 3 4

7 2 3 4

2 3 4

2 3 42 3 4

Page 13: Mechanism Design and Computer Security

Issues

BGP convergence problems• Protocol allows policy flexibility• Some legal policies prevent convergence• Even shortest-path policy converges

slowly Incentive for dishonesty

• ISP pays for some routes, others free Security problems

• Potential for disruptive attacks

Page 14: Mechanism Design and Computer Security

Evidence: Asymmetric Routes

Alice Bob

Alice, Bob use cheapest routes to each other These are not always shortest paths Asymmetic routes are prevalent

• AS asymmetry in 30% of measured routes• Finer-grained asymmetry far more prevalent

Page 15: Mechanism Design and Computer Security

Mechanism Design

Charge for goods• Assume agents have rational self-interest• Provide incentives via pricing function

Traditional use• Maximize social welfare• Make honesty the best policy (revelation principle)

Network applications• Maximize throughput, resilience to attack• Fake money as good as real money

Page 16: Mechanism Design and Computer Security

Grand Plan

Multicast distribution

Inter-domain routing

Congestion control

Pricing function

Distributed mechanism

Rational agents

Irrational agents

Goal

Page 17: Mechanism Design and Computer Security

Multicast cost sharing

Nodelink

Node

NodeNode

link link • Distribute some good• Each node has some

utility for the good• Each link has some cost• Which nodes get the

transmission?

Page 18: Mechanism Design and Computer Security

Multicast solutions

Centralized scheme [FPS]• Pricing algorithm that elicits true utility

Controlled distributed scheme [FPS]• Works for tamper-resistant nodes• Problems if nodes are dishonest

Autonomous distributed scheme• Use signatures to verify data• Verifying node must not share incentive

to cheat

Page 19: Mechanism Design and Computer Security

Traditional Goals

• Efficient – Maximize overall welfare – Welfare = total utility of agents that get good total network costs for links used

• Strategyproof– Agent cannot gain by lying about its utility

May not maximize profit for sender

Page 20: Mechanism Design and Computer Security

FPS Network Assumptions

Nodes and agents• Each node has trusted

router• Router connected to

untrusted agents

Transmission costs• Link cost known to the two

nodes at each end

Simplification: will assume one agent per node

Page 21: Mechanism Design and Computer Security

Centralized Scheme

Data collection• Agent reports utility to central

authority Computation

• Compute welfare of each subtree Routing decision

• Transmit good to subtree if welfare 0

Page 22: Mechanism Design and Computer Security

Welfare of Subtree

Welfare of a subtree T i with cost ci

• W i = u i – ci if node i is leaf

• W i = ui – ci + max(Wk, 0) otherwise

Welfare is aggregate benefit minus cost

k child of i

Page 23: Mechanism Design and Computer Security

Welfare 2-4 = -2

Welfare 7-1 = 6

Welfare 1-3 +6 = 4

Welfare 3-2 +0+4 = 5

Example: Maximum welfare

cost 2

utility 3

utility 7

utility 1

utility 2

cost 1

cost 3cost

4

If welfare is secret, how do we determine outcome?

Page 24: Mechanism Design and Computer Security

How much should a node pay?

Announced utility?• Agent may gain by lying

utility 5

cost 2

Leaf will announce utility 2 since this is enough to get the

good

• Similar incentive for internal nodes

Page 25: Mechanism Design and Computer Security

FPS Pricing Mechanism

If agent does not receive the good•Agent pays nothing

If agent receives the good•Agent pays: the minimum bid needed to get the

transmission, given the other players’ bids

This is a VCG mechanism

Page 26: Mechanism Design and Computer Security

Welfare 2-4 = -2

Welfare 7-1 = 6

Welfare 1-3 +6 = 4

Welfare 3-2 +0+4 = 3

Example price calculations

cost 2

utility 3

utility 7

utility 1

utility 2

cost 1

cost 3cost

4Agent pays 0

Agent pays 3

3

23

2 0

0 1

Page 27: Mechanism Design and Computer Security

Strategyproof and Efficient

Efficient (max welfare) by construction• Add omitted subtree -> decrease welfare• Remove routed subtree -> decrease welfare This argument assumes agents tell truth

Agent can bid true utility• Payment is independent of bid, given outcome• Bid more than utility

– doesn’t help, or pay too much

• Bid less than utility – doesn’t help, or don’t get the transmission

Page 28: Mechanism Design and Computer Security

Tell truth if you buy the good

utility bid

Don’t get goodyou want

true umin

bid

to g

et

tran

smis

sion

Don’t get transmission

Get transmission

Page 29: Mechanism Design and Computer Security

Tell truth if you don’t buy good

Pay more than u

utility bidtrue umin

bid

to g

et

tran

smis

sion

Don’t get transmission

Get transmission

Page 30: Mechanism Design and Computer Security

Profit for content distributor?

What’s the worst-case return?• Marginal-cost pricing does not guarantee

profit• May lose money, fail to capture utility

Welfare 100-0 = 100 Welfare 100-0 =100

Welfare 0-100 +100+100 = 100cost 100

utility 0

utility 100

utility 100

cost 0

Agent pays 00 0

0 0

0

cost 0

Page 31: Mechanism Design and Computer Security

Distributed implementation

cost 2

cost

4 cost 3

cost 1

utility 3

utility 7

utility 2

utility 1

Welfare 1-3 + 6 =

4Welfare 2-4 = -2

Welfare 7-1 = 6

Welfare 3 - 2 + 4 = 5

Wmin =

5

Wmin =

4“N

o

transm

ission”

Wmin =

5

1) Send welfare up tree

2) Send min welfare Wmin down tree3) Compute payment = utility -Wmin

Page 32: Mechanism Design and Computer Security

Autonomous distributed model

Agents control nodes• They can use different

utilities for different messages

• An agent with children can lie about the children’s utilities

• There is nothing to force an agent to pay the correct amount

Page 33: Mechanism Design and Computer Security

Node can cheat its children

utility 7

cost

5co

st 3

utility 2

Welfare 7-5 = 2

Welfare 2-3+2 = 1

Wmin = 1

Wmin = 1

The truth

Parent pays 1 Child pays 6

source

utility 7

cost

5co

st 3

utility 2

Welfare 2

Welfare 2-3+2 = 1

Wmin = 1

Wmin = 0

The cheat

Child can’t see that parent doesn’t pay

source

Parent pays 0 Child pays 7

Page 34: Mechanism Design and Computer Security

More ways to cheat

• Second example – Node can cheat but all messages look

consistent

• Conclusion– Need to use payment and messages to

detect cheating

Page 35: Mechanism Design and Computer Security

Second Example

utility 1

cost 1co

st 2

utility 2

Welfare 2 - 2 + 0 = 0

Wmin = 0

cost 1

utility 1

Wmin = 0

Welfare 1 - 1 =

0 Welfare 1 - 1 =

0

Wmin =

0

Truthful computation

1

source

3 2

Pay: 2

1 1

Page 36: Mechanism Design and Computer Security

Example 2

utility 1

cost 1

utility 4?

Welfare 2

cost 2

Wmin = 2

cost

1

utility 1

Wmin = 2Welfare 1-1=0

Welfare 1-1=0

Wmin = 2

Deception

1

source

3 2utility 3

cost 1

cost 2

utilty 2

Welfare 2-2+0+2=2

Wmin = 2

cost

1

utility 1

Wmin = 2

Welfare 3-1=2

Welfare 1-1=0

Wmin = 2

What agent 3 thinks

1

source

3 2

Agent 1 behaves as if utility=4 until time to pay, then utility=2Each child thinks other has utility 3

Pay: 0

1 1

Pay: 0

1 1

Page 37: Mechanism Design and Computer Security

Prevent cheating

Assume public-key infrastructure• Each node has verifiable signature

Augment messages• Sign data from FPS algorithm• Parent returns signed W to child

Nodes send payment + proof• Proof is signed data showing payment is

calculated correctly Two improvements yet to come

Page 38: Mechanism Design and Computer Security

Node J sends payment and proof

utility Wd1

Sign(j, W j) Sign(p, Wmin), Sign(p, W j )

utility Wd2

Sign(d2, W d2 )Sign (d

1, W d

1 )

Sign(j, Wmin)Sign(j, W

min )

Agent j pays Pj = Uj – min(Wmin, Wj)

where Uj = cj + Wj – (Wd1 +

Wd2)

j

p

d2d1

New data – used in j’s proof

Calculation of Pj is verifiable from messages signed by p, d1, d2.

Page 39: Mechanism Design and Computer Security

Node J sends payment and proof

Lemma• If parent p and children d1, …, dk are

honest, then node j cannot improve own welfare by not sending correct values

Proof idea• If node does not send correct proof, we

punish j node sends correct W j

• Node j cannot gain by sending incorrect data down tree, since these do not change P j

Page 40: Mechanism Design and Computer Security

Shortcomings

Proof checked by central authority Node can be mischievous

• Node cannot increase own welfare by sending bad values down tree

• But node can make life worse for others

Wmin too low => nodes below pay too much

Wmin too high => pay too little, distributor loses

Page 41: Mechanism Design and Computer Security

Randomized checking

Nodes pay and save proof Randomly select node to audit

• If node has correct proof, OK• If node cannot show proof, punish

– Fine node, or prohibit from further transmission (route around bad node)

• Make punishment high enough so expected benefit of cheating is negative

Reduce traffic, same outcomeBombay bus fine…

Page 42: Mechanism Design and Computer Security

Prevent Mischief

• Receive signed confirmation from child• Confirmation is required as part of proof

Sign(j, W

min )

j

p

d2d1Sign(d1, Wmin)

Page 43: Mechanism Design and Computer Security

Status of Multicast Cost Sharing

Pricing function provides incentive Distributed algorithm computes price Techniques to encourage compliance

• Nodes save signed confirmation of msgs• Randomized auditing incents compliance

– Alternative: neighbors rewarded for turning in cheaters

• Route around nodes that cause trouble

Page 44: Mechanism Design and Computer Security

Grand Plan

Multicast distribution

Inter-domain routing

Congestion control

Pricing function

Distributed mechanism

Rational agents

Irrational agents

Goal

Page 45: Mechanism Design and Computer Security