Address-Based Encryption Key Selection in System Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems are vulnerable to attacks that modify or alter data in system memory, compromising program execution and security, with existing encryption techniques and tamper-evident mechanisms not fully addressing the issue of unauthorized changes to program code.

Innovation Solution

A computing environment with an encryption circuit connected to the CPU, using address bits to determine encryption keys for data transferred to memory, and employing a multiplexer circuit to select keys based on address line values, ensuring secure storage and verification of data through a security engine that encrypts and decrypts data as it moves between cache and system memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive encryption techniques are employed to secure data in system memory, then data confidentiality and security are improved, but device complexity and performance overhead increase

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

Solution Approach 1:

The patent applies different encryption keys to different memory locations based on their address bits. Instead of uniform encryption, each memory region is encrypted with a key derived from its address, creating localized security properties that reduce overall system complexity while maintaining strong security where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory space is segmented into different regions identified by address bits, with each region having its own encryption key. This segmentation allows the system to manage encryption complexity by handling smaller, address-defined regions rather than encrypting entire memory spaces with a single key.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If address bits are used to determine encryption keys, then key management complexity is reduced, but the security against key derivation attacks may be compromised

Engineering Contradiction:
Improvekey management complexityVSAvoidkey security
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The encryption key is dynamically derived from the address bits of the memory location being accessed. This dynamic key derivation means that the same physical memory location can have different effective keys depending on the address bits used for derivation, adding a layer of security while maintaining simple key management through address-based derivation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7822993B2System and method for using address bits to affect encryption
Publication Date: 2010.10.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7822993B2 patent drawing
  • US7822993B2 patent drawing
  • US7822993B2 patent drawing

AI summary

A computing environment maintains the confidentiality of data stored in system memory. The computing environment has an encryption circuit in communication with a CPU. The system memory is also in communication with the encryption circuit. An address bus having a plurality of address lines forms part of the system and a value of at least one of the address lines determines a key selected from a plurality of keys to use in the encryption circuit to encrypt data being transferred by the CPU to the memory.