On Wed, Dec 05, 2007 at 08:46:16AM -0800, new_guy wrote:

> Can you dismiss PKI

Seems they do.

The problem of signing code does not remove the problem
of checking the signature.

When you sign code and when you ask developers to do so,
they need to own some private key which will let you check
on the other side with a public key.

This private key will have to be very protected. Now,
what happens if there's a problem and that key is lost
or stolen ? And more specifically, what will happen if this
very trouble happens and no ones does see it ? The key can
be stolen without anyone knowing and then ? Of course, a
blatant and direct hack will be detected but someone who does
steal a private key is very cautious in acting as if the key
is still secure (exactly like the Allies were able to decipher
Enigma encoded messages because of re-use of IV-alike blocks
by german submarine crypto responsables or predictible IV-alike
according to the date on calendar : the Allies could read a lot
but did not act on most and let some ships go down because they
needed that secret, being able to decipher, to be kept a secret
in order to remain a strategical advantage).

You have two main things here. The code signing can be used
in the developing process to only let developers add code
(this would be another layer over the authentication that already
does exist when they do cvs commits to the OpenBSD source tree)
and that's Theo (and his developers) choice. If the technology
is available and if those clever guys dont use it, I think there's
a *hint* there. History has proven Theo and his folks do know
a lot about security and especially its culture.

Then, you have the distribution itself. Having the hashes
stored at the same place as the files itself is not the best
thing because if someone is able to change a file on a FTP
(be it an official or non official ftp repository) I would hope
this cracker will be clever enough to also update the hash files.

Having the hashes being signed in some way could help if they
are stored at the same place as binary or sources files, and if
it's a writable media. Ok. Why not. But how many people are
really going to download sources and/or binaries and have
a gnupg locally installed PLUS having the public key that goes
with the signing private key and are going to check ? Very, very
few.

If you want this to work, it has to be automated. Otherwise,
it's going to be a lot of work, a lot of time spent by people
that are quite busy and not for a lot of people on the other
side that will really use it.

And here comes the head of the nightmare snake we all know
about : implementation.

Security is a good thing to have. Ideas that can improve it
too. But implementation is critical, as it's very often a weak
point to attack (remember Netscape's PRNG generator used
to attack its SSL ?)

And if I remember correctly, Theo often said that if you do
think a feature is missing, you should code and shut up and
when it's working, tell the people about "hey guys I did start
from OpenBSD and did this and that to improve the distribution
security, how about using it now since it works and it's a real
friendly license ?"

I do not think thus that adding signing to sources will help
that much and if it does, the openbsd devs will do it if it's
really a good thing (openbsd, openssh.. those guys fucking
now what they are doing man..)

Signing the hashes could help but you do know very few
people are really going to check those.

And when you do binary installation, you have hashes of the
packages (source and binary) that are used and automatically
checked when using ports. This is good because it is systematic
and automated. But the problem of trust remains : a signature
proves nothing. It just tells you that a package is indeed
signed by someone you probably dont personally know and you
should ask yourself if you trust him/her.

And if it comes to a trust problem, well don't use it.
History did prove them right and serious and that's enough
for me.

And I trust my backups first or before anything else.

-- 
unzip ; strip ; touch ; grep ; find ; finger ; mount ; fsck ; more ;
yes ; fsck ; umount ; sleep

Reply via email to