IP Library Granted Patent US 11,277,412
Granted Patent B2
US 11,277,412 · App. 16/521,569 · Granted Mar 15, 2022

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,277,412
App. No.
16/521,569
Granted
Mar 15, 2022
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;

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, generating a smart contract, the smart contract defining the entity data to be accessed and a recipient of the entity data to be accessed, the smart contract configured to trigger a message for communicating information associated with the entity data to a recipient device upon satisfaction of at least one verification condition.

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 for:

generating 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 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 a 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 and 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 of the smart contract 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 the 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 system comprising:

storing a secret key associated with the entity in a portion of a protected memory region 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, generating a smart contract, the smart contract defining the entity data to be accessed and a recipient of the entity data to be accessed, the smart contract configured to trigger a message for communicating information associated with the entity data to a recipient device upon satisfaction of at least one verification condition.

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 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 a 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 of the smart contract 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;

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, generate a smart contract, the smart contract defining the entity data to be accessed and a recipient of the entity data to be accessed, the smart contract configured to trigger a message for communicating information associated with the entity data to a recipient device upon satisfaction of at least one verification condition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2021
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 057501/0590 →
Continuity (12)
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 20200014691A1 · Jan 9, 2020