Hardware Key Manager for Per-File Flash Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile devices face challenges in efficiently performing per-file encryption due to the limited number of keys available in the host controller interface's key table, leading to lag and potential vulnerabilities from software accessing encryption keys.

Innovation Solution

Implementing a hardware key manager on the SoC to generate an unlimited number of child keys from a base key using a nonce, with separate communication buses to the host controller interface, ensuring hardware-generated keys are used for encryption and decryption, and an arbiter to manage communications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based key management is used in the host controller interface, then key generation is flexible, but security vulnerabilities increase and performance lag occurs

Engineering Contradiction:
ImprovesecurityVSAvoidencryption performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based key management with a hardware-based key manager integrated into the host controller interface. The hardware key manager generates encryption keys through cryptographic operations performed in hardware, eliminating the security vulnerabilities and performance lag associated with software-based approaches. The key manager includes a cryptographic engine that performs key generation, encryption, and decryption operations directly in hardware, providing both security and performance benefits.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If the key table in the host controller interface is used for per-file encryption, then encryption is enabled, but the limited number of keys causes performance lag

Engineering Contradiction:
Improveper-file encryption capabilityVSAvoidencryption speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The hardware key manager performs preliminary key generation actions by pre-generating and storing multiple encryption keys in its internal key storage before they are needed for encryption operations. This allows the system to quickly switch between keys for different files without the performance lag that occurs when keys must be generated on-demand from a limited key table. The key manager can maintain a larger pool of pre-generated keys than the traditional key table allows.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If third-party flash storage controllers are used, then device compatibility is improved, but customization for hardware-based encryption is not available

Engineering Contradiction:
Improvecontroller compatibilityVSAvoidcustomization capability
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent merges the functionality of a third-party flash storage controller with a hardware-based key manager into a single integrated host controller interface. This combination allows the system to use standard third-party controllers for flash storage while simultaneously incorporating custom hardware-based encryption capabilities. The key manager is integrated into the host controller interface, allowing it to work with standard flash storage controllers while providing customized hardware-based encryption functionality that would not be available in off-the-shelf controllers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250337570A1Hardware-Generated Key Encryption
Publication Date: 2025.10.30 GOOGLE LLC
  • US20250337570A1 patent drawing
  • US20250337570A1 patent drawing
  • US20250337570A1 patent drawing

AI summary

Hardware-generated encryption keys are provided to enable per-file encryption of files to be stored in flash storage in a mobile device. Hardware-generated encryption keys are also used to decrypt encrypted files stored in the flash storage. A hardware key manager is configured to provide an unlimited number of child keys generated from one or more base keys. A nonce is applied to a base key to generate the child key. The hardware key manager communicates the child key to a host controller interface via a first bus. Software on the mobile device does not have access to the value of the child keys. A flash storage driver communicates commands to the host controller interface via a second bus. The host controller interface includes a cryptographic engine that utilizes the child keys to encrypt data to be written to the flash storage or decrypt data read from the flash storage.