Como desabilitar o pacote de criptografia de 112 bits no ssl de um servidor java

1

Como desabilitar o pacote de criptografia de 112 bits no servidor de aplicativos java. Especificamente este.

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Eu editei o arquivo java.security e fiz jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 2048 , mas esses algoritmos ainda estão listados.

Além disso, quero ter a prevenção contra ataques de downgrade ( TLS_FALLBACK_SCSV )

O que fazer?

    
por jgm 13.04.2016 / 19:21

1 resposta

6

Antes de alterar sua configuração de SSL, vale a pena entender exatamente o que a vulnerabilidade está aqui.

Quando o 3DES foi introduzido, havia um requisito de que ele fosse interoperável com sistemas legados de DES único. A idéia por trás do 3DES é que você pode multiplicar a segurança executando várias operações DES com chaves diferentes. Para fornecer compatibilidade, eles usaram uma construção EDE: 3 operações DES em sequência - Criptografar, Descriptografar, Criptografar - ou EDE abreviadamente. Acontece que uma operação de descriptografia DES é basicamente intercambiável com uma operação de criptografia em termos de segurança, então isso funciona muito bem. Quando você usa três chaves independentes para cada operação (conhecida como opção de codificação 1), você tem essencialmente uma chave de 168 bits. Se você quiser voltar para o modo DES antigo, use uma opção de codificação diferente (3) que tenha todas as três subchaves configuradas com o mesmo valor, ou seja, k1 = k2 = k3, de modo que duas das operações sejam canceladas e somente uma única operação DES realmente importa. Há também outra opção de codificação que tem duas das chaves com o mesmo valor, mas uma diferente, produzindo uma chave de 112 bits, mas isso não é realmente usado na realidade e (de forma um pouco confusa) é completamente diferente do motivo pelo qual você está vendo 3DES relatado como 112 bits.

Para tornar as coisas ainda mais confusas, às vezes você ouvirá as pessoas falando sobre DES de 64 bits ou 3DES de 192 bits. Eles são, de uma perspectiva criptográfica, idênticos a DES de 56 bits ou 3DES de 168 bits. DES especifica um sistema de preenchimento de teclas pelo qual 8 bits de preenchimento podem ser adicionados a uma chave de 56 bits para produzir uma chave acolchoada de 64 bits. Isso era para uso em alguns sistemas antigos e não é realmente importante, mas os 8 bits podem ser ignorados e apenas 56 bits são realmente o material chave. Em 3DES de 192 bits, acontece a mesma coisa, onde cada subchave de 56 bits é preenchida com 8 bits de preenchimento, mas novamente a chave criptográfica real tem apenas 168 bits.

Agora, qual é a coisa de 112 bits?

3DES sofre de um problema chamado ataque meet-in-the-middle . A abordagem é a seguinte:

  1. Encontre um par de blocos de texto simples e texto cifrado para uma determinada chave que você deseja decifrar.
  2. Calcule a primeira etapa de criptografia (ou seja, uma operação de criptografia DES) no bloco de texto simples para todas as chaves de 56 bits possíveis.
  3. Armazene todos os blocos de 64 bits resultantes em uma grande tabela de consulta.
  4. Para cada parte restante possível da chave de 112 bits, execute as outras duas operações (descriptografar, criptografar) no texto cifrado.
  5. Se o resultado das duas operações corresponder a qualquer bloco em sua tabela de pesquisa, você encontrou a chave. Caso contrário, tente a próxima chave de 112 bits.

Esta é uma troca de tempo / espaço que permite reduzir o número de cálculos de 2 168 para 2 112 com um custo de espaço de 2 56 blocos de 64 bits (512 petabytes).

Agora, por algum motivo bizarro, todas as ferramentas de segurança parecem relatar o 3DES-EDE como 112 bits sem realmente qualificar o motivo. O 3DES-EDE não possui um comprimento de chave de 112 bits, nem possui um comprimento efetivo de chave de 112 bits, a menos que você especifique que seu atacante tem 512PiB de armazenamento rápido disponível ao lado de seu conjunto massivo de ASICs de craqueamento DES. A prática de reportá-lo como 112 bits parece ter começado com a ferramenta "sslscan" e foi copiada por várias outras ferramentas desde então, levando a todos os tipos de confusão e equívocos (eu até vi isso incorretamente marcado em um exame de segurança !)

Isso não quer dizer que você não deveria desativar o 3DES - é um algoritmo antigo agora e há problemas com ele, então provavelmente vale a pena se afastar dele. Vale a pena saber o porquê.

Se você quiser, adicione DESede e DES à sua lista de algoritmos desativados. Esses nomes são definidos na documentação dos provedores criptográficos , caso você queira para desativar outros.

    
por 13.04.2016 / 21:46