Este artigo foi publicado no Blog Internacional da Globalsign. Foi escrito por Julie Olenski em julho de 2016 e atualizado pelo gerente sênior de marketing de produtos da GlobalSign, Patrick Nohe em março de 2020 para refletir as últimas mudanças na evolução do SSL.
A menos que você trabalhe regularmente com esse tipo de protocolo, há uma boa chance de você não saber a diferença entre SSL (Secure Sockets Layers) e TLS (Transport Layer Security).
E esse setor não faz muitos favores ao se referir coloquialmente ao TLS como SSL.
Houve quatro iterações do protocolo TLS.
O SSL foi (ou deveria ser) totalmente descontinuado. Então, qual é a diferença entre SSL e TLS?
Você está prestes a descobrir.
Uma Breve História do SSL e TLS
SSL e TLS são protocolos criptográficos que fornecem autenticação e criptografia de dados entre servidores, máquinas e aplicativos que operam em uma rede (por exemplo, um cliente conectado a um servidor da web).
Na realidade, o SSL tem apenas 25 anos. Mas nos anos da internet, isso é antigo.
A primeira iteração do SSL, versão 1.0, foi desenvolvida pela Netscape em 1995, mas nunca foi lançada porque estava com falhas de segurança.
O SSL 2.0 não era muito melhor, então apenas um ano depois o SSL 3.0 foi lançado. Mais uma vez, tinha sérias falhas de segurança.
Nesse ponto, os funcionários do Consensus Development fizeram uma rachadura e desenvolveram o TLS 1.0.
O TLS 1.0 era incrivelmente semelhante ao SSL 3.0 – na verdade, era baseado nele – mas ainda é diferente o suficiente para exigir um downgrade antes que o SSL 3.0 fosse implementado. Como escreveram os criadores do protocolo TLS :
“As diferenças entre este protocolo e o SSL 3.0 não são dramáticas, mas são significativas o suficiente para que o TLS 1.0 e o SSL 3.0 não fossem interoperáveis entre si”
A atualização para o SSL 3.0 ainda era perigosa, dadas as vulnerabilidades conhecidas e exploráveis. Tudo o que um invasor precisava fazer para direcionar um site foi fazer o downgrade do protocolo para SSL 3.0. Portanto, o nascimento de ataques de downgrade. Isso acabou sendo o prego no caixão do TLS 1.0.
O TLS 1.1 foi lançado sete anos depois em 2006, substituído pelo TLS 1.2 em 2008. Isso prejudicou a adoção do TLS 1.1, pois muitos sites simplesmente atualizaram de 1.0 para TLS 1.2. Agora estamos no TLS 1.3, que foi finalizado em 2018 após 11 anos e quase 30 rascunhos da IETF.
[toggles title=”Internet Engineering Task Force (IETF)”]Internet Engineering Task Force – IETF é um grupo internacional aberto, composto de técnicos, agências, fabricantes, fornecedores e pesquisadores, que se ocupa do desenvolvimento e promoção de standards para Internet, em estreita cooperação com o World Wide Web Consortium e ISO/IEC, em particular TCP/IP e o conjunto de protocolos Internet.
O IETF tem como missão identificar e propor soluções a questões/problemas relacionados à utilização da Internet, além de propor padronização das tecnologias e protocolos envolvidos.
As recomendações da IETF são usualmente publicadas em documentos denominados Request for Comments (RFCs), sendo que o próprio IETF é descrito pela RFC 3160. Fonte: wikipedia[/toggles]
O TLS 1.3 faz melhorias significativas em relação a seus antecessores e, atualmente, os principais players da Internet estão pressionando por sua proliferação. Microsoft, Apple, Google, Mozilla e Cloudflare anunciaram planos de descontinuar o TLS 1.0 e o TLS 1.1 em janeiro de 2020, tornando o TLS 1.2 e o TLS 1.3 o único jogo da cidade.
De qualquer forma, usamos o TLS nas últimas décadas. Neste ponto, se você ainda estiver usando SSL, estará atrasado anos, vivendo metaforicamente em uma era desolada, onde as pessoas ainda usam linhas telefônicas para discar para a Internet.
Você deve usar SSL ou TLS?
O SSL 2.0 e o 3.0 foram preteridos pela Internet Engineering Task Force , também conhecida como IETF, em 2011 e 2015, respectivamente.
Ao longo dos anos, as vulnerabilidades foram e continuam sendo descobertas nos protocolos SSL obsoletos – por exemplo , POODLE , DROWN. A maioria dos navegadores modernos mostrará uma experiência de usuário degradada (por exemplo, linha através do cadeado ou https na barra de URL ou outros avisos de segurança) quando encontrar um servidor da Web usando os protocolos antigos. Por esses motivos, você deve desabilitar o SSL 2.0 e 3.0 na configuração do servidor e, enquanto estiver nisso – vá em frente e descontinue o TLS 1.0 e o TLS 1.1 também.
De acordo com uma pesquisa recente da WatchGuard, quase 7% dos 100.000 Alexa Top ainda suportam SSL 2.0 e / ou SSL 3.0. Portanto, esses sites ainda estão por aí em abundância.
Certificados não são os mesmos que protocolos
Antes que alguém comece a se preocupar com a necessidade de substituir seus certificados SSL existentes por certificados TLS, é importante observar que os certificados não dependem de protocolos. Ou seja, você não precisa usar um certificado TLS versus um certificado SSL. Embora muitos fornecedores tendam a usar a frase “Certificado SSL / TLS”, pode ser mais preciso chamá-los de “Certificados para uso com SSL e TLS”, já que os protocolos são determinados pela configuração do servidor, e não os próprios certificados.
Isso vale também para a força da criptografia. Muitos certificados anunciam a força da criptografia, mas, na verdade, são os recursos do servidor e do cliente que determinam isso.
No início de cada conexão, ocorre um processo chamado handshake. Durante esse processo, o cliente autentica o certificado TLS do servidor e os dois decidem sobre um conjunto de cifras suportado mutuamente. Os conjuntos de cifras são uma coleção de algoritmos que trabalham juntos para criptografar com segurança sua conexão com esse site. Quando o conjunto de cifras é negociado durante o handshake, é quando a versão do protocolo e os algoritmos de suporte são determinados. Seu certificado apenas facilita o processo.
Historicamente, existem quatro algoritmos em um conjunto de criptografia:
1- Troca de chaves
2- Assinatura digital
3- Autenticação de Mensagens
4- Algoritmo de hash
(Se isso parecer um pouco complicado, não será em um segundo quando discutirmos as diferenças entre SSL e TLS.)
Por enquanto, é provável que você continue vendo os certificados referidos como Certificados SSL, porque neste momento é o termo com o qual mais pessoas estão familiarizadas. Estamos começando a ver um aumento no uso do termo TLS em todo o setor, e o SSL / TLS é um compromisso comum até que o TLS se torne mais amplamente aceito.
SSL e TLS são diferentes em criptografia?
Sim. A diferença entre cada versão do protocolo pode não ser grande, mas se você estivesse comparando o SSL 2.0 ao TLS 1.3, haveria um abismo entre eles. Na sua essência, o conceito é o mesmo em cada versão. É assim que os diferentes protocolos realizam a tarefa de criptografar as conexões que divergem.
Cada versão recém-lançada do protocolo veio e virá com seus próprios aprimoramentos e / ou recursos novos / obsoletos. A versão um do SSL nunca foi lançada, a versão dois teve, mas apresentava algumas falhas importantes, a versão 3 do SSL foi uma reescrita da versão dois (para corrigir essas falhas – com sucesso limitado) e a versão 1 do TLS uma melhoria da versão 3. do SSL. Entre o TLS 1.0 e 1.1, as mudanças foram menores. O TLS 1.2 trouxe algumas mudanças significativas e o TLS 1.3 refinou e simplificou todo o processo.
Vale a pena notar aqui que SSL e TLS se referem simplesmente ao handshake que ocorre entre um cliente e um servidor.
O handshake, na verdade, não faz nenhuma criptografia, apenas concorda com um segredo compartilhado e o tipo de criptografia que será usado.
Um handshake SSL usa uma porta para fazer suas conexões. Isso é chamado de conexão explícita. A porta 443 é a porta padrão para HTTPS, mas existem 65.535 portas no total – com apenas algumas dedicadas a uma função específica.
O TLS, por outro lado, inicia suas conexões via protocolo. Isso é chamado de conexão implícita. O primeiro passo do aperto de mão – o ato que o inicia – é chamado de olá cliente. Com o TLS, ele é enviado por um canal inseguro e a conexão muda para a porta 443 (ou a porta que você designou) após o início do handshake.
Tradicionalmente, o handshake envolve várias viagens de ida e volta à medida que a autenticação e a troca de chaves ocorrem. Com o SSL, isso adicionou latência às conexões. É aí que surgiu o mito de que o SSL / HTTPS torna seu site lento.
Cada nova iteração do protocolo trabalhou para reduzir a latência adicionada pelo handshake. Pelo TLS 1.2, foi comprovado que o HTTPS era realmente mais rápido que o HTTP devido à sua compatibilidade com o HTTP / 2.
O TLS 1.3 aprimorou ainda mais o aperto de mão. Agora ele pode ser realizado com uma única ida e volta e permite a retomada zero de ida e volta (0-RTT). Parte disso foi a redução do número de conjuntos de cifras que ele suporta, de quatro algoritmos para dois.
Agora é simplesmente um algoritmo de criptografia em massa (simétrica / sessão) e um algoritmo de hash. As negociações de troca de chaves e assinatura digital foram removidas. A troca de chaves agora é realizada usando uma família Diffie-Hellman, que permite o sigilo de encaminhamento perfeito por padrão e permite que o cliente e o servidor forneçam sua parte do segredo compartilhado na primeira interação. Agora, essa primeira interação também é criptografada, fechando a porta a um possível vetor de ataque.
Para obter mais informações sobre os novos recursos lançados no TLS 1.3, visite o blog Cloudflare e veja o que diz Nick Sullivan.
Desativando SSL 2.0 e 3.0 e TLS 1.0
Se você não tiver certeza se seus servidores ainda oferecem suporte a protocolos SSL, você pode verificar facilmente usando nosso Teste de servidor SSL .
Para obter instruções sobre como desativar o SSL 2.0 e 3.0 em tipos de servidor populares, incluindo Apache, NGINX e Tomcat, consulte nosso artigo de suporte relacionado.
Então, qual é a diferença entre SSL e TLS? Em uma conversa educada, não muito – e muitas pessoas continuam usando os termos SSL e TLS de forma intercambiável.
Porém, em termos de configuração do servidor, existem algumas grandes diferenças arquiteturais e funcionais. E essas diferenças são o espaço entre vulnerabilidades, conjuntos de códigos desatualizados, avisos de segurança do navegador – e um servidor seguro. Quando se trata de seus servidores, você deve ter apenas os protocolos TLS ativados.
Fonte: Globalsign