Existem quatro tipos de renegociação possíveis:
- Renegociação segura iniciada pelo cliente
- Renegociação insegura iniciada pelo cliente
- Renegociação segura iniciada pelo servidor
- Renegociação insegura iniciada pelo servidor
Desde a descoberta da possibilidade de realizar ataques de renegociação ( CVE-2009-3555 ), uma vulnerabilidade que existe " em todas as versões atuais do TLS ", é seguro assumir que a renegociação não será executada com segurança, a menos que o cliente e o servidor implementem Extensão de Indicação de Renegociação de TLS .
A primeira reação do OpenSSL foi desativar a renegociação , com a renegociação segura sendo implementada em um release posterior .
Um cliente usando 0.9.7m, por definição, é anterior ao CVE-2009-3555 e é suscetível a esse ataque e também é incapaz de realizar uma renegociação segura.
Com relação ao que pode acionar a renegociação, você pode acompanhar isso em diferentes RFCs: TLS v1.0 , TLS v1.1 , TLS v1.2 . Diferentes postagens de blog analisando o CVE-2009-3555 também fornecem detalhes sobre quando acontece.
E considerando se isso pode ser forçado a partir do subcomando s_client
para fins de teste, sim, isso é documentado no manual página :
CONNECTED COMMANDS
If a connection is established with an SSL server then any data received from the server is displayed and any key presses will be sent to the server. When used interactively (which means neither -quiet nor -ign_eof have been given), the session will be renegotiated if the line begins with an R [...]
Também é possível fazer isso programaticamente .