Searchable Database Encryption via Keyed Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in maintaining strong encryption while allowing for efficient and secure search operations, as conventional methods either rely solely on access control or compromise searchability by encrypting entire tables.

Innovation Solution

Implementing a database system where data is stored in an encrypted state using different initialization vectors for each database entry, allowing for secure storage and searchable encryption without relying solely on access control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in unencrypted state for rapid search and retrieval, then search efficiency is improved, but data security deteriorates

Engineering Contradiction:
Improvesearch efficiencyVSAvoiddata exposure risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the data storage system into multiple components: encrypted data storage, separate encryption key storage, and an encryption/decryption module. This allows the data to remain encrypted while enabling efficient search operations through controlled decryption using stored keys, thus resolving the contradiction between security and search efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-storing encryption keys alongside the encrypted data. When a search operation is needed, the system can quickly retrieve the pre-stored key and decrypt the data without requiring complex real-time key management, thereby maintaining both security and search efficiency.

Inventive Principle:
Principle #10Preliminary action

2Object-affected harmful factors

If data is stored in encrypted state for security, then data security is improved, but searchability deteriorates

Engineering Contradiction:
Improvedata protectionVSAvoidsearchability
Core Design Contradiction:
Object-affected harmful factorsVSEase of operation

Solution Approach 1:

The patent introduces an intermediary encryption key that mediates between the encrypted data and the search operation. The key acts as a bridge that allows decryption and search while the data remains encrypted in storage, thus maintaining both security and searchability through the intermediary mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If access control is used for security, then implementation simplicity is improved, but security robustness deteriorates

Engineering Contradiction:
Improveimplementation complexityVSAvoidsecurity robustness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent combines multiple security mechanisms into a composite security system: encryption algorithms, key management, and access control work together in a unified architecture. This composite approach provides robust security while maintaining reasonable implementation complexity by integrating these mechanisms into a cohesive system.

Inventive Principle:
Principle #40Composite materials

Data Source

PatentUS12287897B2Field level encryption searchable database system
Publication Date: 2025.04.29 SALESFORCE INC
  • US12287897B2 patent drawing
  • US12287897B2 patent drawing
  • US12287897B2 patent drawing

AI summary

A request to search a database field in a database table for a query value may be received. The query value may be hashed with a designated hash function and a designated hash key to produce a designated keyed-hash value. A row in the database table may be identified based on the designated keyed-hash value. The identified row may include a keyed-hash field value that matches the designated keyed-hash value. The identified row may include an encrypted field value generated by encrypting an unencrypted field value matching the query value. One or more data values associated with the identified row may be transmitted in response to the request.