Cache Memory Secure Code Execution via Encryption
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If TPM hardware device is used to execute code securely, then security level is improved, but maintenance cost increases
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.
3Reliability
If additional physical device is carried to run software, then security level is improved, but ease of operation deteriorates
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.
4Reliability
If code is executed in cache memory with locking down, then security level is improved, but device complexity increases
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.
Data Source
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.


