OpenSSL DH modp size

1

Si OpenSSL está configurado para usar un DH para el intercambio de claves, por ejemplo. TLS_DHE_RSA_WITH_AES_128_CBC_SHA, ¿de dónde toma el tamaño para modp (o incluso para modp) desde?

La siguiente es una captura de pantalla de wireshark. El servidor seleccionó TLS_DHE_RSA_WITH_AES_128_CBC_SHA de las propuestas del cliente y envía sus parámetros DH.

¿Alguna idea, por qué OpenSSL decide usar el (también) pequeño grupo de 96 * 8 = 768 bits?

    
pregunta fr00tyl00p 11.09.2013 - 16:07
fuente

1 respuesta

3

En SSL / TLS , el grupo (módulo y generador) utilizado para las suites de cifrado DHE es totalmente de servidor. . OpenSSL (la biblioteca) se puede configurar para usar un grupo específico; con la herramienta de línea de comandos ( openssl s_server ), se trata de usar la opción -dhparam ; de lo contrario, los parámetros DH se pueden incluir en el archivo que contiene el certificado.

Esta página contiene información, incluida esta:

  

Para utilizar los conjuntos de cifrado de secreto de reenvío perfecto, debe configurar los parámetros de Diffie-Hellman (en el lado del servidor), o los conjuntos de cifrado PFS se ignorarán silenciosamente.

Por lo tanto, la biblioteca no utiliza los "parámetros DH predeterminados"; depende de cualquier software que use la biblioteca. En el caso de la herramienta de línea de comandos, parece utilizar un módulo de 512 bits, que es, por decir lo menos, un poco corto ... pero está bien para la prueba. En su caso, uno debe asumir que cualquiera que sea su aplicación de servidor que use OpenSSL, ha configurado la biblioteca con un módulo de 768 bits. Es posible (pero depende de esa aplicación) que rellenar los parámetros DH explícitos en el mismo archivo que el que contiene el certificado del servidor es suficiente para forzar a OpenSSL a usar estos parámetros.

Notas :

  • Si OpenSSL, como servidor, selecciona un conjunto de cifrado "exportado", forzará el uso de un módulo de 512 bits para DH, pero este es un caso de borde.
  • No es completamente libre de usar el tamaño que desee debido a problemas de interoperabilidad. Parece que a algunos clientes SSL no les gustará un módulo DH de más de 1024 bits. También supongo que un tamaño de módulo DH que no sea un múltiplo de 32 o 64 puede inducir problemas adicionales.
  • Con Elliptic Curve DH (el reciente ECDHE cipher suite) el problema es diferente, porque la mayoría de las implementaciones admiten solo un puñado de curvas específicas, no "cualquier curva de un tamaño determinado". Hay una una extensión que le permite al cliente decir qué curvas admite; de lo contrario, el servidor elegirá dependiendo de su configuración (en cualquier caso, cualquier cosa que no sea P-256 implicará problemas de interoperabilidad).
respondido por el Tom Leek 11.09.2013 - 17:25
fuente

Lea otras preguntas en las etiquetas