This Article 
 Bibliographic References 
 Add to: 
Side-Channel Attacks on Cryptographic Software
November/December 2009 (vol. 7 no. 6)
pp. 65-68
Nate Lawson, Root Labs
When it comes to cryptographic software, side channels are an often-overlooked threat. A side channel is any observable side effect of computation that an attacker could measure and possibly influence. In the software world, side-channel attacks have sometimes been dismissed as impractical. However, new system architecture features, such as larger cache sizes and multicore processors, have increased the prevalence of side channels and quality of measurement available to an attacker. This article explains three recent side-channel attacks on cryptographic software, exploiting a comparison function, CPU cache timing, and branch prediction logic to recover a secret key. Software developers must be aware of the potential for side-channel attacks and plan appropriately.

1. P. Kocher, "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems," Cryptography Research, 1995; TimingAttacks.pdf.
2. D. Brumley and D. Boneh, "Remote Timing Attacks Are Practical," Proc. 12th Conf. Usenix Security Symp., Usenix Assoc., 2003, p. 1.
3. S.A. Crosby, D.S. Wallach, and R.H. Riedi, "Opportunities and Limits of Remote Timing Attacks," ACM Trans. Information and System Security, vol. 12, no. 3,2009, article 17; .
4. "Timing Attack Tested Successfully: Downgrade from Any Kernel without CPU-Key"; .
5. N. Lawson, "Timing Attack on Google Keyzar," blog, 28 May 2009; .
6. D.A. Osvik, A. Shamir, and E. Tromer, "Cache Attacks and Countermeasures: The Case of AES," Topics in Cryptology—CT-RSA 2006, LNCS 3860, Springer, 2006; pp. 1–20.
7. O. Aciiçimez, Ç.K. Koç, and J.-P. Seifert, "On the Power of Simple Branch Prediction Analysis," Proc. 2nd ACM Symp. Information, Computer and Communications Security, ACM Press, 2006, pp. 312–320.

Index Terms:
cryptography, side channel attack, timing attack, AES, Advanced Encryption Standard, RSA, HMAC, Hash Message Authentication Code, CPU cache, branch prediction logic, multicore, crypto corner
Nate Lawson, "Side-Channel Attacks on Cryptographic Software," IEEE Security & Privacy, vol. 7, no. 6, pp. 65-68, Nov.-Dec. 2009, doi:10.1109/MSP.2009.165
Usage of this product signifies your acceptance of the Terms of Use.