Address-Based Encryption Key Selection in System Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
Data Source
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.


