Assunto
- #TLS
Criado: 2024-10-27
Criado: 2024-10-27 21:31
A partir de 2020, com o fim do suporte ao TLS 1.1,
tornou-se necessário verificar servidores antigos.
Se o TLS 1.1 for mantido, erros podem ocorrer na comunicação entre serviços de nuvem como AWS e Azure,
ou em comunicações com APIs externas, como pagamentos, além da possibilidade de problemas dependendo da versão do navegador.
- Parece que as versões 6.x e anteriores não suportam TLS 1.2. É necessário alterá-lo para TLS 1.2 através de um JRE Java 7 ou superior.
- Parece que a versão 1.1.13 suporta TLS 1.2.
Client Hello: O cliente envia uma solicitação de conexão ao servidor (incluindo a versão TLS e o conjunto de cifras suportados).
Server Hello: O servidor envia a versão TLS, o conjunto de cifras e o certificado SSL para provar sua confiabilidade.
Troca de chaves e geração de chave de sessão: O cliente e o servidor geram uma chave de sessão compartilhada usando um algoritmo de troca de chaves.
Mensagem de conclusão: O cliente e o servidor enviam mensagens de conclusão criptografadas com suas respectivas chaves.
Transferência de dados: Os dados são criptografados usando a chave de sessão e trocados.
Encerramento: Após a transferência de dados, as mensagens de encerramento da sessão são trocadas e as informações da chave de sessão são excluídas.
O TLS é um protocolo de segurança de nível de transporte, que serve como base para o HTTPS. Ele fornece autenticação, integridade e criptografia.
O 1.2 é considerado superior ao 1.1 em termos de segurança e desempenho.
- O 1.1 usa algoritmos hash MD5 e SHA-1.
- O 1.1 pode ser vulnerável a ataques BEAST, Man-in-the-middle e Cipher Suite.
* BEAST: O atacante intercepta a conexão HTTPS e injeta conteúdo malicioso.
* Man-in-the-middle: O atacante intercepta a comunicação e rouba os dados.
- O 1.2 usa o algoritmo SHA-256 (algoritmo de segurança mais robusto).
- O 1.2 suporta o conjunto de cifras GCM (Galois/Counter Mode), que executa criptografia e autenticação simultaneamente, resultando em maior velocidade.
Todos os mecanismos de criptografia necessários para que o cliente e o servidor possam trocar dados, composto por quatro partes.
1. Algoritmo de troca de chaves
- Método para troca segura de chaves secretas compartilhadas, ex) RSA, Diffie-Hellman
2. Algoritmo de autenticação
- Verifica se o servidor é confiável por meio de um certificado, ex) chave pública RSA
3. Algoritmo de criptografia simétrica
- Método para criptografar dados durante uma sessão e descriptografá-los usando a mesma chave de sessão pelo cliente e servidor, ex) AES
4. Código de autenticação de mensagem
- Verificação de integridade de dados, ex) HMAC-SHA256
O conjunto de cifras é uma notação combinada dos quatro elementos acima.
Comentários0