Protecting Non-MEE Metadata via Embedded MAC in Memory Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware security solutions, such as those employing Software Guard Extensions (SGX), face challenges in protecting non-memory encryption engine (non-MEE) metadata, which can lead to integrity and replay protection failures, allowing attackers to modify or redirect data, resulting in stale or corrupted data being consumed by processors without detection.

Innovation Solution

The proposed solution involves appending non-MEE metadata bits to a version line to generate an embedded message authentication code (eMAC), which is computed during the MEE tree walk, ensuring that coherence and poison bits, among other metadata, are protected against modification attempts, thereby maintaining data integrity and coherence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware-based protective solutions are instituted early during boot-up, then security protection against malware is improved, but processing overhead increases resulting in slower overall performance

Engineering Contradiction:
Improvesecurity protectionVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements security protections by appending non-MEE metadata bits to version lines during the memory encryption engine's tree walk operation. This preliminary integration of security checks into the existing memory access pathway ensures that security verification occurs automatically as part of the normal memory operations, rather than as a separate post-processing step. The eMAC computation includes metadata bits such as coherence and poison bits, ensuring integrity protection is built-in from the outset.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If non-MEE metadata bits are protected using eMAC computation, then data integrity is improved, but additional processing overhead is introduced

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the protection of non-MEE metadata bits with the existing MEE tree walk operation by appending metadata bits to version lines. This combining approach allows the same eMAC computation mechanism that protects memory data to also protect metadata bits, eliminating the need for separate protection mechanisms. The coherence bit and poison bit are integrated into the version line structure, so their protection occurs simultaneously with data integrity verification during normal memory operations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10031861B2Protect non-memory encryption engine (non-mee) metadata in trusted execution environment
Publication Date: 2018.07.24 INTEL CORP
  • US10031861B2 patent drawing
  • US10031861B2 patent drawing
  • US10031861B2 patent drawing

AI summary

A server, processing device and/or processor includes a processing core and a memory controller, operatively coupled to the processing core, to access data in an off-chip memory. A memory encryption engine (MEE) may be operatively coupled to the memory controller and the off-chip memory. The MEE may store non-MEE metadata bits within a modified version line corresponding to ones of a plurality of data lines stored in a protected region of the off-chip memory, compute an embedded message authentication code (eMAC) using the modified version line, and detect an attempt to modify one of the non-MEE metadata bits by using the eMAC within a MEE tree walk to authenticate access to the plurality of data lines. The non-MEE metadata bits may store coherence bits that track changes to a cache line in a remote socket, poison bits that track error containment within the data lines, and possibly other metadata bits.