Computer Security ESORICS 2016
Software implementations of block ciphers are widely used to perform critical operations such as disk encryption or TLS traffic protection. To speed up cipher execution, many implementations rely on pre computed lookup tables, which makes them vulnerable to cachetiming attacks on modern processors. For time driven attacks, the overall execution time of a cipher is sufficient to recover the secret key. Testing cryptographic software on actual hardware is consequently essential for vulnerability and risk assessment. In this work, we investigate the efficient and robust evaluation of cryptographic software on modern processors under a time driven attack. Using a practical case study, we discuss necessary adaptations to the original attack and identify promising new micro architectural side channels for it. To leverage the leakage of multiple side channels, we propose a simple, heuristic way to combine their corresponding attacks. As an additional benefit, combined attacks simplify a comprehensive evaluation of cryptographic software across multiple different processors. We finally formulate practical evaluation suggestions based on the results of our case study.
Lecture Notes in Computer Science