skip to main content
research-article

Configurable memory security in embedded systems

Published:08 April 2013Publication History
Skip Abstract Section

Abstract

System security is an increasingly important design criterion for many embedded systems. These systems are often portable and more easily attacked than traditional desktop and server computing systems. Key requirements for system security include defenses against physical attacks and lightweight support in terms of area and power consumption. Our new approach to embedded system security focuses on the protection of application loading and secure application execution. During secure application loading, an encrypted application is transferred from on-board flash memory to external double data rate synchronous dynamic random access memory (DDR-SDRAM) via a microprocessor. Following application loading, the core-based security technique provides both confidentiality and authentication for data stored in a microprocessor's system memory. The benefits of our low overhead memory protection approaches are demonstrated using four applications implemented in a field-programmable gate array (FPGA) in an embedded system prototyping platform. Each application requires a collection of tasks with varying memory security requirements. The configurable security core implemented on-chip inside the FPGA with the microprocessor allows for different memory security policies for different application tasks. An average memory saving of 63% is achieved for the four applications versus a uniform security approach. The lightweight circuitry included to support application loading from flash memory adds about 10% FPGA area overhead to the processor-based system and main memory security hardware.

References

  1. Altera Corporation 2008. FPGA Design Security Solution Using a Secure Memory Device Reference Design. Altera Corporation.Google ScholarGoogle Scholar
  2. Alves, T. and Felton, D. 2004. TrustZone: Integrated Hardware and Software Security. ARM White Paper.Google ScholarGoogle Scholar
  3. Anderson, R. 2001. Security Engineering. John Wiley & Sons, Inc., New York, NY.Google ScholarGoogle Scholar
  4. Arbaugh, W., Farber, D., and Smith, J. 1997. A secure and reliable bootstrap architecture. In Proceedings of the IEEE Symposium on Security and Privacy. 65--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Badrignans, B., Elbaz, R., and Torres, L. 2008. Secure FPGA configuration architecture preventing system downgrade. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 317--322.Google ScholarGoogle Scholar
  6. Dietrich, K. and Winter, J. 2008. Secure boot revisited. In Proceedings of the International Conference for Young Computer Scientists. 2360--2365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Dougherty, E. R. and Lotufo, R. A. 2003. Hands-on Morphological Image Processing. SPIE Press, New York, NY.Google ScholarGoogle Scholar
  8. Drimer, S., Güneysu, T., and Paar, C. 2010. DSPs, BRAMs, and a pinch of logic: Extended recipes for AES on FPGAs. ACM Trans. Reconfigurable Technol. Syst. 3, 1, 1--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Elbaz, R., Torres, L., Sassatelli, G., Guillemin, P., Bardouillet, M., and Martinez, A. 2006. A parallelized way to provide data encryption and integrity checking on a processor-memory bus. In Proceedings of the IEEE/ACM International Design Automation Conference. 506--509. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Gassend, B., Suh, G. E., Clarke, D., van Dijk, M., and Devadas, S. 2003. Caches and Merkle trees for efficient memory integrity verification. In Proceedings of the International Symposium on High Performance Computer Architecture. 295--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Heath, C. and Klimov, A. 2006. A foundation for secure mobile DRM embedded security. Wireless Design Magazine, 32--34.Google ScholarGoogle Scholar
  12. LaBrosse, J. 2002. MicroC/OS-II: The Real-Time Kernel. CMP Books, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lee, K. and Orailoglu, A. 2008. Application specific non-volatile primary memory for embedded systems. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. 31--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lie, D., Thekkath, C., and Horowitz, M. 2003. Implementing an untrusted operating system on trusted hardware. In Proceedings of the ACM Symposium on Operating Systems Principles. 178--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. McGrew, D. and Viega, J. 2004. The Galois/Counter Mode of Operation (GCM). Submission to NIST Modes of Operation Process.Google ScholarGoogle Scholar
  16. National Institute of Standards and Technology 2007. Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and (GMAC). National Institute of Standards and Technology. Special publication 800-38D.Google ScholarGoogle Scholar
  17. Pasotti, M., Sandre, G. D., Iezzi, D., Lena, D., Muzzi, G., Poles, M., and Rolandi, P. L. 2003. An application specific embeddable flash memory system for non-volatile storage of code, data and bit-streams for embedded FPGA configurations. In Proceedings of the Symposium on VLSI Circuits. 213--216.Google ScholarGoogle Scholar
  18. Suh, G. E., Clarke, D., Gassend, B., van Dijk, M., and Devadas, S. 2003. Efficient memory integrity verification and encryption for secure processors. In Proceedings of the IEEE/ACM International Symposium on Microarchitecture. 339--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Suh, G. E., O'Donnell, C. W., Sachdev, I., and Devadas, S. 2005. Design and implementation of the AEGIS single-chip secure processor using physical random functions. In Proceedings of the International Symposium on Computer Architecture. 25--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Vaslin, R., Gogniat, G., Diguet, J.-P., Tessier, R., Unnikrishnan, D., and Gaj, K. 2008. Memory security management for reconfigurable embedded systems. In Proceedings of the IEEE Conference on Field Programmable Technology. 153--160.Google ScholarGoogle Scholar
  21. Xilinx Corporation 2005. Lock Your Designs with the Virtex-4 Security Solution. Xilinx Corporation.Google ScholarGoogle Scholar
  22. Xilinx Corporation 2009. Microblaze Processor Reference Guide. Xilinx Corporation.Google ScholarGoogle Scholar
  23. Xilinx Corporation - DS160 2010. Spartan-6 Family Overview. Xilinx Corporation - DS160.Google ScholarGoogle Scholar
  24. Xilinx Corporation - UG526 2010. SP605 Hardware User Guide. Xilinx Corporation - UG526.Google ScholarGoogle Scholar
  25. Yan, C., Rogers, B., Englender, D., Solihin, Y., and Prvulovic, M. 2006. Improving cost, performance, and security of memory encryption and authentication. In Proceedings of the International Symposium on Computer Architecture. 179--190. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Configurable memory security in embedded systems

    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 Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 12, Issue 3
      March 2013
      463 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/2442116
      Issue’s Table of Contents

      Copyright © 2013 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: 8 April 2013
      • Accepted: 1 September 2011
      • Revised: 1 May 2011
      • Received: 1 November 2010
      Published in tecs Volume 12, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader