Digital Cash

Document Sample
Digital Cash Powered By Docstoc
					Digital Cash
  Gaurav Shetty
   Introduction.
   Working.
   Desired Properties.
   Protocols for Digital Cash.
   Online model
   Offline Model
   Security considerations.
   What is digital cash?
     It is defined on the web as “digital cash is a digitally
      signed payment message that serves as a medium of
     It is money represented as a binary form of
      computer data.
     Generally needs to be backed up by a trusted third
             How does it work?
   Consider the following scenario.
     Customer has an account in a bank.
     Customer sends an encrypted mail to the bank
      requesting for money.
     Bank has to authenticate the message and then
      debits the customers account.
     It sends the customer the money which is an
      encrypted file containing a huge random number.
    How does it work? (Cont)
 Customer can make purchases by giving this file to
  the person or merchant that he is buying from.
 The merchant then sends this file back to the bank
  which will credit his account after verifying the file.
            Desired Properties
   Security.
   Privacy.
   Portability.
   Transferability.
   Divisibility.
   Convenient to use.
          Digital Cash-Protocols
   There are 2 types
     Identified Digital Cash Protocol.
     Anonymous Electronic Money Protocol.
    Identified Digital Cash Protocol
   The steps involved in this protocol are as
     Customer sends digital money request to the bank.
     Bank verifies the request and sends a serial no along
      with the digital money.
     Customer purchases something and gives the digital
      money to the merchant.
     Merchant sends the money to the bank and encashes
        Anonymous Electronic Money
   Here transaction is not traced back to the customer.
   The steps involved are as follows.
       Customer prepares m bank notes.
       Puts them in different envelopes with carbon paper and seals
       Bank opens m-1 envelops.
       If all the notes have the same amount, then bank signs the
        blind note and send it back to the customer.
       AEM Protocol (Cont)
 Customer opens the envelope and uses the bank
  note to make a purchase.
 The seller checks the signature and verifies the
  random number with the bank.
 If the random number is unique and then the seller
  accepts it.
           AEM Protocol (Cont)
   Here the privacy of the customer is protected as
    the bank does not know the serial no of the
    bank note.
   Security is an issue-double spending problem.
   Can be taken care of my storing the serial no of
    bank notes in a DB.
   2 protocols can be derived from this.
     Online model.
     Offline model.
                Online Model.
   Bank is actively involved in the deal between
    customer and vendor.
   Anonymous and untraceable cash provided.
   It has to maintain a database of serial numbers.
   Cannot reuse the serial numbers.
   Cheaper to implement.
                  Offline model
   Notes contain identity bit strings which contain
    identifying information of customer.
   Information is split.
   Same procedure as the AEM protocol is followed and
    bank signs one of m bank notes and sends it back to
    the customer.
   Identity string is also revealed to the bank.
   Customer spend the note. Vendor verifies the signature.
    Then asks customer to reveal one half of the identity
                 Offline model
   Vendor sends the note to the bank.
   If there is a replication bank compares the
    identity string with the one in the DB.
   If it is the same-vendor trying to cheat.
   If it is different-customer trying to cheat.
           Offline model – E.G.
   To detect duplicate spending (Ref- [1]).
   Say User ID = 2510, Pad R =1500
   2510XOR1500 = 3090.
   Identity string is a pair 1500 and 3090(XOR to
    get User ID).
   Say user has 3 bank notes.
     1500 XOR 3090 = 2510 (User ID)
     4545 XOR 6159 = 2510 (User ID)
     5878 XOR 7991 = 2510 (User ID)
     Offline model – E.G. (Cont)
 Say customer makes a copy of the notes and spends the
 Say user randomly provides one half of the string to the
  merchant every time he spends the note.
Merchant 1             Merchant 2
  0     3090            1500 0
 4545    0              4545 0
 5878    0                0 7992

Say the merchants now deposit this money in the bank.
     Offline model – E.G. (Cont)
   Bank can detect fraud as follows.
Original note           Duplicate Note
User ID                  User ID
  0 3090                1500 0
4545 0                  4545 0
5878 0                    0 7992
3090 XOR 1500 = 2510 (User ID revealed)
5878 XOR 7992 = 2510 (User ID revealed)
Probability of catching the user is 1-(1/2)^n where n is
    number of identity strings.
         Security Considerations
   Public Key cryptography-Uses Public and
    private keys.
   Use of Symmetric Key cryptography-Uses a
    single key known to both parties.
   Relationship between withdrawal, payment and
   Authentication, Authorization and non-
    repudiation techniques.
   Double spending method and framing.
    Security Considerations (Cont)
   Unlinkability and untraceability.
   Divisibility, transferability and scalability.
   Acceptability and relilability.
     JCASH is a program that works as an e purse and
      works simultaneously as a seller and buyer.
     JBANK is another program that acts like a bank for
      JCASH e-purses.
   Program is an exe.
                 DEMO (Cont)-JBANK

                                         Functionalities accessed via file menu

Accounts has account   Reports contain
number, current amt    imp info during
and name of owner.     transactions
                DEMO (Cont)-JCASH
On launching the program

                           JCASH interface     ID Tab lets you choose the identity
                                               you want to transmit to the buyer.

                           Bank Tab is used to make a connection to the
                           bank, in order to buy or deposit notes, or to
                           check current available amt
                  DEMO (Cont)- JCASH

                           Client get a report on
Connect to bank            completion of the transaction.
                 DEMO (Cont)- JCASH

Purse Tab- shows all the notes that are in
                                              After selecting the notes in the purse tab,
the e-purse. Left click to select and right
                                              the user can use the pay tab to pay the seller.
click to unselect a note.
           DEMO (Cont)- JCASH

Entering a new contact

            DEMO (Cont)- JCASH

Receive tab must be active in order to cash a payment. Click Open connection or
directly on the lights to start the server. All incoming information is written to the
Report box.
                                 Demo (Cont)

Bank generates new pairs of keys and writes
to a file called PubKey.txt
Alice generates several notes using public key
of ht bank and puts it in diff envelops.
Bank records the envelopes and chooses           Alice uses its binding factor in order to unbind all the
randomly a number to designate which             envelops and obtain the signed note. Gives note to
envelop she is going to sign.                    Bob.Bob records the note and generates the challenge.
Alice reveals all the information used to bind Alice reveals RIS (Random Identity String). Bob
the notes except for one chosen by the bank checks this information and accepts the note.
Bank check to see that the information is      Deposits it in the bank. Bank verifies the note and if
correct and signs the chosen envelop           the note has be deposited earlier.
    #330 [1]
    ecash.pdf [2]
 [3]
    payment-acceptance-4/2 [4]
 [5]

Shared By: