Triad: Trusted Timestamps in Untrusted Environments
Gabriel P. Fernandez, Andrey Brito, Christof Fetzer
TL;DR
Triad tackles the absence of durable, absolute timestamps inside untrusted environments by deploying a multi-enclave, multi-node timestamp service that mutually validates running clocks to create a continuous, monotonic timeline with bounded error. It combines SGX-based enclaves and the SCONE runtime to securely exchange encrypted timestamps, while a calibration protocol and kernel-tuning techniques guard against TSC-rate and enclave-exit attacks. The work formalizes trusted-time guarantees, including $|TT_T(t)-t| \le \epsilon$ (R1) and $t_1 < t_2 \Rightarrow TT_T(t_1) < TT_T(t_2)$ (R2), and demonstrates a practical implementation with a three-node Triad cluster and an external failover mechanism. The result is a low-latency, trusted time source suitable for distributed confidential computing, with detailed evaluation of timing error, RTT, and enclave-exit behavior, and clear directions for broader platform support in future work.
Abstract
We aim to provide trusted time measurement mechanisms to applications and cloud infrastructure deployed in environments that could harbor potential adversaries, including the hardware infrastructure provider. Despite Trusted Execution Environments (TEEs) providing multiple security functionalities, timestamps from the Operating System are not covered. Nevertheless, some services require time for validating permissions or ordering events. To address that need, we introduce Triad, a trusted timestamp dispatcher of time readings. The solution provides trusted timestamps enforced by mutually supportive enclave-based clock servers that create a continuous trusted timeline. We leverage enclave properties such as forced exits and CPU-based counters to mitigate attacks on the server's timestamp counters. Triad produces trusted, confidential, monotonically-increasing timestamps with bounded error and desirable, non-trivial properties. Our implementation relies on Intel SGX and SCONE, allowing transparent usage. We evaluate Triad's error and behavior in multiple dimensions.
