49
Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Embed Size (px)

Citation preview

Page 1: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Ari Juels RSA Laboratories

Executable Financial Instrumentsand

MicroMint on the Cheap

with Markus Jakobsson Bell Laboratories

Page 2: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

The Web provides an excellent means of communication with all kinds of people...

Yeah!

``Hi. My name is Darlene.

sometime?’’

I ’m a model. Want to meet

Page 3: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

“Darlene”

He fell for it!

Ha ha!

…you know nothing about.

The Web provides an excellent means of communication with all kinds of

people...

Page 4: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

The Web provides an excellent means of communication and commerce...

Cool!

``Hi. I’d like to buy your

OK?’’

car. I’ll pay $106,000.For s

ale

Page 5: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Another sucker!

…with people you know nothing about.

The Web provides an excellent means of communication and commerce...

Page 6: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Aim: Flexible commerce with minimal trust

?InternetYou

Page 7: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Two Ideas Today

X-cash: Executable financial instruments

MicroMint Outsourcing

A$$

Page 8: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

MicroMint

Want a scheme that mimics economics of physical mint

Verifying validity of a coin is easy Base minting cost is high so... Forgery is expensive

Page 9: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

The minting process

. Throw balls (jellybeans) into bins using “random” function h

. Any bin with two balls (jellybeans) is a coin

Page 10: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Minting in MicroMint

Bin 1 Bin 2 Bin 3 Bin 4 Bin 5 Bin 6 Bin 7 Bin 8 Bin 9

Collision = Coin

h

Page 11: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Checking a coin

Bin 2

h

Valid coin?

Page 12: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Features

Many bins, so need to throw many balls (jellybeans) to mint successfully

Minting requires very intensive computation

Page 13: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Minting requires special, e.g., $250,000 computer

“Deep Crack”

Page 14: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Another characteristic: Most balls are invalid

Bin 1 Bin 2 Bin 3 Bin 4 Bin 5 Bin 6 Bin 7 Bin 8 Bin 9

h

In fact, >99% of work goes to missed balls!

Page 15: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Idea: Make three stage process

. Create “valid” balls, i.e., balls that won’t miss (>99% of work)

. Throw balls into bins using “random” function h (<1% of work)

. Any bin with two balls is a coin

Page 16: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Have many other (untrusted) people do Step 1

Page 17: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Now...

99%+ of work is done for minter No participant will get enough balls

to do minting himself/herself (or else participants know “validity” h but not

“throwing” h) Minting is cheap for minter!

Page 18: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Minter can use ordinary server

Page 19: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Application III: Secure multiparty computation

Page 20: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Questions?

+?

Page 21: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

X-cash: Executable Digital CashX-cash: Executable Digital Cash

Ari JuelsRSA Laboratories

joint work with

Markus Jakobsson, Bell Labs

23rd February 1998

Page 22: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

The Internet: Many entities The Internet: Many entities wishing to trade with one wishing to trade with one

anotheranother

The Internet: Many entities The Internet: Many entities wishing to trade with one wishing to trade with one

anotheranother

Internet

$

Page 23: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Peer-to-peer trading can be Peer-to-peer trading can be problematicproblematic

Peer-to-peer trading can be Peer-to-peer trading can be problematicproblematic

Peer-to-peer interaction can create Peer-to-peer interaction can create communications bottleneckscommunications bottlenecks

Anonymity (both ways) is hard to Anonymity (both ways) is hard to protect in a peer-to-peer settingprotect in a peer-to-peer setting

Would like computational load Would like computational load involved with trading to be handled involved with trading to be handled by servers, not clientsby servers, not clients

Page 24: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Therefore, we would like trade to occur in a distributed fashion.

Therefore, we would like trade to occur in a distributed fashion.

Page 25: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

A vehicle for distributed trade: Mobile agents

A vehicle for distributed trade: Mobile agents

Program+

DocumentationTo Internet

Page 26: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

A problem: Pick-pocketingA problem: Pick-pocketing

Program

Page 27: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Other problems:Other problems:

Maliciously modified code Intercepted purchases A different scenario than digital cash:

multiple spending may be permissible

Page 28: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

A solution: X-cashA solution: X-cash

Idea: Make redemption of cash conditional on delivery of desired

goods

Page 29: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

First tool: A program that knows what it

wants

First tool: A program that knows what it

wantsMobile Agent includes a code segment P P takes as input potential purchase

items P outputs amount user is willing to pay

Paris P $300

E.g., airline tickets

Page 30: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Second tool:Negotiable certificate

Second tool:Negotiable certificate

BANK

Alice

= SIGSK (PKA, $500)B

ASIGSKASIGSK

($300,“For Bob”),

Bob

ASK

($300, “For Bob”),

Bank holds (SKB, PKB)Alice holds (SKA, PKA)

PKA

Alice

Alice

Alice

Page 31: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Idea: Bind negotiable certificate to agent program P

Idea: Bind negotiable certificate to agent program P

, SIGPK (P)A

PKA

X-cash

. . .Then . . .Then send off via send off via

mobile mobile agentagent

. . .Then . . .Then send off via send off via

mobile mobile agentagent

Page 32: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

When Bob receives the mobile agent

When Bob receives the mobile agent

Bob

A

,SIGPK (P)

PKA

Page 33: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Bob can assess and authenticate Alice’s offer for his tickets

Bob can assess and authenticate Alice’s offer for his tickets

$300, SIGPK (P)A

PKA

Bob

A

PKA

Page 34: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

The bank can verify and process the transaction

The bank can verify and process the transaction

BANK

, SIGPK (P)A

PKA $300

Bank gives $300 to Bob, deducting Bank gives $300 to Bob, deducting against the negotiable certificateagainst the negotiable certificate

Bank receives and holds tickets for Bank receives and holds tickets for Alice, or sends them to herAlice, or sends them to her

Page 35: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

An ExampleAn Example

Page 36: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Alice needs ticket to important conference in Caribbean

Alice needs ticket to important conference in Caribbean

She will pay $300 for business class to St. Martin

She will pay $600 for first class fare to St. Martin

She will pay $400 for business class to Anguilla

She will pay $700 for first class to Anguilla

Page 37: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Alice creates a program PAlice creates a program P

Input to P: An airline ticket – Airline ticket may include certificates and

signatures, e.g., airline certificate, travel agent certificate, etc.

– P includes root certificates Output of P: Amount Alice will pay

– Conditional on correct dates, transferability of ticket, etc.

Page 38: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Alice gets a negotiable certificateAlice gets a negotiable certificate

Alice generates key pair (PKA, SKA). Alice withdraws a negotiable certificate

. = SIGSK (PKA, $700).B

PKA

Page 39: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Alice creates X-cash and sends mobile agent

Alice creates X-cash and sends mobile agent

,SIGPK (P)A

PKA

Page 40: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Bob’s Travel has a business class ticket T to Anguilla for sale

Bob’s Travel has a business class ticket T to Anguilla for sale

Page 41: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Bob does the followingBob does the following

Checks certificates and signatures in Alice’s mobile agent

Generates signatures tA transferring ownership of ticket T to Alice

Runs P(T,tA) on a ticket T and signatures tA transferring ownership to Alice

Sees output “$400” Sends and T, tA to bank,SIGPK (P)

A

PKA

Page 42: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

The Bank does the followingThe Bank does the following

Verifies certificates and signatures in Alice’s agent

Sees that P(T,tA)=$400

Then: Deducts $400 against Alice’s negotiable

certificate Gives $400 to Bob Holds T,tA for Alice and notifies her

, SIGPK (P)A

PKA $400

Page 43: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

X-cash extensionsX-cash extensions

Page 44: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Double spendingDouble spending

How does Alice know that Bob didn’t sell the ticket twice?

An issue with any digital cash system. Solutions:

On-line verification Penalization after fact Tamper resistance (for Bob)

Page 45: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

AnonymityAnonymity

X-cash can be rendered anonymous using the following ideas:

Blind withdrawal of certificates with conditional revocation of anonymity

Anonymous re-mailers for delivery of goods (e.g., airline tickets)

Page 46: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Stateful offersStateful offers

In the examples above, Alice’s program P had no external state. This need not be the case.

Page 47: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Example of stateful offerExample of stateful offer

Alice wants to sell 100 ounces of gold at the market price

Alice’s program P contacts a Web site to get the current price of gold

Bob includes in his response C a value GB -- the maximum price he is willing to pay

When the Bank runs P(C), Bank checks that transaction cost is at most GB, as per Bob’s response.

Page 48: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

Multiple banksMultiple banks

We assume above a single, universally trustworthy bank.

X-cash can be adapted for infrastructures with multiple, mutually suspicious banks.

Page 49: Ari Juels RSA Laboratories Executable Financial Instruments and MicroMint on the Cheap with Markus Jakobsson Bell Laboratories

ConclusionConclusion

X-cash is a simple means of achieving trusted commerce in a distributed setting like the Internet.

To InternetX-cash