Memory Location Specific Encryption Key Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data encryption methods for memory storage lack effectiveness in protecting data from unauthorized access, particularly in digital electronic systems, as they often rely on static encryption keys and are vulnerable to side channel attacks and tampering.

Innovation Solution

A method that generates a unique encryption key for each memory location based on a random number and a unique pointer value associated with that location, changing over time, which is used to encrypt and decrypt data, thereby increasing security and making it harder for adversaries to decrypt data without knowing the specific keys for each location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a static encryption key is used for memory storage, then the encryption process is simple and fast, but the security is weak and vulnerable to side channel attacks and tampering

Engineering Contradiction:
Improvedata securityVSAvoidencryption system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encryption key is segmented into multiple components: a base key, a location-specific component derived from the memory address, and a time-varying component. Each segment serves a specific security function, and the combination creates a unique encryption key for each memory location and time period, resolving the contradiction between security and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encryption key transitions from a static value to a dynamic one that changes based on memory location and time. The key generation process incorporates the memory address and a counter that increments over time, ensuring that the encryption key is always changing and resistant to side channel attacks while maintaining manageable system complexity through algorithmic generation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If a unique encryption key is generated for each memory location based on random numbers and pointer values, then security is significantly enhanced, but the key generation process becomes more complex

Engineering Contradiction:
Improvedata protection strengthVSAvoidkey generation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A key generation module acts as an intermediary between the memory address and the encryption key. This module takes the memory pointer value and a random number as inputs, processes them through a deterministic algorithm, and outputs the unique encryption key. This intermediary structure enhances security while keeping the complexity localized to a single module rather than distributed throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The encryption key generation process is self-service in that it automatically derives the location-specific component from the memory address itself. The system uses its own address information as part of the key generation input, eliminating the need for external key distribution infrastructure and reducing overall system complexity while maintaining strong security.

Inventive Principle:
Principle #25Self-service

3Reliability

If encryption keys change frequently over time, then resistance to side channel attacks increases, but the overhead of key management and regeneration increases

Engineering Contradiction:
Improveresistance to side channel attacksVSAvoidkey regeneration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The encryption key changes periodically based on a counter that increments with each access or at defined time intervals. This periodic key rotation provides resistance to side channel attacks by ensuring that even if one key is compromised, only a limited amount of data is at risk. The periodic nature allows the system to balance security with performance by predicting key change timing and pre-loading keys where possible.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The key generation module prepares and caches encryption keys in advance before they are needed. By anticipating future key requirements based on the periodic change pattern, the system can pre-compute and store keys in a secure buffer, reducing the time penalty of key regeneration during actual encryption operations and minimizing the loss of time while maintaining frequent key changes for security.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9128876B2Memory location specific data encryption key
Publication Date: 2015.09.08 HONEYWELL INTERNATIONAL INC
  • US9128876B2 patent drawing
  • US9128876B2 patent drawing
  • US9128876B2 patent drawing

AI summary

Contents of a memory are encrypted using an encryption key that is generated based on a random number and a memory location at which the contents are stored. Each of a plurality of locations of a memory can be associated with a respective unique pointer value, and an encryption key may be generated based on the unique pointer value and the random number. In some examples, the random number is unique to a power-up cycle of a system comprising the memory or is generated based on a time at which the data to be stored by the memory at the selected memory location is written to the memory.