[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Required Algorithms for Certificates
I agree with Paul. I see absolutely no move to support DSA/DH in S/MIME,
SSL/TLS, or IPSEC, regardless of what the IETF standards state.
We implemented DSA within NICI primarily because it was available in BSAFE,
relatively easy to do, and was required for any meaningful compliance with
FIPS 140-1 at the time, NOT because we expected anyone to ever use it.
Within a more or less general-purpose crypto library, the overhead isn't all that
great, and clearly there isn't any issue of interoperability at the API level to
worry about, so in that environment I more or less don't care. However, if
I were trying to develop some crypto applications on a tiny-weenie processor
like a credit card, that would be a much different story. Then I would simply
be non-compliant, rather than include something that provided me no benefit.
Other than avoiding the intellectual property issues (which are now moot), I see
no reason to make DSA even a SHOULD, much less a MUST. I wouldn't argue
with a MAY, if that helps people (both of them? :-) who have already implemented
DSA because they actually believed the standards, or because they thought that
if the Government required it as part of their procurement specs, they would actually
buy (only) those products that complied. But I don't think there is any issue that DSA
is a dead horse.
The real issue, I believe, is going to be between RSA and ECDSA. RSA obviously
has a lot going for it as the de facto standard. And ECDSA also has a lot going for it,
in terms of compactness and minimum power requirements.
I don't have a good crystal ball that would tell me whether WAP and some of the
other wireless applications are going to succeed or fail. Personally, I have a
mini-browser built into my cellular phone (a Samsung), and I have yet to find ANY
application for it that is worth the hassle, much less the airtime. Maybe if I were
a day trader I would view things differently.
But although I'm still looking for that killer application, I would not be inclined
to bet against the possibility. Somebody, somewhere, will probably come up with
something useful.
And in that case, I think that ECDSA will become a requirement.
Because of all of the existing CAs and certificates, those applications are going
to have to continue to support RSA-signed certificates for the indefinite future.
Fortunately, validating an RSA signature is a lot easier than generating one.
But because digitally signing something is a lot easier (in terms of power and
size) with ECDSA, end-user certs for such applications are going to have to
contain ECDSA signing keys, even if the certificates themselves are signed
with RSA for the time being. And there will be pressure to have the certs
themselves signed with ECDSA, in order to reduce the overall size.
So maybe the requirement hasn't quite materialized, but I would support making
RSA a MUST, deprecating DSA to a MAY, and making ECDSA a SHOULD,
with the option of transitioning ECDSA to a MUST if and when a critical mass
of implementations and users can be demonstrated.
Bob
Robert R. Jueneman
Security Architect
Novell, Inc -- the leading provider of Net services software
>>> Paul Hoffman / VPNC <paul.hoffman@vpnc.org> 12/21/00 04:53PM >>>
At 5:04 PM -0500 12/21/00, Tim Polk wrote:
>If PKIX decides to specify MUSTs or SHOULDs, they should be designed
>to support broad interoperability.
Exactly. It is easier to get interoperability with one algorithm than
with two, particularly when one of those algorithms hasn't been
widely implemented and tested in products.
>Interoperability is a prime concern here at NIST. In terms of
>algorithm independence, we have come to the conclusion that
>interoperability *requires* multi-algorithm clients.
Could you explain the logic there a bit more? If only one algorithm
is mandated, how does that leasd to less interoperability?
>This implies that we need to move the burden to the clients, even
>though that will impact many clients.
Here we disagree. Do you *really* think that all the IPsec
implementations and all the S/MIME implementations are going to add
DSA support? That is certainly not what I hear from the members of my
organizations; even the ones who do DSA support are not sure that it
works that well because it is rarely tested.
> If a PKIX client can validate both DSA and RSA signatures, it can
>handle certificates from any CA when signed with a PKIX-specified
>algorithm.
If we only mandate RSA, well, you can fill in the rest...
>The question is whether multiple algorithm support is a practical
>requirement for clients. I just took a few minutes to scan the FIPS
>140-1 validated crypto module list. This list currently has 130
>modules - some hardware, some software. (For those interested, see
>http://csrc.nist.gov/cryptval/140-1/1401val.htm) Many of those
>cryptographic modules already support multiple signature algorithms.
>I didn't count, but it appears that most of the recent products
>(both hardware and software) support both DSA and RSA for signatures.
>
>To me, this implies that multiple algorithm support is reasonable
>unless the device footprint must be very small. This may be a
>biased data set, though. Validated products are required to support
>at least one FIPS-approved algorithm, and RSA has only recently
>become a FIPS-approved algorithm.
Bingo: that obviously skewed the requirements. In the IPsec and
S/MIME space, there was no such requirement (that is, S/MIME vendors
simply ignore the v3 specs), and there are almost no commercial or
even freeware implementations using DSA.
--Paul Hoffman, Director
--VPN Consortium