rfc-8270

Increase the Secure Shell Minimum Recommended Diffie-Hellman Modulus Size to 2048 Bits

L. Velvindron, M. Baushke
date2017-12 streamIETF areasec wgcurdle statusPROPOSED STANDARD pages5 canonicalhttps://www.rfc-editor.org/rfc/rfc8270 doi10.17487/RFC8270 errataview
The Diffie-Hellman (DH) Group Exchange for the Secure Shell (SSH) transport-layer protocol specifies that servers and clients should support groups with a minimum modulus group size of 1024 bits. Recent security research has shown that the minimum value of 1024 bits is insufficient to protect against state-sponsored actors and any organization with enough computing resources. This RFC updates RFC 4419, which allowed for DH moduli less than 2048 bits; now, 2048 bits is the minimum acceptable group size.

updates

Extracted elements (13)

design-rationale §1

The document notes that the 2048-bit minimum may itself need to be increased to 3072 bits for forward-looking users, motivating the SHOULD requirements permitting 3072-bit groups to ensure implementations are prepared for future increases.

crypto, security

design-rationale §1

The LOGJAM research demonstrated that 768-bit DH groups can be broken and extrapolated the attack to 1024-bit groups, showing that state-sponsored actors and well-resourced organizations can break 1024-bit DH. This motivated raising the minimum from 1024 to 2048 bits.

crypto, security

interoperability-note §4

The server should return the smallest group it knows that is larger than the size the client requested; if no such group exists, the server SHOULD return the largest group it knows. The returned group SHOULD be at least 2048 bits, retained from and updating RFC 4419.

crypto, security

normative-requirement §4 SHOULD

If the server does not know a group larger than the client's requested size, the server SHOULD return the largest group it knows. This requirement is retained from RFC 4419.

crypto, security

normative-requirement §3 SHOULD

In all cases, the size of the DH group SHOULD be at least 2048 bits; setting the group size to 3072 SHOULD be possible as the need may arise in coming years. This updates RFC 4419 Section 3 paragraph 11.

crypto, security

normative-requirement §4 SHOULD

In all cases, the size of the returned group SHOULD be at least 2048 bits. Setting the group size to 3072 SHOULD be possible, as the need may arise in the coming years.

crypto, security

normative-requirement §5 SHOULD NOT

Operating systems SHOULD NOT log DH groups that are less than 2048 bits in size, as doing so would create an additional attack surface for Denial of Service attacks.

security, crypto

normative-requirement §3 SHOULD

Servers and clients SHOULD support groups with a modulus length of k bits where 2048 <= k <= 8192. The recommended minimum values for min and max are 2048 and 8192, respectively.

crypto, security

normative-requirement §3 SHOULD

SSH clients SHOULD be able to send a value of 3072 bits for the preferred acceptable group size 'n' in the SSH_MSG_KEY_DH_GEX_REQUEST message, as this need may arise in coming years.

crypto, security

normative-requirement §3 SHOULD

SSH servers and SSH clients SHOULD support groups with a minimum acceptable group size of 2048 bits for the 'min' value of the SSH_MSG_KEY_DH_GEX_REQUEST client message.

crypto, security

protocol-element §3

SSH_MSG_KEY_DH_GEX_REQUEST is the client message used in DH Group Exchange; it carries 'min' (minimum acceptable group size), 'n' (preferred group size), and 'max' (maximum acceptable group size) in bits. The minimum acceptable 'min' value is updated to 2048 bits by this document.

crypto, security

security-consideration §5

A hostile or compromised SSH server implementation could use backdoored DH primes (as described in [Backdoor-DH]) to supply weakened g and p values, or could exfiltrate the calculated secret through a covert channel to a passive listener.

security, crypto

security-consideration §5

A malicious client could cause a Denial of Service by intentionally making multiple connections requesting DH groups smaller than 2048 bits in size; operating systems SHOULD NOT log such groups to avoid creating additional attack surface.

security, crypto