Encrypted Cache Line Decryption via Precomputed Masks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing environments, where the execution location of code is unknown to users, pose challenges in ensuring code and data confidentiality due to performance impacts from decryption and difficulty in predicting code execution paths, leading to limitations in implementing effective encryption without exposing code to inspection or theft.

Innovation Solution

A method involving encrypting a nonce and count value corresponding to the code or data location in the aggregate code stream, using these values to compute a counter mode mask for near latency-less decryption upon cache miss, ensuring encryption up to the processor's execution unit and reducing the processor's attack surface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code stream encryption is implemented using AES algorithm, then code and data confidentiality is improved, but performance deteriorates due to decryption overhead

Engineering Contradiction:
Improvecode confidentialityVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-computes counter mode masks for all possible cache line addresses before execution. These masks are stored in a lookup table, so when a cache miss occurs, the decrypted data can be immediately XORed with the pre-computed mask without waiting for decryption. This preliminary preparation eliminates decryption overhead during actual execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the code stream into fixed-size cache line segments (e.g., 64 bytes) and encrypts each segment independently using counter mode. Each cache line has its own unique counter value, allowing parallel pre-computation of masks for different segments. This segmentation enables efficient hardware implementation and reduces the complexity of the decryption process.

Inventive Principle:
Principle #1Segmentation

2Productivity

If code stream is decrypted entirely into memory, then performance is improved by minimizing decryption overhead, but code exposure to malware and operating systems increases

Engineering Contradiction:
Improveexecution performanceVSAvoidcode exposure to malware
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent implements encryption at the cache line level rather than decrypting the entire code stream. Only the specific cache lines that are currently needed for execution are decrypted and immediately processed. This localized approach ensures that minimal code is exposed in plaintext at any given time, reducing the attack surface while maintaining performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces an encrypted cache as an intermediary layer between encrypted memory and the processor. The cache stores encrypted cache lines, and a decryption unit translates only the required lines on-demand. This intermediary structure allows the processor to execute code without the operating system or malware having access to the full decrypted code stream in memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If decryption is performed for each cache miss, then code confidentiality is maintained, but performance deteriorates due to decryption latency

Engineering Contradiction:
Improvecode confidentialityVSAvoiddecryption latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-computes and stores counter mode masks for all possible cache line addresses in a lookup table during system initialization. When a cache miss occurs, the hardware immediately retrieves the pre-computed mask corresponding to the cache line address and XORs it with the encrypted data. This eliminates the need for time-consuming decryption operations during cache misses, reducing latency to near-zero while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10592433B1Secure execution of encrypted software in an integrated circuit
Publication Date: 2020.03.17 MASSACHUSETTS INST OF TECH
  • US10592433B1 patent drawing
  • US10592433B1 patent drawing
  • US10592433B1 patent drawing

AI summary

A method for processing addressable encrypted data representing addressable cleartext data uses an integrated circuit including a processor circuit. The method includes processing the addressable cleartext data in the processor circuit without storing said cleartext data outside the processor circuit.