K4A Server Secret Management for Cloud Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches for securely deploying applications to production platforms require manual handling by human administrators for user permission management, including generating, archiving, exporting, and destroying secrets, and lack tools for validating deployments, making it challenging to scale securely and maintain data privacy in cloud-based environments.

Innovation Solution

The implementation of a hardware system using non-volatile memory for encrypted secrets and volatile memory for decrypted versions, with a Keys-for-All (K4A) server and app servers running K4A clients, which manage and decrypt secrets using certificates to ensure secure access and scalability, while minimizing access to key material and automating key rotation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual handling by human administrators is used for secret management, then security control is maintained, but deployment complexity and time consumption increase

Engineering Contradiction:
Improvesecurity controlVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automated self-service for secret management through the K4A client and server architecture. Secrets are automatically generated, distributed, and rotated without human intervention. The K4A client on app servers automatically requests and receives encrypted secrets from the K4A server, eliminating the need for manual administrator handling while maintaining security through cryptographic protections.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Secrets are pre-generated and stored in encrypted form in the multi-tenant data store before deployment. The K4A client automatically retrieves and decrypts these pre-prepared secrets during the deployment process, eliminating the need for manual secret creation and distribution at deployment time.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If secrets are stored in plain text for easy access, then ease of operation improves, but security is compromised

Engineering Contradiction:
Improveaccess easeVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The secret management system segments the secret handling process into distinct encrypted and decrypted phases. Secrets are stored in encrypted form in the multi-tenant data store and only decrypted temporarily in volatile memory when needed by authorized app servers. This segmentation allows easy access during operation while maintaining security during storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The K4A client and server act as intermediaries between app servers and the secret storage system. Secrets are encrypted using public key cryptography, with only the K4A server holding the private key for decryption. This intermediary mechanism enables secure storage of encrypted secrets while allowing authorized access through the cryptographic protocol.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If comprehensive secret management is implemented across all servers, then security is improved, but system complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The K4A client and server provide universal secret management functionality across the entire multi-tenant platform. A single K4A server handles secret management for multiple app servers and tenants, eliminating the need for separate secret management systems at each server. The K4A client implements a standardized interface on all app servers, simplifying deployment and management.

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

Solution Approach 2:

Encrypted secrets are copied from the multi-tenant data store to the volatile memory of authorized app servers through the K4A protocol. This copying mechanism allows multiple servers to access the same encrypted secrets without duplicating the secret management infrastructure, reducing system complexity while maintaining security.

Inventive Principle:
Principle #26Copying

4Productivity

If secrets are distributed across multiple servers for scalability, then productivity improves, but security management becomes more difficult

Engineering Contradiction:
ImprovescalabilityVSAvoidsecret management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The K4A server acts as a central intermediary that manages secret distribution across multiple app servers. All secret requests from distributed servers are routed through the K4A server, which maintains centralized control over secret generation, encryption, and rotation. This intermediary approach enables scalability across multiple servers while keeping secret management complexity centralized and manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments secret storage from secret distribution. Encrypted secrets are stored centrally in the multi-tenant data store, while decrypted secrets are temporarily held in volatile memory on individual app servers as needed. This segmentation allows scalable distribution of secret usage across multiple servers without complicating the central secret management architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10749689B1Language-agnostic secure application development
Publication Date: 2020.08.18 SALESFORCE INC
  • US10749689B1 patent drawing
  • US10749689B1 patent drawing
  • US10749689B1 patent drawing

AI summary

The disclosed technology for a hardware system to access a secure backend system uses non-volatile memory to hold encrypted secrets, volatile memory to hold decrypted secrets ready for use, a keys-for-all (K4A) server, and app servers running K4A clients. To access the backend system in production, each app server uses a decrypted secret and a certificate that identifies the app server and certifies its role and physical and logical location. At initialization of the app server, a K4A client is instantiated that launches and tracks processes, running on the app server, that are authorized to request decryption services. The K4A client responds to a decryption request from an authorized process, determined based on tracking of processes launched, by requesting decryption by a K4A server, using the certificate, and returns to the process, in volatile memory, a decrypted secret or a reference to the decrypted secret, decrypted by the K4A server.