Skip to Main Content
The security of computing systems relies on trust in hardware. This trust can no longer be assumed due to vulnerabilities in hardware designs. Security methodologies have been proposed for mitigating these threats, offering a variety of security guarantees and wide variance in terms of design-time and runtime costs. From an engineering standpoint it is not clear which of the plethora of solutions should be applied or how they should be implemented. We develop an engineering process for the practical and lightweight inclusion of untrusted third-party hardware design components. We find that by combining previously proposed techniques, we are able to build a microcontroller that uses each design module as if it were untrusted third-party intellectual property. Our experience supports the surprising claim that implementing a chip with untrusted components is not significantly more difficult than implementing a regular one.