Descodificando pacotes ssl com cifra TLS_ECDHE_RSA em wireshark

1

Estou tentando decodificar pacotes SSL em uma captura de pacotes usando o wireshark. Eu sou capaz de decodificar com sucesso os pacotes com a chave do servidor quando o cifra selecionada pelo servidor durante o handshake TLS é TLS_RSA_WITH_AES_256_CBC_SHA256.Eu apenas mencionar o servidor ip / porta / protocolo (http) / server.key em edit- > preferences- > Protocols- > ssl. Mas não funciona quando a cifra usada é TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 Eu estou usando o Wireshark versão 2.0.2. Existe alguma outra maneira de decodificar?

    
por user3049437 18.08.2017 / 14:38

1 resposta

1

A resposta para sua pergunta é

No, because of ECDHE_RSA.

Agora, vamos ver por que isso acontece. Vamos ver detalhadamente toda a especificação do ciphersuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 :

  • TLS - o protocolo
  • ECDHE_RSA - algoritmos de autenticação e troca de chaves
  • WITH_AES_128 - o algoritmo de criptografia / descriptografia
  • GCM - o modo usado para embaralhar os dados para que possa ser usado com segurança com o algoritmo
  • SHA256 - algoritmo de código de autenticação de mensagem

O algoritmo de troca de chaves está especificando como as chaves para a cifra de criptografia / descriptografia em massa são trocadas. E há algo especial sobre a troca de chaves Diffie-Hellman usada em ECDHE_RSA:

DHE_RSA offers something known as Perfect Forward Secrecy, a pompous name for the following property: if your server gets thoroughly hacked, to the point that the attacker obtains a copy of the server private key, then he will also be able to decrypt past TLS sessions (which he recorded) if these sessions used RSA, while he will not be able to do so if these sessions used DHE_RSA.

roubado de uma resposta sobre segurança.SE

Em outras palavras, com (EC) DHE, a chave AES usada para criptografia e descriptografia não pode ser recuperada da conversa TLS ciphertext , nem mesmo se você tiver a chave privada do servidor.

Isso é diferente quando confiamos apenas no RSA para troca de chaves: neste modo de operação, a chave de criptografia em massa a ser usada é gerada pelo cliente, criptografada por RSA com a chave pública do servidor e enviada ao servidor. Se um terceiro de espionagem tiver a chave privada do servidor, ele simplesmente poderá descriptografar o texto criptografado RSA da troca de chaves, obter a chave de criptografia em massa e descriptografar qualquer outra coisa. É exatamente isso que o Wireshark está fazendo ao decodificar um fluxo TLS para você.

Então, o que funciona para trocas de chaves baseadas em RSA, não serve para as baseadas em DHE.

    
por 18.08.2017 / 16:24

Tags