A compiler-based approach to data security

  • Authors:
  • F. Li;G. Chen;M. Kandemir;R. Brooks

  • Affiliations:
  • Computer Science and Engineering Department, The Pennsylvania State University, University Park, PA;Computer Science and Engineering Department, The Pennsylvania State University, University Park, PA;Computer Science and Engineering Department, The Pennsylvania State University, University Park, PA;Electrical and Computer Engineering Department, Clemson University, Clemson, SC

  • Venue:
  • CC'05 Proceedings of the 14th international conference on Compiler Construction
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

With the proliferation of personal electronic devices and embedded systems, personal and financial data is more easily accessible. As a consequence, we also observe a proliferation of techniques that attempt to illegally access sensitive data without proper authorization. Due to the severe financial and social ramifications of such data leakage, the need for secure memory has become critical. However, working with secure memories can have performance, power, and code size overheads since accessing a secure memory involves additional overheads for encryption/decryption and/or password checks. In addition, an application code may need to be restructured to work under such a memory system. In this paper, we propose a compiler-directed strategy to generate code for a secure memory based embedded architecture. The idea is to let the programmer mark certain data elements, called the seed elements, as secure (i.e., need to be stored in secure memory), and let the compiler determine the remaining secure elements automatically. We also address the problem of code size increase due to our strategy. The experimental results obtained through simulations clearly show that the proposed approach is effective in reducing the total secure memory size. The results also indicate that it is possible to reduce the resulting code size increase by clustering accesses to secure memory.