Zero-knowledge proof-based virtual cards
AssigneeAmerican Express Travel Related Services Company, Inc.
InventorAndras L. Ferenczi
Life of this patent
Estimating the term…
Abstract
Disclosed are various embodiments for issuing virtual cards to client devices. Also disclosed are embodiments for provisioning a transaction terminal to process transactions with virtual cards. A zero-knowledge proof algorithm can be utilized to validate the transactions. A virtual card can be based upon a public key of a client device that is managed by a hardware security module.
Claims20
A system, comprising:
- at least one computing device;
- and
- at least one application executable by the at least one computing device, wherein, when executed by the at least one computing device, the at least one application causes the at least one computing device to at least:
- generate a verifier kit corresponding to a zero-knowledge proof algorithm, the verifier kit associated with an issuer and the verifier kit being an application that verifies a proof generated according to the zero-knowledge proof algorithm;
- provide the verifier kit to a transaction terminal;
- generate a prover kit corresponding to the zero-knowledge proof algorithm, the prover kit being an application by which the proof according to the zero-knowledge proof algorithm can be generated;
- generate a virtual card corresponding to an account with the issuer, the virtual card being uniquely associated with the account, the virtual card comprising the prover kit and a public key associated with a client device that is signed by a private key of the issuer;
- register the virtual card with the account within the issuer;
- and
- provision the client device with the virtual card, wherein the client device is configured to generate the proof corresponding to the zero-knowledge proof algorithm to prove that the client device is authorized to conduct a transaction using the provisioned virtual card by executing the prover kit of the provisioned virtual card, and wherein the transaction terminal is configured to verify the proof generated by the client device using the verifier kit to authorize the transaction.
A method comprising:
- generating, by at least one computing device, a verifier kit corresponding to a zero-knowledge proof algorithm, the verifier kit associated with an issuer and the verifier kit being an application that verifies a proof generated according to the zero-knowledge proof algorithm;
- providing, by the at least one computing device, the verifier kit to a transaction terminal;
- generating, by the at least one computing device, a prover kit corresponding to the zero-knowledge proof algorithm, the prover kit being an application by which the proof according to the zero-knowledge proof algorithm can be generated;
- generating, by the at least one computing device, a virtual card corresponding to an account with the issuer, the virtual card being uniquely associated with the account, the virtual card comprising the prover kit and a public key associated with a client device that is signed by a private key of the issuer;
- registering, in the at least one computing device, the virtual card with the account within the issuer;
- and
- provisioning, by the at least one computing device, wherein the client device is configured to generate the proof corresponding to the zero-knowledge proof algorithm to prove that the client device is authorized to conduct a transaction using the provisioned virtual card by executing the prover kit of the provisioned virtual card, and wherein the transaction terminal is configured to verify the proof generated by the client device using the verifier kit to authorize the transaction.
A non-transitory computer-readable medium embodying instructions executable by at least one computing device, the instructions, when executed, causing the at least one computing device to at least:
- generate a verifier kit corresponding to a zero-knowledge proof algorithm, the verifier kit associated with an issuer and the verifier kit being an application that verifies a proof generated according to the zero-knowledge proof algorithm;
- provide the verifier kit to a transaction terminal;
- generate a prover kit corresponding to the zero-knowledge proof algorithm, the prover kit being an application by which the proof according to the zero-knowledge proof algorithm can be generated;
- generate a virtual card corresponding to an account with the issuer, the virtual card being uniquely associated with the account, the virtual card comprising the prover kit and a public key associated with a client device that is signed by a private key of the issuer;
- register the virtual card with the account within the issuer;
- and
- provision the client device with the virtual card, wherein the client device is configured to generate the proof corresponding to the zero-knowledge proof algorithm to prove that the client device is authorized to conduct a transaction using the provisioned virtual card by executing the prover kit of the provisioned virtual card, and wherein the transaction terminal is configured to verify the proof generated by the client device using the verifier kit to authorize the transaction.
Dependencies are inferred from the claim text.