Paul Hoffman wrote: > At 2:29 PM -0700 9/22/08, Nelson B Bolyard wrote: >> Ian G wrote, On 2008-09-22 09:45:
>> > * Naming - any constraints? >>> + O >>> + CN >>> + OU - optional? >>> + Firefox 3 displays O whereas Thunderbird displays CN. >>> What is the preference here? >>> Most software seems to prefer CN? >> It depends on the purpose for which the cert is being used. > > But Ian was asking about *root certs*. The CN in a root cert is > really the "common name" of the entity who is the that root authority. Sure, but I took that as "no special constraints" :) > Ian: are you saying that Firefox and Thunderbird show different > fields for the names of root certs? Yes. If you go to some website, with Firefox it shows the O field as the primary or leading Name field. For example http://financialcryptography.com will show: Verified by: Root CA on the transparent dropdown new-fangled customs dude box, and the same thing in the More Info dialog. http://paypal.com/ will show the Verified by: VeriSign, Inc., In each case the the certificate reveals the O= as the field with that info. Then, Thunderbird, if you click on the yellow pen for a signed email, will show: Certificate issued by: CA Cert Signing Authority And the "View Signature Certificate" indicates that this is the CN field of the same root as above. Some comments: CAcert people have tested mostly non-windows stuff and suggest that CN is more popular in this role. FWIW. I added an attachment of Tb's drop-down, but it will probably get stripped on the list. Also note that the claim is distinct. One says "Verified by" and the other says "Certificate issued by" ... the latter is probably a good safe pick in the absence of a proper legally sound framework for browser certificates; the former raises questions about whether there is any basis for that claim :-( Finally, I'm not saying this is a bug. There are many more important bugs than that, such as the (wider) claims issue above, and the fact that the name, claim and claim-maker aren't displayed on the chrome. But this is par for the course. The job right now is not to fix PKI... >>> * support email addresses go in >>> + E field? (Is 'E' the name?) >> For email certs, email addresses MUST go in the Subject Alternative Name >> extension. That's the standardized place for email addresses in email >> certs. If the email address is just a reference for support, and the >> cert itself is not acting as an email signing or encryption cert, then >> I suppose it could go in the cert Subject Name. > > Gaaah. Why is there an email address in a root certificate? Well, support people think it useful. Any real objections? >>> * size is RSA 4096 >>> + ECC equivalent? >>> + any viewpoint on size, etc? >> It doesn't make sense to use a huge RSA key size with a really weak cipher >> or hash. NIST published some tables of equivalent strengths of hashes, >> ciphers and key sizes. They show equivalent key sizes for DSA, RSA, ECDSA, >> symmetric ciphers (3DES, AES) and hashes. See tables 2 and 3, pp 63-64 in >> http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf > > An RSA 4096 is equivalent in strength to about 150 bits, a weird > length. Why not do 3072, which is equivalent to AES-128? I'm not totally with you here. The RSA key that is in the CA root is used for signing other certificates. It doesn't do AES, although the EE cert might be used to do an encryption of an AES session key... Are you saying that the more likely benchmark is an AES-128 and this would imply lowering every other component to suite? This seems perhaps logical, but most of the new TLS suites are moving to AES-256, no? (I write about this sort of comparison in an old paper of mine: http://iang.org/papers/pareto-secure.html which was an attempt to place it on a logical foundation... ) > As for the ECC equivalent of 4096, that would be about 300 bits, a > weird length. Why not do 256, maybe even using a NIST-recommended > curve like P-256? I put some starter ideas over on https://wiki.mozilla.org/CA:Recommendations_for_Roots That might be a good place to make any ECC recommendations. >> > * expiry should be? >>> + minimum 8 years? >>> + maximum 30 years? >> In that same NIST publication there is a table of recommended key sizes >> to use for secrets that need to be protected until year 2010, 2030, and >> beyond. It's table 4, page 66. > > Table 4 is *not* talking about lifetimes of digital signature > algorithms: it is talking about symmetric algorithms that do not > weaken with research. RSA has already weakened twice, and it is > likely to weaken again within its lifetime. > > Determining the lifetime of a trust anchor key has many aspects. How > strong is the key against the best-known attacks? How likely is it > that someone will copy the private key and use it without you knowing > about it? What is the cost to the organization if there is a > compromise and the key needs to be revoked? Only the first has > practical answers. Sigh. I do fear that you are right; these other attacks are far more of an issue than RSA cracking. When has anyone ever cracked RSA? >>> * format is PKCS1, Hashes are SHA1 >>> + any chance of SHA-256? >> SHA1 is definitely incongruent with a 4k key size. > > ...but still useful because of its wide deployment. For a trust > anchor, you are really only concerned with the preimage strength, not > the collision strength, of the hash algorithm. 160 bits is enough for > anyone for the foreseeable future. The more interesting question is > the algorithm used in the certificates that you issue. > > Think of it this way: if SHA1 is attackable in trust anchors, a smart > attacker will look at the NSS pile-o-anchors and pick the one with > the greatest value to attack. If that's not you, you're probably safe. The tall poppys defence :) ... >>> * Maximum number of intermediate CAs: >>> + any constraints? >>> + seems like most say "unlimited" >> Roots are not generally constrained. They tend to constrain subordinates. > > Planning this for the lifetime of your trust anchor is an, er, > interesting task. Yes, agreed, obvious conundrums here. It seems that the root list authorities have decided to put the stress on the audits to solve this, but this leaves a lot of open questions. I don't really see this declaration as a real solution, but some things resist real solutions, and right now there is little to be done about it. >> > Oddities include: >>> * logotype ? >>> + constraints? >>> * where to put branding or advertising messages? >>> + some use OU >>> + Netscape Certificate Comment - outdated? >> Display and use of such stuff is not yet standardized across browsers. >> I think most browsers just ignore all that stuff. Advertising does not >> belong in subject names of End Entity (leaf) certs. > > It also does not belong in the trust anchor. Where does it belong? OK, drifting back into history, when we were talking about this on a similar list about 3 or 4 years back, I at least was pushing that the root list authority (in this case Mozilla Foundation) would manage a list of roots and capabilities (trust bits?) and also the logos. When a cert was good, it would pop up the logo like a favicon alongside. There is no need for this stuff to all go in the cert itself; it is the root list that is the key resource here. If that is corrupted then everything's turtles, anyway. > Using it will surely > cause more confusion than value given that the display is not > standardized. Take a look at the display or the trust anchors in IE > for XP, and you will see humorous and unreadable names. OK. Another good reason to enable these things under management & negotiation. >> All this stuff is documented in the standards, but typical OpenSSL users >> never read those. Any competent CA should have lots of people who are >> thoroughly familiar with RFC 3280 and RFC 5280. It should be a "core >> competence" for all but the janitors. > > ...but isn't. I also thought this was a very hopeful thing. Actually I find the premise somewhat odd -- something that people do once every 5 years *maximum* is not a good target for core competence. Recalling that the definition of core competence necessarily implies it is somewhat singular... I'd much rather ask whether a CA had a core competence in converting verified subscriber information into secured certificate claims than something as obscure and unreal as driving OpenSSL in strange and arcane ways? >> > * what is the document that most people refer to? >> >> RFC 3280, although it's now obsoleted by RFC 5280. > > RFC 5280 for the semantics, and RFC 3279/4055 for the algorithms. Thanks, added. iang
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto