IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Proposal and intent to implement "dsa-sha2-256" SSH key algorithm
Hi denis,
denis bider <ietf-ssh3%denisbider.com@localhost> writes:
> Now, if we want to agree on some way to implement large DSA keys, the
> "ssh-dss" algorithm name is tainted for use with larger key sizes,
> because there are implementations out there that implement them in
> incompatible ways:
>
> - There were older versions of OpenSSL and OpenSSH that implemented
> 2048-bit modulus, but kept 160-bit subgroup. This did not
> effectively increase the security of the scheme, compared to
> 1024-bit modulus.
>
> - Our (Bitvise) implementation predates FIPS 186-3 by a year. It
> supports a larger modulus, and appropriately larger subgroups, BUT
> continues to use SHA-1 as the hash function. After FIPS 186-3, other
> implementations of larger DSA keys, such as Windows CNG, support the
> larger DSA keys in conjunction with SHA-2.
If you are going to go there, you will want to write another RFC and
probably use FIPS 186-4 Section 4 "The Digital Signature Algorithm
(DSA)" as the normative reference.
> - A majority of other "ssh-dss" implementations support only 1024-bit
> key sizes, and can't verify signatures with larger DSA keys under
> that scheme.
>
> Larger DSA keys need a new scheme name for compatibility reasons.
>
> I therefore suggest a new SSH key algorithm, dsa-sha2-256, which
> cherry-picks from FIPS 186-3 the following two options:
>
> L = 2048, N = 256
> L = 3072, N = 256
>
> In other words:
> - modulus size is either 2048 or 3072
> - subgroup size is 256 bits
> - hash function is SHA2-256
>
> I choose the name "dsa-sha2-256", rather than a suffixed name
> ("...@bitvise.com") for the following reasons:
>
> - Suffixed names are overly long and clumsy. If I were to choose a
> suffixed name instead, I would go with just "...@bv".
>
> - Suffixed names complicate standardization. If a suffixed algorithm
> is commonly implemented, there's pressure to have a version with a
> non-suffixed name, and now we have multiple names for the same
> thing.
>
> - I don't see many ways for "dsa-sha2-256" to be implemented
> incorrectly or incompatibly by a reasonable implementor. There's
> really only one DSA, the one specified in FIPS 186. This has four
> variants. The suffix -sha2-256 explicitly specifies which hash
> function to use, and strongly suggests use of the 256-bit subgroup
> sizes.
>
> Unless someone has a strong and reasonable objection, I intend to
> implement this for Bitvise SSH Client and Server 7.xx as described
> above.
>
> Comments welcome.
You have already been through co-authoring RFC 6668, so writing another
RFC for dsa-sha2-256 should not be that hard of a thing for you to do.
Information on test vectors for DSA may be found here:
http://csrc.nist.gov/groups/STM/cavp/documents/dss2/dsa2vs.pdf
The test vectors for DSA2 are here
http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3dsatestvectors.zip
(Yes, they are still the same as FIPS 186-3.)
-- Mark
Home |
Main Index |
Thread Index |
Old Index