Architecture Support for 3D Obfuscation

Architecture Support for 3D Obfuscation

Date: May 2006
Creator: Gomathisankaran, Mahadevan & Tyagi, Akhilesh
Description: This article discusses architecture support for 3D obfuscation. Abstract: Software obfuscation is defined as a transformation of a program P into T(P) such that the whitebox and blackbox behaviors of T(P) are computationally indistinguishable. However, robust obfuscation is impossible to achieve with the existing software only solutions. This results from the power of the adversary model in DRM which is significantly more than in the traditional security scenarios. The adversary has complete control of the computing node - supervisory privileges along with the full physical as well as architectural object observational capabilities. In essence, this makes the operating system (or any other layer around the architecture) untrustworthy. Thus the trust has to be provided by the underlying architecture. In this paper, the authors develop an architecture to support 3-D obfuscation through the use of well known cryptographic methods. The three dimensional obfuscation hides the address sequencing, the contents associated with an address, and the temporal reuse of address sequences such as in loops (or the second order address sequencing). The software is kept as an obfuscated file system image statically. Moreover, its execution traces are also dynamically obfuscated along all the three dimensions of address sequencing, contents and second order ...
Contributing Partner: UNT College of Engineering
Secure execution environments through reconfigurable lightweight cryptographic components

Secure execution environments through reconfigurable lightweight cryptographic components

Date: 2006
Creator: Gomathisankaran, Mahadevan
Description: This doctoral dissertation discusses secure execution environments through reconfigurable lightweight cryptographic components. Software protection is one of the most important problems in the area of computing as it affects a multitude of players like software vendors, digital content providers, users, and government agencies. There are multiple dimensions to this broad problem of software protection. The most important ones are: 1) protecting software from reverse engineering. 2) protecting software from tamper (or modification). 3) preventing software piracy. 4) verification of integrity of the software. In this thesis the authors focus on these areas of software protection. The basic requirement to achieve these goals is to provide a secure execution environment, which ensures that the programs behave in the same way as it was designed, and the execution platforms respect certain types of wishes specified by the program. The authors take the approach of providing secure execution environment through architecture support. The authors exploit the power of reconfigurable components in achieving this. The first problem the authors consider is to provide architecture support for obfuscation. This also achieves the goals of tamper resistance, copy protection, and IP protection indirectly. The authors' approach is based on the intuition that the software is a ...
Contributing Partner: UNT College of Engineering