IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: draft-igoe-secsh-x509v3-00
Jeffrey Hutzelman wrote:
--On Wednesday, November 18, 2009 04:50:28 PM -0700 Joseph Galbraith
<galb-list%vandyke.com@localhost> wrote:
o Do we want to require processing of (or give guidance with regards to)
any extensions, such as BasicConstraints, KeyUsage, and
SubjectAltName?
o Do we need language about respecting critical extensions or rejecting
the certificate?
We probably should require that KeyUsage include one or more of
digitalSignature, keyEncipherment, and/or keyAgreement, depending on the
requirements of the key exchange algorithm in use.
If I'm not mistaken, all current key exchange algorithms
(all derivatives of diffie hellman) only require digitalSignature,
since the hostkey isn't actually used during the key agreement
stage. Does that sound correct?
(Though there may be future algorithms that require the
other usages.)
I don't think we need specific language detailing how to validate
certificates, beyond "MUST comply with RFC5280".
o Do we want to define any extended key usage key purpose ids?
IMHO we should, because defining an EKU key purpose ID is the only way
to allow issuance of a certificate that can be used _only_ for SSH, and
not for any other application.
In that case, the original (abandoned) x509v3 draft included
these:
id-kp-ssh-server OBJECT IDENTIFIER
::= { 1.3.6.1.4.1.2213.15.1.1 }
id-kp-ssh-client OBJECT IDENTIFIER
::= { 1.3.6.1.4.1.2213.15.1.2 }
id-kp-ssh-clientHostbased OBJECT IDENTIFIER
::= { 1.3.6.1.4.1.2213.15.1.3 }
I don't recall how we came up with the oids...
o When we were working on x509v3 before, people seemed to want to
include revocation data as well as chain data; I was never quite
sure whether this was really needed or if it was gold plating, so
to speak.
For most protocols, including an OCSP response alongside a certificate
is an optimization, because it allows the recipient to verify that the
certificate is valid without independently contacting an OCSP server.
This is particularly interesting when the party that includes the OCSP
response uses its certificate frequently in a short period of time,
because it can cache and reuse the OCSP response for as long as it is
valid, reducing load on OCSP servers.
For SSH, this capability might be valuable chiefly because it would
permit clients to provide OCSP responses to SSH servers living in
restricted networks or under other constraints which might prevent them
from contacting the OCSP server directly.
Then we might do something like:
> This key format has the following specific encoding:
>
> string "x509v3-ssh-dss" / "x509v3-ssh-rsa" /
> "x509v3-ecdsa-sha2-*" / "x509v3-ecmqv-sha2"
> uint32 certificate-count
> string certificate[1..certificate-count]
> uint32 ocsp-response-count
> string ocsp-response[0..ocsp-response-count]
If I'm understanding the PKI correctly, ocsp-response-count should
be at most certificate-count - 1 (once ocsp response for each issuing
certificate in the chain.)
Thanks,
Joseph
Home |
Main Index |
Thread Index |
Old Index