TEE Monotonic Counter Setup Using Cache Eviction Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current monotonic counter services in Trusted Execution Environments (TEEs) require an external trusted party for setup, which compromises security and resource efficiency, and are vulnerable to forking attacks like rollback and cloning.
Innovation Solution
A method for setting up a group of processes in TEEs that generate and exchange cryptographic key-pairs without an external trusted party, ensuring data written to a cache location is not evicted, and implementing a distributed monotonic counter service to enhance security and computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an external trusted party is used for setup, then security is compromised, but setup simplicity is improved
Solution Approach 1:
The system enables processes to autonomously perform setup procedures by writing data to shared cache locations and monitoring for evictions without requiring external trusted parties. Each process independently validates the presence of other processes through cache monitoring, eliminating dependency on external setup infrastructure.
Solution Approach 2:
The shared cache location acts as an intermediary mechanism that enables secure communication and validation between processes. By monitoring cache evictions, processes can indirectly verify each other's presence and establish trust without direct interaction or external coordination.
2Reliability
If setup procedures are performed sequentially, then security is maintained, but productivity is reduced
Solution Approach 1:
Processes perform preliminary actions by writing their identifiers to shared cache locations before formal setup begins. This preliminary presence indication enables other processes to detect and validate them, allowing parallel setup execution while maintaining security through pre-established cache-based verification.
Solution Approach 2:
The system implements feedback mechanisms where processes continuously monitor cache locations for eviction events. This feedback loop provides real-time information about other processes' presence and status, enabling coordinated parallel setup while maintaining security through ongoing validation.
3Reliability
If cache monitoring is continuously performed, then reliability of setup validation is improved, but energy consumption increases
Solution Approach 1:
Instead of continuous monitoring, processes perform periodic cache validation checks at strategically chosen intervals. This periodic approach maintains adequate setup validation reliability while significantly reducing energy consumption compared to continuous monitoring, as the cache-based mechanism provides persistent presence information between checks.
Data Source
AI summary
The present invention provides a computer-implemented method for providing a service to a trusted execution environment (TEE). A data item is written by a process running in the TEE to a pre-defined cache location. The data item is monitored to determine whether it is evicted from the pre-defined cache location. A setup procedure is accepted as complete based on the data item not being evicted from the pre-defined cache location. The present invention can be used in a variety of applications including, but not limited to, several anticipated use cases in cloud services, machine learning, and medical/healthcare. This invention can also provide lower access times if optimized for performance.


