Ben Bucksch wrote:
On 08.01.2009 23:15, Nelson B Bolyard wrote:
I encourage people to read through that bug, especially the early comments, before contributing here. (The later comments are mostly "me too")
Esp. because the first are from you (and are dissenting, and therefore important, while agreeing comments are just "me too", right?).

     * Require website owners to continue using the same private key.

This flies in the face of best current practices.

I think the current practices, of the whole PKI system on many levels, are extremely bad. Please be specific and rational in your arguments. "This is how we're doing things so far" or "This is how this system was defined" is not an argument.
Oh, so let's replace it with something that is definately less secure!

Allowing the same private key over an extended time is a question of CA policy. Such allowances are already questionable *CRYPTO* (not PKI) policy. A system that requires the same key is a non-starter. This is crypto 101, right up there with not signing data passed to you in mass by an attacker, or encrypting 2 different streams of data with the same key in a stream cipher.
Certs expire for the same reason that credit cards do. Do you understand why that is?

No, quite frankly, I do not.

First off, my credit cards (VISA, MasterCard) are valid until Jan 1, 2013.

My GPG key expires in 10 years or something, and it hasn't been any problem. My SSH keys also never expire, and that's good. The CA root certs don't expire for 20 years.
Several of these are problem. Debian-weak SSH keys never expire. The risk these keys pose to PKI based apps are small and shrinking. SSH has to depend on actively detecting those keys proactively. Those that weren't detected slowly expire out of the system. It's the built-in safety valve that adds robustness even with a weak revocation model. Debian-weak SSH keys will plague the backwaters of the internet for a long time.

If the private key on the server is secure, all is fine. If somebody breaks into the server and the private key gets known to the attacker, it's being revoked.
The security value of a private key degrades over time. The rate of this effective degradation depends on the usage of the key, the strength, etc. 10-20 years for an RSA 1024 bit key issued today is definitely too long (independent on how it's used). A private key that's stored on a hard drive on a machine should be treated as having a smaller potential life than one stored in secured hardware. A key which many potential people may have access to (including administrators) will have a smaller potential life than one that doesn't.

Re: Revocation

Revocation in any Key system is a hard and expensive problem. PKI's have tools and infrastructures in place to allow this, but even today it's not really turned on everywhere.


--------------------------


There's a more fundamental problem here, though. KCM is popular among people who "know a little security" because it puts the burden of security in the users own hands. It makes sense. I want to control my own destiny. The big secret is few (and I mean a lot fewer than people think) of us are sufficiently diligent enough to use such a scheme on a regular basis.

KCM is good for a single pipe between to fixed and seldom changing computers, which are set up by a conscientious, knowledgeable person. In the day to day operations it is an accident waiting to happen. I use ssh daily. The only way I've found to keep myself honest is to use 'client auth' to make up for the risk posed by using KCM for a many to many connection scenario. In the many to many or the one to many case, KCM trains the user to ignore the warning messages. Machines get reloaded with new operating systems, events cause rekeying, I visit new machines that I don't deal with every day. The whole burden is placed on me to decide if I'm being attacked. 99.9% of the time I get a warning that is benign That .1 % when it's not, I'm now trained to ignore it.... and I know what I'm doing. I know what is going on under the covers. I keep myself safe by never typing a password in an SSH pipe. If I can't make a connection with a cert, it means I'm probably not connecting to the machine I thought.

Mozilla is the same. Users are making lots of connections, often to new sites that they have never visited before. They trash their profiles. They reload their machines. They visit sites from their mom's computers. Even if you could get every website to follow the (poor security) practice of never changing their keys, you are generating so much noise that users will ignore key change warnings.

The only use that I see of KCM is for a small community of users that have some security training and believe that they can manage this system themselves. For those users we have a solution today.... rm {firefox_bin_dir}/nssckbi.dll and add each site as a security exception.

bob

_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to