Por que o Android / IE está usando o 3DES quando o AES está disponível?

4

Eu tenho uma instalação do Zimbra e quero proteger os conjuntos de criptografia. Eu desativei alguns e estou bem com o que sobrou.

O problema agora é que os testes Qualys SSL t mostram que muitos clientes usarão o 3DES, que só fica disponível como último fallback por mim.

Se eu olhar as cifras com suporte do Android 5 e meu servidor (por exemplo), há mais sobreposição e o mesmo conjunto de cifras AES está disponível em ambos.

Por que essa cifra AES não é usada?

Aqui está toda a saída do teste:

    
por Josef 09.03.2015 / 17:07

3 respostas

4

Normalmente, cada cliente tem sua própria preferência em que cifras suportam.

Para ficar com o seu exemplo: Android 5.0.0 suporta um número razoável, mas tem algumas preferências estranhas, com algumas cifras objetivamente mais fracas preferidas sobre algumas mais strongs.

De acordo com a verificação do SSL Labs (a seção "Cipher Suites (classificada por força; o servidor não tem preferência)" ) seu servidor suportará apenas um número limitado de cifras e não exibirá um preferência, deixando a negociação de cifra principalmente para o cliente, o que resulta em TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)

    
por 09.03.2015 / 18:28
2

Este comportamento é determinado pela lista de cifra passada do cliente para o servidor, onde o cliente informa ao servidor quais cifras ele suporta e qual a prioridade que cada uma dessas cifras possui. O Android, em particular, fez algumas escolhas inseguras sobre a ordem de preferência de seus conjuntos de cifras , preferindo cifras muito inseguras mais seguros que ele suporta, sem dar qualquer explicação sobre o porquê.

Minha suspeita é que é uma escolha de design. Ao escolher uma cifra menos computacionalmente intensiva, você usa menos energia e, portanto, obtém mais vida útil da bateria, algo que os consumidores notam e se preocupam em um smartphone e, em contraste, quando se trata de segurança, desde que o usuário final veja esse bloqueio ícone, "é seguro", e é tudo com que eles se importam (se eles se importam com isso).

Então, eles estão usando 3DES porque eles têm uma preferência maior por essa cifra mais fraca, e você permite que ela seja usada. A única maneira de impedir que ele seja escolhido por um cliente com preferências duvidosas é removê-lo.

    
por 09.03.2015 / 18:20
1

Para corrigir o problema já explicado por @HBrujin e @ HopelessN00b, você pode definir uma cifra de lista preferencial para o servidor da Web, que também pode ter preferências, não apenas o cliente. Eu recomendo usar as configurações elaboradas pelo Bettercrypto.org projeto Aplicação de Criptografia .

Por exemplo para o Apache, você pode usar

SSLCipherSuite 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA'

nas suas configurações para SSL / TLS. Para suportar 3DES, remova 3DES da string, mas somente se for realmente necessário e você precisa suportar software do último século. Essa criptografia pode ser usada em ambientes de negócios com software antigo (o que não é recomendado, mas também comercial, você sabe ...).

    
por 11.03.2015 / 17:59