Skip to main content

CacheQuote: Efficiently recovering long-term secrets of SGX EPID via cache attacks


Fergus Dall, Gabrielle De Micheli, Thomas Eisenbarth, Daniel Genkin, Nadia Heninger, Ahmad Moghimi and Yuval Yarom


University of Lubeck and WPI

University of Pennsylvania

University of Adelaide

Worcester Polytechnic Institute

University of Pennsylvania & University of Maryland

The University of Adelaide


Intel Software Guard Extensions (SGX) allows users to perform secure computation on platforms that run untrusted software. To validate that the computation is correctly initialized and that it executes on trusted hardware, SGX supports attestation providers that can vouch for the user’s computation. Communication with these attestation providers is based on the Extended Privacy ID (EPID) protocol, which not only validates the computation but is also designed to maintain the user’s privacy. In particular, EPID is designed to ensure that the attestation provider is unable to identify the host on which the computation executes. In this work we investigate the security of the Intel implementation of the EPID protocol. We identify an implementation weakness that leaks information via a cache side channel. We show that a malicious attestation provider can use the leaked information to break the unlinkability guarantees of EPID. We analyze the leaked information using a lattice-based approach for solving the hidden number problem, which we adapt to the zero-knowledge proof in the EPID scheme, extending prior attacks on signature schemes.

BibTeX Entry

    author           = {Dall, Fergus and De Micheli, Gabrielle and Eisenbarth, Thomas and Genkin, Daniel and Heninger, Nadia
                        and Moghimi, Ahmad and Yarom, Yuval},
    doi              = {},
    month            = may,
    date             = {2018-5-8},
    year             = {2018},
    title            = {{CacheQuote}: Efficiently Recovering Long-term Secrets of {SGX} {EPID} via Cache Attacks},
    address          = {Amsterdam, NL},
    pages            = {171-191},
    volume           = {2},
    booktitle        = {Workshop on Cryptographic Hardware and Embedded Systems},
    paperurl         = {},
    publisher        = {Springer}