Por que o Chrome reclama de “criptografia obsoleta”?

Por que o Chrome reclama de “criptografia obsoleta”?

Estou hospedando um site ASP.NET com certificado SSL curinga no IIS/Windows 2008R2. Embora o Chrome funcione bem com meu site e mostre um cadeado verde na conexão https, os detalhes do https mencionam "criptografia obsoleta":

detalhes de https do cromo

Presumo que isso se deva ao SHA1, que também está sendo mencionado pelo chrome na mesma janela.

Porém, de acordo com o SSL Certificate Checker da Digicert, o SHA256 deve ser usado:

insira a descrição da imagem aqui

Agora não tenho certeza do que está acontecendo e como resolver esse problema. Parece queesta postagem do blogdescreve uma solução alternativa para esse problema, mas a solução alternativa parece tão obscura (1. Etapa: instalar o OpenSSL?), que não consigo imaginar que essa seja a maneira oficial de fazer isso no Windows 2008 R2.

Como devo proceder para me livrar do aviso do certificado SSL?

Editar:Depois de aplicar oroteirorecomendado por Grant, meu SSLabs foi aprimorado de C para A e o Chrome está usando TLS 1.2 em vez de 1.0. No entanto, o aviso de “criptografia obsoleta” ainda existe.

Responder1

Não é o SHA que está causando o problema, é o TLS 1.0.

O relatório do Laboratório SSLpara o seu domínio fornece a história completa. Seu servidor suporta apenas TLS 1.0, não 1.1 ou 1.2. Além disso, ele ainda oferece suporte a cifras obsoletas, como RC4, e não oferece suporte a sigilo de encaminhamento perfeito.

Ajustar o IIS para obter melhor segurança é bem possível, mas é difícil de fazer manualmente. Esse roteiro maravilhoso, escrito por Alexander Hass, definirá uma variedade de configurações de registro para desabilitar métodos antigos de criptografia inseguros para IIS7.5 e IIS8.

Depois de executar o script, reinicie o servidor e você deverá obter uma classificação A no SSLLabs e parar de receber os avisos no Chrome.

Responder2

Estou testando isso em um novo servidor 2012 R2, ao aplicar oRoteiro de Alexander Hass(AH-Script), ainda recebo a criptografia obsoleta:

Criptografia obsoleta do Chrome

Meu Chrome 43 oferece suporte aos seguintes conjuntos de criptografia:

[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

então o usado é: [C013], bem abaixo. Parece que o Chrome prefere SHA256 e GCM ao CBC.

Peguei o AH-Script e adicionei [009E] (3º a partir do topo) à lista do conjunto de cifras, após reiniciar agora estou obtendo:

Criptografia moderna do Chrome

Tentei fazer com que os dois primeiros [C08B] e [C02F] funcionassem, mas não consegui.

Então, corrigindo o script e executando-o, obtive um arquivo modern cryptography.

Removi uma das cifras existentes porque o comprimento dessa string é limitado, o início da minha string agora se parece com isto:

$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:Acabei de testar isso em sslLabs.com e usar TLS_DHE_RSA_WITH_AES_128_GCM_SHA256me deu uma Bdiferença menor que a que Aeu tinha antes.

Este servidor suporta parâmetros de troca de chaves Diffie-Hellman (DH) fracos. Nota limitada a B.

Então você pode não querer usá-lo. Por que o Chrome avalia isso tão alto, não sei?

Responder3

A mensagem de "criptografia obsoleta" no Chrome ocorre porque o servidor suporta trocas de chaves Diffie-Hellman (DH) fracas. Mais especificamente, isso está documentado noEspecificação HTTP/2 na lista negra do Cipher Suite.

Quando você usa oScript do PowerShell de Alexander Hass(da resposta aceita atual), entãoinclui essas cifras que sãona 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

Se você olhar para oServiço de Aplicativo do Azure, ele usa a seguinte ordem de conjunto de criptografia:

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

Isso resulta em uma classificação A no Qualys SSL Labs (julho de 2016) e oferece suporte ao Forward Secrecy para os navegadores mais comuns.

Encontrei o problema do Chrome porque em meu IIS Express local no Windows 10, ele retornaria uma mensagem de erro ERR_SPDY_INADEQUATE_TRANSPORT_SECURITYno Chrome 51 com os conjuntos de criptografia na lista negra configurados em meu sistema.

informação relacionada