Cryptographic Memory Management with MAC-Based Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error correcting code (ECC) memory techniques are not cryptographically secure, leading to increased system costs and vulnerability to errors and malicious attacks.

Innovation Solution

Implementing a cryptographically strong message authentication code (MAC) or HMAC to replace ECC detection mechanisms, using a statistical trial and error approach to identify and correct errors in memory devices, and incorporating total memory encryption (TME) for enhanced security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional ECC memory techniques are used, then error detection capability is provided, but cryptographic security is not achieved and system costs increase

Engineering Contradiction:
Improveerror detection capabilityVSAvoidcryptographic security vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent transforms traditional ECC parameters into cryptographic parameters by using the same XOR-based correction mechanism but interpreting the correction code as a cryptographic authentication tag. The correction code is generated using cryptographic key material and processed through cryptographic hash functions, changing the mathematical parameters from simple error correction to cryptographically secure authentication while maintaining the same hardware operation efficiency.

Inventive Principle:
Principle #35Parameter changes

2Object-affected harmful factors

If cryptographic security is implemented, then security against malicious attacks is improved, but memory cost and system complexity increase

Engineering Contradiction:
Improvesecurity against malicious attacksVSAvoidmemory system complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent makes the memory correction code serve multiple functions simultaneously: it acts as both an error correction code for random bit errors and as a cryptographic authentication tag for detecting malicious attacks. The same correction code structure and verification mechanism handle both traditional ECC functions and cryptographic security functions, eliminating the need for separate cryptographic hardware and reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Object-affected harmful factors

If cryptographic MAC is used instead of ECC, then cryptographic security is achieved, but error correcting capability may be reduced

Engineering Contradiction:
Improvecryptographic securityVSAvoiderror correcting capability
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The patent performs preliminary cryptographic processing on the correction code during the write operation, generating the authentication tag in advance and storing it with the data. This preliminary action ensures that when verification occurs during read operations, the full error correcting capability is already embedded in the pre-computed correction code, allowing the system to maintain complete error correction functionality while adding cryptographic security without requiring additional correction mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12238221B2Cryptographic system memory management
Publication Date: 2025.02.25 INTEL CORP
  • US12238221B2 patent drawing
  • US12238221B2 patent drawing
  • US12238221B2 patent drawing

AI summary

In one example, a system for managing encrypted memory comprises a processor to store a first MAC based on data stored in system memory in response to a write operation to the system memory. The processor can also detect a read operation corresponding to the data stored in the system memory, calculate a second MAC based on the data retrieved from the system memory, determine that the second MAC does not match the first MAC, and recalculate the second MAC with a correction operation, wherein the correction operation comprises an XOR operation based on the data retrieved from the system memory and a replacement value for a device of the system memory. Furthermore, the processor can decrypt the data stored in the system memory in response to detecting the recalculated second MAC matches the first MAC and transmit the decrypted data to cache thereby correcting memory errors.