CCS2022

ENGRAFT: Enclave-guarded Raft on Byzantine Faulty Nodes

Weili Wang, Sen Deng, Jianyu Niu, Michael K. Reiter, Yinqian Zhang

19 citations

Abstract

This paper presents the first critical analysis of building highly secure, performant, and confidential Byzantine fault-tolerant (BFT) consensus by integrating off-the-shelf crash fault-tolerant (CFT) protocols with trusted execution environments (TEEs). TEEs, like Intel SGX, are CPU extensions that offer applications a secure execution environment with strong integrity and confidentiality guarantees, by leveraging techniques like hardware-assisted isolation, memory encryption, and remote attestation. It has been speculated that when implementing a CFT protocol inside Intel SGX, one would achieve security properties similar to BFT. However, we show in this work that simply combining CFT with SGX does not directly yield a secure BFT protocol, given the wide range of attack vectors on SGX. We systematically study the fallacies in such a strawman design by performing model checking, and propose solutions to enforce safety and liveness. We also present Engraft, a secure enclave-guarded Raft implementation that, firstly, achieves consensus on a cluster of 2𝑓 + 1 machines tolerating up to 𝑓 nodes exhibiting Byzantine-fault behavior (but well-behaved enclaves); secondly, offers a new abstraction of confidential consensus for privacy-preserving state machine replication; and finally, allows the reuse of a production-quality Raft implementation, BRaft, in the development of a highly performant BFT system. CCS CONCEPTS • Security and privacy → Distributed systems security; Formal security models.