This is a spin of from my question on security.se. To give more context:
If I have a threat model where
- wants to corrupt computation or steal information
- does not want to be noticed at all (or at least until I made sensitive computation)
- knows the software I use
- does lie about and modify higher hardware such as CPUs before handing it out
- can not access the hardware directly later
- want to compute correctly and secretly (or and at least prevent theft of sensitive information)
- want to exchange information with the outside
- have access to mathematically verified software (and additionally have access to clean hardware for Bootstrapping only)
- can check lower hardware such as wires for manipulation and can repair or rewire
- can not check higher hardware for manipulation
In brackets (...) are some weakened circumstances.
Manipulation of hardware by malicious manufacturers is problematic attack vector in the chain of trust. My idea is to use simple verifiable parts to control the smart complex parts (e.g. compare output of confused CPUs). You can read it if you are interested. It is my main question. It links to the spin-offs and is updated.
Before the edit of the question I thought that it is simple to make an corrupt IC act intelligently (e.g. a corrupt XOR gate could output 0 at certain times. That says the input is the same. This could be triggered after it sees a certain pattern.) But user The Photon explains that you would need on the order 10x as many gates as you need for just the XOR and that would be visible in the midst of 2 or 3 gates. But there seem to be different opinions by other users. It would be useful if I could use IC for a design.
After many edits the question is now specific: It asks about designs that can be used to make it difficult to subvert IC (or transistors or diodes) for a malicious manufacturer undetected. State of the art methods would be good information.
Please consider answering for the method: In what ways could the malicious manufacturer hide a modification? How can you detect that?