Aquí está mi tiro. No estoy completamente feliz con eso. Apreciaría las críticas.
Al menos pubkey / privkey. A veces params.
No creo que esto esté bien definido. Pero NO tengo fuentes para respaldar esto. (Si alguien me puede mostrar un documento de normas, me complacería que me mostraran mal. Cualquier cosa es mejor que la incertidumbre para mí).
El RFC TLS1.2 dice que el servidor puede elegir estos tres:
struct {
opaque dh_p<1..2^16-1>;
opaque dh_g<1..2^16-1>;
opaque dh_Ys<1..2^16-1>;
} ServerDHParams; /* Ephemeral DH parameters */
Entonces el servidor PODRÍA cambiar CUALQUIERA de los tres.
Pero creo que en realidad solo cambiará la clave del servidor ( dh_Ys
). Y este debería ser suficiente para dar secreto hacia adelante.
Pero solo si tu
opaque dh_p<1..2^16-1>;
opaque dh_g<1..2^16-1>;
es poco probable que se rompa en el corto plazo. (Como si fueran 2048 bits.)
(Y Thomas Pornin dijo en una pregunta diferente : Para obtener parámetros de DH incorrectos, debe hacerlo a propósito. )
"Uso único de DH de F5"
Ahora he mirado el sitio web de F5 para averiguar cómo sus balanceadores de carga implementan EDH.
Y tienen una opción llamada Single DH use
que pienso regenera el par dh_p / dh_g.
Aquí está la cita. No entiendo por qué querría eso. Me confunde.
Uso único de DH
Esta opción crea una nueva clave cuando se utilizan parámetros DH temporales / efímeros. Debe usar esta opción si desea evitar pequeños ataques de subgrupos, cuando los parámetros DH no se generaron usando números fuertes (por ejemplo, cuando se usan parámetros DSA). Si se utilizaron primos fuertes, no es estrictamente necesario generar una nueva clave DH durante cada saludo, pero recomendamos esto. Debe habilitar la opción de uso de un solo DH siempre que se utilicen parámetros temporales / efímeros de DH.
F5 claves generadas cada hora
F5 tiene un artículo que dice Comenzando en BIG- IP 11.4.0, la generación de nuevas claves efímeras ocurre cada hora.
Sospecho que están usando "claves" y "parámetros" de manera intercambiable.
CryptoPP llama al método de "par de llaves regeneradas" de manera efímera.
Cuando CryptoPP habla sobre EDH que significa: el grupo se mantiene igual. Cambios de par de llaves.
Citrix NetScaler no estoy seguro.
De nuevo, estoy no estoy seguro si se diferencian completamente entre dhparams y dh-keypair.
dhFile
Nombre para y, opcionalmente, ruta al archivo de parámetros DH en formato PEM que se instalará. / nsconfig / ssl / es la ruta predeterminada.
Este parámetro no es aplicable cuando se configura un perfil backend.
dhCount
Número de interacciones, entre el cliente y el dispositivo NetScaler, después de lo cual se regenerará el par DH privado-público. Un valor de cero (0) especifica el uso infinito (sin actualización).
Este parámetro no es aplicable cuando se configura un perfil backend.
Valor mínimo: 0
Valor máximo: 65534
dhKeyExpSizeLimit
Esta opción permite el uso del tamaño de bit recomendado por NIST (Publicación especial 800-56A de NIST) para el tamaño de clave privada. Por ejemplo, para parámetros DH de tamaño 2048 bits, el tamaño de clave privada recomendado es 224 bits. Esto se redondea a 256 bits.
Valores posibles: ENABLED, DISABLED
Valor predeterminado: DESACTIVADO
Aquí dhKeyExpSizeLimit
me confunde. No entiendo por qué permitiría que esa parte fuera definible por el usuario.