IP Library Granted Patent US 11,700,257
Granted Patent B2
US 11,700,257 · App. 17/692,637 · Granted Jul 11, 2023

System and method for storing and distributing consumer information

Inventors: Edison U. Ortiz (Orlando, FL); Arya Pourtabatabaie (Orlando, FL); Ambica Pawan Khandavilli (Orlando, FL); Margaret Inez Salter (Orlando, FL); Jordan Alexander Richards (Orlando, FL); Iustina-Miruna Vintila (Bucharest, RO); Sarah Rachel Waigh Yean Wilkinson (Toronto, CA)
Assignee: ROYAL BANK OF CANADA
H04L63/10H04L9/0894H04L9/30H04L9/3218H04L9/3234H04L9/3247
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,700,257
App. No.
17/692,637
Granted
Jul 11, 2023
Kind
B2
Abstract

A computer implemented system for controlling access to data associated with an entity includes a data storage device having a protected memory region, and one or more processors, at least one of which is operable in the protected memory region. The one or more processors are configured for: storing a secret key associated with the entity in a portion of the protected memory region associated with the entity; upon receiving entity data, storing the entity data in the portion of the protected memory region associated with the entity; and upon receiving an access grant signal, generating a smart contract, the smart contract defining the entity data to be accessed and a recipient of the entity data to be accessed.

Claims (38)

1. A computer implemented system for controlling access to data associated with an entity, the system comprising:

a data storage device having a protected memory region;

one or more processors, at least one of which is operable in the protected memory region and configured for:

storing a secret key associated with the entity in a portion of the protected memory region associated with the entity, wherein a public key corresponding to the secret key is stored on a client device associated with the entity;

upon receiving entity data associated with the entity, storing the entity data in the portion of the protected memory region associated with the entity; and

upon receiving an access grant signal from the client device, the access grant signal defining the entity data to be accessed and a recipient of the entity data to be accessed and signed by the public key, enabling communication of information associated with the entity data to a recipient device upon satisfaction of at least one verification condition by the recipient device in accordance with a verification sequence using the secret key stored in the portion of the protected memory region associated with the entity.

2. The system of claim 1 , wherein the system comprises a trusted execution environment including the protected memory region, the protected memory region inaccessible to the one or more processors when operating outside the trusted execution environment; wherein at least one processor configured to operating inside the trusted execution environment is configured to:

generate the information associated with the entity data within the trusted execution environment, and passing the information associated with the entity data for communication outside the trusted execution environment.

3. The system of claim 1 , wherein the information associated with the entity data is a token, derivative data, or is encrypted data based on the entity data.

4. The system of claim 1 , wherein the entity data includes one or more token data objects received from or computed jointly in a multiparty protocol with an issuer computing device, the one or more token data objects generated using at least an issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the entity.

5. The system of claim 1 , wherein the entity data is generated by an issuer computing device using the public key associated with the entity and a key associated with the issuer.

6. The system of claim 1 , wherein the at least one processor operable in the protected memory region is configured for: generating a log of activity associated with the entity data.

7. The system of claim 1 , wherein the one or more processors are configured to set, and enforce access controls based on at least one key associated with the entity.

8. The system of claim 7 , wherein the one or more processors are configured to generate one or more access tokens for accessing the portion of the protected memory region associated with the entity.

9. The system of claim 1 , wherein the at least one verification condition is met when the one or more processors generate a verification request data message, and receive a proof data message from the recipient device.

10. The system of claim 9 , wherein the verification request data message includes at least a nonce c 0 ; and a client computing device processor is configured to:

compute t=x −1 mod p, where x is an attribute value from the one or more token data objects, and p is an order of the discrete log group; t is a modular inverse of x mod p;

uniformly sample a first random number r 1 and a second random number, r 2 , such that r 1 , r 2 ∈ p ;

compute R=C x r 1 h r 2 , where R is a commitment to random values r 1 and r 2 , C x is a commitment to attribute x, h is a group generator;

compute c=H(C x , R, c 0 ), where c is a proof challenge, based at least on the Fiat-Shamir Heuristic;

compute z 1 =ct+r 1 and z 2 =−cty+r 2 , where z 1 and z 2 are proof responses based on a Sigma protocol; and

encapsulate and transmit the one or more proof data messages including R, z 1 and z 2 as data objects to the verifier computing device, such that the verifier computing device is able to compute c=H(C x , R, c 0 ) and confirm that g c R=C x z 1 h z 2 , the verifier computing device controlling provisioning of access to a secured resource responsive to the confirmation that g c R=C x z 1 h z 2 .

11. A method for controlling access to data associated with an entity, the method comprising:

storing a secret key associated with the entity in a portion of a protected memory region associated with the entity, wherein a public key corresponding to the secret key is stored on a client device associated with the entity;

upon receiving entity data associated with the entity, storing the entity data in the portion of the protected memory region associated with the entity; and

upon receiving an access grant signal from the client device, the access grant signal defining the entity data to be accessed and a recipient of the entity data to be accessed and signed by the public key, communicating information associated with the entity data to a recipient device upon satisfaction of at least one verification condition by the recipient device in accordance with a verification sequence using the secret key stored in the portion of the protected memory region associated with the entity.

12. The method of claim 11 , comprising: generating the information associated with the entity data within a trusted execution environment, and passing the information associated with the entity data for communication outside the trusted execution environment.

13. The method of claim 11 , wherein the information associated with the entity data is a token, derivative data, or is encrypted data based on the entity data.

14. The method of claim 11 , wherein the entity data includes one or more token data objects received from or computed jointly in a multiparty protocol with an issuer computing device, the one or more token data objects generated using at least an issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the entity.

15. The method of claim 11 , wherein the entity data is generated by an issuer computing device using the public key associated with the entity and a key associated with the issuer.

16. The method of claim 11 , comprising generating a log of activity associated with the entity data in the protected memory region.

17. The method of claim 11 , comprising enforcing access controls based on at least one key associated with the entity.

18. The method of claim 17 , comprising generate one or more access tokens for accessing the portion of the protected memory region associated with the entity.

19. The method of claim 11 , wherein the at least one verification condition is met when the one or more processors generate a verification request data message, and receive a proof data message from the recipient device.

20. A non-transitory computer readable medium or media having stored thereon machine interpretable instructions, which when executed, cause at least one processor to

store a secret key associated with the entity in a portion of a protected memory region associated with the entity, wherein a public key corresponding to the secret key is stored on a client device associated with the entity;

upon receiving entity data associated with the entity, store the entity data in the portion of the protected memory region associated with the entity; and

upon receiving an access grant signal from the client device, the access grant signal defining the entity data to be accessed and a recipient of the entity data to be accessed and signed by the public key, communicating information associated with the entity data to a recipient device upon satisfaction of at least one verification condition by the recipient device in accordance with a verification sequence using the secret key stored in the portion of the protected memory region associated with the entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: ORTIZ, EDISON U.; POURTABATABAIE, ARYA; KHANDAVILLI, AMBICA PAWAN; SALTER, MARGARET INEZ; RICHARDS, JORDAN ALEXANDER; VINTILA, IUSTINA-MIRUNA; WILKINSON, SARAH RACHEL WAIGH YEAN
To: ROYAL BANK OF CANADA
Reel/Frame 063733/0055 →
Continuity (13)
Continuation 16521569 · Jul 24, 2019
Continuation In Part 16503154 · Jul 3, 2019
Continuation In Part 16424242 · May 28, 2019
Provisional Application 62839408 · Apr 26, 2019
Provisional Application 62824697 · Mar 27, 2019
Provisional Application 62806394 · Feb 15, 2019
Provisional Application 62702684 · Jul 24, 2018
Provisional Application 62702871 · Jul 24, 2018
Provisional Application 62697140 · Jul 12, 2018
Provisional Application 62693680 · Jul 3, 2018
Provisional Application 62691406 · Jun 28, 2018
Provisional Application 62677133 · May 28, 2018
Related Publication 20220200992A1 · Jun 23, 2022