Address-Dependent Key Generation for Memory Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face challenges in protecting data from malicious attacks, such as passive and active attacks that involve reading or modifying memory contents, particularly due to the vulnerability of memory and microprocessors being on the same circuit board and coupled by a bus, which existing security measures have not adequately addressed.

Innovation Solution

Implementing memory address-dependent encryption and address-dependent data authentication using a 'tweakable' cipher with a key generation algorithm that generates unique encryption keys for each memory location, allowing for fast key computation and storage in flip-flops, thereby avoiding slow internal memory read operations, and utilizing a substitution-permutation network for secure data transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory address-dependent encryption with unique keys per location is implemented, then data security is improved, but key generation speed and computational complexity become critical challenges

Engineering Contradiction:
Improvedata securityVSAvoidkey generation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encryption key is segmented into two parts: a secret key stored securely in flip-flops and a public address component. This segmentation allows the system to generate unique encryption keys for each memory location without requiring complex key management, as the secret portion remains constant while the address portion varies deterministically.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secret key material is pre-loaded into flip-flops during system initialization or manufacturing, eliminating the need for slow internal memory read operations during encryption. This preliminary action ensures that key generation can proceed rapidly using only the pre-stored secret material and the memory address.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If slow internal memory read operations are used to access key material, then key storage is simplified, but encryption speed deteriorates

Engineering Contradiction:
Improvekey storage simplicityVSAvoidencryption speed
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The critical secret key material is extracted from slow internal memory and placed into fast flip-flop circuits. This extraction separates the speed-critical key access function from the slower memory subsystem, enabling rapid key generation while maintaining simple key storage architecture.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical/memory-based key access system with a register-based (flip-flop) system. This substitution eliminates the bottleneck of internal memory read operations, as flip-flops provide direct, high-speed access to the secret key material without the latency inherent in memory access.

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

3Ease of operation

If the same encryption key is used for multiple memory locations, then key management is simplified, but vulnerability to copy-and-paste attacks increases

Engineering Contradiction:
Improvekey management simplicityVSAvoidattack vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The encryption scheme implements local quality by making the encryption key dependent on the specific memory address being accessed. Each memory location effectively has its own unique encryption key derived from the combination of the secret key and the address, providing localized security that prevents copy-and-paste attacks while maintaining systematic key management.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The encryption key becomes dynamic rather than static, changing based on the memory address being accessed. This dynamic key derivation ensures that even though the same secret key material is used throughout the system, the effective encryption key varies for each location, preventing attackers from using the same key to access or modify data at different addresses.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10146701B2Address-dependent key generation with a substitution-permutation network
Publication Date: 2018.12.04 THE BOEING CO
  • US10146701B2 patent drawing
  • US10146701B2 patent drawing
  • US10146701B2 patent drawing

AI summary

A method of providing security in a computer system includes producing an initial block of data from a respective address of a memory location. An updated block of data may be calculated for each round of a plurality of rounds in a substitution-permutation network. This may include mixing an input block through a substitution layer including a plurality of substitution boxes, and a linear transformation layer including a permutation, to produce the updated block, before or after which respectively the input block or updated block may be mixed with a round key. The input block may be the initial block for the first round, and the updated block for an immediately preceding round for each round thereafter. A block of ciphertext may be produced with a key composed of the updated block for the last round, and the block of ciphertext may be written at the memory location.