Application Layer Encryption for Database Querying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database security schemes face challenges in protecting data while allowing easy access and querying, often requiring trade-offs between encryption and usability, with existing methods introducing complexity and vulnerabilities such as data exposure during transit or limited search capabilities.

Innovation Solution

Implementing encryption and decryption at the application layer, using secure multi-party computation (SMPC) servlet functionality to enable operations on encrypted data within the database, with daemons communicating via function calls and encryption key management handled via data tables, ensuring data remains encrypted throughout the database layer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is encrypted within the database for security protection, then data security is improved, but the ability to easily query and access the data deteriorates

Engineering Contradiction:
Improvedata securityVSAvoiddata access and querying
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system segments encryption operations into two distinct layers: application-layer encryption for data at rest in the database, and transparent decryption/encryption for data in transit. This segmentation allows the database to store encrypted data securely while the application layer handles decryption for querying, thus maintaining both security and accessibility without requiring the database itself to perform decryption operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The application layer acts as an intermediary between the user and the encrypted database. It receives decryption requests, decrypts the necessary data using stored keys, performs queries on decrypted data in memory, and returns results to the user. This intermediary approach enables easy querying of encrypted data without compromising database security, as the database never needs to store or process unencrypted data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption is implemented at the database layer, then data protection is improved, but system complexity and vulnerabilities increase

Engineering Contradiction:
Improvedata protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts encryption and decryption operations from the database layer and relocates them to the application layer. The database is simplified to only handle encrypted data storage and retrieval, while all complex cryptographic operations are performed by the application layer using libraries like Crypto++. This extraction reduces database complexity and attack surface while maintaining strong encryption capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The application layer implements self-service encryption by automatically encrypting data before inserting it into the database and automatically decrypting data when retrieving it for queries. Encryption keys are managed within the application layer itself, eliminating the need for complex database-integrated key management systems. This self-service approach simplifies the overall system architecture while maintaining robust security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11232224B2Database encryption
Publication Date: 2022.01.25 SERVICENOW INC
  • US11232224B2 patent drawing
  • US11232224B2 patent drawing
  • US11232224B2 patent drawing

AI summary

The present approaches generally relate to the encryption of data within a database in such a way that the encrypted data may still be easily accessed and utilized by an application. The present approach provides the ability to encrypt and decrypt data at an application layer though the data remains in an encrypted state at the database layer and when in transit.