versión TLS del conjunto de cifrado TLS_DHE_RSA_WITH_AES_256_CBC_SHA

2

Tengo una pregunta relacionada con la suite de cifrado TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039).

Se menciona por primera vez en RFC3268 en 2002. La versión de TLS más alta disponible en 2002 fue TLS 1.0 ( RFC 2246 ). Por lo tanto, RFC3268 fue una extensión que proporcionó nuevos conjuntos de cifrado a TLS 1.0. La suite de cifrado mencionada también se encuentra en RFC4346 (TLS 1.1) y RFC5246 (TLS 1.2).

Estaba ejecutando diferentes herramientas para verificar la suite de cifrado. Primer openssl s_client :

$ openssl s_client -cipher DHE-RSA-AES256-SHA -connect www.uni-luebeck.de:443
...
Protocol  : TLSv1.2
Cipher    : DHE-RSA-AES256-SHA
...

Y con nmap:

nmap --script ssl-enum-ciphers -p 443 www.uni-luebeck.de | grep "ciphers\|TLSv\|TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
| ssl-enum-ciphers: 
|   SSLv3: No supported ciphers found
|   TLSv1.0: 
|     ciphers: 
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
|   TLSv1.1: 
|     ciphers: 
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
|   TLSv1.2: 
|     ciphers: 
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong

Comprobar el mismo conjunto de cifrado con openssl ciphers devuelve SSLv3 , lo que me parece incorrecto:

$ openssl ciphers -V | grep 0x39
0x00,0x39 - DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
    
pregunta Dennis 19.07.2016 - 14:18
fuente

2 respuestas

1

OpenSSL tiene solo tres categorías de 'cifrado' para SSL / TLS (realmente un conjunto de cifrado, y no debe confundirse con EVP cifrados utilizados entre otras cosas en openssl enc que son muy diferentes):

  • SSLv2 usa la codificación SSL2 (3 bytes) y solo se puede usar en SSLv2 (que, por supuesto, no debería usar en absoluto, y por defecto está # if'ed out en tiempo de compilación en versiones recientes) )

  • SSLv3 que usa la codificación SSL3 (2 bytes, que es la misma para TLS1.0 a 1.2) y los formatos de registro definidos en SSL3 (GenericStream y GenericBlock que en realidad es CBC) que prácticamente no se modifican TLS1.0 a 1.2 (excepto 1.1 y versiones posteriores soluciona el problema IV expuesto, reportado por Vaudenay y explotado por BEAST)

  • TLSv1.2 que usa la misma codificación que SSL3 pero el formato de registro para AEAD (actualización) o HMAC-SHA2, ambos existen solo en TLS1.2

Como resultado de esta categorización, OpenSSL admite el uso de conjuntos de cifrado de exportación en TLS1.1 y 1.2, aunque 4346 los eliminó oficialmente (junto con el KDF de exportación especial), y los conjuntos de IDEA e ID único en TLS1.2 a pesar de que 5246 oficialmente los "desaprobó", pero solo si son compatibles (lo que en la mayoría de las versiones recientes no están por defecto) y solo si el par está de acuerdo (lo que la mayoría no lo hará).

    
respondido por el dave_thompson_085 20.07.2016 - 02:48
fuente
0

Cuando pruebo el comando openssl que mencionaste en otro sitio:

openssl s_client -cipher DHE-RSA-AES256-SHA -connect www.verificationlabs.com:443

Veo en los resultados lo siguiente que supongo significa que se aplica tanto a SSLv3 como a TLSv1. *:

New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA

Entonces, esto puede ser simplemente un problema con la forma en que OpenSSL formatea su respuesta.

enlace relevante:

    

respondido por el Trey Blalock 20.07.2016 - 01:37
fuente

Lea otras preguntas en las etiquetas