IP Library Granted Patent US 12665748
Granted Patent B2
US 12665748 · App. 18/822,996 · Granted Jun 23, 2026

Method, computer program and system for collecting confidential data from several data providers, for joint analysis of said data

Inventors: Tobias Nickchen (Paderborn, DE); Waleed Ahmed (Stuttgart, DE); Olaf Badstübner (Butzbach, DE); Christian Schmidt (Bochum, DE)
Assignee: BULL SAS
H04L9/0822H04L9/083G06F21/6254H04L63/0428
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 12665748
App. No.
18/822,996
Granted
Jun 23, 2026
Kind
B2
Abstract

The invention relates to a method for pooling and analyzing datasets from data providers. The method includes, at the level of each data provider, for each dataset, a first encryption of each variable of the dataset with a first encryption key common to all data providers, and a second encryption of at least each variable of the dataset with a second encryption key specific to the each data provider and shared with an intermediary. The method also includes, at the level of the intermediary, for each encrypted dataset, decryption of the variables with the second encryption key, and a third encryption of each confidential variable with a third encryption key. The method also includes transmission of the datasets encrypted with the third encryption key to an analysis environment for analysis. It also relates to a computer program and a system for implementing such a method.

Claims (41)

1 . A computer implemented method for collecting datasets from several data providers, for joint analysis of all datasets in an analysis environment, each dataset of said datasets comprising several variables relating to an entity, at least one variable of said several variables being confidential variables, said computer implemented method comprising:

for said each dataset originating from each data provider of said several data providers,

encrypting each confidential variable of said confidential variables in said each dataset with a first encryption key common to all data providers of said several data providers, to form a first encrypted dataset, and

encrypting said each confidential variable of the first encrypted dataset with a second encryption key specific to said each data provider and shared with an intermediary, to form a double encrypted dataset encrypted with the first encryption key and the second encryption key;

transmission of the double encrypted dataset obtained after the encrypting with said second encryption key to said intermediary;

at said intermediary, for said double encrypted dataset that is received,

decrypting said each confidential variable previously encrypted with said second encryption key, such that the confidential variables are still encrypted with the first encryption key, and

encrypting said each confidential variable still encrypted with the first encryption key with a third encryption key to form a double encrypted dataset encrypted with the first encryption key and the third encryption key; and

transmission of said each dataset of said datasets comprising the double encrypted dataset encrypted with the first encryption key and the third encryption key to the analysis environment for data analysis.

2 . The computer implemented method according to claim 1 , further comprising, at the analysis environment, gathering datasets relating to a same entity, based on at least one variable in said each dataset.

3 . The computer implemented method according to claim 2 , wherein at the analysis environment, the gathering comprises identifying datasets relating to the same entity based on an exact matching of at least one identity variable in said datasets.

4 . The computer implemented method according to claim 2 , wherein at the analysis environment, the gathering comprises identifying datasets relating to the same entity based on a similarity score between said datasets.

5 . The computer implemented method according to claim 4 , further comprising calculating a similarity score between two datasets of said datasets, based on at least one identity variable in said datasets.

6 . The computer implemented method according to claim 1 , wherein the first encryption key is a multiple use key.

7 . The computer implemented method according to claim 1 , wherein the second encryption key of at least one data provider of said several data providers is a single use key.

8 . The computer implemented method according to claim 1 , wherein the third encryption key is a multiple use key.

9 . The computer implemented method according to claim 1 , wherein each encryption key of said first encryption key, said second encryption key and said third encryption key is generated and provided by a trust center.

10 . The computer implemented method according to claim 1 , further comprising, at the analysis environment, representing said datasets in a graph database in which each node of said graph database represents an entity.

11 . The computer implemented method according to claim 1 , further comprising, at the analysis environment, enriching data of said datasets with at least one predetermined algorithm, said at least one predetermined algorithm comprising one or more of

a centrality algorithm for providing an importance score to an entity, or an attribute,

a community algorithm for providing an information regarding one or more of clusters, neighborhood and attributes of entities,

a graph embedding analysis algorithm for providing properties of an entity.

12 . The computer implemented method according to claim 1 , further comprising analyzing, in the analysis environment, the datasets with at least one analysis module.

13 . A non-transitory computer program comprising instructions which, when executed by a computer, cause said computer to carry out a computer implemented method for collecting datasets from several data providers, for joint analysis of all datasets in an analysis environment, each dataset of said datasets comprising several variables relating to an entity, at least one variable of said several variables being confidential variables, said computer implemented method comprising

for said each dataset originating from each data provider of said several data providers,

encrypting each confidential variable of said confidential variables in said each dataset with a first encryption key common to all data providers of said several data providers, to form a first encrypted dataset, and

encrypting said each confidential variable of the first encrypted dataset with a second encryption key specific to said each data provider and shared with an intermediary, to form a double encrypted dataset encrypted with the first encryption key and the second encryption key;

transmission of the double encrypted dataset obtained after the encrypting with said second encryption key to said intermediary;

at said intermediary, for said double encrypted dataset that is received,

decrypting said each confidential variable previously encrypted with said second encryption key, such that the confidential variables are still encrypted with the first encryption key, and

encrypting said each confidential variable still encrypted with the first encryption key with a third encryption key to form a double encrypted dataset encrypted with the first encryption key and the third encryption key; and

transmission of said each dataset of said datasets comprising the double encrypted dataset encrypted with the first encryption key and the third encryption key to the analysis environment for data analysis.

14 . A system that carried out a computer implemented method for collecting datasets from several data providers, for joint analysis of all datasets in an analysis environment, each dataset of said datasets comprising several variables relating to an entity, at least one variable said several variables being confidential variables, said system comprising:

for said each dataset originating from each data provider of said several data providers, an encryption/decryption module that

encrypts each confidential variable of said confidential variables in said each dataset with a first encryption key common to all data providers of said several data providers, to form a first encrypted dataset, and

encrypting said each confidential variable of said first encrypted dataset with a second encryption key specific to said each data provider and shared with an intermediary, to form a double encrypted dataset encrypted with the first encryption key and the second encryption key;

communication means configured to transmit the double encrypted dataset obtained after the encrypting with the second encryption key to said intermediary;

at said intermediary, for said double encrypted dataset that is received, an encryption/decryption module that carries out

decrypting said each confidential variable previously encrypted with said second encryption key, such that the confidential variables are still encrypted with the first encryption key, and

encrypting said each confidential variable still encrypted with the first encryption key with a third encryption key to form a double encrypted dataset encrypted with the first encryption key and the third encryption key; and

wherein said communication means is further configured to transmit said each dataset of said datasets comprising the double encrypted dataset encrypted with the first encryption key and the third encryption key to the analysis environment for data analysis.