Cache Eviction for Secure Process Information Leakage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, sensitive information can leak between processes sharing a cache, as untrusted processes can derive access patterns from secure processes, compromising security, especially in cryptographic systems, and existing solutions incur significant performance or power overhead.

Innovation Solution

The method involves evicting information from cache locations that may be accessed by sensitive processes before commencing processing, ensuring that access behavior cannot be derived by untrusted processes, and pre-loading required information to minimize performance impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If processes share a cache to improve performance, then processing speed increases, but information leakage between secure and untrusted processes occurs

Engineering Contradiction:
Improveprocessing speedVSAvoidinformation leakage
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent applies preliminary action by evicting cache data before the sensitive cryptographic process executes. Specifically, before entering the security critical section, the system pre-evicts potential cache lines that might be accessed during cryptographic operations. This proactive eviction prevents information leakage by ensuring that when the cryptographic process runs, it cannot access or have its access patterns observed through previously cached data from untrusted processes.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cache is flushed on switching between secure and non-secure domains to prevent information leakage, then security improves, but performance and power consumption deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by selectively evicting only specific cache lines that are relevant to the security critical section, rather than flushing the entire cache. The system identifies and evicts only those cache lines that the cryptographic process might access, based on analysis of the security critical section's memory access patterns. This localized approach maintains security by preventing information leakage through targeted eviction, while preserving performance by leaving other cache data intact for quick access.

Inventive Principle:
Principle #3Local quality

3Reliability

If cache is divided with static allocation to domains to improve security, then information leakage is reduced, but cache utilization and performance deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidcache utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the cache eviction process dynamic and adaptive rather than static. The system dynamically determines which cache lines to evict based on the specific security critical section being executed, using handler routines that analyze the upcoming cryptographic operations and evict only the relevant cache lines. This dynamic approach allows the cache to be shared between secure and untrusted processes while maintaining security, optimizing cache utilization by evicting only what is necessary rather than allocating cache statically.

Inventive Principle:
Principle #15Dynamics

4Reliability

If lookup tables are permanently stored in tightly coupled memory to improve security, then information leakage is prevented, but memory space is consumed

Engineering Contradiction:
ImprovesecurityVSAvoidmemory space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-loading lookup tables into the cache before the cryptographic process executes, rather than permanently storing them in tightly coupled memory. The handler routine identifies which lookup tables are needed for the upcoming security critical section and pre-loads them into the cache, then evicts these same lines before execution to prevent information leakage. This approach allows the system to use the limited tightly coupled memory space for other purposes while still providing fast access to lookup tables when needed, preventing information leakage through the cache eviction mechanism.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8549325B2Reducing information leakage between processes sharing a cache
Publication Date: 2013.10.01 ARM LTD
  • US8549325B2 patent drawing
  • US8549325B2 patent drawing
  • US8549325B2 patent drawing

AI summary

A method of impeding leakage of cache access behavioral information of a section of a sensitive process to an untrusted process, said sensitive and untrusted processes being performed by a processor within a data processing apparatus, said data processing apparatus further comprising at least one cache operable to store information required by said processor while performing said sensitive and untrusted processes, the method comprising the steps of prior to commencing processing of a section of said sensitive process by said processor, evicting information stored in locations of said at least one cache which may otherwise be evicted by said sensitive process loading information that may be required by said section of said sensitive process in said at least one cache; commencing processing of said section of said sensitive process by said processor; switching said processor during processing of said section of said sensitive process to said untrusted process in response to a switching request; on switching back to said section of said sensitive process from said untrusted process, evicting information stored in locations of said at least one cache which may otherwise be evicted by said sensitive process loading information that may be required by said section of said sensitive process in said at least one cache prior to recommencing processing of said section of said sensitive process.