Feedback-Based Memory Encryption for Dictionary Attack Resistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional encrypted memory systems are vulnerable to attacks due to the need for individual encryption of cache lines and the unpredictability of memory accesses, leading to weaknesses such as dictionary attacks and data injection, which compromise data security.

Innovation Solution

The implementation of a processing system that uses feedback-based cryptologic processes, including block-chaining and stream ciphers, to encrypt both data and memory addresses, ensuring that each encryption process considers previous data, thereby enhancing security against unauthorized access and data pattern analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If ECB-based encryption is used for memory, then encryption simplicity is improved, but security against dictionary attacks deteriorates

Engineering Contradiction:
Improveencryption simplicityVSAvoidsecurity against dictionary attacks
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements feedback-based cryptologic processes where the encryption of each memory access depends on previous encryption operations. The cryptologic engine maintains internal state that evolves with each encryption, ensuring that identical plaintext data produces different ciphertext outputs based on the sequence and timing of accesses. This feedback mechanism directly addresses the dictionary attack vulnerability of ECB by making encryption context-dependent rather than static.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static ECB encryption to dynamic encryption where the encryption process adapts based on runtime conditions. The cryptologic engine's internal state changes continuously with each memory access, making the encryption behavior dynamic rather than fixed. This dynamic approach ensures that even repeated accesses to the same data produce different encrypted outputs, preventing statistical analysis attacks.

Inventive Principle:
Principle #15Dynamics

2Reliability

If individual cache line encryption is implemented, then data security is improved, but vulnerability to data injection attacks worsens

Engineering Contradiction:
Improvedata securityVSAvoidvulnerability to data injection attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The feedback mechanism tracks the sequence and state of memory operations, allowing the system to verify the authenticity of each access based on the expected state evolution. This enables detection of injected or corrupted data by comparing actual operations against the predicted feedback state, providing integrity verification alongside encryption.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary authentication of memory accesses by verifying them against the expected feedback state before allowing the operation to proceed. This preliminary check prevents malicious data injection by rejecting operations that do not conform to the expected sequence, countering the harmful effect before it can corrupt data.

Inventive Principle:
Principle #9Preliminary anti-action

3Object-affected harmful factors

If tree-based structures are generated for authentication, then protection against data injection is improved, but memory access performance deteriorates

Engineering Contradiction:
Improveprotection against data injectionVSAvoidmemory access performance
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

Instead of generating comprehensive tree-based structures that require multiple authentication accesses, the system uses a compact feedback state that evolves with each operation. This feedback state provides authentication capability with constant-time verification, eliminating the need for multiple sequential memory accesses required by tree-based approaches while maintaining protection against data injection.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent extracts the essential authentication functionality from the complex tree-based structure into a streamlined feedback mechanism. By taking out only the critical state-tracking elements needed for authentication and removing the redundant hierarchical verification steps, the system achieves security with minimal performance overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If feedback-based cryptologic processes are used, then resistance to dictionary attacks is improved, but encryption process complexity worsens

Engineering Contradiction:
Improveresistance to dictionary attacksVSAvoidencryption process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The feedback-based cryptologic process uses a compact internal state that updates with each encryption operation. This feedback mechanism provides strong resistance to dictionary attacks by ensuring that encryption output depends on both the plaintext and the operational context, while the implementation maintains reasonable complexity through efficient state management and update procedures.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3403185B1Memory operation encryption
Publication Date: 2022.01.26 ADVANCED MICRO DEVICES INC
  • EP3403185B1 patent drawingFigure 1
  • EP3403185B1 patent drawingFigure 2
  • EP3403185B1 patent drawingFigure 3~4

AI summary

A processing system (100) includes a processing module (102) having a first interface (112) coupleable to an interconnect (106). The first interface includes a first cryptologic engine (124) to encrypt a representation of store data of a store operation and a memory address using a first key (146) and a first feedback-based cryptologic process to generate first encrypted data and an encrypted memory address. A memory module (104) includes a second interface (128) coupled to the interconnect. The second interface includes a second cryptologic engine (132) to decrypt the first encrypted data and the encrypted memory address using a second key (148) and a second feedback-based cryptologic process to generate a copy of the representation of the store data and a copy of the memory address. The second interface further is to store the copy of the representation of the store data to a memory location (150) of the memory core based on the copy of the memory address.