Secure Enclave Private Key Cache for Multi-Tenant Database Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant database systems face latency and security risks due to delays in fetching cryptographic private keys from a centralized key management system, which can lead to attacks and network failures, especially during heavy traffic.

Innovation Solution

Implementing a secure enclave to cache cryptographic private keys, reducing the need for external calls to the key management system by storing and managing keys within a secure memory environment, such as an Intel Software Guard Extension (SGX) enclave, and using key cache obfuscation and encryption to enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If private keys are fetched from a centralized key management system, then key security is maintained, but latency increases and productivity decreases

Engineering Contradiction:
Improvekey securityVSAvoidcryptographic operation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments key storage into two parts: a centralized key management system for secure storage and a local cache for rapid access. This allows the database system to maintain security through the centralized KMS while improving productivity by caching frequently accessed keys locally, thus resolving the contradiction between security and speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A key cache acts as an intermediary between the database system and the centralized key management system. The cache stores recently accessed keys locally, reducing the frequency of external calls to the KMS. This intermediary mechanism maintains security by still using the centralized KMS for key issuance while improving productivity through local cache hits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If private keys are stored in a centralized location, then key management is simplified, but security against attacks deteriorates

Engineering Contradiction:
Improvekey management complexityVSAvoidattack surface
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The system segments key storage by maintaining a centralized KMS for management simplicity while caching keys locally in the database system. This segmentation reduces the attack surface by limiting the impact of any single location compromise, as keys are distributed across multiple storage locations (centralized KMS and local cache memory).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The key cache acts as a protective buffer between the database system and the centralized KMS. By caching keys locally, the system prepares backup copies of keys in advance, cushioning against potential attacks on the centralized system. If the centralized KMS is compromised, the local cache provides a protective layer that maintains operational continuity.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If frequent external calls to key management system are made, then key updates are timely, but network reliability and security deteriorate

Engineering Contradiction:
Improvekey update responsivenessVSAvoidnetwork security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary action by pre-loading and caching keys into local memory before they are needed for cryptographic operations. This reduces the frequency of external calls to the KMS, thereby improving network security by minimizing exposure to network-based attacks while maintaining adaptability through periodic key updates from the centralized system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The key cache enables continuous cryptographic operations by storing keys in local memory, eliminating the need for intermittent network calls to the KMS. This maintains continuity of useful action (cryptographic operations) while reducing network traffic and improving security. The system periodically updates keys from the centralized KMS to maintain adaptability.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11483150B2Private key cache in secure enclave
Publication Date: 2022.10.25 SALESFORCE INC
  • US11483150B2 patent drawing
  • US11483150B2 patent drawing
  • US11483150B2 patent drawing

AI summary

Disclosed techniques relate to storing a key cache within a secure enclave. In some embodiments, a computing system receives, from an application, a request to access a database, where the request is associated with a particular account. The computing system then accesses, using an identifier associated with the particular account, a key cache stored in a secure enclave of a memory of the computing system to determine at least one private key associated with the request, where the key cache stores private keys of a key management system (KMS) for a plurality of accounts. The computing system performs a cryptographic operation for accessing the database within the secure enclave using the at least one private key. In various embodiments, disclosed techniques may improve the security of cryptographic private keys cached for a plurality of tenants.