¿Por qué Chrome se queja de "criptografía obsoleta"?

¿Por qué Chrome se queja de "criptografía obsoleta"?

Estoy alojando un sitio web ASP.NET con certificado SSL comodín en IIS/Windows 2008R2. Si bien Chrome funciona bien con mi sitio web y muestra un candado verde en la conexión https, los detalles de https mencionan "criptografía obsoleta":

detalles de https de cromo

Supongo que esto se debe a SHA1, que Chrome también menciona en la misma ventana.

Sin embargo, según el Comprobador de certificados SSL de Digicert, se debe utilizar SHA256:

ingrese la descripción de la imagen aquí

Ahora no estoy seguro de qué está pasando ni cómo solucionar este problema. Parece queesta publicación de blogdescribe una solución para este problema, pero la solución parece tan oscura (1. Paso: ¿Instalar OpenSSL?), que no puedo imaginar que esta sea la forma oficial de hacerlo en Windows 2008 R2.

¿Cómo debo proceder para deshacerme de la advertencia del certificado SSL?

Editar:Después de aplicar elguionrecomendado por Grant, mis SSLabs se han mejorado de C a A y Chrome usa TLS 1.2 en lugar de 1.0. Sin embargo, la advertencia de "criptografía obsoleta" sigue ahí.

Respuesta1

No es SHA el que causa el problema, es TLS 1.0.

El informe de los laboratorios SSLpara su dominio le brinda la historia completa. Su servidor solo admite TLS 1.0, no 1.1 o 1.2. Además, todavía admite cifrados obsoletos como RC4 y no admite el secreto directo perfecto.

Es muy posible ajustar IIS para obtener una mayor seguridad, pero es complicado hacerlo a mano. Este maravilloso guión, escrito por Alexander Hass, establecerá una variedad de configuraciones de registro para deshabilitar métodos de cifrado antiguos e inseguros para IIS7.5 e IIS8.

Después de ejecutar el script, reinicie el servidor y debería obtener una calificación A en SSLLabs y dejar de recibir advertencias en Chrome.

Respuesta2

Estoy probando esto en un servidor 2012 R2 nuevo, cuando aplico elGuión de Alexander Hass(AH-Script), todavía obtengo la criptografía obsoleta:

Criptografía obsoleta de Chrome

My Chrome 43 admite los siguientes conjuntos de cifrado:

[C02B]  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
[C02F]  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
[009E]  TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
[CC14]  TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
[CC13]  TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
[CC15]  TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
[C00A]  TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
[C014]  TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA
[0039]  TLS_DHE_RSA_WITH_AES_256_SHA
[C009]  TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
[C013]  TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA
[0033]  TLS_DHE_RSA_WITH_AES_128_SHA
[009C]  TLS_RSA_WITH_AES_128_GCM_SHA256
[0035]  TLS_RSA_AES_256_SHA
[002F]  TLS_RSA_AES_128_SHA
[000A]  SSL_RSA_WITH_3DES_EDE_SHA
[00FF]  TLS_EMPTY_RENEGOTIATION_INFO_SCSV

entonces el que se usa es: [C013], bastante abajo. Parece que Chrome prefiere SHA256 y GCM a CBC.

Tomé el AH-Script y agregué [009E] (tercero desde arriba) a la lista del conjunto de cifrado; después de reiniciar, ahora obtengo:

Criptografía moderna de Chrome

Intenté que los dos primeros [C08B] y [C02F] funcionaran, pero no pude.

Entonces, al arreglar el script y ejecutarlo, obtuve un archivo modern cryptography.

Eliminé uno de los cifrados existentes porque la longitud de esa cadena es limitada, el comienzo de mi cadena ahora se ve así:

$cipherSuitesOrder = @(
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256',
'TLS_DHE_RSA_WITH_AES_128_GCM_SHA256',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',

Editar:Acabo de probar esto en sslLabs.com y usarlo TLS_DHE_RSA_WITH_AES_128_GCM_SHA256me da un Bresultado inferior al que Atenía antes.

Este servidor admite parámetros débiles de intercambio de claves Diffie-Hellman (DH). Grado limitado a B.

Por lo que es posible que no desees utilizarlo. ¿Por qué Chrome lo califica tan alto, no lo sé?

Respuesta3

El mensaje de "criptografía obsoleta" en Chrome se debe a que el servidor admite intercambios de claves Diffie-Hellman (DH) débiles. Más específicamente, esto está documentado en elEspecificación HTTP/2 en la lista negra de Cipher Suite.

Cuando usas elScript de PowerShell de Alexander Hass(de la respuesta aceptada actual), luegoincluye estos cifrados que sonen la lista negra:

TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Si miras elAzure App Service, utiliza el siguiente orden del conjunto de cifrado:

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Esto da como resultado una calificación A en Qualys SSL Labs (julio de 2016) y admite Forward Secrecy para los navegadores más comunes.

Encontré el problema de Chrome porque en mi IIS Express local en Windows 10, devolvía un mensaje de error ERR_SPDY_INADEQUATE_TRANSPORT_SECURITYen Chrome 51 con los conjuntos de cifrado en la lista negra configurados en mi sistema.

información relacionada