This Article 
 Bibliographic References 
 Add to: 
Architecture Support for 3D Obfuscation
May 2006 (vol. 55 no. 5)
pp. 497-507
Software obfuscation is defined as a transformation of a program {\cal P} into {\cal T}({\cal P}) such that the whitebox and blackbox behaviors of {\cal T}({\cal 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 Digital Rights Management systems, 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, we develop an architecture to support 3D obfuscation through the use of well-known cryptographic methods and show how it provides copy-protection, IP-protection, and tamper-resistance.

[1] “Business Software Alliance, Eighth Ann. BSA Global Software Piracy Study,” Proc. Trends in Software Piracy 1994-2002, 2003.
[2] “Next-Generation Secure Computing Base,” 2003,
[3] “Trusted Platform Module,” TCPA, 2003.
[4] “TPM Design Principles— Version 1.2,” Oct. 2003.
[5] S.R. White and L. Comerford, “ABYSS: An Architecture for Software Protection,” IEEE Trans. Software Eng., vol. 16, no. 6, pp. 619-629, June 1990.
[6] D. Lie, C.A. Thekkath, M. Mitchell, P. Lincoln, D. Boneh, J.C. Mitchell, and M. Horowitz, “Architectural Support for Copy and Tamper Resistant Software,” Proc. Int'l Conf. Architectural Support for Programming Languages and Operating Systems, pp. 168-177, 2000.
[7] D. Aucsmith, “Tamper Resistant Software: An Implementation,” Information Hiding, pp. 317-333, 1996.
[8] C.S. Collberg and C.D. Thomborson, “Watermarking, Tamper-Proofing, and Obfuscation-Tools for Software Protection,” IEEE Trans. Software Eng., vol. 28, no. 8, pp. 735-746, Aug. 2002.
[9] X. Zhuang, T. Zhang, and S. Pande, “HIDE: An Infrastructure for Efficiently Protecting Information Leakage on the Address Bus,” Proc. Int'l Conf. Architectural Support for Programming Languages and Operating Systems, pp. 72-84, 2004.
[10] O. Goldreich and R. Ostrovsky, “Software Protection and Simulation on Oblivious RAMs,” J. ACM, vol. 43, no. 3, pp. 431-473, 1996.
[11] “DS5002 Secure Microprocessor Chip,” Dallas Semiconductor Mar. 2003.
[12] M.G. Kuhn, “Cipher Instruction Search Attack on the Bus-Encryption Security Microcontroller DS5002FP,” IEEE Trans. Computers, vol. 47, no. 10, pp. 1153-1157, Oct. 1998.
[13] C. Collberg, C. Thomborson, and D. Low, “A Taxonomy of Obfuscating Transformations,” Technical Report 148, Dept. of Computer Science, Univ. of Auckland, July 1997.
[14] C. Linn and S.K. Debray, “Obfuscation of Executable Code to Improve Resistance to Static Disassembly,” Proc. ACM Conf. Computer and Comm. Security, pp. 290-299, 2003.
[15] E. Fredkin and T. Toffoli, “Conservative Logic,” Int'l J. Theoretical Physics, vol. 21, nos. 3/4, Apr. 1982.
[16] R. Bennett and R. Landauer, “Fundamental Physical Limits of Computation,” Scientific Am., pp. 48-58, July 1985.
[17] T. Toffoli, “Reversible Computing,” Technical Report MIT/LCS/TM151/1980, MIT Laboratory for Computer Science, 1980.
[18] A. DeHon, “DPGA-Coupled Microprocessors: Commodity ICs for the Early 21st Century,” Proc. IEEE Workshop FPGAs for Custom Computing Machines, D.A. Buell and K.L. Pocek, eds., pp. 31-39, 1994.
[19] HMAC: Internet RFC 2104, Feb. 1997.
[20] B. Gassend, D. Clarke, M. van Dijk, and S. Devadas, “Silicon Physical Random Functions,” Proc. Ninth ACM Conf. Computer and Comm. Security, pp. 148-160, 2002.
[21] J.G. Dyer, M. Lindemann, R. Perez, R. Sailer, L. vanDoorn, S.W. Smith, and S. Weingart, “Building the IBM 4758 Secure Coprocessor,” IEEE Computer, vol. 34, no. 10, pp. 57-66, Oct. 2001.
[22] “Is Your FPGA Design Secure?” XCELL J. Online, 2003.
[23] D. Burger and T.M. Austin, “The SimpleScalar Tool Set, Version 2.0,” Technical Report 1342, Dept. of Computer Science, Univ. of Wisconsin-Madison, 1997.
[24] Z. Cvetanovic and R.E. Kessler, “Performance Analysis of the Alpha 21264-Based Compaq ES40 System,” Proc. Int'l Symp. Computer Architecture, pp. 192-202, 2000.
[25] Intel 80200 Processor Based on Intel XSCALE Microarchitecture Datasheet, Jan. 2003.
[26] Specbench: SPEC 2000 Benchmarks, 2002.
[27] S. Chow, Y. Gu, H. Johnson, and V.A. Zakharov, “An Approach to the Obfuscation of Control-Flow of Sequential Computer Programs,” Proc. Int'l Security Conf. Lecture Notes in Computer Science, vol. 2200, pp. 144-155, 2001.

Index Terms:
Obfuscation, digital rights management, secure systems architecture.
Mahadevan Gomathisankaran, Akhilesh Tyagi, "Architecture Support for 3D Obfuscation," IEEE Transactions on Computers, vol. 55, no. 5, pp. 497-507, May 2006, doi:10.1109/TC.2006.68
Usage of this product signifies your acceptance of the Terms of Use.