You limited your search to:
- Secure execution environments through reconfigurable lightweight cryptographic components
- 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 sequence of instructions (and data) and if the sequence as well the contents are obfuscated then all the required goals can be achieved. The second problem the authors solve is integrity verification of the software particularly in embedded devices. The authors' solution is based on the intuition that an obfuscated (permuted) binary image without any dynamic traces reveals very little information about the IP of the program. Moreover, if this obfuscation function becomes a shared secret between the verifier and the embedded device then verification can be performed in a trustworthy manner. Cryptographic components form the underlying building blocks/primitives of any secure execution environment. The authors use of reconfigurable components to provide software protection in both Arc3D and TIVA led us to an interesting observation about the power of reconfigurable components. Reconfigurable components provide the ability to use the secret (or key) in a much stronger way than the convention cryptographic designs. This opened up an opportunity for us to explore the use of reconfigurable gates to build cryptographic functions.