[EROS-Arch] Re: [E-Lang] Re: Interaction Design for
End-UserSecurity
Mark S. Miller
markm@caplet.com
Thu, 05 Apr 2001 07:54:51 -0700
At 06:52 AM Thursday 4/5/01, Jonathan S. Shapiro wrote:
>Nothing's ever perfect.
Very bad slogan, especially in this context. It lends support to the most
dangerous common misunderstanding about computer security: that it's always
necessarily vulnerable to the next yet cleverer hacker.
In fact, many things in computer security may be perfect. What usually
cannot be perfect is our knowledge of whether they're perfect. For example,
at some point the EROS kernel may be perfectly secure. However, its absence
of bugs doesn't give us knowledge that it has no bugs. Just lack of
knowledge of bugs over increasing periods of time, leading to increasing
confidence.
EROS itself is software. Software, like logic, exists in a mathematical
world in which perfection is possible, though knowledge of perfection is
damned difficult. Does NP == P?
However, to be useful and give real security, this mathematical world must
be embedded in the physical world. Software must be run on digital logic
diagrams, which again are mathematical abstractions where perfection is
possible. But these must be run on messy analog electronic hardware like
transistors. This embedding in physical substance is where perfection, even
perfection we don't know we've achieved, starts to look really hard to
reach. The above scenarios are hard largely because they involve this
physical world.
We share an unprovable belief that physical substance is itself perfectly
described by pure mathematical abstraction called laws of physics. It may
be the case, but we have no way to obtain knowledge that it is the case, or
what precisely these laws of physics are. However, over time we have
reasons to believe we're working with ever better guesses. Unfortunately,
our current best guesses, with its quantum uncertainty, its tantalizing
possibility of an exponential speedup for some search problems, and most of
all its pervasive non-locality, lead to almost nothing but despair that a
perfectly secure embedded of secure software in physical substance can be
achieved.
However, we've been thinking hard about this for no more than a few decades,
so this despair is premature. Just as logic designers have invented design
rules that give us confidence in the integrity of our embedding of the
digital logic gate in solid state electronics, by giving our uncertainty a
wide enough berth, we may yet develop broader design rules for containing
the messiness that physics currently hands us.
To return to the example at hand, if we were trying to build a true opaque
box, in which all unencrypted sensitive information exists only inside the
tamper detecting shell, this would seem to work if such a shell is
achievable. Drexler and I once went through an exercise of trying to
conceive of opaque box designs that could be build with current technology
that could withstand a nanotech attack. One design has a large cloud or
bubble chamber (I don't remember which -- I'm not the physics guy) between
the outer and inner parts of the shell, and the computer itself magnetically
suspended within the inner shell. The cloud or bubble chamber is constantly
monitored by optical sensors on the inner shell for signs of intrusion by
something substantially larger than an individual particle. When it thinks
it's detected one, it sets off the explosives, destroying the computer as
well as any escaping intruders carrying sensitive information.
Now this was never critically examined, and it has certain, ahem,
practicality problems. But it may be a perfect physical embedding. We
couldn't think of a workable attack on it.
Cheers,
--MarkM