3des cipher and DH group size
Damien Miller
djm at mindrot.org
Wed Feb 5 09:42:31 EST 2014
On Tue, 4 Feb 2014, Hubert Kario wrote:
> Hi all!
>
> Continuing the discussion from https://lists.mindrot.org/pipermail/openssh-unix-dev/2014-January/032037.html
>
> I have looked at the changes made to implement automatic selection of DH
> groups and there are few changes confusing to me, to say the least.
>
> Especially 1.97~1.96 rev diff of kex.c:
>
> > + dh_need = MAX(dh_need, cipher_seclen(newkeys->enc.cipher));
>
> Why "MAX("? Why security of chosen dh moduli should match the _most_
> secure primitive? Since DH KEX is computationally expensive (think smartphones),
> shouldn't we try to use as small DH parameters as possible?
I think that it's reasonable for users, when they select a cipher of a
given strength, to expect that ssh actually provides enough key material
to properly use it.
> > + dh_need = MAX(dh_need, newkeys->enc.block_size);
>
> This is plain confusing. Which cipher's security level is influenced by its
> block size?
All of them because of the the birthday bound. In OpenSSH's case, this is
a noop since all our ciphers have key_len >= block_size.
> + dh_need = MAX(dh_need, newkeys->enc.iv_len);
>
> I'd also say that the relationship between IV size and and security estimate
> is a bit more complex. I.e. IV of size 96 bits won't lower the security level
> of whole system to 96 bits.
Really? If a cipher requires a random IV of a certain size then I think
we should be ensuring that the key exchange output can actually provide
it. But again, this is a nop; we don't currently have any ciphers where
iv_len > key_len;
> + dh_need = MAX(dh_need, newkeys->mac.key_len);
>
> Shouldn't this use mac.mac_len? I mean MACs like hmac-md5-96 provide
> 96 bits of security, not the 128 bits from key size.
While truncated MACs are common, I've never heard of anyone recommend
truncating the key along with it.
-d
[1] https://anongit.mindrot.org/openssh.git/commit/dh.c?id=df62d71e64d29d1054e7a53d1a801075ef70335f
More information about the openssh-unix-dev
mailing list