O que é TLS? Vantagens do TLS 1.3

TLS (Transport Layer Security) é o protocolo criptográfico que fornece segurança de comunicação para todos os sites modernos. Lançado pela primeira vez em 1999 como uma atualização para o SSL 3.0, agora obsoleto, o TLS 1.0 evoluiu para o TLS 1.1 e, em 2008, para a versão atual do TLS 1.2. Embora o TLS 1.2 tenha sido um enorme sucesso nos últimos dez anos, o cenário de segurança da web em constante mudança e as ameaças cibernéticas emergentes há muito exigem uma melhoria. Depois de uma década em construção e 28 rascunhos para ser definido, o TLS 1.3 foi finalmente lançado em agosto de 2018. Nesta visão geral rápida, mostraremos o que há de novo no TLS 1.3.

Como funciona o TLS?

O TLS usa uma combinação de criptografia simétrica e assimétrica, pois oferece um bom compromisso entre desempenho e segurança ao transmitir dados com segurança.

Com a criptografia simétrica, os dados são criptografados e descriptografados com uma chave secreta conhecida pelo remetente e pelo destinatário, tipicamente 128, mas preferencialmente 256 bits de comprimento (qualquer coisa menor que 80 bits agora é considerada insegura). A criptografia simétrica é eficiente em termos de computação, mas ter uma chave secreta comum significa que ela precisa ser compartilhada de maneira segura.

A criptografia assimétrica usa pares de chaves – uma chave pública e uma chave privada. A chave pública está matematicamente relacionada à chave privada, mas dado o comprimento de chave suficiente, é computacionalmente impraticável derivar a chave privada da chave pública. Isso permite que a chave pública do destinatário seja usada pelo remetente para criptografar os dados que deseja enviar, mas esses dados só podem ser descriptografados com a chave privada do destinatário.

A vantagem da criptografia assimétrica é que o processo de compartilhamento de chaves de criptografia não precisa ser seguro, mas a relação matemática entre as chaves públicas e privadas significa que tamanhos de chave muito maiores são necessários. O comprimento mínimo de chave recomendado é de 1.024 bits, com preferência de 2.048 bits, mas isso é até mil vezes mais intensivo em termos de computação do que as chaves simétricas de força equivalente (por exemplo, uma chave assimétrica de 2048 bits é aproximadamente equivalente a uma chave simétrica de 112 bits) e torna a criptografia assimétrica muito lenta para muitos propósitos.

Por esse motivo, o TLS usa criptografia assimétrica para gerar e trocar com segurança uma chave de sessão. A chave de sessão é então usada para criptografar os dados transmitidos por uma parte e para descriptografar os dados recebidos na outra extremidade. Assim que a sessão termina, a chave da sessão é descartada.

Uma variedade de diferentes métodos de geração e troca de chaves pode ser usada, incluindo RSA, Diffie-Hellman (DH), Diffie-Hellman efêmero (DHE), Curva elíptica Diffie-Hellman (ECDH) e Curva elíptica efêmera Diffie-Hellman (ECDHE). DHE e ECDHE também oferecem sigilo direto em que uma chave de sessão não será comprometida se uma das chaves privadas for obtida no futuro, embora a geração fraca de números aleatórios e/ou o uso de um intervalo limitado de números primos tenham sido postulados para permitir o cracking de até mesmo chaves DH de 1024 bits com recursos de computação de nível de estado. No entanto, eles podem ser considerados problemas de implementação, em vez de problemas de protocolo, e existem ferramentas disponíveis para testar os conjuntos de criptografia mais fracos.

Com o TLS, também é desejável que um cliente conectado a um servidor seja capaz de validar a propriedade da chave pública do servidor. Isso normalmente é realizado usando um certificado digital X.509 emitido por um terceiro confiável conhecido como Autoridade de Certificação (CA), que afirma a autenticidade da chave pública. Em alguns casos, um servidor pode usar um certificado auto assinado que precisa ser explicitamente confiável pelo cliente (os navegadores devem exibir um aviso quando um certificado não confiável é encontrado), mas isso pode ser aceitável em redes privadas e/ou onde a distribuição segura de certificados é possível. No entanto, é altamente recomendável usar certificados emitidos por CAs publicamente confiáveis.

TLS 1.3 é mais rápido que o TLS 1.2

O TLS 1.3 apresenta um novo handshake que reduz o tempo que leva para criptografar uma conexão. Anteriormente, o TLS 1.2 exigia duas viagens de ida e volta para concluir o handshake do TLS, mas agora a versão 1.3 precisa de apenas uma viagem de ida e volta. Essa alteração diminui a latência de criptografia pela metade. Mesmo que a diferença seja em milissegundos, ela aumenta em escala e ajuda as empresas a melhorar o desempenho da rede.

Outro novo recurso que reduz o tempo de criptografia é o Zero Round Trip Time Resumption (0-RTT). Quando um usuário visita novamente o seu site em um curto espaço de tempo, o 0-RTT torna a conexão quase instantânea.

Quais navegadores suportam TLS 1.3?

No momento em que este artigo foi escrito, Chrome (67+), Firefox (61+), Opera (57+), Edge (76) e Safari (12.3), todos suportam a versão mais recente do TLS. O Chrome e o Firefox foram os primeiros a implantar o suporte para TLS 1.3. Use este link para verificar quais versões de navegador são compatíveis com TLS 1.3.

TLS 1.2 vs TLS 1.3: Quais são as principais diferenças?

O TLS 1.3 oferece várias melhorias em relação às versões anteriores, principalmente um handshake de TLS mais rápido e conjuntos de criptografia mais simples e seguros. As trocas de chaves do Zero Round-Trip Time (0-RTT) otimizam ainda mais o handshake TLS. Juntas, essas mudanças fornecem melhor desempenho e segurança mais forte.

Handshake TLS mais rápido

A criptografia TLS e a descriptografia SSL requerem tempo de CPU e adicionam latência às comunicações de rede, degradando um pouco o desempenho. No TLS 1.2, o handshake inicial era realizado em texto não criptografado, o que significa que mesmo ele precisava ser criptografado e descriptografado. Dado que um handshake típico envolvia de 5 a 7 pacotes trocados entre o cliente e o servidor, isso adicionava uma sobrecarga considerável à conexão. Na versão 1.3, a criptografia do certificado do servidor foi adotada por padrão, possibilitando que um handshake TLS fosse realizado com 0 – 3 pacotes, reduzindo ou eliminando esta sobrecarga e permitindo conexões mais rápidas e responsivas.

TLS 1.3 na GoCache

O protocolo TLS 1.3 já é nativamente integrado a ferramenta da GoCache, permitindo que sua aplicação usufrua de todos os benefícios em nível de segurança e performance fornecido por essa versão.

Referencia: https://www.a10networks.com/blog/key-differences-between-tls-1-2-and-tls-1-3/