Intellectual property protection (IPP) using obfuscation in C, VHDL, and Verilog coding

Uwe H. Meyer-Baese, Encarnación Castillo, Guillermo Botella, Luis Parrilla, Antonio García · Proceedings of SPIE, the International Society for Optical Engineering/Proceedings of SPIE · 2011

One of the big challenges in the design of embedded systems today is how to combine design reuse and intellectual property protection (IPP). Strong IP schemes such as hardware dongle or layout watermarking usually have a very limited design reuse for different FPGA/ASIC design platforms. Some techniques also do not fit well with protection of software in embedded microprocessors. Another approach to IPP that allows an easy design reuse and has low costs but a somehow reduced security is code "obfuscation." Obfuscation is a method to hide the design concept, or program algorithm included in the C or HDL source by using one or more transformations of the original code. Obfuscation methods include, for instance, renaming identifiers, removing comments or formatting of the code. More sophisticated obfuscation methods include data splitting or merging, and control flow changes. This paper shows strength and weakness of method obfuscating C, VHDL and Verilog code.

Read the paper · More papers on PaperTik