IP Library Granted Patent US 11,934,540
Granted Patent B2
US 11,934,540 · App. 17/474,012 · Granted Mar 19, 2024

System and method for multiparty secure computing platform

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); David Ian McKay (Toronto, CA); Christoph Knoess (Sag Harbor, NY); Justin Simonelis (Toronto, CA)
Assignee: ROYAL BANK OF CANADA
G06F21/602G06F12/1408G06N20/00H04L9/0844H04L9/321H04L9/3247G06F2212/1052
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,934,540
App. No.
17/474,012
Granted
Mar 19, 2024
Kind
B2
Abstract

Systems, methods, and corresponding non-transitory computer readable media describe a proposed system adapted as a platform governing the loading of data in a multiparty secure computing environment. In the multiparty secure computing environment described herein, multiple parties are able to load their secure information into a data warehouse having specific secure processing adaptations that limit both access and interactions with data stored thereon.

Claims (38)

1. A computer implemented system for operating a trusted execution environment maintaining a segregated data processing subsystem:

a computer readable memory having a protected memory region that is encrypted such that it is inaccessible to both an operating system and kernel system, the protected memory region including at least a data storage region and a data processing subsystem storage region maintaining the segregated data processing subsystem;

a computer readable cache memory; and

a secure enclave data processor operating a data custodian data process for automated policy enforcement of one or more data protection policies, the data custodian data process configured to:

receive a query data object representing a proposed query to be operated on one or more protected database elements having access controlled by the segregated data processing subsystem on the protected memory region;

apply the one or more data protection policies operable on the query data object to determine whether the query data object adheres to the one or more data protection policies;

upon a determination that the query data object adheres to the one or more data protection policies, provide a control message to an attestation process to validate that the data custodian data process is operating on the secure enclave data processor and to receive an attestation token data object from the attestation process;

transmit the attestation token data object to release one or more data protection keys; and

access the one or more protected database elements using the data protection keys and cause execution of the proposed query to receive a query response data object.

2. The system of claim 1 , wherein data stored on the one or more protected database elements are coupled with one or more data protection attributes to be adhered to prior to any release of the data, wherein the data includes at least one of web query data and purchase transaction data, and the one or more data protection attributes are represented in metadata indicative of a user's tracked privacy preferences.

3. The system of claim 2 , wherein the one or more data protection attributes includes restrictions on a type of query computation to be performed on the one or more protected database elements.

4. The system of claim 1 , wherein the control message includes one or more characteristics of the secure enclave data processor operating the data custodian data process, and the attestation token is generated only when the control message is successfully validated.

5. The system of claim 4 , wherein the one or more characteristics of the secure enclave data processor include an identification or a hash representation of a version of a software operating the secure enclave data processor.

6. The system of claim 1 , wherein the attestation token data object includes a data exchange public key.

7. The system of claim 6 , wherein the data exchange public key is utilized to encrypt the query response data object to generate an encrypted output data object.

8. The system of claim 1 , wherein the one or more data protection policies include one or more data owner specific policies.

9. The system of claim 1 , wherein a subset of the one or more data protection policies are applied to the query response data object to validate that the query response data object adheres to the subset of the one or more data protection policies.

10. The system of claim 1 , wherein the one or more protected database elements are encrypted during times when the data is at rest on a server, during movement between a client and a server, and while the data is in use.

11. A computer implemented method for operating a trusted execution environment maintaining a segregated data processing subsystem coupled to a computer readable memory having a protected memory region that is encrypted such that it is inaccessible to both an operating system and kernel system, the protected memory region including at least a data storage region and a data processing subsystem storage region maintaining the segregated data processing subsystem; a computer readable cache memory; and a secure enclave data processor operating a data custodian data process for automated policy enforcement of one or more data protection policies, the method comprising:

receiving a query data object representing a proposed query to be operated on one or more protected database elements having access controlled by the segregated data processing subsystem on the protected memory region;

applying the one or more data protection policies operable on the query data object to determine whether the query data object adheres to the one or more data protection policies;

upon a determination that the query data object adheres to the one or more data protection policies, providing a control message to an attestation process to validate that the data custodian data process is operating on the secure enclave data processor and to receive an attestation token data object from the attestation process;

transmitting the attestation token data object to release one or more data protection keys; and

accessing the one or more protected database elements using the data protection keys and cause execution of the proposed query to receive a query response data object.

12. The method of claim 11 , wherein data stored on the one or more protected database elements are coupled with one or more data protection attributes to be adhered to prior to any release of the data; wherein the data includes at least one of web query data and purchase transaction data, and the one or more data protection attributes are represented in metadata indicative of a user's tracked privacy preferences.

13. The method of claim 12 , wherein the one or more data protection attributes includes restrictions on a type of query computation to be performed on the one or more protected database elements.

14. The method of claim 11 , wherein the control message includes one or more characteristics of the secure enclave data processor operating the data custodian data process, and the attestation token is generated only when the control message is successfully validated.

15. The method of claim 14 , wherein the one or more characteristics of the secure enclave data processor include an identification or a hash representation of a version of a software operating the secure enclave data processor.

16. The method of claim 11 , wherein the attestation token data object includes a data exchange public key.

17. The method of claim 16 , wherein the data exchange public key is utilized to encrypt the query response data object to generate an encrypted output data object.

18. The method of claim 11 , wherein the one or more data protection policies include one or more data owner specific policies.

19. The method of claim 11 , wherein a subset of the one or more data protection policies are applied to the query response data object to validate that the query response data object adheres to the subset of the one or more data protection policies.

20. A non-transitory computer readable medium storing machine interpretable instructions, which when executed by a processor, cause the processor to perform a computer implemented method for operating a trusted execution environment maintaining a segregated data processing subsystem coupled to a computer readable memory having a protected memory region that is encrypted such that it is inaccessible to both an operating system and kernel system, the protected memory region including at least a data storage region and a data processing subsystem storage region maintaining the segregated data processing subsystem; a computer readable cache memory; and a secure enclave data processor operating a data custodian data process for automated policy enforcement of one or more data protection policies, the method comprising:

receiving a query data object representing a proposed query to be operated on one or more protected database elements having access controlled by the segregated data processing subsystem on the protected memory region;

applying the one or more data protection policies operable on the query data object to determine whether the query data object adheres to the one or more data protection policies;

upon a determination that the query data object adheres to the one or more data protection policies, providing a control message to an attestation process to validate that the data custodian data process is operating on the secure enclave data processor and to receive an attestation token data object from the attestation process;

transmitting the attestation token data object to release one or more data protection keys; and

accessing the one or more protected database elements using the data protection keys and cause execution of the proposed query to receive a query response data object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2024
From: ORTIZ, EDISON U.; POURTABATABAIE, ARYA; KHANDAVILLI, AMBICA PAWAN; SALTER, MARGARET INEZ; RICHARDS, JORDAN ALEXANDER; VINTILA, IUSTINA-MIRUNA; MCKAY, DAVID IAN; KNOESS, CHRISTOPH; SIMONELIS, JUSTIN
To: ROYAL BANK OF CANADA
Reel/Frame 065996/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2024
From: ORTIZ, EDISON U.; POURTABATABAIE, ARYA; KHANDAVILLI, AMBICA PAWAN; SALTER, MARGARET INEZ; RICHARDS, JORDAN ALEXANDER; VINTILA, IUSTINA-MIRUNA; MCKAY, DAVID IAN; KNOESS, CHRISTOPH; SIMONELIS, JUSTIN
To: ROYAL BANK OF CANADA
Reel/Frame 065996/0967 →
Continuity (14)
Continuation In Part 17169221 · Feb 5, 2021
Continuation 16424242 · May 28, 2019
Provisional Application 63189611 · May 17, 2021
Provisional Application 63164444 · Mar 22, 2021
Provisional Application 63141788 · Jan 26, 2021
Provisional Application 63130540 · Dec 24, 2020
Provisional Application 63077368 · Sep 11, 2020
Provisional Application 63077373 · Sep 11, 2020
Provisional Application 62824697 · Mar 27, 2019
Provisional Application 62806394 · Feb 15, 2019
Provisional Application 62697140 · Jul 12, 2018
Provisional Application 62691406 · Jun 28, 2018
Provisional Application 62677133 · May 28, 2018
Related Publication 20220108026A1 · Apr 7, 2022