Abstract
Implementations of cryptographic libraries have been scrutinized for secret-dependent execution behavior exploitable by microarchitectural side-channel attacks. To prevent unintended leakages, most libraries moved to constant-time implementations of cryptographic primitives. There have also been efforts to certify libraries for use in sensitive areas, like Microsoft CNG and Botan, with specific attention to leakage behavior. In this work, we show that a common oversight in these libraries is the existence of utility functions, which handle and thus possibly leak confidential information. We analyze the exploitability of base64 decoding functions across several widely used cryptographic libraries. Base64 decoding is used when loading keys stored in PEM format. We show that these functions by themselves leak sufficient information even if libraries are executed in trusted execution environments. In fact, we show that recent countermeasures to transient execution attacks such as LVI ease the exploitability of the observed faint leakages, allowing us to robustly infer sufficient information about RSA private keys with a single trace. We present a complete attack, including a broad library analysis, a high-resolution last level cache attack on SGX enclaves, and a fully parallelized implementation of the extend-and-prune approach that allows a complete key recovery at medium costs.
Author supplied keywords
Cite
CITATION STYLE
Sieck, F., Berndt, S., Wichelmann, J., & Eisenbarth, T. (2021). Util::Lookup: Exploiting Key Decoding in Cryptographic Libraries. In Proceedings of the ACM Conference on Computer and Communications Security (pp. 2456–2473). Association for Computing Machinery. https://doi.org/10.1145/3460120.3484783
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.