IP Library › Granted Patent US 11,587,084
Granted Patent B2
US 11,587,084 · App. 16/804,448 · Granted Feb 21, 2023

Decentralized identification anchored by decentralized identifiers

Inventors: Brandon Murdoch (Reading, GB); Ankur Patel (Sammamish, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06Q20/4014G06F16/27G06Q20/065G06Q20/3674G06Q20/3678G06Q20/3825G06Q20/3829H04L9/3247G06Q2220/00H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,587,084
App. No.
16/804,448
Granted
Feb 21, 2023
Kind
B2
Abstract

Generating self-issued claims anchored by DIDs and using the self-issued claims as self-identification. The computing system generates one or more claims, each of which includes at least information related to (1) a DID, (2) a property of a subject entity who is an owner of the DID, and (3) a value corresponding to the property. For each of the one or more claims, the computing system generates a cryptographic signature by signing the claim with a private key associated with the corresponding DID. The cryptographic signature proves that the claim is a self-issued claim, which is issued by the owner of the corresponding DID and is about the owner of the corresponding DID. A portion of data related to the self-issued claim is then propagated onto a distributed ledger.

Claims (69)

1. A computing system comprising:

one or more processors;

a decentralized identifier(DID) management module;

a DID creation module;

wherein the DID creation module comprises one or more drivers that are configured to work with a distributed ledger that the DID will be included on: and

a key generation module;

one or more hardware storage devices having thereon computer-executable instructions that are structured such that, when executed by the one or more processors, cause the one or more processors to perform the steps of:

generating, by the DID creation module, the DID;

determining, by the DID creation module, that the DID complies with the underlying methods of the distributed ledger;

generating, by the DID management module, one or more claims, each of which including at least information related to (1) the DID, (2) a property of a subject entity who is an owner of the DID, and (3) a value corresponding to the property;

for each of the one or more claims;

generating, by the key generation module, a private key;

generating, by the key generation module, a public key that is paired with the private key;

generating, by the DID management module, a cryptographic signature by signing the claim with the private key associated with the corresponding DID;

proving, by the generated cryptographic signature that the claim is a self-issued claim, which is issued blithe subject entity and is about the subject entity; and

propagating, by the key generation module, a portion of data related to the self-issued claim including ono of the generated public key or a hash of the generated public key onto a distributed ledger.

2. The computing system of claim 1 , further causes the processor to perform the steps of:

receiving a user indication from the subject entity for generating a self-issued claim, the user indication including specifying at least (1) a DID, (2) a property of the subject entity, and (3) a value corresponding to the property; and

generating a self-issued claim based on the user indication.

3. The computing system of claim 1 , the computing system further caused to record one of the following with at least one of the one or more self-issued claims as metadata: (1) a unique identifier identifying the corresponding self-issued claim, (2) one or more conditions for accessing the corresponding self-issued claim, or (5) one or more revocation mechanisms for revoking the corresponding self-issued claim.

4. The computing system of claim 3 , the one or more conditions comprising at least one of the following: (1) requiring a relying entity to pay a predetermined amount of cryptocurrency, (2) requiring a relying entity to provide identification information, (3) requiring a relying entity to provide one or more verifiable claim(s), (4) requiring a relying entity to grant permission for accessing a portion of data, or (5) requiring a relying entity to provide a particular service.

5. The computing system of claim 3 , the one or more revocation mechanisms comprising at least one of the following: (1) an expiration time of the corresponding self-issued claim, (2) a predetermined number of times that the corresponding self-issued claim can be accessed by a relying entity, (3) an automatic revocation mechanism that automatically revokes the corresponding self-issued claim in response to a change of data contained in a DID document of the corresponding DID or personal data of the owner of the corresponding DID, or (4) a manual revocation mechanism that allows the owner of the corresponding DID to manually revoke the self-issued claim.

6. The computing system of claim 1 , the computing system further causes the processor to perform the steps of:

receiving a request from a relying entity for self-identification of the subject entity; and

in response to the request,

selecting at least one self-issued claim of the subject entity;

generating identification data including the at least one self-issued claim;

sending the generated identification data to the relying entity; and

causing the identification data to be validated by the relying entity via data related to the at least one self-issued claim that is propagated onto the distributed ledger.

7. The computing system of claim 6 , w herein:

the request from the relying entity includes a request for a value of a particular property of the subject entity,

in response to the request, the computing system causes the processor to perform the steps of:

accessing personal data of the subject entity or a DID document of the DID to retrieve the value of the particular property of the subject entity;

generating a self-issued claim including the retrieved value of the particular property, and

generating identification data including the self-issued claim.

8. The computing system of claim 6 , w herein the validating the identification data comprises validating each of the at least one self-issued claim, the validating each self-issued claim comprising:

extracting at least one self-issued claim from the identification data;

obtaining the public key of the DID;

decrypting the cryptographic signature of the at least one self-issued claim by the public key of the DID;

retrieving data related to the at least one self-issued claim from the distributed ledger; and

determining whether a result of the decryption is valid based on the portion of data related to the self-issued claim.

9. The computing system of claim 6 , the computing system further causes the processor to perform the steps of:

receiving a public key of the relying entity;

encrypting the identification data by the public key of the relying entity; and

sending the encrypted identification data to the relying entity.

10. The computing system of claim 6 , the computing system further causes the processor to perform the steps of:

mapping a plurality of self-issued claims to a plurality of relying entities;

recording the mapping between the plurality of self-issued claims and the plurality of relying entities as mapping data; and

in response to receiving a request from a particular relying entity for self-identification,

accessing the mapping data to retrieve one or more self-issued claims that are mapped to the particular relying entity; and

generating identification data including the one or more self-issued claims.

11. The computing system of claim 10 , the computing system further causes the processor to perform the steps of:

receiving a user input from the subject entity to generate or update the mapping data, the user input indicating mapping one or more particular self-issued claims to one or more particular relying entities;

updating the mapping data based on the user input.

12. The computing system of claim 6 , in response to receiving a request from a relying entity for self-identification, the computing system further causes the processor to perform the steps of:

determining whether metadata associated with the at least one claim includes one or more conditions and whether the one or more conditions are satisfied;

in response to a determination that the one or more conditions are satisfied, generating the identification data; and

in response to a determination that the one or more conditions are not satisfied, denying the request from the relying entity and generate a notification notifying the subject entity.

13. The computing system of claim 6 , the computing system further causes the processor to perform the step of:

in response to a change of a value of a property that is associated with a self-issued claim, revoking a self-issued claim that includes the value of the property or update the self-issued claim with the changed value of the property.

14. A method for a computing system to issue and present self-issued claims in a decentralized environment the computing system comprising a decentralized identifier (DID) management module, a DID creation module, w herein the DID creation module comprises one or more drivers that are configured to work with a distributed ledger that the DID will be included on, and a key generation module, the method comprising:

generating, by the DID creation module, the DID;

determining, blithe DID creation module, that the DID corn plies with the underlying methods of the distributed ledger;

generating, by the DID management module, one or more claims, each of which including at least information related to (1) the DID, (2) a property of a subject entity who is an owner of the DID, and (3) a value corresponding to the property;

generating, by the key generation module, a private key;

generating, by the key generation module, a public key that is paired with the private key;

generating, by the DID management module, a cryptographic signature by signing the claim with the private key associated with the corresponding DID;

proving, by the generated cryptographic signature, that the claim is a self-issued claim, which is issued by the subject entity and is about the subject entity; and

propagating, by the key generation module, a portion of data related to the self-issued claim including one of the generated public key or a hash of the generated public key onto a distributed ledger.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2020
From: MURDOCH, BRANDON; PATEL, ANKUR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051962/0323 →
Continuity (1)
Related Publication 20210272120A1 · Sep 2, 2021