CSI Encryption Proxy for Container Volume Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for encrypting data stored on volumes managed by container orchestrators using a container storage interface (CSI) are not storage provider independent, limiting the ability to use encrypted data across multiple containers and nodes, and often require the application to handle encryption/decryption processes.

Innovation Solution

An intermediate encryption service, implemented as a CSI encryption proxy plugin, intercepts RPC requests from the container orchestrator to determine if encryption is needed and uses tools like cryptsetup or veracrypt to encrypt volumes, allowing encrypted data to be used by multiple containers and nodes without relying on specific storage providers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If storage provider-specific encryption is used, then encryption functionality is provided, but the solution is tied to a particular storage provider and cannot be used across multiple storage providers

Engineering Contradiction:
Improvedata securityVSAvoidstorage provider independence
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a CSI encryption proxy plugin as an intermediary component between the container orchestrator and storage providers. This proxy intercepts RPC requests, performs encryption operations using tools like cryptsetup or veracrypt, and forwards requests to storage providers. This intermediary layer enables storage provider-independent encryption while maintaining compatibility with multiple storage providers through the standard CSI interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the application handles encryption/decryption directly, then encryption control is provided, but the complexity of key management and encryption operations falls on the application

Engineering Contradiction:
Improveencryption managementVSAvoidapplication complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the encryption functionality from the application layer and places it in a dedicated CSI encryption proxy plugin. This separation allows the application to focus on its core functionality while the proxy plugin handles all encryption/decryption operations, key management, and interactions with storage providers. The application simply mounts encrypted volumes without needing to understand or manage encryption details.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If entire disk encryption is implemented, then data security is improved, but flexibility to use the same datastore for both encrypted and unencrypted volumes is lost

Engineering Contradiction:
Improvedata securityVSAvoiddatastore flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements encryption at the volume level rather than requiring entire disk encryption. The CSI encryption proxy plugin encrypts only the specific volumes that require protection, allowing the same datastore to host both encrypted and unencrypted volumes. This local quality approach enables selective encryption of sensitive data while leaving other data accessible without encryption overhead.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11727126B2Method and service to encrypt data stored on volumes used by containers
Publication Date: 2023.08.15 PULSELINK SYSTEMS LLC
  • US11727126B2 patent drawing
  • US11727126B2 patent drawing
  • US11727126B2 patent drawing

AI summary

A method and service to encrypt data at rest on disks that are managed by a container orchestrator (CO) using a container storage interface (CSI). The method and service including intercepting a request transferred from a CO to a CSI plugin and sending the intercepted request to an encryption proxy plugin. The method and service also including examining the request to determine if encryption is needed. In response to encryption being needed, performing encryption on the volume. The method and service also transferring the intercepted request to the container storage interface plugin.