CS580 Internet Security Protocols Huiping Guo Department of Computer Science California State University, Los Angeles 6. Blind Signature.

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

Digital Cash Mehdi Bazargan Fall 2004.
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
1 Chapter 7-2 Signature Schemes. 2 Outline [1] Introduction [2] Security Requirements for Signature Schemes [3] The ElGamal Signature Scheme [4] Variants.
David Evans CS588: Cryptography University of Virginia Computer Science Lecture 18: Money
Information Assurance Management Key Escrow Digital Cash Week 12-1.
Digital Signatures and Hash Functions. Digital Signatures.
Recoverable and Untraceable E-Cash Dr. Joseph K. Liu The Chinese University of HongKong.
Understanding Networked Applications: A First Course Chapter 14 by David G. Messerschmitt.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Digital Cash Present By Kevin, Hiren, Amit, Kai. What is Digital Cash?  A payment message bearing a digital signature which functions as a medium of.
ELECTRONIC PAYMENT SYSTEMS FALL 2002COPYRIGHT © 2002 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 11 Electronic Cash.
Slide 1 Vitaly Shmatikov CS 378 Digital Cash. slide 2 Digital Cash: Properties uDigital “payment message” with properties of cash uUnforgeable Users cannot.
Payment Systems 1. Electronic Payment Schemes Schemes for electronic payment are multi-party protocols Payment instrument modeled by electronic coin that.
Introduction to Modern Cryptography, Lecture 13 Money Related Issues ($$$) and Odds and Ends.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
ELECTRONIC PAYMENT SYSTEMS SPRING 2004 COPYRIGHT © 2004 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 11 Electronic Cash.
Announcements: 1. Presentations start Friday 2. Cem Kaner presenting O th block today. Questions? This week: DSA, Digital Cash DSA, Digital Cash.
1 Blind Signatures 盲簽章 Chun-I Fan 范俊逸 E-Commerce & Security Engineering Lab. Department of Computer Science and Engineering National Sun Yat-Sen University.
Digital Cash Damodar Nagapuram. Overview ► Monetary Freedom ► Digital Cash and its importance ► Achieving Digital Cash ► Disadvantages with digital cash.
1 A practical off-line digital money system with partially blind signatures based on the discrete logarithm problem From: IEICE TRANS. FUNDAMENTALS, VOL.E83-A,No.1.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
Module 8 – Anonymous Digital Cash Blind Signatures DigiCash coins.
ELECTRONIC PAYMENT SYSTEMS FALL 2002COPYRIGHT © 2002 MICHAEL I. SHAMOS eCommerce Technology Lecture 9 Micropayments I.
E-Money / Digital Cash Lin Huang. Money / Digital Cash What is Money –Coins, Bill – can’t exist on two places at one time –Bearer bonds: immediate cashable.
J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 4 Data Authentication Part II.
13.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 13 Digital Signature.
Chapter 13 Digital Signature
Digital Cash By Gaurav Shetty. Agenda Introduction. Introduction. Working. Working. Desired Properties. Desired Properties. Protocols for Digital Cash.
Secure Electronic Transaction (SET)
Network Security Lecture 26 Presented by: Dr. Munam Ali Shah.
Lecture 12 E-Commerce and Digital Cash. As communication technologies, such as the Internet and wireless networks, have advanced, new avenues of commerce.
Topic 22: Digital Schemes (2)
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
Digital Cash. p2. OUTLINE  Properties  Scheme  Initialization  Creating a Coin  Spending the Coin  Depositing the Coin  Fraud Control  Anonymity.
Privacy Enhancing Technologies Spring What is Privacy? “The right to be let alone” Confidentiality Anonymity Access Control Most privacy technologies.
Chapter 6:Esoteric Protocols Dulal C Kar. Secure Elections Ideal voting protocol has at least following six properties 1.Only authorized voters can vote.
Chapter 16 Security Introduction to CS 1 st Semester, 2012 Sanghyun Park.
How to Make E-cash with Non-Repudiation and Anonymity Ronggong Song, Larry Korba Proceedings of the International Conference on Information.
Chapter 4 Using Encryption in Cryptographic Protocols & Practices (Part B)
2/16/001 E-commerce Systems Electronic Payment Systems.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Anonymous Digital Cash  Ashok Reddy  Madhu Tera  Laxminarayan Muktinutalapati (Lux)  Venkat Nagireddy.
1. ◦ Intro ◦ Online shopping vs MOTO ◦ Credit card payments vs PayPal ◦ E-cash? 2.
Electronic Cash R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity.
Electronic Payment Systems Presented by Rufus Knight Veronica Ogle Chris Sullivan As eCommerce grows, so does our need to understand current methods of.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 14: Digital Cash, Randomness.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
TOMIN: Trustworthy Mobile Cash with Expiration-date Attached Author: Rafael Martínez-Peláez and Francisco Rico-Novella. Source: Journal of Software, 2010,
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
多媒體網路安全實驗室 Private Information Retrieval Scheme Combined with E- Payment in Querying Valuable Information Date: Reporter: Chien-Wen Huang 出處:
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 14. Digital signature.
CS580 Internet Security Protocols
Anonize “Large Scale Anonymous System”
Information Security message M one-way hash fingerprint f = H(M)
CS480 Cryptography and Information Security
Uses Uses of cryptography Lab today on RSA
Information Security message M one-way hash fingerprint f = H(M)
Lecture 12: Randomness and Cash
Secure Electronic Transaction (SET) University of Windsor
Information Security message M one-way hash fingerprint f = H(M)
What is BankMobile? A process to select how to receive student refunds and student payroll payments It is fast, secure, and convenient. Go to:
Chapter 13 Digital Signature
eCommerce Technology Lecture 13 Electronic Cash
Digital Signatures Network Security.
Presentation transcript:

CS580 Internet Security Protocols Huiping Guo Department of Computer Science California State University, Los Angeles 6. Blind Signature

6-2 Outline r Blind signature m Blind signature vs. traditional digital signature m RSA based blind signature m RSA based partially blind signature r Digital Cash Acknowledgement: The materials are adapted from slides by Dr. Chun-I Fan, and Dr. David Evans. 6. Blind signature CS580_S16

6-3 Traditional digital signature 6. Blind signature CS580_S16

6-4 Traditional signature Requester Signer  Signature on Message The signer’s signature on “Message”  Message Linkable Signer 6. Blind signature CS580_S16

6-5 Signature Generation and Verification RequesterSigner True / False Message Signature Key Signature Generator Signature Verifier 6. Blind signature CS580_S16

6-6 Blind signature r A technique to digitally sign a message without revealing the message to the signer r The message to be signed is combined with a blinding factor, which prevents the signer from reading the message but can later be removed without damaging the signature 6. Blind signature CS580_S16

6-7 Blind signature properties 1. Correctness: the correctness of the signature of a message signed through the signature scheme can be checked by anyone using the signer’s public key. 2. Authenticity: a valid signature implies that the signer deliberately signed the associated message. 3. Unforgeability: only the signer can give a valid signature for the associated message. 4. Non-reusability: the signature of a message can not be used on another message. 6. Blind signature CS580_S16

6-8 Blind signature properties 5. Non-repudiation: the signer can not deny having signed a message that has valid signature. 6. Integrity: ensure the contents have not been modified. 7. Blindness: the content of the message should be blind to the signer; the signer of the blind signature does not see the content of the message. 8. Untraceability: the signer of the blind signature is unable to link the message-signature pair even when the signature has been revealed to the public. 6. Blind signature CS580_S16

6-9 Blind Signature Requester Signer Message  Signature onMessage  The signer’s signature on “Message”  Unlinkable Signer 6. Blind signature CS580_S16

6-10 Blind Signature   Unlinkability: it is intractable for the signer to link the signature to the message “Message”: the blinded message  Signature on“Message”: the blind signature  Signature on “Message”: to be obtained after unblinding 6. Blind signature CS580_S16

6-11 Signature Generation and Verification Signing User Signer Signature Verifier True / False Key Signature Blinding Unblinding Message Blind Signature Message 6. Blind signature CS580_S16

6-12 Applications of (partially) blind signature r Electronic Cash / Digital cash m Digital cash is blindly signed by bank m Bank has no way to track where the digital cash is spent r Online election protocol m A voter’s vote is blindly signed by authorized party m No one knows whom the voter votes for. 6. Blind signature CS580_S16

6-13 The Chaum scheme r Initializing phase 1. Signer chooses two primes and, then computes,. 2. Choose two large numbers and such that mod and. 3. Let be the signer ’ s public key and be the signer ’ s privacy key. Signer keeps secure and publishes 6. Blind signature CS580_S16

6-14 The Chaum scheme r Blinding phase 1. Requester has a message,then randomly selects an integer as the blinding factor, 2. Requester computes mod, and sends to the signer. 6. Blind signature CS580_S16

6-15 The Chaum scheme r Signing phase After receiving from the requester, the signer computes mod and replies it to the requester. 6. Blind signature CS580_S16

6-16 The Chaum scheme r Unblinding phase Upon receiving,The requester computes and gets the signature of the message 6. Blind signature CS580_S16

6-17 The Chaum scheme r Verifying phase is the signature on the message. Any one can verify the signature by checking whether 6. Blind signature CS580_S16

6-18 Proof r The blind factor is removed as r Since  ed ≡ 1 mod ф (n)) r ed ≡ r mod n (Fermat’s little theorem) 6. Blind signature CS580_S16

6-19 Example r The signer’s public key is (5,119), the private key is (77, 119), p=7, q=17 r Blinding phase m The requester wants a signature on m=37 m He select a random blinding factor r =29 and blinds the message m m The requester sends 9 to the signer 6. Blind signature CS580_S16

6-20 Example r Signing phase m After receiving, the signer calculates the blind signature m The singer sends 25 to the requester 6. Blind signature CS580_S16

6-21 Example r Unblinding phase Upon receiving,the requester computes 46 is the signature of m=37 6. Blind signature CS580_S16

6-22 Problem r With the completely blind signature protocol, the requester (Alice) can have the signer(Bob) sign anything m “Bob owes Alice a million dollors” r How to prevent Alice from cheating? 6. Blind signature CS580_S16

6-23 Scenario r There is a group of counterintelligence agents. r Their identities are secret; not even the counterintelligence agency knows who they are. r The agency’s director wants to give each agent a signed document stating “The bearer of this signed document, (insert agent’s cover name here), has full diplomatic immunity” r Each of the agents has his own list of cover names, so the agency cannot just hand out signed documents. r The agents don’t want to sent their cover names to the agency. m The enemy might have corrupted the agency’s computer 6. Blind signature CS580_S16

6-24 Scenario r On the other hand, the agency doesn’t want to blindly sign any document an agent gives it. m A clever agent might substitute a message like “ Agent (name) has retired and collects a million-dollar-a-year- pension”. Signed, Mr. President”. r Improved blind signature protocol m Assume that all the agents have 10 possible cover names, which they have chosen themselves and which no one else knows. m Also assume that the agents don’t care under which cover name they’re going to get diplomatic immunity m Agent---Alice, Agency--Bob 6. Blind signature CS580_S16

6-25 Improved blind signature protocol r Alice prepares 10 documents, each using a different cover name, giving herself diplomatic immunity r Alice blinds each of these documents with a different blinding factor r Alice sends the 10 blinded documents to Bob r Bob chooses 9 documents at random and asks Alice for the blinding factors for each of those documents r Alice sends Bob the appropriate blinding factor r Bob opens the 9 documents and makes sure they are correct—not pension authorization r Bob signs the remaining document and sends it to Alice r Alice removes the blinding factor and gets his new cover name on the signed document. 6. Blind signature CS580_S16

Partially Blind Signatures User Signer m1m1  Signature on (  The signer’s signature on (m 1 # m 2 )  # m 2 )Message = ( m1m1 # m 2 ) All of the signatures with the same m 2 are indistinguishable from the signer’s point of view.  6. Blind signature CS580_S16

Signature Generation and Verification User Signer True / False Signature on (m 1 # m 2 ) Blinding Unblinding Partially Blind Signature m1, m2m1, m2 m1m1 # m 2 Signing Key Signature Verifier (m 1, m 2 ) 6. Blind signature CS580_S16

6-28 Chien’s partially blind signature Step 1: Initialization Step 2: Requesting Step 3: Signing Step 4: Extraction and verification 6. Blind signature CS580_S16

6-29 Step 1: Initialization r The signer randomly chooses two large primes p and q, and computes n = p. q and ø (n) = ( p-1)x(q- 1) r The signer selects an integer e, gcd(ø(n),e)=1; 1<e<ø(n) r The signer calculates d=e -1 mod ø(n) r The signer publishes (e, n) as his public key and keeps (d, p, q) secretly. r The signer also publishes a one-way hash function h such as SHA-1 or MD5 6. Blind signature CS580_S16

6-30 Step 2 Requesting r The requester prepares the message m and the common information a r He also randomly chooses two number r and u, where r and u belong to Zn *. then, computes σ = r e h(m)(u 2 +1) mod n and sends the tuple (a, σ) to the signer. r After verifying the common information a, the signer randomly chooses a positive integer x less than n and sends it to the requester. r Upon receiving x, the requester randomly selects an integer r’ and lets b = r. r ’. r Then he computes β = b e (u-x) mod n and sends β to the signer. 6. Blind signature CS580_S16

6-31 Step 3 Signing r The signer computes β -1 mod n r The signer computes t =h(a) d (σ(x 2 +1) β -2 ) 2d mod n r Then he submits (β -1, t ) to the requester 6. Blind signature CS580_S16

6-32 Step 4 Extraction and verification r Upon receiving (β -1, t ), the requester acquires the signature by computing c = (ux+1) * β -1 * b e = ( ux + 1) * (u – x ) -1 mod n s = t*r 2 *r’ 4 mod n r The tuple (a, c, s) is the signature on message m r To verify the signature, check s e = h(a)*h(m) 2 *(c 2 +1) 2 mod n 6. Blind signature CS580_S16

6-33 Proof 6. Blind signature CS580_S16

6-34 Example r Step 1 m The signer’s public key is (5, 119) m The signer keeps (d, p, q) = (77, 7, 17) secure 6. Blind signature CS580_S16

6-35 Example: step 2 r The requester prepares the message m=35 with h(m)=12 and the common information a=28 with h(a)=15 r He also randomly chooses two number r=4 and u=8, where r and u belong to Z 119*. then, computes σ = r e h(m)(u 2 +1) mod n = 4 5 *12*(64+1) mod 119 = 111 r The requester sends the tuple (a, σ)=(28,111) to the signer. r After verifying the common information a=28, the signer randomly chooses a positive integer x = 17 and sends it to the requester. r Upon receiving x=17, the requester randomly selects an integer r’ =22 and lets b = r. r ’ = 4*22 = 88. r Then he computes β = b e (u-x) mod n = 88 5 *(8-17) mod 119 = 108 and sends β=108 to the signer. 6. Blind signature CS580_S16

6-36 Step 3 Signing r The signer computes β -1 mod n φ(119) = φ(7x17) = mod 119 = mod 119 = 54 r The signer computes t =h(a) d (σ(x 2 +1) β -2 ) 2d mod n = (111*( )* ) 2*77 mod 119 = 36*(111*290*54 2 ) 2*77 mod 119 = 100 r Then he submits (β -1, t )=(54, 100) to the requester 6. Blind signature CS580_S16

6-37 Step 4 Extraction and verification r Upon receiving (β -1, t )=(54, 100), the requester acquires the signature by computing c = (ux+1) * β -1 * b e = (8*17+1)*54*88 5 mod 119 = 117 s = t*r 2 *r’ 4 mod n = 100* 4 2 * 22 4 mod 119 = 60 r The tuple (a, c, s) = (28,117,60) is the signature on message m=35 6. Blind signature CS580_S16

6-38 Step 4 Extraction and verification r To verify the signature, check s e = h(a)*h(m) 2 *(c 2 +1) 2 mod n ? s e = 60 5 mod 119 = 93 h(a)*h(m) 2 *(c 2 +1) 2 mod n 15*12 2 * ( ) 2 mod 119 =15*25*25 mod 119 = Blind signature CS580_S16

6-39 Properties of Physical Cash r Easy to transfer r Anonymous r Works even when the banks are closed r Big and Heavy m 500 US bills / pound m Bill Gates net worth would be ~200 tons in $100 bills r You could be the target of thieves. r Paper cash is also a media for bacteria. 6. Blind signature CS580_S16

6-40 What is Digital Cash? r Can we replace paper cash with digital/Electronic cash? r Digital cash is a digitally signed payment message that serves as a medium of exchange r Some forms of money are already in digital formats: m Credit or debit cards. m E-banking. m Money transfer btw different accounts via e-banking or Electronic Funds Transfer (EFT) r However, these are not digital cash, because they fail to meet some essential requirements for digital cash 6. Blind signature CS580_S16

6-41 Requirements r Three parities in digital cash: a customer, a merchant, and the bank m Security: The digital cash cannot be forged and/or reused by a user illegally. m Privacy (Untraceability) : Nobody, including the bank, can reveal the relationship btw the identities of customers and the digital cash. It includes both unlinkability and anonymity. m Transferability: Digital cash can be transferred btw customers without the help from the bank m Divisibility: A user can subdivide a piece of e-cash into smaller pieces of e-cash in small denominations 6. Blind signature CS580_S16

Digital Cash vs Credit Card AnonymousIdentified Online or Off-lineOnline Store money in digital wallet Money is in the Bank 6. Blind signature CS580_S16

6-43 Digital Cash r On-line digital cash m Merchant needs to contact bank during each payment m Verify that the digital cash has not been used before m Necessary for transactions that need a high value of security r Off-line digital cash m Customer can freely pass value to Merchant at any time of the day without involving any third party like a bank m preferable from a practical viewpoint, they are however susceptible to the multi-spending problem m Suitable for low value transactions. 6. Blind signature CS580_S16

6-44 The Online Model r Structure Overview Deposit Cash Bank Customer Merchant Withdraw Cash Payment Link with other banks 6. Blind signature CS580_S16

6-45 Pros and Cons of the online scheme r Pros m Provides fully anonymous and untraceable digital cash. m No double spending problems. m Don't require additional secure hardware – cheaper to implement. r Cons m Communications overhead between merchant and the bank. m Huge database of cash records. m Difficult to scale, need synchronization between bank servers. 6. Blind signature CS580_S16

6-46 The Offline Model Bank Merchant Customer Temper- resistant device Other s T.R.D. 6. Blind signature CS580_S16

6-47 Pros and Cons of the offline model r Advantages m Off-line scheme m User is fully anonymous unless double spend m Bank can detect double spender m Banks don’t need to synchronize database in each transaction. r Disadvantages m Might not prevent double spending immediately m More expensive to implement 6. Blind signature CS580_S16

6-48 Traceable Signature Protocol m message m = amount, serial no (m) d d is secret key of the Bank spend (m) d send m (m) d verify (m) d CustomerBankMerchant 6. Blind signature CS580_S16

6-49 Digital Cash, Protocol #1 1. Alice prepares 100 money orders for $1000 each. m1m1, …, m 100 m 1 = (…, $1000, …) m 100 = (…, $1000, …) 6. Blind signature CS580_S16

6-50 Digital Cash, Protocol #1 cont. 3. Alice Creates blinding factors:b 1 e,…, b 100 e 4. Blind the units - m 1 b 1 e, …, m 100 b 100 e m1b1em1b1e, …, m 100 b 100 e m 1 = (…, $1000, …) m 100 = (…, $1000, …) 6. Blind signature CS580_S16

6-51 Digital Cash, Protocol #1 cont. 5. Gives envelopes to bank. Bank 6. Blind signature CS580_S16

6-52 Digital Cash, Protocol #1 cont. 6. Band randomly chooses envelopes to check m Bank ask Alice for the 99 blinding factors m Bank opens the 99 envelopes and checks they contain money order for $1000. i 6. Blind signature CS580_S16

6-53 Digital Cash, Protocol #1 cont. 7. Bank signs the remaining envelope without opening it (( m i b e i ) d = m i d b i ), sends it back, and deducts $1000 from Alice’s account Customer 6. Blind signature CS580_S16

6-54 Digital Cash, Protocol #1 cont. 8. Alice removes the blinding using b i -1  m i d, and spends the money order. 9. Merchant checks the Bank’s signature. 10. Merchant deposits money order. 11. Bank verifies its signature and credits Merchant’s account. 6. Blind signature CS580_S16

6-55 Digital Cash, Protocol #1 r Is it anonymous? r Can Alice cheat? m Make one of the money orders for $100000, 1% chance of picking right bill, 99% chance bank detects attempted fraud. Better make the penalty for this high (e.g., jail) m Copy the signed money order and re-spend it. r Can Merchant cheat? m Copy the signed money order and re-deposit it. 6. Blind signature CS580_S16

6-56 Digital Cash, Protocol #2 r Idea: prevent double-spending by giving each money order a unique ID. r Problem: how do we provide unique IDs without losing anonymity? r Solution: let Alice generate the unique IDs, and keep them secret from bank. 6. Blind signature CS580_S16

6-57 Digital Cash, Protocol #2 1. Alice prepares 100 money orders for $1000 each, adds a long, unique random ID to each note. 2. Alice Creates blinding factors:b 1 e,…, b 100 e 3. Blinds the units - m 1 b 1 e, …, m 100 b 100 e, puts each one in a different sealed envelope, and gives envelopes to bank. 4. Bank asks Alice for the 99 blinding factors, opens the 99 envelopes and checks they contain money order for $ Bank signs the remaining envelope without opening it. 6. Blind signature CS580_S16

6-58 Digital Cash, Protocol #2 cont. 6. Bank returns envelope to Alice and deducts $1000 from her account. 7. Alice opens envelope by removing the blinding factor, and spends the money order. 8. Merchant checks the Bank’s signature. 9. Merchant deposits money order. 10. Bank verifies its signature, checks that the unique random ID has not already been spent, credits Merchant’s account, and records the unique random ID. 6. Blind signature CS580_S16

6-59 Digital Cash, Protocol #2 r Is it anonymous? r Can Alice cheat? r Can Merchant cheat? r Can bank identify cheaters? 6. Blind signature CS580_S16

6-60 Digital Cash, Protocol #3 1. Alice prepares 100 money orders for $1000 each, adds a long, unique random ID to each note. 2. Alice Creates blinding factors:b 1 e,…, b 100 e 3. Blinds the units - m 1 b 1 e, …, m 100 b 100 e, puts each one in a different sealed envelope, and gives envelopes to bank. 4. Bank asks Alice for the 99 blinding factors, opens the 99 envelopes and checks they contain money order for $ Bank signs the remaining envelope without opening it. 6. Blind signature CS580_S16

6-61 Digital Cash, Protocol #3 cont. 6. Bank returns envelope to Alice and deducts $1000 from her account. 7. Alice opens envelope by removing the blinding factor, and spends the money order. 8. Merchant checks the Bank’s signature and makes sure the money order is legitimate 9. Merchant asks Alice to write a random identity string on the money order and Alice complies 10. Merchant deposits money order. 11. Bank verifies its signature, checks its database to make sure that the unique random ID has not already been spent, credits Merchant’s account, and records the unique random ID and the identity string in a database 6. Blind signature CS580_S16

6-62 Digital Cash, Protocol #3 cont. 6. If the uniqueness string is in the database. The bank refuses to accept the money order. m It compares the identity string on the money order with the one stored in the database. m If it is the same, the bank knows that the merchant photocopied the money order. m If it is different, the bank knows that the person who bought the money order photocopied it. 6. Blind signature CS580_S16

6-63 Digital Cash, Protocol #3 cont. r Assumption: Merchant cannot change the identity string once Alice writes it on the money order r What if Alice frames the merchant? m She could spend a copy of the money order a second time, giving the same identity string in step 9 r If the bank found that the person who bought the money order cheated, can bank catch the cheater? 6. Blind signature CS580_S16

6-64 Anonymity for Non-Cheaters r Spend a bill once – maintain anonymity r Spend a bill twice – lose anonymity r Have we seen anything like this? 6. Blind signature CS580_S16

6-65 Digital Cash, Protocol #4 1. Alice prepares n money orders each containing: AmountUniqueness String: X Identity Strings: I 1 = (I 1L, I 1R )... I n = (I nL, I nR ) Each I n pair reveals Alice’s identity (name, address, etc.). I = I iL  I iR. m Each money order contains n pairs two parts m Alice’s identity is split into two shares in n different ways. m Any pair reveals Alice’s identity 6. Blind signature CS580_S16

6-66 Digital Cash, Protocol #4 2. Alice blinds all n money orders, using a blind signature protocol, and sends them to bank. 3. Bank asks Alice to any n-1 of the blinding factors and all its corresponding identity strings. 4. Bank checks money orders. If okay, signs the remaining blinded money order, and deducts amount from Alice’s account. 6. Blind signature CS580_S16

6-67 Digital Cash, Protocol #4 5. Alice unblinds the signed the money order, and spends it with a Merchant 6. The merchant verifies the bank’s signature to make sure the money order is legitimate 7. Merchant asks Alice to randomly reveal either I iL or I iR for each i. m Merchant gives Alice a random n-bit selector string, b1, b2,…, bn. 8. Alice sends Merchant corresponding I iL ’s or I iR ’s. 6. Blind signature CS580_S16

6-68 Digital Cash, Protocol #4 9. Merchant takes money order and identity string halves to bank. 10. Bank verifies its signature, and checks uniqueness string. If it has not been previously deposited, bank credits Merchant and records uniqueness string and identity string halves. 6. Blind signature CS580_S16

6-69 Digital Cash, Protocol #4 11. If the uniqueness string is in the database, the bank refuses to accept the money order. m It compares the identity string on the money order with the one stored in the database m If same, the bank knows that the merchant copied the money order m If different, the bank knows that the person who bought the money order photocopied it Since the second merchant who accepted the money order handed Alice a different selector string that did the first merchant, the bank finds a bit position where one merchant has Alice open the left half and the other merchant has Alice open the right half The bank XORs the two halves together to reveal Alice’s identity 6. Blind signature CS580_S16

6-70 Digital Cash, Protocol #4 r Can Alice cheat? r Can merchant cheat? r Can Alice and merchant collude to cheat bank? r Can bank find identity of Alice if Alice is honest? 6. Blind signature CS580_S16

6-71 Digital Cash Summary r Preserves anonymity of non-cheating spenders (assuming large bank and standard denominations) r Doesn’t preserve anonymity of Merchants r Requires a trusted off-line bank r Expensive – lots of computation for one transaction 6. Blind signature CS580_S16