Pluggable Encryption Framework for Multi-Environment Key Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing encryption services for CRM databases face challenges in providing flexible and widely available data encryption across multiple computing runtime environments, as they often rely on a single key service provider and may not be compatible with different cryptographic requirements, leading to issues with encryption and decryption availability and ease of use.

Innovation Solution

A client-side encryption framework using pluggable encryption modules that wrap and encrypt content encryption keys, allowing for secure data encryption and decryption across various runtime environments, ensuring compatibility and flexibility by utilizing multiple key service providers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single key service provider is used for encryption, then the encryption service is simple to implement, but the availability and compatibility across different runtime environments deteriorates

Engineering Contradiction:
Improveencryption service implementationVSAvoidencryption availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The encryption service is segmented into multiple independent key service providers, each capable of operating autonomously. This allows the system to divide the encryption functionality across multiple providers rather than relying on a single provider, thereby improving availability while maintaining implementation simplicity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encryption framework is designed to be universal by supporting multiple key service providers through a common interface. This multi-functionality allows the same encryption service to work across different runtime environments and cryptographic requirements, resolving the contradiction between simplicity and availability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If multiple key service providers are supported, then the compatibility and availability across runtime environments improve, but the system complexity increases

Engineering Contradiction:
Improveencryption availabilityVSAvoidencryption framework structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

An intermediary encryption framework is introduced that mediates between the application and multiple key service providers. This intermediary layer abstracts the complexity of managing multiple providers, presenting a unified interface to applications while handling the intricacies of provider selection and coordination internally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses parameter changes to adapt to different runtime environments by dynamically selecting appropriate key service providers based on environmental parameters. This allows the framework to maintain simplicity from the user perspective while accommodating multiple providers through configurable parameters.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If environment-specific encryption modules are used, then the cryptographic requirements are met, but the ease of operation and portability deteriorates

Engineering Contradiction:
Improvecryptographic compatibilityVSAvoidencryption operation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The encryption framework achieves universality by designing a single operational interface that works across all environments. Applications interact with the same encryption API regardless of the underlying key service provider or runtime environment, maintaining ease of operation while adapting to different cryptographic requirements through the framework's internal provider selection logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10956600B2Highly available encryption framework for multiple different computing environments
Publication Date: 2021.03.23 SALESFORCE INC
  • US10956600B2 patent drawing
  • US10956600B2 patent drawing
  • US10956600B2 patent drawing

AI summary

A system is provided for data object encryption. The system includes an encryption framework available across a plurality of runtime environments. The system is configured to receive a data object in one of the plurality of runtime environments, wherein the data object is capable of being encrypted using a content encryption key and determine an encryption module implemented in the encryption framework that is compatible with the one of the plurality of runtime environment, wherein the encryption module comprises a key service provider that provides a master key and a key wrapping algorithm for the content encryption key in the runtime environment. The system is further configured to encrypt the data object using the content encryption key, encrypt the content encryption key using the master key and key wrapping algorithm, and write the encrypted data object to networked database storage.