Compressed Integrity Check Counters for Memory Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in providing effective data integrity and freshness due to large counter sizes leading to deep integrity trees, which result in increased overhead in operations and storage, while using smaller counters may lead to security degradation by ignoring overflows and repeating counter values.
Innovation Solution
Implementing compressed integrity check counters using small counters that provide short-term freshness, where the combination of counter values and keys ensures data protection, and counters are reset with new keys to prevent overflows, utilizing a Generalized Multi-Dimensional Counter (GMDC) to reduce memory overhead and integrity tree depth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If large counters are used to prevent overflow and maintain security, then security is improved, but integrity tree depth increases leading to increased operational overhead and storage requirements
Solution Approach 1:
The patent segments the single large counter into multiple smaller counters organized in a tree structure. Each node in the integrity tree contains a small counter, and the tree is organized in levels where parent counters aggregate information from child counters. This segmentation allows the system to use small counters throughout while maintaining security through the hierarchical structure, resolving the contradiction between counter size and security.
Solution Approach 2:
The patent transitions from a one-dimensional approach (single large counter) to a multi-dimensional hierarchical structure (integrity tree with multiple levels and branches). By adding the dimension of hierarchical organization, the system can use small counters at each node while the overall structure provides the security equivalent of a large counter, thus reducing integrity tree depth overhead while maintaining security.
2Quantity of substance
If small counters are used to reduce memory overhead and integrity tree depth, then storage efficiency is improved, but security degrades due to counter overflow and repeating values
Solution Approach 1:
By segmenting the counter system into multiple small counters arranged in a tree, the patent achieves both goals: small counters reduce memory overhead at each node, while the hierarchical aggregation across the tree structure prevents overflow and maintains security. The segmentation distributes the counting function across many small units rather than relying on a single large unit.
Solution Approach 2:
The patent merges multiple small counters at parent nodes to create an aggregated counter value. This combining operation allows the system to use small counters throughout the tree (reducing individual storage requirements) while the merged result at each level provides the overflow protection needed for security, thus resolving the contradiction between small counter size and security reliability.
3Reliability
If counters are stored in memory to provide freshness, then data integrity is improved, but read/write operations incur additional overhead
Solution Approach 1:
The patent extracts the counter data from being stored alongside user data in the same memory locations. Instead, counters are stored separately in the integrity tree structure, and only counter verification (not the counters themselves) is performed during read/write operations. This extraction reduces the overhead of storing and managing counters while maintaining data integrity through the separate integrity verification mechanism.
Solution Approach 2:
The integrity tree acts as an intermediary structure between the user data and the freshness verification mechanism. Rather than directly storing and managing counters with user data (which incurs overhead), the patent introduces the integrity tree as a mediator that provides freshness verification through its hierarchical structure, reducing the direct overhead on read/write operations while maintaining data integrity.
Data Source
AI summary
System and techniques for compressed integrity check counters in memory are described herein. A set of counters may be maintained for data areas in memory. A respective counter is the set of counters is used to provide a variance to encryption operations on a corresponding data area. The respective counter is each time data is modified in the corresponding data area. The respective counter implemented by a generalized multi-dimensional counter (GMDC). In response to a trigger, a counter reset is performed on the set of counters. The counter reset may include refreshing the corresponding data area using a new key and resetting the respective counter to a default value in response to the refresh.


