Secure Timer Application for Anti-Rollback Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Networked computing devices, such as smartphones and wearables, face challenges in maintaining reliable and trustworthy real-time clock (RTC) values due to their accessibility by malicious applications, which can roll back or manipulate RTC values to avoid time-based service expiration.
Innovation Solution
A system and method utilizing a trusted execution environment (TEE) and secure timer application to determine and store initial and updated reference time values based on RTC values, ensuring anti-rollback protection by leveraging a trusted memory and remote attestation server to verify timestamp certificates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If RTC is made accessible through operating system framework, then ease of operation is improved, but reliability deteriorates due to manipulation by malicious applications
Solution Approach 1:
The system divides the execution environment into two separate domains: a normal execution environment where applications operate and a trusted execution environment (TEE) where timekeeping operations occur. This segmentation isolates the RTC from direct application access while maintaining operational functionality through controlled interfaces.
Solution Approach 2:
A secure timer application acting as an intermediary is introduced between the RTC and other system components. This intermediary operates within the TEE, verifying timestamp certificates and preventing direct manipulation by malicious applications while still enabling time-based services.
2Reliability
If RTC values are protected from access, then reliability is improved, but ease of operation deteriorates due to restricted accessibility
Solution Approach 1:
The secure timer application serves as a controlled intermediary that manages access to RTC values. It verifies timestamp certificates and provides time information to authorized components through secure interfaces, maintaining both integrity and operational accessibility.
Solution Approach 2:
Timestamp certificates are generated and verified in advance by the secure timer application within the TEE. This preliminary verification ensures that time values are authenticated before being used by time-based services, preventing manipulation while enabling efficient access.
3Device complexity
If decentralized timekeeping architecture is used, then device complexity is reduced, but reliability deteriorates due to susceptibility to rollback attacks
Solution Approach 1:
The timekeeping system is segmented into a simple decentralized RTC for time generation and a secure TEE component for verification. This division maintains architectural simplicity while adding security through the trusted execution environment that prevents rollback attacks.
Solution Approach 2:
The system implements preliminary anti-action by verifying timestamp certificates before accepting time values. This preemptive verification within the TEE counteracts potential rollback attacks, ensuring that even if RTC values are manipulated, the verification process detects and rejects invalid timestamps.
Data Source
AI summary
A method for providing an anti-rollback secure timer service includes determining, at a device which includes a processor providing a trusted execution environment (TEE), a trusted memory, and a real time clock (RTC) accessible through an operating system of the device, an initial reference time value, by a secure timer application running in the TEE, the initial reference time value determined based on an initial value of the RTC obtained during booting of the device and a time delta value. The method further includes determining an updated reference time value based on the initial reference time value, a second value of the RTC, and a previously stored old reference time value, determining an updated time delta value based on the second value of the RTC and the updated reference time value, and storing the updated time delta value and the updated reference time value in the trusted memory.


