# US 2014/0195440 A1 · Virtual account based new digital cash protocols

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195440 A1
- Document ID: US20140195440A1
- Status: Published application
- Kind: A1
- Application number: 14/170,761
- Filed: 2014-02-03
- Published: 2014-07-10
- Earliest claimed: 2008-02-14
- Assignees: King Fahd University of Petroleum and Minerals
- Inventors: Ahmed Ibrahim Al-Herz; Mohammad K. Ibrahim
- Web page: https://patentgrep.com/patent/US20140195440A1

## CPC

- G06Q 20/0655: {e-cash managed centrally}
- G06Q 20/20: Point-of-sale [POS] network systems
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/3829: {involving key management}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 2209/42: Anonymization, e.g. involving pseudonyms
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Virtual account based digital cash protocols employ two pairs of private and public keys. Each public key is certified separately and the protocols do not use any blind signature schemes. As a result, the virtual account based digital cash protocols provide strong protection of the user privacy by using two certified public keys instead of a blind signature. One pair of certified keys consists of one master user private key and one master user public key. A second pair of certified keys consists of one pseudonym user private key and one pseudonym user public key. The use of a master key pair and a pseudonym key pair circumvents the need for blind signatures. As a result, the proposed protocols do not require blind signatures and do not add additional overhead and security requirements necessitated by conventional blind signature schemes. The protocols use public key protocols, digital signatures and symmetric key protocols, which may be readily implemented in standard information security based systems based on cryptographic constructs. In addition, the protocols may be deployed in mobile, off-line, and on-line settings.

## Claims

### Claim at position 1

1-13. (canceled)

### Claim 14

A method for registering a user in a digital cash protocol to protect user privacy having two pairs of user keys, one pair linked to the real identity of the user including a master public key (mPKU) and a master secret key (mSKU), and a second pair linked to the pseudonym identity of the user including a pseudonym public key (pPKU) and a pseudonym secret key (pSKU), the method comprising:
generating the pPKU and the pSKU;
signing information including the pPKU and a user identification (UID) using the mSKU;
sending the information to the certificate authority (CA) as a request for a certified pPKU;
receiving the request by the CA;
verifying by the CA the validity of the user signature using the mPKU;
generating by the CA a signature license for the pPKU using the secret key of the CA (SKC);
storing by the CA the pPKU in connection with the mPKU and the UID;
sending the CA signature license from the CA to the user; and
receiving, verifying, and storing the CA signature license by the user.

### Claim 15 (depends on 14)

The method of claim 14 further comprising:
sending the license and pPKU to a digital cash issuer (DCI) as a request for registration with the DCI and for a DCI license receiving by the DCI the request for registration;
determining by the DCI that the pPKU is not registered;
verifying by the DCI the validity of the CA signature license using the CA public key (PKC);
signing by the DCI the pPKU using the secret key of the DCI (SKI) to generate a DCI license associated with the pPKU;
sending the DCI license to the user; and
verifying by the user the validity of the DCI license using a DCI public key (PKI).

### Claim 16

A method electronic cash issuing for a digital cash protocol to protect user privacy having two pairs of user keys, one pair linked to the real identity of the user including a master public key (mPKU) and a master secret key (mSKU), and a second pair linked to the pseudonym identity of the user including a pseudonym public key (pPKU) and a pseudonym secret key (pSKU), the method comprising:
signing pPKU and an amount of digital cash (x) using pSKU;
encrypting [pPKU,x]pSKU using a public key (PKI) of a digital cash issuer;
signing a user real identification UID, the amount of money to be withdrawn x, and PKI([pPKU,x]pSKU) using mSKU
encrypting [PKI([pPKU,x]pSKU),UID,x]mSKU using the public key of the bank (PKB);
sending PKB([PKI([pPKU,x]pSKU),UID,x]mSKU) to the bank via a communications path.

### Claim 17 (depends on 16)

The method of claim 16 further comprising:
decrypting PKB([PKI([pPKU,x]pSKU),UID,x]mSKU) using a bank secret key (SKB);
verifying the validity of the signature for authentication with mPKU,
determining if the signature is valid;
withdrawing the amount of money x from the user account;
signing PKI([pPKU,x]pSKU and the withdrawn amount of money x using SKB;
encrypting [PKI([pPKU,x]pSKU),X]SKB using PKI; and
sending PKI([PKI([pPKU,x]pSKU),x]SKB) to the digital cash issuer via a communications path.

### Claim 18 (depends on 17)

The method of claim 17 further comprising:
receiving PKI([PKI([pPKU,x]pSKU),x]SKB);
decrypting PKI([PKI([pPKU,x]pSKU),x]SKB) using a digital cash issuer secret key (SKI);
verifying the signature of the bank using PKB;
determining whether the signature is valid;
decrypting PKI([pPKU,x]pSKU) using SKI
verifying the signature of the user using pPKU to authenticate the user; and
determining the equality of the two amounts x, wherein
the real identity of the user is revealed by sending pPKU to the certificate authority if the amounts are not equal and incrementing the user virtual account by the amount x of digital cash if the amounts are equal.

### Claim 19 (depends on 18)

The method of claim 18 further comprising:
signing pPKU and digital cash amount x using SKI;
encrypting [pPKU,x]SKI using pPKU;
signing pPKU([pPKU,x]SKI) using SKI;
encrypting [pPKU([pPKU,x]SKI)]SKI using PKB; and
sending PKB([pPKU([pPKU,x]SKI)]SKI) to the user's bank via a communications path.

### Claim 20 (depends on 19)

The method of claim 19 further comprising:
receiving PKB([pPKU([pPKU,x]SKI)]SKI)
decrypting PKB([pPKU([pPKU,x]SKI)]SKI) using the SKB;
verifying program the digital cash issuer signature using PKI determining the signature is valid;
sending pPKU([pPKU,x]SKI);
receiving pPKU([pPKU,x]SKI);
decrypting pPKU([pPKU,x]SKI) using pSKU;
verifying the validity of the digital cash issuer signature with PKI;
incrementing the cumulative amount of digital cash by the amount of digital cash x; and
storing the new cumulative amount of digital cash.

### Claim 21

A method electronic cash payment for a digital cash protocol to protect user privacy having two pairs of user keys, one pair linked to the real identity of the user including a master public key (mPKU) and a master secret key (mSKU), and a second pair linked to the pseudonym identity of the user including a pseudonym public key (pPKU) and a pseudonym secret key (pSKU), the method comprising:
encrypting a digital cash issuer license [pPKU]SKI using a public key of the shop (PKS) sending PKS([pPKU]SKI) to the shop as request for payment;
decrypting PKS([pPKU]SKI) using a shop secret key (SKS) verifying the signature of the issuer with a digital cash issuer public key (PKI) storing the user's digital cash issuer license;
generating a random number Rs;
generating a time Ts;
encrypting a shop identification SID, Rs, Ts, and the price of payment x using pPKU; and
sending pPKU(SID,Rs,Ts,x) to the user

### Claim 22 (depends on 21)

The method of claim 21 further comprising:
receiving pPKU(SID,Rs,Ts,x);
decrypting pPKU(SID,Rs,Ts,x) using pSKU decrementing a cumulative amount of digital cash in the user's storage device by x;
signing SID, Rs, Ts, and the price of payment x using pSKU;
encrypting [SID,Rs,Ts,x]pSKU using PKS; and
sending PKS([SID,Rs,Ts,x]pSKU) to the shop.

### Claim 23 (depends on 22)

The method of claim 22 further comprising:
receiving PKS([SID,Rs,Ts,x]pSKU);
decrypting PKS([SID,Rs,Ts,x]pSKU) using SKS; and
verifying the signature using public key pPKU, wherein if the signature is valid, the shop stores the challenge and the shop regards the payment as valid.

### Claim 24 (depends on 23)

The method of claim 23 further comprising:
encrypting [SID,Rs,Ts,x]pSKU and [pPKU]SKI using PKI; and
sending the information to the digital cash issuer.

### Claim 25 (depends on 24)

The method of claim 24 further comprising:
decrypting PKI([SID,Rs,Ts,x]pSKU, [pPKU]SKI) using a digital cash issuer secret key (SKI);
verifying the signature using PKI and pPKU; and
decrementing the user virtual account by the amount of the payment x, wherein
if the digital cash issuer determines that the user spends more than the amount in the virtual account, the real user identity is revealed by sending the user's pseudonym public key pPKU to a certificate authority and if the user spends less than the amount in the virtual account, the digital cash issuer stores the challenge [SID,Rs,Ts,x]pSKU in the storage device.

### Claim 26 (depends on 25)

The method of claim 25 further comprising:
signing SID and the amount x to be deposited for the shop with SKI;
encrypting [SID,x]SKI using PKB
sending PKB([SID,x]SKI) to the shop's bank;
receiving PKB([SID,x]SKI);
decrypting PKB([SID,x]SKI) using SKB;
verifying the signature with PKI; and
adding adds the amount of money x to the shop account.
