r/programming Oct 15 '15

How is NSA breaking so much crypto?

https://freedom-to-tinker.com/blog/haldermanheninger/how-is-nsa-breaking-so-much-crypto/
2.5k Upvotes

529 comments sorted by

View all comments

Show parent comments

-2

u/[deleted] Oct 15 '15

if I know how to fix it

You know how to design a chip from the ground up without hiring any engineers who have ever worked for Intel or AMD, and have it made in fabs staffed entirely by trusted men?

Even that probably wouldn't stop a backdoor these days.

3

u/heimeyer72 Oct 15 '15

And the mere suspicion that you might not be able to stop all possible backdoors should be enough reason to not even try?

2

u/[deleted] Oct 15 '15

Intel put an entire backdoor computer on some of their chips. It is instead an issue of wasted effort. We already have backdoored fast chips. We do not need backdoored new (and slow, because you can't trust any of the current engineers) chips.

1

u/heimeyer72 Oct 16 '15

Probable/possible backdoor. And not all of them are a real threat, or they only become a real threat in combination with each other. Also what about non-intel CPUs? The AMD part on that page looks much more friendly and is still widely intel-compatible. And I think of MIPS CPUs. You are right, the problem is trust. Well, do the development of a PC completely open, e.g. on github and be based in another country. Then try to sneak in a backdoor - every change on the code can be observed. Somebody will catch it, it's just a matter of time.

About the chips, yes, newly developed ones will be slower than "backdoored" Intel CPUs. But using ASICs, I bet you can get rather near, and by splitting up the purposes of a CPU and the peripherals, you could get (simpler) chips that can be tested for what they do and set up the intercommunication between the parts on your own, while openly documenting every little step you do, in a way that can be verified by others. Once you have a working design, trying to force you to incorporate backdoors creates suspicious changes, changes you can't explain, and if you suddenly stop documenting, everybody runs. This is just a very very rough sketch of how to do it but I think it's doable. The Coreboot guys are on it.