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 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 The need for small payments “Pay-per-click” purchases on Web: – Streaming music and video – Information services Mobile commerce – Geographically based info services – Gaming Payment schemes Dominant today: – Credit cards – Subscriptions Other possibilities: – Electronic checks – Anonymous digital cash – Micropayments FOR SALE 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. Payment Framework: Payment System Provider (PSP) - Bank Authorization Deposit(s) Payment(s) User Merchant 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 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 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. 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. Interactive vs. Non-interactive Interactive: Payment protocol is two-way dialogue Non-interactive: Payment protocol is one-way Ability to handle disputes User claims he didn’t approve payment Solution: use digital signatures User claims goods are poor quality or were never sent. Solution: let user complain to merchant directly. Ability to handle overspending User may refuse to pay PSP for payments he has made. Solution: prepayment User may spend more than he was authorized to spend. Solution: penalties/deterrence Robustness against Fraud Any party (user/merchant/ PSP) may try to cheat another. Any two parties may try to cheat the third. 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? Problem: No aggregation: every check spent is returned to the PSP. PSP must be on-line all the time. Previous Work: PayWord Rivest and Shamir ’96 Emphasis on reducing public-key operations by using hash-chains instead: x0 x1 x2 x 3 … xn User signs x0 and releases next xi for next payment. Merchant can check every xi, i>0. How? 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). Problem: Session-level aggregation only. – Each User has established his own Hchin with the merchant. So… – if a user spend only 1¢, to deposit 1¢, the merchant or the bank would lose money! 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 Previous Work: Lottery Tickets “Electronic Lottery Tickets as Micropayments” – Rivest ’97 Payments are probabilistic First schemes to provide global aggregation: payments aggregated across all user/merchant pairs. 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. 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 of payment is 1¢. Bank sees only 1 out of every 1000 payments. Merchant can, not provide the merchandise but … it’s only cent 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 …") Goals for new works: Non-interactive Fair to user: user never “overcharged” 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 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 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. 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 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 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 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. 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 MR2 Goal: – fair to user 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” 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) 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 SNmaxSN, maxSNSN. User charged three cents Achievements Non-interactive Fair to user: user never “overcharged” – easy to prove! But what about cheating? 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 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. 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. 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. 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. 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 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. 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. 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. 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 (The End)
© Copyright 2026 Paperzz