[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