Aggregate Authentication Code for Memory Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory protection methods are inefficient in preventing unauthorized alteration of meta-data structures in heap memory, as attackers can corrupt these structures to manipulate memory allocation, necessitating a computationally inexpensive solution to ensure data integrity.
Innovation Solution
A method involving the generation of individual authentication codes for memory elements, combining them into an aggregate authentication code, and storing this code for periodic verification, rather than checking each element individually, which reduces processing resources and ensures data integrity by discarding compromised elements if verification fails.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If individual authentication codes are generated and verified for each memory element on every access, then data integrity protection is strengthened, but computational overhead and processing time increase significantly
Solution Approach 1:
The patent combines multiple individual authentication codes into a single aggregate authentication code that represents the integrity state of multiple memory elements. This aggregate code is verified periodically rather than checking each individual code on every access, thereby maintaining data integrity protection while significantly reducing computational overhead and improving processing efficiency.
2Reliability
If frequent verification of memory element integrity is performed, then security against corruption is improved, but system performance and access speed deteriorate
Solution Approach 1:
The patent implements periodic verification of the aggregate authentication code at predetermined intervals or after a specified number of accesses, rather than verifying each memory element on every access. This periodic approach maintains security against corruption by regularly detecting integrity violations while preserving memory access speed during normal operations between verification points.
3Measurement precision
If comprehensive authentication code verification is performed on all memory elements, then detection precision of corrupted data is maximized, but computational resources are excessively consumed
Solution Approach 1:
The patent extracts the essential integrity information from multiple individual authentication codes and consolidates it into a single aggregate authentication code. This extraction process maintains the ability to detect corrupted data with high precision while dramatically reducing computational resource consumption by verifying one aggregate code instead of multiple individual codes on each access.
Data Source
AI summary
One feature pertains to an efficient algorithm to protect the integrity of a plurality of data structures by computing an aggregate message authentication code (MAC) over the plurality of data structures. An aggregate MAC may be constructed from a plurality of MAC values associated with a plurality of data structures. The aggregate MAC binds the plurality of data structures and attests to their combined integrity simultaneously. Rather than checking the integrity of a data structure when it is accessed, the aggregate MAC is periodically checked or verified, to ascertain the integrity of all data structures. If the aggregate MAC computed is different from the previously stored aggregate MAC, then all data structures that are part of the aggregate MAC are discarded.


