Candidate subcircuits for functional module identification in logic circuits
GLSVLSI '00 Proceedings of the 10th Great Lakes symposium on VLSI
Unveiling the ISCAS-85 Benchmarks: A Case Study in Reverse Engineering
IEEE Design & Test
Candidate subcircuit enumeration for module identification in digital circuits
Candidate subcircuit enumeration for module identification in digital circuits
Reverse-engineering a cryptographic RFID tag
SS'08 Proceedings of the 17th conference on Security symposium
Securing netlist-level FPGA design through exploiting process variation and degradation
Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate Arrays
Hi-index | 0.00 |
Protecting circuitry from reverse engineering is extremely important for the protection of intellectual property and critical technologies. A failure to adequately mitigate reverse engineering risks can result in significant consequences. In commercial environments, the consequences include loss of revenue resulting from the removal of content access restrictions, creation of unlicensed copies of a circuit, and intellectual property theft. In military environments, consequences include an adversary's ability to gain valuable knowledge about the structure, function, and operation of the system enabling them to develop countermeasures to defeat or corrupt the system's intended purpose. When critical systems are compromised, organizations may be required to spend millions of dollars and countless labor hours making changes in the system and redesigning new protection circuitry. While there are multiple protection algorithms and schemes which claim to provide protection against reverse engineering, little research exists on developing methods to measure the effectiveness of protections. Component identification is an essential step of the reverse engineering process of circuits which are increasingly being embedded in modern systems. The task of component identification is not trivial and requires significant effort even for relatively small circuits. For this reason, computer tools are often employed to make the analysis of larger circuits possible. In this paper, we discuss the development and implementation of a Java based tool that can be used to identify components in combinational circuits. The use of a component identification tool provides metrics that can be used to differentially evaluate the "strength" of protections within circuits. We introduce the foundational candidate enumeration algorithm, explain the additional techniques required for identifying components in large Boolean circuits, and demonstrate the utility of the method through the analysis of multiple combinational circuits.