TriHaRd: Higher Resilience for TEE Trusted Time
Matthieu Bettinger, Sonia Ben Mokhtar, Pascal Felber, Etienne Rivière, Valerio Schiavoni, Anthony Simonet-Boulogne
TL;DR
Trusted time in TEEs is threatened by hosts that can manipulate clock speed and offset. TriHaRd proposes a Byzantine‑resilient, four‑protocol approach (A–D) that synchronizes clocks with a TA, monitors local TSC behavior, verifies cross‑node clock consistency, and serves timestamps only from healthy nodes. Empirical results show TriHaRd achieves sub‑millisecond drift, near‑NTPT tolerance, and high availability while mitigating attacks that cripple Triad, both in single‑ and multi‑machine deployments. This work advances practical, CPU‑level trusted time with strong resilience guarantees and an openly available artifact for reproducibility.
Abstract
Accurately measuring time passing is critical for many applications. However, in Trusted Execution Environments (TEEs) such as Intel SGX, the time source is outside the Trusted Computing Base: a malicious host can manipulate the TEE's notion of time, jumping in time or affecting perceived time speed. Previous work (Triad) proposes protocols for TEEs to maintain a trustworthy time source by building a cluster of TEEs that collaborate with each other and with a remote Time Authority to maintain a continuous notion of passing time. However, such approaches still allow an attacker to control the operating system and arbitrarily manipulate their own TEE's perceived clock speed. An attacker can even propagate faster passage of time to honest machines participating in Triad's trusted time protocol, causing them to skip to timestamps arbitrarily far in the future. We propose TriHaRd, a TEE trusted time protocol achieving high resilience against clock speed and offset manipulations, notably through Byzantine-resilient clock updates and consistency checks. We empirically show that TriHaRd mitigates known attacks against Triad.
