# US 10,313,120 B2 · Method for storing data in a relational database and relational database server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,120 B2
- Document ID: US10313120B2
- Status: Granted
- Kind: B2
- Application number: 14/402,176
- Filed: 2012-12-06
- Published: 2015-04-16
- Granted: 2019-06-04
- Earliest claimed: 2012-05-24
- Assignees: NEC Corporation
- Applicants: NEC Europe Ltd.
- Inventors: Ghassan Karame; Jens-Matthias Bohli; Sebstian Gajek
- Web page: https://patentgrep.com/patent/US10313120B2

## CPC

- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- G06F 16/284: {Relational databases}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The invention relates to a method for storing data in a relational database, comprising a plurality of tables, wherein the data is stored in these tables, wherein each row of each table is provided with an original primary key for identification, and wherein foreign keys are provided for cross-referencing different tables of the relational database, wherein the primary keys are encrypted, wherein the foreign keys are encrypted based on the encrypted primary keys and wherein for each table where a primary key is referenced as a foreign key an encrypted pointer is stored to link the corresponding encrypted foreign key to the encrypted primary key. The present invention further relates to a relational database server.

## Claims

### Claim 1

A method for storing data in a relational database, comprising:
a plurality of tables, wherein the data is stored in these tables, wherein each row of each table is provided with an original primary key for identification, and wherein foreign keys are provided for cross-referencing different tables of the relational database,
wherein the primary keys are encrypted, that the foreign keys are encrypted based on the encrypted primary keys and that for each table where a primary key is referenced as a foreign key an encrypted pointer is stored to link the corresponding encrypted foreign key to the encrypted primary key.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the primary keys and/or the foreign keys are encrypted by symmetric encryption.

### Claim 3 (depends on 1)

The method according to claim 1, wherein multiple occurrences of foreign keys in the same table are linked consecutively based on at least a prior occurrence.

### Claim 4 (depends on 3)

The method according to claim 3, wherein for the first occurrence of a foreign key in a table this foreign key is generated by encrypting the corresponding encrypted primary key and a value for table identification.

### Claim 5 (depends on 1)

The method according to claim 1, wherein pointers are encrypted with an encryption key different from an encryption key for encrypting the primary keys and/or foreign keys.

### Claim 6 (depends on 1)

The method according to claim 1, wherein a control table is generated.

### Claim 7 (depends on 1)

The method according to claim 1, wherein at least one encryption key for encrypting the primary keys and/or the pointers is stored outside the relational database.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the encrypted foreign keys are stored in form of a linked list starting from the foreign key that links to the primary key.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the primary keys are provided in a form of extra identifiers.

### Claim 10

A relational database server for storing data, the relational database comprising a server configured to provide a plurality of tables, to store the data in these tables, to provide each row of each table with an original primary key for identification, and to provide foreign keys for cross-referencing different tables, wherein the relational database server is configured to encrypt the primary keys, to encrypt the foreign keys based on the encrypted primary keys and to store an encrypted pointer to link the corresponding encrypted foreign key to the encrypted primary key for each table where a primary key is referenced as a foreign key.

### Claim 11 (depends on 10)

The relational database server according to claim 10, wherein the relational database server is connected to a encryption server, wherein the encryption server is configured to provide encryption keys for encrypting the primary keys and/or the pointers.
