Kernel Memory Key Storage for Encrypted File Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network and cloud computing platforms require users to repeatedly authenticate when accessing different servers or services, leading to inconvenience and security concerns due to the limitations of kernel keyring storage capacity for large authentication credentials.

Innovation Solution

Storing a key to an encrypted file in kernel memory, where the encrypted file containing authentication credentials is stored in user space, allowing the key to automatically decrypt the file for seamless authentication across multiple services and servers without continuous user input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If authentication credentials are stored in user space, then ease of access is improved, but security is worsened

Engineering Contradiction:
Improveease of accessVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The authentication system is segmented into two parts: the encrypted credentials file stored in user space and the decryption key stored in kernel space. This segmentation allows the credentials to be easily accessible while the key remains secure, resolving the contradiction between ease of access and security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The kernel acts as an intermediary between the user space application and the encrypted credentials file. The kernel securely holds the decryption key and mediates the decryption process, allowing user space applications to access credentials without directly handling the key, thus maintaining both accessibility and security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If kernel keyring is used to store authentication credentials, then security is improved, but storage capacity is worsened

Engineering Contradiction:
ImprovesecurityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The decryption key is extracted from the kernel keyring and stored directly in kernel memory. This extraction allows for larger key storage capacity while maintaining the security benefits of kernel-level protection, resolving the storage capacity limitation of the keyring.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The solution moves from storing credentials directly in the limited keyring to a two-dimensional approach: encrypted credentials in user space files and decryption keys in kernel memory. This dimensional change bypasses the keyring size limitation while preserving security.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If decryption key is stored in user space, then storage flexibility is improved, but security is worsened

Engineering Contradiction:
Improvestorage flexibilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the key storage location from the credential storage location. The encrypted credentials can be stored flexibly in user space files while the decryption key is segmented into kernel memory, providing both storage flexibility for credentials and security for the key.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9553855B2Storing a key to an encrypted file in kernel memory
Publication Date: 2017.01.24 RED HAT INC
  • US9553855B2 patent drawing
  • US9553855B2 patent drawing
  • US9553855B2 patent drawing

AI summary

Storing a key to an encrypted file in a kernel memory is disclosed. Authentication data may be received and authentication credentials of the authentication data may be stored in a file. The file may be encrypted and a key to the encrypted file may be generated. The encrypted file may be stored in a user space and the key may be stored in a kernel space. The key may be retrieved from the kernel space and applied to the encrypted file in the user space to decode the encrypted file and subsequently access the authentication credentials stored in the encrypted file.