US 11,687,885 B2
Transaction signing utilizing asymmetric cryptography
Adam Clark, Manassas, VA (US); and Kim Wagner, Sunnyvale, CA (US)
Assigned to VISA INTERNATIONAL SERVICE ASSOCIATION, San Francisco, CA (US)
Filed by Visa International Service Association, San Francisco, CA (US)
Filed on Feb. 26, 2016, as Appl. No. 15/54,993.
Claims priority of provisional application 62/126,297, filed on Feb. 27, 2015.
Prior Publication US 2016/0253663 A1, Sep. 1, 2016
Int. Cl. G06Q 20/02 (2012.01); G06Q 20/36 (2012.01); G06Q 20/34 (2012.01); G06Q 20/38 (2012.01); G06Q 20/28 (2012.01); G06Q 20/06 (2012.01); G06Q 20/32 (2012.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC G06Q 20/02 (2013.01) [G06Q 20/0655 (2013.01); G06Q 20/28 (2013.01); G06Q 20/3274 (2013.01); G06Q 20/341 (2013.01); G06Q 20/3678 (2013.01); G06Q 20/3825 (2013.01); G06Q 20/38215 (2013.01); H04L 9/3236 (2013.01); G06Q 2220/00 (2013.01); H04L 9/50 (2022.05); H04L 2209/56 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method comprising:
storing, at a server computer, a private ledger, wherein the private ledger stores a public key of a user that is associated with an entry in the private ledger, and wherein the private ledger comprises a series of blocks of transactions;
maintaining, by the server computer, the private ledger, wherein each block in the series of blocks of transactions includes a hash output as a reference to a prior transaction block in the series of blocks of transactions;
receiving, at the server computer, an authorization request message for a transaction involving the user and a recipient, wherein the authorization request message includes the public key of the user and signed transaction data, wherein the signed transaction data was signed using a private key of the user, wherein the authorization request message does not include sensitive information of the user, wherein receiving the authorization request message comprises receiving the authorization request message from an access device at the recipient;
accessing, by the server computer, the private ledger based on the received public key of the user in order to determine whether the transaction in the authorization request message is authorized;
determining, by the server computer, that the public key of the user matches the stored public key associated with the entry in the private ledger associated with the public key of the user, wherein the private ledger comprises a plurality of public keys and an account balance associated with each of the plurality of public keys;
determining, by the server computer using the public key, that the signed transaction data was signed using the private key of the user, wherein the access device sends at least some of the transaction data to a user device, and the user device signs the transaction with the private key of the user;
determining, by the server computer, based on the private ledger, that a current balance is sufficient for authorizing the transaction;
in response to determining that the signed transaction data was signed using the private key of the user and that the current balance is sufficient for authorizing the transaction, sending, by the server computer, an authorization response message indicating that the transaction is authorized,
wherein the authorization response message sent by the server computer includes the public key of the user; and
updating, by the server computer, the current balance of the private ledger.