Methods for secure cryptogram generation

US9813245B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9813245-B2
Application numberUS-201514841589-A
CountryUS
Kind codeB2
Filing dateAug 31, 2015
Priority dateAug 29, 2014
Publication dateNov 7, 2017
Grant dateNov 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the invention introduce efficient methods for securely generating a cryptogram by a user device, and validating the cryptogram by a server computer. In some embodiments, a secure communication can be conducted whereby a user device provides a cryptogram without requiring the user device to persistently store an encryption key or other sensitive data used to generate the cryptogram. For example, the user device and server computer can mutually authenticate and establish a shared secret. Using the shared secret, the server computer can derive a session key and transmit key derivation parameters encrypted using the session key to the user device. The user device can also derive the session key using the shared secret, decrypt the encrypted key derivation parameters, and store the key derivation parameters. Key derivation parameters and the shared secret can be used to generate a single use cryptogram key. The cryptogram key can be used to generate a cryptogram for conducting secure communications.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: determining, by a user device, an ephemeral key pair comprising an ephemeral public key and an ephemeral private key; sending, by the user device, a provisioning request message including the ephemeral public key to a provisioning server computer; receiving, by the user device, a provisioning response message including encrypted credentials from the provisioning server computer; determining, by the user device, a response shared secret using the ephemeral private key and a static server public key; decrypting, by the user device, the encrypted credentials using the response shared secret to determine credentials; obtaining key derivation parameters from the credentials; and deriving a first cryptogram key from the response shared secret using the key derivation parameters, the first cryptogram key operable to generate a first cryptogram for use in a first secure communication with a validation server computer. 2. The computer-implemented method of claim 1 , wherein the credentials include a limited use key that is used, by the user device, to derive the first cryptogram key, wherein the validation server computer has access to the limited use key. 3. The computer-implemented method of claim 1 , further comprising: generating, by the user device, a request shared secret using the ephemeral private key and a static server public key; and encrypting, by the user device, request data using the request shared secret to obtain encrypted request data, wherein the provisioning request message includes the encrypted request data. 4. The computer-implemented method of claim 1 , wherein the response shared secret is determined using a blinded key that is derived from the static server public key, thereby using the static server public key to determine the response shared secret, and wherein the provisioning response message also includes the blinded key. 5. The computer-implemented method of claim 1 , wherein the response shared secret is determined without a blinded key, wherein the credentials include a cryptographic nonce, and wherein the first cryptogram key is further derived using the cryptographic nonce. 6. The computer-implemented method of claim 1 , further comprising: updating, by the user device, the response shared secret to determine an updated shared secret using update parameters, the credentials including the update parameters; deriving, by the user device, a second cryptogram key using the updated shared secret and the key derivation parameters; generating, by the user device, a second cryptogram using the second cryptogram key; and conducting, by the user device, a second secure communication with the validation server computer using the second cryptogram. 7. The computer-implemented method of claim 6 , further comprising: generating, by the user device, new shared secrets for each of a plurality of new secure communications, each new shared secret generated using a previous shared secret and the update parameters; deriving, by the user device, new cryptogram keys using the new shared secrets and the key derivation parameters; generating, by the user device, new cryptograms using the new cryptogram key; and conducting, by the user device, the new secure communications with the validation server computer using the new cryptograms. 8. The computer-implemented method of claim 6 , wherein the second cryptogram is further generated using data based on cryptogram derivation parameters included in the credentials, and wherein the second secure communication is an authorization request, wherein the second cryptogram authenticates at least one element of the authorization request. 9. The computer-implemented method of claim 6 , wherein the deriving of the second cryptogram key also uses the key derivation parameters included in the credentials. 10. The computer-implemented method of claim 1 , further comprising: receiving, by the user device, first registration data; encrypting, by the user device, the first registration data using the first cryptogram key to generate the first cryptogram, the first cryptogram being a registration cryptogram; and sending, by the user device, the registration cryptogram to a registration server computer, wherein the registration server computer authenticates the user device using the registration cryptogram. 11. The computer-implemented method of claim 10 , further comprising: storing, by the user device, the response shared secret, and wherein sending the registration cryptogram to the registration server computer comprises encrypting the registration cryptogram using the response shared secret. 12. The computer-implemented method of claim 10 , further comprising: receiving, by the user device, second registration data; generating, by the user device, a second ephemeral key pair comprising a second ephemeral public key and a second ephemeral private key; sending, by the user device to the registration server computer, a renewal request message including the registration cryptogram and the second ephemeral public key; receiving, by the user device, a renewal response message including second key derivation parameters; deriving, by the user device, a second cryptogram key using the second key derivation parameters; generating, by the user device, a second registration cryptogram using the second cryptogram key and the second registration data; and sending, by the user device, the second registration cryptogram to the registration server computer, wherein the second registration cryptogram authenticates the user device. 13. The computer-implemented method of claim 12 , wherein the renewal request message further includes a hash of the second registration data. 14. A computer-implemented method comprising: receiving, by a server computer, a provisioning request message including an ephemeral public key from a user device; determining, by the server computer, a request shared secret using the ephemeral public key and a static server private key; generating, by the server computer, a response shared secret using the static server private key and the ephemeral public key; obtaining key derivation parameters for deriving a first cryptogram key from the response shared secret; encrypting, by the server computer, credentials using the response shared secret to determine encrypted response data, the credentials including the key derivation parameters; and sending, by the server computer, to the user device, a provisioning response message including the encrypted response data. 15. The computer-implemented method of claim 14 , wherein the server computer acts as a validation server, the method further comprising: receiving, by the server computer from the user device, a user cryptogram for validating a secure communication; deriving a first cryptogram key from the response shared secret using the key derivation parameters; generating a first cryptogram using the first cryptogram key and cryptogram derivation parameters, the credentials including the cryptogram derivation parameters; and validating, by the server computer, the user cryptogram by comparing the user cryptogram to the first cryptogram. 16. The computer-implemented method of claim 15 , further comprising: updating, by the server computer, the response shared secret to determine an updated shared secret; receiving, by the server computer from the user device, a new cryptogram for validating a new secure communication; deriving a second cryptogram key from the updated shared secret using the key

Assignees

Inventors

Classifications

  • for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838) · CPC title

  • Generation of secret information including derivation or calculation of cryptographic keys or passwords · CPC title

  • using a plurality of keys or algorithms · CPC title

  • H04L9/321Primary

    involving a third party or a trusted authority · CPC title

  • Revocation or update of secret information, e.g. encryption key update or rekeying · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9813245B2 cover?
Embodiments of the invention introduce efficient methods for securely generating a cryptogram by a user device, and validating the cryptogram by a server computer. In some embodiments, a secure communication can be conducted whereby a user device provides a cryptogram without requiring the user device to persistently store an encryption key or other sensitive data used to generate the cryptogra…
Who is the assignee on this patent?
Visa Int Service Ass
What technology area does this patent fall under?
Primary CPC classification H04L9/321. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).