Encrypting ECC Bits for Memory Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing devices remain vulnerable to attacks despite disk encryption, as clear data and keys for decryption can be accessed in system memory, and existing integrity mechanisms may occupy valuable memory space or require specialized operating systems.

Innovation Solution

Implementing the encryption of Error Correction Code (ECC) bits, which provides an additional layer of security by ensuring that data corruption can be detected and corrected, making it harder for attackers to modify encrypted data without updating ECC bits, thus enhancing memory encryption security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If disk encryption is implemented, then data storage security is improved, but system memory remains vulnerable to attacks

Engineering Contradiction:
Improvedata storage securityVSAvoidmemory vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the protection mechanism by introducing a separate encryption layer specifically for memory contents. Instead of relying solely on disk encryption, the system divides security into two independent layers: disk-level encryption for persistent storage and memory-level encryption for volatile data, thereby addressing the vulnerability gap between these two storage tiers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by encrypting data before it is written to memory and maintaining encrypted state throughout the data's residence in system memory. This pre-encryption approach ensures that even if an attacker gains access to memory during operation, the data remains protected, preventing attacks that would otherwise exploit clear text data in RAM.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If integrity mechanisms are added to memory encryption, then security against corruption attacks is improved, but memory space and system complexity increase

Engineering Contradiction:
Improvesecurity against corruption attacksVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the integrity check mechanism with the existing encryption framework by using the same encryption key to protect both the data and its integrity verification structures. This combination approach eliminates the need for separate complexity-intensive integrity systems while maintaining security against corruption attacks, as the encrypted integrity checks are verified alongside the decrypted data.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements self-service by having the memory encryption system automatically generate and manage its own integrity verification mechanisms without requiring external or specialized operating system components. The system uses its encryption infrastructure to create and verify integrity checks, reducing overall system complexity while maintaining robust protection against corruption attacks.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If ECC bits are encrypted, then detection of data corruption is improved, but access speed may be reduced

Engineering Contradiction:
Improvedetection of data corruptionVSAvoidaccess speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent maintains continuity of useful action by performing integrity verification as an integrated part of the normal memory access operation rather than as a separate step. The encrypted ECC bits are decrypted and verified concurrently with the data decryption process, ensuring that corruption detection does not add significant overhead to access speed while maintaining continuous security protection.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11586560B2Secure memory
Publication Date: 2023.02.21 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US11586560B2 patent drawing
  • US11586560B2 patent drawing
  • US11586560B2 patent drawing

AI summary

Various examples are directed to systems and methods for securing a data storage device. A storage controller may receive a read request directed to the data storage device. The read request may comprise address data indicating a first address of a first storage location at the data storage device. The storage controller may request from the data storage device a first encrypted data unit stored at the first memory element and a first encrypted set of parity bits, such as Error Correction Code (ECC) bits, associated with the first storage location. An encryption system may decrypt the first encrypted set of parity bits to generate a first set of parity bits based at least in part on an a first location parity key for the first address.