[Cryptography] Secure erasure

Kent Borg kentborg at borg.org
Tue Sep 13 12:19:16 EDT 2016


On 09/12/2016 05:01 AM, Peter Gutmann wrote:
> What I do when I'm asked to audit code is to
> look for the crypto, ignore it, and look right next to the crypto itself to
> find all the mistakes being made in applying and managing it.  So it's a
> beacon to use for finding vulnerabilities.

That is wonderful.


The idea that it isn't the locks that are defective but how they are 
mis-installed in the door (and the door mis-installed in the wall, and 
the wall mis-installed...) reminds me of an ancient quip, which 
Wikiquote tells me is Weinberg's Second Law:

     If builders built buildings the way programmers wrote programs,
     then the first woodpecker that came along would destroy civilization.

That was a long time ago. Since that was coined things have only gotten 
worse as we choke on complexity (OPM didn't even know what servers it 
had), and now we are automating the creation of more complexity. With 
Docker and Kubernetes enormous packages can be efficiently poured into 
scads of virtual computers with a few clicks. Even if people knew how to 
deploy the crypto bits, they don't know what is in the rest of their 
systems, there is no way all of those subsystems are ever composed in 
any sensible way. Not to mention all the buffer-overflows pre-written 
for us inside all those subsystems.

Once upon a time, long ago, I was on a team of three programmers and we 
programmed up everything it took to do one of the first computerized 
scanning electron microscopes. (It was a cool machine, it could look at 
things like mayonnaise. A scanning electron microscope...looking at a 
mushy insulator!) Sure, we bought an RTOS and maybe a TIFF library, but 
everything else was homemade. The result was a naturally lean system*, 
we knew what was in it, a sane basis for making a secure system. (In 
that pre-internet era it was well air-gapped and naturally dang secure.)

* It had to be lean, computer power wasn't infinite back then. Today my 
Pebble watch (the lean smartwatch) probably has a more powerful CPU and 
about the same RAM as did that 68000 VME system.

But that was 30-years ago. Time passes, and there has been a qualitative 
change.

Now we build systems by gathering up the most "powerful" (aka featuritis 
plagued) subsystems we have heard of, tinker with config files, write 
some code until we can get the monstrosity to do things, and hire a 
"designer" to make it look flashy. And not just web stuff, have you 
looked at the size of that "clean slate" project AOSP (the open source 
parts of Android)? It takes hours to compile, on a fast machine. 
Millions of lines of dangerous code.

KISS is only receding, and with it any hope of crafting secure systems. 
It has to be possible to do something about this, because I think I see 
more woodpeckers gathering.

What difference does the crypto make in these circumstances?

-kb



More information about the cryptography mailing list