IP Library Granted Patent US 12,010,208
Granted Patent B2
US 12,010,208 · App. 17/974,780 · Granted Jun 11, 2024

Multiple data source secure data processing

Inventors: Kai Chung Cheung (Markham, CA); Mathew Rogers (Montreal, CA); Jeremy Taylor (Montreal, CA)
Assignee: Via Science, Inc.
H04L9/008H04L9/0825H04L9/0869H04L9/3066H04L2209/046
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,010,208
App. No.
17/974,780
Granted
Jun 11, 2024
Kind
B2
Abstract

Multiple systems may determine neural-network output data and neural-network parameter data and may transmit the data therebetween to train and run the neural-network model to predict an event given input data. A data-provider system may perform a dot-product operation using encrypted data, and a secure-processing component may decrypt and process that data using an activation function to predict an event. Multiple secure-processing components may be used to perform a multiplication operation using homomorphic encrypted data.

Claims (70)

1. A computer-implemented method comprising:

processing, by a first system using an input layer of a neural-network model, first input data to determine first feature data, the input layer corresponding to first neural-network parameters;

receiving, by the first system, encrypted second neural-network parameters corresponding to an output layer of the neural-network model;

processing, by the first system using a multiplication operation, the first feature data and the encrypted second neural-network parameters to determine encrypted multiplication data;

sending, from the first system to a second system, the encrypted multiplication data; and

receiving, by the first system and from the second system, event data corresponding to the first input data, wherein the event data is determined using the output layer of the neural-network model and based at least in part on the encrypted multiplication data.

2. The computer-implemented method of claim 1 , wherein:

the encrypted second neural-network parameters are encrypted using a public key provided by the second system; and

the encrypted multiplication data is decrypted by the second system using a private key corresponding to the public key.

3. The computer-implemented method of claim 2 , wherein determining the encrypted multiplication data comprises:

determining an encrypted first random number and an encrypted second random number;

determining first data representing a result of a first homomorphic operation using the first feature data and the encrypted first random number;

determining second data representing a result of a second homomorphic operation using the encrypted second neural-network parameters and the encrypted second random number;

sending, to a first secure-processing component, the first data and the second data; and

receiving, from a first secure-processing component, the encrypted multiplication data.

4. The computer-implemented method of claim 3 , wherein determining the encrypted first random number and the encrypted second random number further comprises:

determining a first random number and a second random number;

encrypting, using the public key, the first random number; and

encrypting, using the public key, the second random number.

5. The computer-implemented method of claim 1 , further comprising:

receiving, by the first system and from a third system, parameter data corresponding to the input layer, wherein the third system selected the neural-network model.

6. The computer-implemented method of claim 1 , wherein the encrypted multiplication data is determined using a dot product of the first feature data and the encrypted second neural-network parameters.

7. The computer-implemented method of claim 6 , further comprising:

determining a first scale corresponding to the first feature data;

determining a second scale corresponding to the encrypted second neural-network parameters; and

determining that the first scale equals the second scale.

8. The computer-implemented method of claim 1 , wherein determining the event data comprises:

receiving, by a first secure-processing component of the second system, the encrypted multiplication data;

processing, using an activation layer of the first secure-processing component, the encrypted multiplication data to determine activated data; and

sending, from the first secure-processing component to a second secure-processing component, the activated data.

9. The computer-implemented method of claim 8 , further comprising:

receiving, by the second secure-processing component, the activated data; and

processing, by the second secure-processing component using an output layer of the neural-network model, the activated data to determine the event data.

10. The computer-implemented method of claim 1 , wherein the event data corresponds to failure of a component corresponding to the first system and wherein the first input data corresponds to operational data corresponding to the component.

11. A system comprising:

at least one processor; and

at least one memory including instructions that, when executed by the at least one processor, cause the system to:

process, by a first system using an input layer of a neural-network model, first input data to determine first feature data, the input layer corresponding to first neural-network parameters;

receive, by the first system, encrypted second neural-network parameters corresponding to an output layer of the neural-network model;

process, by the first system using a multiplication operation, the first feature data and the encrypted second neural-network parameters to determine encrypted multiplication data;

send, from the first system to a second system, the encrypted multiplication data; and

receive, by the first system and from the second system, event data corresponding to the first input data, wherein the event data is determined using the output layer of the neural-network model and based at least in part on the encrypted multiplication data.

12. The system of claim 11 , wherein:

the encrypted second neural-network parameters are encrypted using a public key provided by the second system; and

the encrypted multiplication data is decrypted by the second system using a private key corresponding to the public key.

13. The system of claim 12 , wherein determining the encrypted multiplication data and the at least one memory further includes instructions, that, when executed by the at least one processor, further cause the system to:

determine an encrypted first random number and an encrypted second random number;

determine first data representing a result of a first homomorphic operation using the first feature data and the encrypted first random number;

determine second data representing a result of a second homomorphic operation using the encrypted second neural-network parameters and the encrypted second random number;

send, to a first secure-processing component, the first data and the second data; and

receive, from a first secure-processing component, the encrypted multiplication data.

14. The system of claim 13 , wherein determining the encrypted first random number and the encrypted second random number and the at least one memory further includes instructions, that, when executed by the at least one processor, further cause the system to:

determine a first random number and a second random number;

encrypt, using the public key, the first random number; and

encrypt, using the public key, the second random number.

15. The system of claim 11 , wherein the at least one memory further includes instructions, that, when executed by the at least one processor, further cause the system to:

receive, by the first system and from a third system, parameter data corresponding to the input layer, wherein the third system selected the neural-network model.

16. The system of claim 11 , wherein the encrypted multiplication data is determined using a dot product of the first feature data and the encrypted second neural-network parameters.

17. The system of claim 16 , wherein the at least one memory further includes instructions, that, when executed by the at least one processor, further cause the system to:

determine a first scale corresponding to the first feature data;

determine a second scale corresponding to the encrypted second neural-network parameters; and

determine that the first scale equals the second scale.

18. The system of claim 11 , wherein determining the event data and the at least one memory further includes instructions, that, when executed by the at least one processor, further cause the system to:

receive, by a first secure-processing component of the second system, the encrypted multiplication data;

process, using an activation layer of the first secure-processing component, the encrypted multiplication data to determine activated data; and

send, from the first secure-processing component to a second secure-processing component, the activated data.

19. The system of claim 18 , wherein the at least one memory further includes instructions, that, when executed by the at least one processor, further cause the system to:

receive, by the second secure-processing component, the activated data; and

process, by the second secure-processing component using an output layer of the neural-network model, the activated data to determine the event data.

20. The system of claim 11 , wherein the event data corresponds to failure of a component corresponding to the first system and wherein the first input data corresponds to operational data corresponding to the component.

Assignments (2)
SECURITY INTEREST Recorded Sep 30, 2025
From: VIA SCIENCE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072422/0488 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: CHEUNG, KAI CHUNG; ROGERS, MATHEW; TAYLOR, JEREMY
To: VIA SCIENCE, INC.
Reel/Frame 061561/0545 →
Continuity (5)
Continuation 17083789 · Oct 29, 2020
Provisional Application 62935722 · Nov 15, 2019
Provisional Application 62927908 · Oct 30, 2019
Provisional Application 62927909 · Oct 30, 2019
Related Publication 20230121425A1 · Apr 20, 2023