Software Partitioning for Protecting High-Performance Code
Small Business Information
632 Broadway, Suite 803, New York, NY, 10012
AbstractCritical technology is increasingly encoded as software, exposing it to risk of loss when deployed on platforms in hostile environments. Because of this, special anti-tamper hardware may be incorporated into a device to prevent access to the software. The platform may also include insecure hardware resources, due to reasons of cost or power. There is a need to structure software in such a way that it can most effectively take advantage of both the protection afforded by the secure hardware and also the computational power provided by the non-secure hardware. In this project, we addressed the issue of protecting high-performance embedded computing (HPEC) code by partitioning it as necessary to execute sensitive portions on anti-tamper hardware. We based our software partitioning approach on Reservoir's R-Stream optimizing C compiler. R-Stream uses an innovative loop transformation framework to perform mapping and optimization of C programs to a variety of high-performance computing platforms. R-Stream is able to parallelize the static control programs that represent most of the high-performance computing application space in a way that is compatible with the goal of partitioning for execution on anti-tamper hardware.
* information listed above is at the time of submission.