Secure Cache Indexing via Cryptographic Hash Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache indexing methods are vulnerable to reverse engineering and side-channel attacks, such as prime and probe cache side-channel attacks, due to their simplicity and susceptibility to pathological conflicts.
Innovation Solution
Implementing a strong hash function that combines a cache block address with a key to generate a unique secure function, using dynamic re-keying with two hashes/keys in parallel, and assigning a random index to each cache address at boot time to make reverse engineering harder and reduce timing side channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional cache indexing using direct address bits is used, then cache operation simplicity is improved, but security against side-channel attacks deteriorates
Solution Approach 1:
The patent introduces a secure hash function as an intermediary between the cache address and the cache index. Instead of directly using address bits for indexing, the address is first processed through a cryptographic hash function (e.g., SHA-256) to generate a hash value, which then serves as the cache index. This intermediary transformation obscures the relationship between addresses and cache locations, preventing attackers from inferring address information through cache timing analysis while maintaining efficient cache operations.
2Ease of manufacture
If simple address-based cache indexing is used, then hardware implementation ease is improved, but resistance to reverse engineering deteriorates
Solution Approach 1:
The patent replaces the traditional mechanical/address-based indexing system with a cryptographic hash-based indexing system. Instead of directly mapping address bits to cache indices through simple bitwise operations, the system uses cryptographic hash functions to transform addresses into indices. This substitution makes the cache geometry invisible to reverse engineering attempts, as the hash function output appears random and provides no information about the underlying cache structure or address mappings.
3Device complexity
If traditional cache indexing is used, then indexing simplicity is improved, but occurrence of pathological conflicts worsens
Solution Approach 1:
The patent fundamentally changes the indexing parameter from direct address bits to cryptographic hash values. By transforming the index generation process from a linear bitwise operation to a non-linear cryptographic hash function, the patent distributes cache accesses more uniformly across the cache space. This parameter change eliminates pathological conflicts that occur in traditional indexing where specific address patterns systematically collide into the same cache indices, thereby improving cache operation reliability and performance consistency.
Data Source
AI summary
A system, apparatus and method for secure functions and manipulating cache line data. The method includes generating cache block addresses from a subset of bits, i.e. tag bits, of a cache address and hashing the cache block addresses with one or more secure functions that use keys to generate secure indexes.


