TY - GEN
T1 - Nimble
T2 - 17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023
AU - Angel, Sebastian
AU - Basu, Aditya
AU - Cui, Weidong
AU - Jaeger, Trent
AU - Lau, Stella
AU - Setty, Srinath
AU - Singanamalla, Sudheesh
N1 - Publisher Copyright:
© OSDI 2023.All rights reserved.
PY - 2023
Y1 - 2023
N2 - This paper introduces Nimble, a cloud service that helps applications running in trusted execution environments (TEEs) to detect rollback attacks (i.e., detect whether a data item retrieved from persistent storage is the latest version). To achieve this, Nimble realizes an append-only ledger service by employing a simple state machine running in a TEE in conjunction with a crash fault-tolerant storage service. Nimble then replicates this trusted state machine to ensure the system is available even if a minority of state machines crash. A salient aspect of Nimble is a new reconfiguration protocol that allows a cloud provider to replace the set of nodes running the trusted state machine whenever it wishes—without affecting safety. We have formally verified Nimble’s core protocol in Dafny, and have implemented Nimble such that its trusted state machine runs in multiple TEE platforms (Intel SGX and AMD SNP-SEV). Our results show that a deployment of Nimble on machines running in different availability zones can achieve from tens of thousands of requests/sec with an end-to-end latency of under 3.2 ms (based on an in-memory key-value store) to several thousands of requests/sec with a latency of 30ms (based on Azure Table).
AB - This paper introduces Nimble, a cloud service that helps applications running in trusted execution environments (TEEs) to detect rollback attacks (i.e., detect whether a data item retrieved from persistent storage is the latest version). To achieve this, Nimble realizes an append-only ledger service by employing a simple state machine running in a TEE in conjunction with a crash fault-tolerant storage service. Nimble then replicates this trusted state machine to ensure the system is available even if a minority of state machines crash. A salient aspect of Nimble is a new reconfiguration protocol that allows a cloud provider to replace the set of nodes running the trusted state machine whenever it wishes—without affecting safety. We have formally verified Nimble’s core protocol in Dafny, and have implemented Nimble such that its trusted state machine runs in multiple TEE platforms (Intel SGX and AMD SNP-SEV). Our results show that a deployment of Nimble on machines running in different availability zones can achieve from tens of thousands of requests/sec with an end-to-end latency of under 3.2 ms (based on an in-memory key-value store) to several thousands of requests/sec with a latency of 30ms (based on Azure Table).
UR - http://www.scopus.com/inward/record.url?scp=85175518200&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85175518200&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85175518200
T3 - Proceedings of the 17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023
SP - 193
EP - 208
BT - Proceedings of the 17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023
PB - USENIX Association
Y2 - 10 July 2023 through 12 July 2023
ER -