Cache Memory Secure Code Execution via Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security solutions for executing applications in computers require hardware changes and incur high initial costs for maintenance, such as replacing lost or broken keys, and involve carrying extra physical devices, which is inconvenient and costly.

Innovation Solution

A method and system that uses micro-architectural constructs like caches to execute code securely in a general-purpose computer by encrypting and decrypting code within the processor core, hiding execution details from eavesdroppers, and utilizing a memory interface unit to lock down cache memory with main memory for secure execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TPM hardware device is used to execute code securely, then security level is improved, but device complexity and initial cost increase

Engineering Contradiction:
Improvesecurity levelVSAvoidhardware device requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces the physical TPM hardware device with a software-based security solution that utilizes existing processor cache memory and memory management units. The secure code execution is achieved through software-implemented encryption, decryption, and cache locking mechanisms rather than dedicated hardware security modules.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The invention makes the general-purpose processor cache memory serve dual purposes: both normal processing operations and secure code execution. The cache memory and memory management units are used for their conventional functions while simultaneously providing secure enclave capabilities without requiring specialized hardware.

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

2Reliability

If TPM hardware device is used to execute code securely, then security level is improved, but maintenance cost increases

Engineering Contradiction:
Improvesecurity levelVSAvoidmaintenance cost
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The patent eliminates the need for physical key replacement and hardware maintenance by using software-based cryptographic operations. The security keys and cryptographic functions are implemented in software within the existing processor architecture, removing all maintenance costs associated with physical TPM devices.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If additional physical device is carried to run software, then security level is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvesecurity levelVSAvoidconvenience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The invention enables the general-purpose processor to perform both normal computing tasks and secure code execution without requiring any additional physical devices. The cache memory and memory management units are repurposed for security functions, allowing users to run secure applications on their existing devices without carrying separate security hardware.

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

4Reliability

If code is executed in cache memory with locking down, then security level is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity levelVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the system automatically manages cache locking, encryption, and decryption operations. The memory management unit and cache control logic handle security operations autonomously based on software triggers, reducing the burden on developers while maintaining high security levels.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9202075B2System and method for executing code securely in general purpose computer
Publication Date: 2015.12.01 AVENTYN
  • US9202075B2 patent drawing
  • US9202075B2 patent drawing
  • US9202075B2 patent drawing

AI summary

The various embodiments of the invention provide a method for executing code securely in a general purpose computer. According to one embodiment, a code is downloaded into a cache memory of a computer in which the code is to be executed. The code downloaded into the cache memory is encrypted in the cache memory. Then the encrypted code in the cache memory is decrypted using a decryption algorithm to obtain the decrypted code. The decrypted code is executed in the cache to generate a result. The decrypted code is destroyed in the cache memory after the forwarding the result to a user.