IP Library Granted Patent US 12,192,204
Granted Patent B2
US 12,192,204 · App. 18/220,103 · Granted Jan 7, 2025

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 12,192,204
App. No.
18/220,103
Granted
Jan 7, 2025
Kind
B2
Abstract

A computer implemented system for controlling access to data associated with an entity includes a data storage device having a computer memory, and one or more processors. The one or more processors are configured for: storing a secret key associated with the entity in a computer memory associated with the entity; upon receiving entity data, storing the entity data in the computer memory; and upon receiving an access grant signal, enabling communication of information relating to the entity data.

Claims (38)

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

a data storage device stored within a computer;

one or more processors within the computer configured for:

storing a secret key associated with the entity in a computer memory within the data storage device, 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 computer memory; 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, comprising a token or data derived from the entity data, to a recipient device in the form of data fields 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 computer memory.

2. The system of claim 1 , wherein the system comprises a trusted execution environment including a 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 one or more processors 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 of the secret and public keys 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 computer memory.

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 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 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 computer memory within a data storage device, 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 computer memory; 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, comprising a token or data derived from the entity data, to a recipient device in the form of data fields 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 computer memory.

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.

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

18. The method of claim 17 , comprising generate one or more access tokens for accessing the computer memory.

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 data storage device;

upon receiving entity data associated with the entity, store the entity data in the data storage device; 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, comprising a token or data derived from the entity data, to a recipient device in the form of data fields 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 data storage device.

Continuity (13)
Continuation 17692637 · Mar 11, 2022
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 62702871 · Jul 24, 2018
Provisional Application 62702684 · Jul 24, 2018
Provisional Application 62697140 · Jul 12, 2018
Provisional Application 62693680 · Jul 3, 2018
Provisional Application 62691406 · Jun 28, 2018
Related Publication 20230362166A1 · Nov 9, 2023
References Cited (10)
US 6892301B1 · Hansmann · 2005 [cited by examiner]
US 8407480B2 · Abdallah · 2013 [cited by examiner]
US 20120204032A1 · Wilkins · 2012 [cited by examiner]
US 20160006566A1 · Morgner · 2016 [cited by examiner]
US 20170142083A1 · Kumar · 2017 [cited by examiner]
Form PTO-892 related to U.S. Appl. No. 17/692,637, which is part of paper dated Feb. 10, 2023 (1 page). [cited by applicant]
Form PTO/SB/08a filed in U.S. Appl. No. 17/692,637 on Jun. 16, 2022, approved by Examiner (4 pages). [cited by applicant]
Form PTO-892 related to U.S. Appl. No. 16/521,569, which is part of paper dated Oct. 29, 2021 (1 page). [cited by applicant]
Form PTO/SB/08a filed in U.S. Appl. No. 16/521,569 on Oct. 13, 2021, approved by Examiner (7 pages). [cited by applicant]
Form PTO-892 related to U.S. Appl. No. 16/521,569, which is part of paper dated Jul. 6, 2021 (1 page). [cited by applicant]