4.3 Public Key Length (Länge öffentlicher Schlüssel)
4.3 Public Key Length (Länge öffentlicher Schlüssel)
Bei Verwendung der in diesem Dokument empfohlenen Cipher-Suiten werden normalerweise zwei öffentliche Schlüssel im TLS-Handshake verwendet: einer für die Diffie-Hellman-Schlüsselvereinbarung und einer für die Serverauthentifizierung. Wenn ein Client-Zertifikat verwendet wird, wird ein dritter öffentlicher Schlüssel hinzugefügt.
Bei einem Schlüsselaustausch basierend auf modular exponential (MODP) Diffie-Hellman-Gruppen ("DHE"-Cipher-Suiten) werden DH-Schlüssellängen von mindestens 2048 Bits EMPFOHLEN.
Begründung: Aus verschiedenen Gründen werden DH-Schlüssel in der Praxis typischerweise in Längen generiert, die Zweierpotenzen sind (z.B. 2^10 = 1024 Bits, 2^11 = 2048 Bits, 2^12 = 4096 Bits). Da ein DH-Schlüssel von 1228 Bits in etwa nur einem 80-Bit-symmetrischen Schlüssel [RFC3766] entsprechen würde, ist es besser, Schlüssel zu verwenden, die länger sind als das für die "DHE"-Familie von Cipher-Suiten. Ein DH-Schlüssel von 1926 Bits würde in etwa einem 100-Bit-symmetrischen Schlüssel [RFC3766] entsprechen, und ein DH-Schlüssel von 2048 Bits könnte für mindestens die nächsten 10 Jahre ausreichen [NIST.SP.800-56A]. Siehe Abschnitt 4.4 für zusätzliche Informationen zur Verwendung von MODP Diffie-Hellman in TLS.
Wie in [RFC3766] erwähnt, würde die Korrektur für das Aufkommen einer TWIRL-Maschine implizieren, dass 1024-Bit-DH-Schlüssel etwa 65 Bits äquivalenter Stärke ergeben und dass ein 2048-Bit-DH-Schlüssel etwa 92 Bits äquivalenter Stärke ergeben würde.
In Bezug auf ECDH-Schlüssel enthält die IANA "EC Named Curve Registry" (innerhalb der "Transport Layer Security (TLS) Parameters" Registry [IANA-TLS]) 160-Bit-elliptische Kurven, die als in etwa einem 80-Bit-symmetrischen Schlüssel [ECRYPT-II] entsprechend angesehen werden. Kurven mit weniger als 192 Bits SOLLTEN NICHT verwendet werden.
Bei Verwendung von RSA SOLLTEN Server Zertifikate mit mindestens einem 2048-Bit-Modulus für den öffentlichen Schlüssel verwenden. Darüber hinaus wird die Verwendung des SHA-256-Hash-Algorithmus EMPFOHLEN (siehe [CAB-Baseline] für weitere Details). Clients SOLLTEN Servern durch Verwendung der "Signature Algorithms" Erweiterung, die in TLS 1.2 definiert ist, anzeigen, dass sie SHA-256 anfordern.