50
Micropayments Revisited Ronald L. Rivest & Silvio Micali RSA Conference 2002 Seminar 89-957, CS Dept., Bar Ilan University By Sharon Haroni

Micropayments Revisited

Embed Size (px)

DESCRIPTION

Micropayments Revisited. Ronald L. Rivest & Silvio Micali RSA Conference 2002 Seminar 89-957, CS Dept., Bar Ilan University By Sharon Haroni. Outline. What is a micropayment The need for micropayments Dimensions in micropayment approaches Previous work New methods: MR1,MR2,MR3. - PowerPoint PPT Presentation

Citation preview

Page 1: Micropayments Revisited

Micropayments Revisited

Ronald L. Rivest & Silvio MicaliRSA Conference 2002

Seminar 89-957, CS Dept., Bar Ilan University

By Sharon Haroni

Page 2: Micropayments Revisited

Outline

What is a micropayment The need for micropayments Dimensions in micropayment

approaches Previous work New methods: MR1,MR2,MR3

Page 3: Micropayments Revisited

What is a “micropayment”?

A payment small enough that processing it is relatively costly. Note: processing one credit-card payment costs about 25¢

A payment in the range 0.1¢ to $10

Page 4: Micropayments Revisited

The need for small payments

“Pay-per-click” purchases on Web:– Streaming music and video– Information services

Mobile commerce – Geographically based info services– Gaming

Page 5: Micropayments Revisited

Payment schemes

Dominant today:– Credit cards– Subscriptions

Other possibilities:– Electronic checks– Anonymous digital cash– Micropayments

FOR SALE

Page 6: Micropayments Revisited

Why aren’t micropayments already here?

The market need is still nascent. Rolling out a new payment system

requires the coordination of many players.

Fundamentally: COST !Existing micropayment schemes are too costly to implement.

Page 7: Micropayments Revisited

Payment Framework:Payment System Provider (PSP) -

Bank

User MerchantPayment(s)

Authori-zation Deposit(s)

Page 8: Micropayments Revisited

Dimensions to consider:

Level and form of aggregation (for transactions)

On-line PSP vs. off-line PSP Interactive vs. non-interactive Ability to handle disputes Ability to handle overspending Robustness against fraud

Page 9: Micropayments Revisited

Level of Aggregation To reduce processing costs, many

small micropayments should be aggregated into fewer macropayments.

Possible levels of aggregation:– No aggregation: PSP sees every payment– Session-level aggregation: aggregate all

payments in one use session– Global aggregation: Payments can be

aggregated across users

Page 10: Micropayments Revisited

Form of Aggregation

Deterministic aggregation:Accounting is exact.

Statistical aggregation: Accounting is statistical

In MR2 proposal makes aggregation look deterministic to user but statistical to bank.

Page 11: Micropayments Revisited

On-line PSP vs. Off-line PSP On-line PSP:

PSP authorizes each payment or each session.

Off-line PSP:User and merchant can initiate session and transact without participation of PSP.

Note:– PSP should be off-line if scheme has global

aggregation.– If multiple PSP’s involved, off-line is better.

Page 12: Micropayments Revisited

Interactive vs. Non-interactive

Interactive:Payment protocol is two-way dialogue

Non-interactive:Payment protocol is one-way

Page 13: Micropayments Revisited

Ability to handle disputes

User claims he didn’t approve paymentSolution: use digital signatures

User claims goods are poor quality or were never sent.Solution: let user complain to merchant directly.

Page 14: Micropayments Revisited

Ability to handle overspending

User may refuse to payPSP for payments he has made.Solution: prepayment

User may spend morethan he was authorizedto spend.Solution: penalties/deterrence

Page 15: Micropayments Revisited

Robustness against Fraud

Any party (user/merchant/PSP) may try to cheat another.

Any two parties may try tocheat the third.

Page 16: Micropayments Revisited

Previous Work: Electronic Check

Simplest form of payment scheme. User pays a merchant for transaction by

digitally singing on piece of data which identifies transaction.

Merchant deposits by sending a Check to the Bank.

Bank credits a merchant and charges the user (after checking the sign).

So What is the problem?

Page 17: Micropayments Revisited

Problem:

No aggregation: every check spent is returned to the PSP.

PSP must be on-line all the time.

Page 18: Micropayments Revisited

Previous Work: PayWord Rivest and Shamir ’96 Emphasis on reducing public-key

operations by using hash-chains instead: x0 x1 x2 x3 … xn

User signs x0 and releases next xi

for next payment. Merchant can check every xi, i>0.

How?

Page 19: Micropayments Revisited

Example: Assume after 70 transactions, merchant

has x70

He checks hash(x70)= x69

Merchant sends x70, x0 to the bank (if he want to).

Bank checks if [hash70(x70)]= x0.

If true, bank credits merchant by 70¢, charges the user by 70¢ (assume fees inside).

Page 20: Micropayments Revisited

Problem:

Session-level aggregation only.– Each User has established his own H-

chin with the merchant. So…

– if a user spend only 1¢, to deposit 1¢, the merchant or the bank would lose money!

Page 21: Micropayments Revisited

Another Previous Work Rivest and Shamir ’96 - MicroMint

– No aggregation: each coin is returned to PSP.

Manasse et al. ’95 – Millicent– User buys merchant-specific scrip

from PSP for each session.– Requires PSP to be on-line for scrip

purchase– Session-level aggregation only

Page 22: Micropayments Revisited

Previous Work: Lottery Tickets

“Electronic Lottery Tickets as Micropayments” – Rivest ’97Payments are probabilistic

First schemes to provideglobal aggregation: payments aggregated acrossall user/merchant pairs.

Page 23: Micropayments Revisited

Lottery Tickets

scheme:– Assume given S - selection rate

between 0 to 1.– For each micropayment - interact

according to a pre-determined protocol.

– If micropayment selected, user pays 1/s times bigger than originally amount.

Page 24: Micropayments Revisited

Protocol example: Merchant gives user hash value Yi=hash(yi+1) User writes Merchant check: “This check is

worth $10 if three low-order digits of h-1(Yi) are 756.” (Signed by user, with certificate from PSP.)

Merchant “wins” $10 with probability 1/1000. Expected value ofpayment is 1¢.

Bank sees only 1 out of every 1000 payments.

Merchant can, not provide themerchandise but …

it’s only cent

Page 25: Micropayments Revisited

Problems: Interaction: the user and the merchant

must interact to select micropayments. User risk: the scheme burdens the user

with the risk that he may have to pay more than he should.

Y can be given by statistical approach (if merchant has enough “place” to store all “good y’s …")

Page 26: Micropayments Revisited

Goals for new works:

Non-interactive Fair to user: user never

“overcharged”

Page 27: Micropayments Revisited

MR1 Like Lottery Tickets payments will

be selected according to S. No interaction between user to

merchant. Idea:

– User sends Check – C, C will be payable if it worth some value.

– Merchant can easily compute this value

Page 28: Micropayments Revisited

Basic scheme Each U,M establish public key Let T denote transaction T contains: User, Merchant, Bank,

merchandise, time, T value, … Assume T value is const. F(.) – public function, input string,

output number between 0 to 1. Example:

– F(110)=0.110

Page 29: Micropayments Revisited

Payments A user-U pays a merchant-M for T

by sending M the check-C=SIGu(T) C is payable if F(SIGm(C))<S If C is payable M send to bank-B,

C, SIGm(C) If M’s, U’s signature are correct, B

credits M’s count with 1/S and debits U’s account with 1/S.

Page 30: Micropayments Revisited

Properties Payment phase is non-interactive F(SIGm(C)) is unpredictable to U. next

B can checks if SIGm(C) is sign on C. No cheating. Later

Note: All signature are deterministic

Page 31: Micropayments Revisited

U can’t guess F(.) We use RSA signature. L= length of SIG c*Log(L) last bits of signature are

indistinguishable If L=1024 ,c=2 User can’t knew

last 20 bits. (c is const grater than 1) F(.) return 20 last bits of signature. S could be till 1/220

Page 32: Micropayments Revisited

No cheating B and U can’t cheat M

– SIGm(C) is unpredictable to both of them.

– Even if U, B saves history M and U can’t cheat B

– SIGm(C) is deterministic.

– Public key is chosen before transaction.

– SIGu(T) unpredictable to M,B

M and U can’t cheat B

Page 33: Micropayments Revisited

Practical variant S could be a number, so C payable if

F(SIGm(C))<S, OR the property that last X bits of C equal to F(SIGm(C))

Using SIGm(Vi) for every day or time interval, minimizes M’s signatures.– Vi can be computed by hash(Vi+1)

– M should delivers the Checks to the Bank after day/time interval, WHY?

– Protecting against malicious user/bank.

Page 34: Micropayments Revisited

MR1 conclusions: Non-interactive scheme No fair to user Possibility of

user’s excessive payments. Very small Possibility that the user

will be debited more than micropayments

Possibility decreases with number of micropayments increase

Page 35: Micropayments Revisited

MR2

Goal:– fair to user

Page 36: Micropayments Revisited

What’s new?

The risk of MR1 scheme, shifted from User to the Bank.

Advantage of this scheme is simplicity– Doesn’t prevent cheating – Punishes “cheating parties”

Page 37: Micropayments Revisited

Basic scheme Each U,M establish public key All signature are deterministic A user-U pays a merchant-M for T by

sending M the check-C=SIGu(T) User include time, serial number – SN in

every Check. C is payable if F(SIGm(C))<S

If C is payable M send to B, C, SIGm(C)

Page 38: Micropayments Revisited

Selective deposit:

Let maxSN denote the maximum serial number of a payable C of U processed by B so far.

If the new C is payable, B credits M’s count 1/S ¢, debits U’s count by SN-maxSN, maxSNSN.

User charged three cents for

Page 39: Micropayments Revisited

Achievements

Non-interactive Fair to user: user never “overcharged”

– easy to prove! But what about cheating?

Page 40: Micropayments Revisited

Cheaters catching

There is possibility to catch cheaters by two ways:– If a new SN of transaction is equal to

SN before.– If SN and the time of transaction

doesn’t suitable

Page 41: Micropayments Revisited

What about collusions ?

Like MR1, M & B can’t cheat U. Like MR1, U & B can’t cheat M. But malicious M ,U can cheat B!!! How?

– Cause check will be payable all the time, thus B credits M by 1/S, debits U by SN-SNmax.

Page 42: Micropayments Revisited

Example: Let S=1/1000, that means for each

micropayments there is possibility of 1/1000 to be chosen.

If micropayments equal to 1¢ M has to be paid 10$ for each winning.

if for every micropayments M wins, B should pays M 10$, debits U 1¢

Bank lose 9.99$ each transaction.

Page 43: Micropayments Revisited

solution Bank may keeps statistics and throw

out of the system U/M whose payable checks cause exceptions.

Small probability that honest U/M looks like malicious.

Those honest U/M can be convinced that they caused losses to the bank, and may accept being under MR1 scheme.

Page 44: Micropayments Revisited

Conclusions Merchant is still paid 1/S for each

winning payment, while user is charged by difference between sequence numbers seen by Bank.

Users severely penalized for using duplicate sequence numbers.

If user’s payments win too often, he is converted to basic probabilistic scheme.

Bank can manage risk.

Page 45: Micropayments Revisited

MR3

On this scheme, Bank determines which checks are payable.

A user-U pays a merchant-M for T by sending M the check-C=SIGu(T)

U includes every T a SN

Page 46: Micropayments Revisited

Selective deposit: Let t’, t denote the time M’s last,

current deposit. M group all C into n list,L1….Ln .

Vi=sum checks on Li, V=sum of Vi

Ci=commit (Li, Vi)

M sends to B: SIGm( t, n, V, C1, … ,Cn ) B verifies last deposit time.

Page 47: Micropayments Revisited

Selective deposit - continue

B selects k, and sends i1,…,ik to M. M responses by de-committing Ci1…Cik B credits M’s count with V¢ B debits users whose checks belong to

Li1…Lik according to SN like MR2. If B feels something wrong (time, SN,

sum, Li, Vi ), he throw M/U. B also can throw M/U if they have any

exceptions of statistical data, like MR2.

Page 48: Micropayments Revisited

Properties k is arbitrary and up to the bank. If there is more attempted fraud, a

larger value of k may be used. Recommended K>1 try to catch fakes

checks. M can chose t Like MR2,M & U can cheat B, but B can

identify them, and throw them out of system to risky.

Page 49: Micropayments Revisited

Conclusions

those micropayments schemes– Is highly scalable: bank can support

billions of payments by processing only millions of transactions (1000x reduction)

– Provides global aggregation– Supports off-line payments– Provides for non-interactive

payments– Protects user from statistical

variations

Page 50: Micropayments Revisited

(The End)