Por que o Chrome reclama de “criptografia obsoleta”?

5

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

SuponhoqueissosedevaaoSHA1,quetambémestásendomencionadopelochromenamesmajanela.

Noentanto,deacordocomoVerificadordeCertificadoSSLdoDigicert,SHA256deveserusado:

Agora não sei o que está acontecendo e como corrigir esse problema. Parece que este blog post descreve uma solução alternativa para esse problema, mas a solução alternativa parece tão obscura (1. Etapa: Instalar o OpenSSL?), que não posso imaginar que essa seja a maneira oficial de fazer isso no Windows 2008 R2.

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

Editar: Depois de aplicar o script recomendado por Grant, meu SSLabs foi melhorado de C para A e o Chrome está usando o TLS 1.2 em vez de 1.0. No entanto, o aviso de "criptografia obsoleta" ainda está lá.

    
por Adrian Grigore 19.06.2015 / 20:07

3 respostas

9

Não é o SHA que causa o problema, é o TLS 1.0.

O relatório do SSL Labs para seu domínio dá a história completa. Seu servidor suporta apenas o TLS 1.0, não 1.1 ou 1.2. Além disso, ainda suporta cifras obsoletas como RC4 e não suporta sigilo perfeito.

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

Depois de executar o script, reinicialize o servidor e obtenha uma classificação A no SSLLabs e pare de receber os avisos no chrome.

    
por 19.06.2015 / 20:14
3

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

MeuChrome43suportaosseguintesconjuntosdecriptografia:

[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ãoousadoé:[C013],bemabaixo.ParecequeoChromeprefereoSHA256eoGCMaoCBC.

EupegueioAH-Scripteadicionei[009E](3ºdotopo)àlistadeconjuntosdecriptografia,apósareinicialização.Agoraestourecebendo:

Eu tentei que os dois primeiros [C08B] e [C02F] funcionassem, mas não consegui.

Então, ao corrigir o script e executá-lo, recebi um modern cryptography .

Eu removi uma das cifras existentes porque o tamanho dessa string é limitado, o início da minha string agora é assim:

$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',

Edit: Acabei de testar isso em sslLabs.com e usar TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 me dá um B , abaixo de um A que eu tinha antes.

This server supports weak Diffie-Hellman (DH) key exchange parameters. Grade capped to B.

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

    
por 20.06.2015 / 09:52
0

A mensagem "cryptograpgy obsoleto" no Chrome, é por causa do servidor suportar trocas de chaves Diffie-Hellman (DH) fracas. Mais especificamente, isso está documentado na especificação HTTP / 2 na Lista Negra do Cipher Suite .

Quando você usa o script PowerShell de Alexander Hass (a partir da resposta aceita atual), então inclui estas cifras que estão na 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 o Azure Serviço de Aplicativo, ele usa o seguinte pacote 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 é compatível com o Forward Scripty para os navegadores mais comuns.

Encontrei o problema do Chrome porque, no meu IIS Express local no Windows 10, ele retornava a mensagem de erro ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY no Chrome 51 com os conjuntos de criptografia da lista negra configurados no meu sistema.

    
por 11.07.2016 / 12:03