Digital credential authentication
AssigneeWorkday, Inc.
InventorsBjorn Hamel, Jonathan David Ruggiero
Life of this patent
Estimating the term…
Abstract
A system for creating an identity mapping on a distributed ledger includes an interface and a processor. The interface is configured to receive a request to create an identity mapping on a distributed ledger. The processor is configured to generate an identity key pair; generate a mobile encryption key; encrypt a private identity key of the identity key pair using the mobile encryption key to create an encrypted private key; store the encrypted private key; create a mapping document; sign the mapping document with the private identity key of the identity key pair; and provide the signed mapping document to be stored in a distributed ledger.
Claims18
A system for creating an identity mapping on a distributed ledger, comprising:
- an interface configured to:
- receive a request to create an identity mapping on a distributed ledger, wherein
- the distributed ledger comprises a blockchain;
- a hardware processor configured to:
- generate an identity key pair;
- generate a mobile encryption key;
- encrypt a private identity key of the identity key pair using the mobile encryption key to create an encrypted private key;
- store the encrypted private key;
- create a mapping document, wherein the mapping document maps a user identifier of a user to a public identity key of the identity key pair;
- sign the mapping document with the private identity key of the identity key pair;
- provide the signed mapping document, wherein the signed mapping document is added to the blockchain in response to a determination that the signed mapping document is valid;
- receive a proof request challenge comprising a request for one or more digital credentials;
- and
- in response to receiving the proof request challenge:
- determine a subset of stored digital credentials corresponding to the one or more digital credentials and that satisfy the proof request challenge;
- provide a user interface allowing the user to select from the subset of stored digital credentials;
- receive from the user a selection of a digital credential from the subset of stored digital credentials;
- and
- provide a proof response comprising a signed verifiable form of the selected digital credential of the subset of stored digital credentials, wherein the signed verifiable form of the selected digital credential is signed with the private identity key.
A method for creating an identity mapping on a distributed ledger, comprising:
- receiving a request to create an identity mapping on a distributed ledger, wherein the distributed ledger comprises a blockchain;
- generating, using a processor, an identity key pair;
- generating a mobile encryption key;
- encrypting a private identity key of the identity key pair using the mobile encryption key to create an encrypted private key;
- storing the encrypted private key;
- creating a mapping document, wherein the mapping document maps a user identifier of a user to a public identity key of the identity key pair;
- signing the mapping document with the private identity key of the identity key pair;
- providing the signed mapping document, wherein the signed mapping document is added to the blockchain in response to a determination that the signed mapping document is valid;
- receiving a proof request challenge comprising a request for one or more digital credentials;
- and
- in response to receiving the proof request challenge:
- determining a subset of stored digital credentials corresponding to the one or more digital credentials and that satisfy the proof request challenge;
- providing a user interface allowing the user to select from the subset of stored digital credentials;
- receiving from the user a selection of a digital credential from the subset of stored digital credentials;
- and
- providing a proof response comprising a signed verifiable form of the selected digital credential of the subset of stored digital credentials, wherein the signed verifiable form of the selected digital credential is signed with the private identity key.
A computer program product for creating an identity mapping on a distributed ledger, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- receiving a request to create an identity mapping on a distributed ledger, wherein the distributed ledger comprises a blockchain;
- generating an identity key pair;
- generating a mobile encryption key;
- encrypting a private identity key of the identity key pair using the mobile encryption key to create an encrypted private key;
- storing the encrypted private key;
- creating a mapping document, wherein the mapping document maps a user identifier of a user to a public identity key of the identity key pair;
- signing the mapping document with the private identity key of the identity key pair;
- providing the signed mapping document, wherein the signed mapping document is added to the blockchain in response to a determination that the signed mapping document is valid;
- receiving a proof request challenge comprising a request for one or more digital credentials;
- and
- in response to receiving the proof request challenge:
- determining a subset of stored digital credentials corresponding to the one or more digital credentials and that satisfy the proof request challenge;
- providing a user interface allowing the user to select from the subset of stored digital credentials;
- receiving from the user a selection of a digital credential from the subset of stored digital credentials;
- and
- providing a proof response comprising a signed verifiable form of the selected digital credential of the subset of stored digital credentials, wherein the signed verifiable form of the selected digital credential is signed with the private identity key.
Dependencies are inferred from the claim text.