# US 10,454,927 B2 · Systems and methods for managing relationships among digital identities

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,454,927 B2
- Document ID: US10454927B2
- Status: Granted
- Kind: B2
- Application number: 16/364,125
- Filed: 2019-03-25
- Published: 2019-07-18
- Granted: 2019-10-22
- Earliest claimed: 2017-10-11
- Assignees: Cambridge Blockchain, Inc.
- Applicants: Cambridge Blockchain, Inc.
- Inventors: Alex Oberhauser; Matthew Commons; Ling Cheung Hughes
- Web page: https://patentgrep.com/patent/US10454927B2

## CPC

- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- H04L 63/0869: {for achieving mutual authentication (cryptographic mechanisms or cryptographic arrangements for mutual authentication H04L9/3273)}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G07C 9/32: in combination with an identity check
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3247: {involving digital signatures}
- H04L 63/0884: {by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/805: Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
- H04L 2209/84: Vehicles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE

## Abstract

Methods and apparatus for performing access control for a first entity. The method comprises using a pointer associated with a second entity to access, from a distributed ledger system, at least one attestation for at least one attribute of the second entity, wherein the at least one attestation is movable between at least two states in the distributed ledger system, the at least two states comprising a VERIFIED state and allowing the second entity to access the first entity in response to determining that the at least one attestation is in the VERIFIED state, that the third entity is to be trusted for verifying the at least one attestation, that the cryptographic proof is a valid proof of the at least one privilege label, and that the one or more access rules are satisfied.

## Claims

### Claim 1

A computer-implemented method for performing access control for a first entity, comprising acts of:
receiving an access request to access the first entity, wherein the first entity comprises an identifiable object or a physical space;
identifying, based at least in part on the access request, a pointer associated with a second entity attempting to access the first entity;
using the pointer associated with the second entity to access, from a distributed ledger system, at least one attestation for at least one attribute of the second entity, wherein the at least one attestation is movable between at least two states in the distributed ledger system, the at least two states comprising a state indicating that the at least one attribute of the second entity has been verified;
determining whether the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified;
determining whether to trust a third entity indicated as being responsible for verifying the at least one attribute of the second entity;
determining whether a cryptographic proof in the at least one attestation is a valid proof of at least one value of the at least one attribute of the second entity, wherein the at least one value of the at least one attribute comprises at least one privilege label of the second entity;
determining whether one or more access rules of the first entity are satisfied, at least in part by applying at least one access rule of the one or more access rules to the at least one privilege label of the second entity; and
allowing the second entity to access the first entity in response to determining: (i) that the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified, (ii) that the third entity is to be trusted for verifying the at least one attribute of the second entity, (iii) that the cryptographic proof is a valid proof of the at least one privilege label of the second entity, and (iv) that the one or more access rules of the first entity are satisfied.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein:
the at least one attestation is stored in a badge of the second entity, wherein the badge is stored in the distributed ledger system, and the pointer associated with the second entity is used to access the badge; and
the third entity is indicated as being responsible for verifying the badge.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising an act of:
storing, in the distributed ledger system, a record of the second entity attempting to access the first entity, wherein the record of the second entity attempting to access the first entity comprises at least one piece of information selected from a group consisting of:
information indicating whether the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified;
information indicating whether the third entity is to be trusted for verifying the at least one attribute of the second entity;
information indicating whether the cryptographic proof is a valid proof of the at least one privilege label; and
information indicating whether the one or more access rules of the first entity are satisfied.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising acts of:
identifying, based at least in part, on the access request, an indication of one or more functionalities and/or pieces of data to which the second entity has requested access from the first entity; and
identifying an access mode that allows the one or more functionalities and/or pieces of data to be accessed from the first entity, wherein the one or more access rules of the first entity are associated with the access mode.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first entity comprises a physical space;
the second entity comprises a natural person; and
allowing the second entity to access the first entity comprises allowing the natural person to enter the physical space.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first entity comprises a first device;
the second entity comprises a second device; and
allowing the second entity to access the first entity comprises allowing the second device to use a service provided by the first device.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein using the service provided by the first device comprises receiving data from, and/or sending data to, the first device.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first entity comprises a first device;
the second entity comprises a second device; and
allowing the second entity to access the first entity comprises allowing the second device to make at least one change to the first device.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein:
the at least one value of the at least one attribute comprises an identifier of a fourth entity; and
storing the identifier of the fourth entity in the at least one attribute of the second entity indicates that the second entity bears a selected relationship with the fourth entity.

### Claim 10

A system, comprising:
at least one computer processor; and
at least one non-transitory computer-readable medium having encoded thereon instructions which, when executed, cause the at least one computer processor to perform a method, the method comprising:
receiving an access request to access a first entity, wherein the first entity comprises an identifiable object or a physical space;
identifying, based at least in part on the access request, a pointer associated with a second entity attempting to access the first entity;
using the pointer associated with the second entity to access, from a distributed ledger system, at least one attestation for at least one attribute of the second entity, wherein the at least one attestation is movable between at least two states in the distributed ledger system, the at least two states comprising a state indicating that the at least one attribute of the second entity has been verified;
determining whether the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified;
determining whether to trust a third entity indicated as being responsible for verifying the at least one attribute of the second entity;
determining whether a cryptographic proof in the at least one attestation is a valid proof of at least one value of the at least one attribute of the second entity, wherein the at least one value of the at least one attribute comprises at least one privilege label of the second entity;
determining whether one or more access rules of the first entity are satisfied, at least in part by applying at least one access rule of the one or more access rules to the at least one privilege label of the second entity; and
allowing the second entity to access the first entity in response to determining: (i) that the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified, (ii) that the third entity is to be trusted for verifying the at least one attribute of the second entity, (iii) that the cryptographic proof is a valid proof of the at least one privilege label of the second entity, and (iv) that the one or more access rules of the first entity are satisfied.

### Claim 11 (depends on 10)

The system of claim 10, wherein:
the at least one attestation is stored in a badge of the second entity, wherein the badge is stored in the distributed ledger system, and the pointer associated with the second entity is used to access the badge; and
the third entity is indicated as being responsible for verifying the badge.

### Claim 12 (depends on 10)

The system of claim 10, wherein the method further comprises:
storing, in the distributed ledger system, a record of the second entity attempting to access the first entity, wherein the record of the second entity attempting to access the first entity comprises at least one piece of information selected from a group consisting of:
information indicating whether the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified;
information indicating whether the third entity is to be trusted for verifying the at least one attribute of the second entity;
information indicating whether the cryptographic proof is a valid proof of the at least one privilege label; and
information indicating whether the one or more access rules of the first entity are satisfied.

### Claim 13 (depends on 10)

The system of claim 10, wherein the method further comprises:
identifying, based at least in part, on the access request, an indication of one or more functionalities and/or pieces of data to which the second entity has requested access from the first entity; and
identifying an access mode that allows the one or more functionalities and/or pieces of data to be accessed from the first entity, wherein the one or more access rules of the first entity are associated with the access mode.

### Claim 14 (depends on 10)

The system of claim 10, wherein:
the first entity comprises a physical space;
the second entity comprises a natural person; and
allowing the second entity to access the first entity comprises allowing the natural person to enter the physical space.

### Claim 15 (depends on 10)

The system of claim 10, wherein:
the first entity comprises a first device;
the second entity comprises a second device; and
allowing the second entity to access the first entity comprises allowing the second device to use a service provided by the first device.

### Claim 16 (depends on 15)

The system of claim 15, wherein using the service provided by the first device comprises receiving data from, and/or sending data to, the first device.

### Claim 17 (depends on 10)

The system of claim 10, wherein:
the first entity comprises a first device;
the second entity comprises a second device; and
allowing the second entity to access the first entity comprises allowing the second device to make at least one change to the first device.

### Claim 18 (depends on 10)

The system of claim 10, wherein:
the at least one value of the at least one attribute comprises an identifier of a fourth entity; and
storing the identifier of the fourth entity in the at least one attribute of the second entity indicates that the second entity bears a selected relationship with the fourth entity.

### Claim 19

At least one non-transitory computer-readable medium having encoded thereon instructions which, when executed by at least one computer processor, cause the at least one computer processor to perform a method, the method comprising:
receiving an access request to access a first entity, wherein the first entity comprises an identifiable object or a physical space;
identifying, based at least in part on the access request, a pointer associated with a second entity attempting to access the first entity;
using the pointer associated with the second entity to access, from a distributed ledger system, at least one attestation for at least one attribute of the second entity, wherein the at least one attestation is movable between at least two states in the distributed ledger system, the at least two states comprising a state indicating that the at least one attribute of the second entity has been verified;
determining whether the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified;
determining whether to trust a third entity indicated as being responsible for verifying the at least one attribute of the second entity;
determining whether a cryptographic proof in the at least one attestation is a valid proof of at least one value of the at least one attribute of the second entity, wherein the at least one value of the at least one attribute comprises at least one privilege label of the second entity;
determining whether one or more access rules of the first entity are satisfied, at least in part by applying at least one access rule of the one or more access rules to the at least one privilege label of the second entity; and
allowing the second entity to access the first entity in response to determining: (i) that the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified, (ii) that the third entity is to be trusted for verifying the at least one attribute of the second entity, (iii) that the cryptographic proof is a valid proof of the at least one privilege label of the second entity, and (iv) that the one or more access rules of the first entity are satisfied.

### Claim 20 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein:
the at least one attestation is stored in a badge of the second entity, wherein the badge is stored in the distributed ledger system, and the pointer associated with the second entity is used to access the badge; and
the third entity is indicated as being responsible for verifying the badge.

### Claim 21 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein the method further comprises:
storing, in the distributed ledger system, a record of the second entity attempting to access the first entity, wherein the record of the second entity attempting to access the first entity comprises at least one piece of information selected from a group consisting of:
information indicating whether the at least one attestation is in the state indicating that the at least one attribute of the second entity has been verified;
information indicating whether the third entity is to be trusted for verifying the at least one attribute of the second entity;
information indicating whether the cryptographic proof is a valid proof of the at least one privilege label; and
information indicating whether the one or more access rules of the first entity are satisfied.

### Claim 22 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein the method further comprises:
identifying, based at least in part, on the access request, an indication of one or more functionalities and/or pieces of data to which the second entity has requested access from the first entity; and
identifying an access mode that allows the one or more functionalities and/or pieces of data to be accessed from the first entity, wherein the one or more access rules of the first entity are associated with the access mode.

### Claim 23 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein:
the first entity comprises a physical space;
the second entity comprises a natural person; and
allowing the second entity to access the first entity comprises allowing the natural person to enter the physical space.

### Claim 24 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein:
the first entity comprises a first device;
the second entity comprises a second device; and
allowing the second entity to access the first entity comprises allowing the second device to use a service provided by the first device.

### Claim 25 (depends on 24)

The at least one non-transitory computer-readable medium of claim 24, wherein using the service provided by the first device comprises receiving data from, and/or sending data to, the first device.

### Claim 26 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein:
the first entity comprises a first device;
the second entity comprises a second device; and
allowing the second entity to access the first entity comprises allowing the second device to make at least one change to the first device.

### Claim 27 (depends on 19)

The at least one non-transitory computer-readable medium of claim 19, wherein:
the at least one value of the at least one attribute comprises an identifier of a fourth entity; and
storing the identifier of the fourth entity in the at least one attribute of the second entity indicates that the second entity bears a selected relationship with the fourth entity.
