skip to main content
article

New cache designs for thwarting software cache-based side channel attacks

Published:09 June 2007Publication History
Skip Abstract Section

Abstract

Software cache-based side channel attacks are a serious new class of threats for computers. Unlike physical side channel attacks that mostly target embedded cryptographic devices, cache-based side channel attacks can also undermine general purpose systems. The attacks are easy to perform, effective on most platforms, and do not require special instruments or excessive computation power. In recently demonstrated attacks on software implementations of ciphers like AES and RSA, the full key can be recovered by an unprivileged user program performing simple timing measurements based on cache misses.

We first analyze these attacks, identifying cache interference as the root cause of these attacks. We identify two basic mitigation approaches: the partition-based approach eliminates cache interference whereas the randomization-based approach randomizes cache interference so that zero information can be inferred. We present new security-aware cache designs, the Partition-Locked cache (PLcache) and Random Permutation cache (RPcache), analyze and prove their security, and evaluate their performance. Our results show that our new cache designs with built-in security can defend against cache-based side channel attacks in general-rather than only specific attacks on a given cryptographic algorithm-with very little performance degradation and hardware cost.

References

  1. E. Biham and A. Shamir, "Differential Cryptanalysis of DES-like Cryptosystems," Journal of Cryptology, vol. 4, no. 1, pp.3--72, 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Matsui, "Linear Cryptanalysis Method for DES Cipher", Advances in Cryptology-EUROCRYPT'93 (Lecture Notes in Computer Science no. 765), Springer-Verlag, pp. 386--397, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Paul Kocher, Ruby B. Lee, Gary McGraw, Anand Raghuna-than, and Srivaths Ravi, Security as a New Dimension in Embedded System Design, Proceedings of the Design Automation Conference (DAC), pp. 753--760, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Kocher, J. Jaffe, and B. Jun. Differential power analysis, In Advances in Cryptology--CRYPTO'99, vol. 1666 of Lecture Notes in Computer Science, pp. 388--397. Springer-Verlag, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D.J. Bernstein, "Cache-timing Attacks on AES," available at: http://cr.yp.to/antiforgery/cachetiming-20050414.pdfGoogle ScholarGoogle Scholar
  6. C. Percival, "Cache Missing for Fun and Profit," available at: http://www.daemonology.net/papers/htt.pdfGoogle ScholarGoogle Scholar
  7. D. A. Osvik, A. Shamir and E. Tromer, "Cache attacks and Countermeasures: the Case of AES", Cryptology ePrint Archive, Report 2005/271, 2005.Google ScholarGoogle Scholar
  8. Michael Neve and Jean-Pierre Seifert. Advances on access-driven cache attacks on AES. In SAC'06, to appear.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ernie Brickell and Gary Graunke and Michael Neve and Jean-Pierre Seifert. Software mitigations to hedge AES against cache-based software side channel vulnerabilities. IACR ePrint Archive, Report 2006/052, Feb 2006.Google ScholarGoogle Scholar
  10. P. Shivakumar and N. Jouppi. Cacti 3.0: An integrated cache timing, power, and area model. Technical report, COMPAQ Western Research Lab, 2001.Google ScholarGoogle Scholar
  11. T. Cover and J. Thomas, "Elements of Information Theory," John Wiley & Sons Inc., New York, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M-Sim v2.0, http://www.cs.binghamton.edu/~jsharke/m-sim/Google ScholarGoogle Scholar
  13. Wei-Ming Hu, Lattice scheduling and covert channels, IEEE Symposium on Security and Privacy, 52--61, IEEE, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Daniel Page, Theoretical use of cache memory as a crypt-analytic side-channel, technical report CSTR-02-003, Department of Computer Science, University of Bristol, 2002.Google ScholarGoogle Scholar
  15. Yukiyasu Tsunoo, Etsuko Tsujihara, Kazuhiko Minematsu, Hiroshi Miyauchi, Cryptanalysis of block ciphers implemented on computers with cache, proc. International Symposium on Information Theory and its Applications, pp.803--806, 2002.Google ScholarGoogle Scholar
  16. Yukiyasu Tsunoo, Teruo Saito, Tomoyasu Suzaki, Maki Shigeri, Hiroshi Miyauchi, "Cryptanalysis of DES implemented on computers with cache," Proc. CHES 2003, LNCS 2779, 62--76, 2003.Google ScholarGoogle Scholar
  17. Onur Aciçmez, Werner Schindler, and Çetin Kaya Koç, Cache Based Remote Timing Attack on the AES, to appear in RSA Conference 2007, Cryptographers' Track.Google ScholarGoogle Scholar
  18. D. Page, "Partitioned Cache Architecture as a Side-Channel Defense Mechanism", Cryptology ePrint Archive, Report 2005/280, 2005.Google ScholarGoogle Scholar
  19. X. Zhuang, T. Zhang, and S. Pande, "HIDE: an infrastruc-ture for efficiently protecting information leakage on the address bus", ACM 11thInternational Conference on Architecture Support for Programming Language and Operating Systems, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. New cache designs for thwarting software cache-based side channel attacks

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGARCH Computer Architecture News
          ACM SIGARCH Computer Architecture News  Volume 35, Issue 2
          May 2007
          527 pages
          ISSN:0163-5964
          DOI:10.1145/1273440
          Issue’s Table of Contents
          • cover image ACM Conferences
            ISCA '07: Proceedings of the 34th annual international symposium on Computer architecture
            June 2007
            542 pages
            ISBN:9781595937063
            DOI:10.1145/1250662
            • General Chair:
            • Dean Tullsen,
            • Program Chair:
            • Brad Calder

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 June 2007

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader