Relational Database Encryption with Encrypted Pointers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for protecting confidentiality in relational databases, such as encrypting entire databases or using deterministic encryption, either severely impact performance or fail to hide data dependencies between tables, allowing adversaries to infer relations between encrypted data.

Innovation Solution

Encrypting primary keys and foreign keys while using encrypted pointers to link corresponding keys, allowing efficient querying and maintaining database functionality without compromising security, using symmetric encryption techniques like AES and employing a linked list indexing scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire database is encrypted with probabilistic encryption algorithm, then static leakage of information is prevented, but performance of the database deteriorates severely

Engineering Contradiction:
Improveconfidentiality protectionVSAvoiddatabase performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the database into different parts with different encryption levels. Critical fields like primary keys and foreign keys use deterministic encryption for fast access, while other fields use probabilistic encryption for security. This segmentation allows the system to achieve both security and performance by applying encryption selectively rather than uniformly across the entire database.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different encryption qualities are applied to different parts of the database based on their specific requirements. Primary keys and foreign keys that require frequent access use deterministic encryption (weaker security, faster performance), while other data fields use probabilistic encryption (stronger security, slower performance). This local quality approach optimizes the overall system by matching encryption strength to access patterns.

Inventive Principle:
Principle #3Local quality

2Reliability

If deterministic encryption is used for database contents, then some confidentiality is guaranteed, but data dependencies such as relations between entries are not hidden

Engineering Contradiction:
Improveconfidentiality protectionVSAvoiddata dependency exposure
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces encrypted pointers as intermediaries between tables. Instead of directly exposing foreign key relationships through deterministic encryption, encrypted pointers act as mediators that link tables while maintaining security. These pointers use a specialized encryption scheme that prevents adversaries from inferring relationships between data entries while still enabling efficient joins and queries.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If foreign keys are treated the same as other data fields, then encryption is simplified, but O(n) decryptions are needed to find corresponding primary keys

Engineering Contradiction:
Improveencryption complexityVSAvoidquery efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing encrypted pointers that directly link foreign keys to primary keys. Instead of performing O(n) decryptions during queries, the system prepares encrypted pointer structures in advance that enable efficient navigation between related records. This preliminary preparation of index structures significantly reduces query time while maintaining encryption security.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10313120B2Method for storing data in a relational database and relational database server
Publication Date: 2019.06.04 NEC CORP
  • US10313120B2 patent drawing
  • US10313120B2 patent drawing

AI summary

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.