o que é o TLS?
Descubra os conceitos básicos dos protocolos Transport Layer Security (TLS) e saiba como eles podem ajudar sua organização.
o que é o TLS?
TLS, na sigla em inglês, significa Segurança da Camada de Transporte. Resumindo, trata-se de um protocolo criptográfico que mantém a privacidade e a integridade dos dados para comunicações baseadas na web, como navegação na Internet, webmail e videoconferência. De maneira simplificada, o TLS utiliza algoritmos de criptografia para reduzir o risco de hackers sequestrarem conexões entre dispositivos e aplicações online.
Como protocolo de segurança, o nome TLS vem do modelo Open Systems Interconnection (OSI). O modelo OSI é uma estrutura conceitual que explica como funciona a comunicação em rede, dividindo-a em sete camadas. O TLS opera principalmente na camada de transporte, permitindo a comunicação segura entre dois terminais. Dito isto, ele também protege protocolos da camada de aplicação como HTTP (Hypertext Transfer Protocol) para navegação na web e SMTP (Simple Mail Transfer Protocol) para e-mail, entre outros.
No geral, o protocolo TLS tem três funções principais:
- Criptografia: A criptografia TLS oculta dados confidenciais à medida que são transferidos, protegendo-os contra acesso não autorizado. Em outras palavras, ela estabelece uma conexão segura, permitindo que duas ou mais partes troquem informações com segurança.
- Autenticação: Ela também garante que todas as partes envolvidas na transação sejam quem afirmam ser. Por exemplo, no caso de navegação na Internet, ela confirma a autenticidade de um site ou servidor web para um navegador.
- Integridade: O TLS verifica se os dados não foram falsificados ou adulterados por terceiros e se todas as informações chegam ao destino como previsto.
O que é SSL?
SSL significa Secure Socket Layer (Camada de Soquete Seguro) — o antecessor do Transport Layer Security. Assim como o TLS, trata-se de um protocolo de segurança da Internet que autentica sites e permite comunicações seguras por meio de uma conexão criptografada.
Uma empresa de serviços de informática chamada Netscape desenvolveu o protocolo SSL original em 1995. No entanto, esta versão nunca foi lançada para o público devido a falhas de segurança evidentes. Após duas versões subsequentes, a Internet Engineering Task Force (IETF) propôs o primeiro protocolo TLS em 1999.
A IETF desenvolveu originalmente o TLS 1.0 como SSL 3.1. Embora a empresa tenha mudado de nome para evitar problemas com o Netscape, muitos no setor ainda se referem ao TLS pelo seu nome anterior. Você pode até ver combinações dos dois, como referências à criptografia TLS/SSL.
Qual é a diferença entre TLS e SSL?
Apesar da confusão, os dois protocolos são muito diferentes por vários motivos importantes:
- Conjuntos de criptografia: O TLS oferece uma gama mais ampla de conjuntos de criptografia em comparação com o Secure Socket Layer (SSL). Em resumo, um conjunto de criptografia é um conjunto de algoritmos para uso no estabelecimento de comunicações seguras. Com mais flexibilidade, o TLS permite que os usuários selecionem o conjunto que melhor atenda às suas necessidades e preferências de segurança.
- Segurança: A criptografia TLS é muito mais forte do que a criptografia SSL, e cada versão foi melhorada em relação à anterior. O TLS 1.3, por exemplo, removeu algoritmos criptográficos mais antigos e recursos inseguros e introduziu o modelo de sigilo de encaminhamento perfeito (PFS, Perfect Forward Secrecy). Em essência, o Perfect Forward Secrecy é uma característica dos sistemas criptográficos onde cada chave de sessão é única e derivada de forma independente, garantindo que o comprometimento de uma chave não prejudique as comunicações passadas ou futuras.
- Compatibilidade: O TLS foi projetado para ser compatível com versões anteriores do SSL. Isso permite que sistemas que utilizam versões SSL mais antigas se comuniquem com aqueles que usam protocolos TLS mais recentes.
Na verdade, todas as versões do protocolo SSL estão obsoletas há anos, o que significa que já não oferecem proteção adequada. Por outro lado, o TLS é agora o protocolo de criptografia padrão da Internet. Na verdade, o National Institute of Standards and Technology (NIST) exige que todos os servidores e clientes TLS do governo sejam compatíveis com o TLS 1.2 e recomenda que os órgãos adotem o TLS 1.3 em um futuro próximo.
Por que usar o protocolo TLS?
A criptografia TLS serve principalmente para proteger aplicativos da web e sites contra violações de dados e outros ataques. Sem o protocolo TLS, terceiros desconhecidos poderiam facilmente interceptar e ler dados confidenciais, como credenciais de login, dados de cartão de crédito e informações pessoais. A habilitação de aplicativos cliente e aplicativos da Web para suportar o TLS garante que os dados transmitidos entre eles sejam criptografados com algoritmos seguros e não possam ser lidos por usuários não autorizados.
Benefícios do Transport Layer Security (TLS)
O TLS é um ativo importante para vários casos de uso, como:
- Aumentar a segurança: Com uma conexão TLS criptografada, você pode evitar que hackers espionem, adulterem ou interceptem seus dados confidenciais.
- Melhorar a autenticação: O TLS dispõe de mecanismos para verificar as identidades do cliente e do servidor envolvidos em uma transação. Isso ajuda a evitar ataques man-in-the-middle, garantindo que o cliente esteja se comunicando com um servidor legítimo e vice-versa.
- Conquistar a confiança do cliente: O uso de uma conexão TLS dará aos usuários a garantia de que sua sessão de navegação está totalmente protegida e privada. Isso ajuda os clientes a se sentirem à vontade para compartilhar suas informações pessoais ou dados de pagamento ao abrir uma nova conta ou fazer uma compra on-line.
- Aumentar a otimização do mecanismo de pesquisa (SEO): O Google considera a segurança do site em seus algoritmos de mecanismo de pesquisa. Por sua vez, os protocolos TLS não apenas protegem os usuários, mas também melhoram a visibilidade da sua empresa na página de resultados.
Como a criptografia TLS funciona?
O TLS estabelece uma conexão segura entre um dispositivo cliente, como um computador ou telefone celular, e um servidor web. Primeiro, ele autentica a conexão antes de criptografar a sessão. Em outras palavras, ele garante que o servidor web seja legítimo e não um impostor que tenta roubar dados confidenciais.
Este processo, conhecido como “protocolo de handshake TLS”, começa quando o cliente envia uma mensagem inicial ao servidor de destino. O servidor responde com informações que comprovam sua autenticidade e, uma vez verificadas ambas as partes, eles realizam uma troca de chaves. Em resumo, isso estabelece uma conexão TLS criptografada, permitindo a comunicação segura entre os dois.
Nada disso seria possível sem três componentes básicos: criptografia, certificados digitais e infraestrutura de chave pública (PKI). Vamos dividir cada um deles um por um.
Criptografia: Criptografia simétrica e assimétrica
De forma simples, a criptografia é a arte de proteger a comunicação e torná-la ilegível para terceiros. A criptografia é um aspecto essencial desse processo, que utiliza um algoritmo criptográfico para transformar dados de texto não criptografado em texto cifrado, obscurecendo assim as informações.
A criptografia também conta com recursos digitais chamados “chaves”, que são como uma ferramenta secreta para criptografar e descriptografar comunicações. Uma chave pública é conhecida por todos e é usada para criptografar os dados, enquanto uma chave privada é conhecida por apenas uma parte e é responsável pela descriptografia.
O Transport Layer Security (TLS) usa dois tipos diferentes de técnicas de criptografia baseadas em chave:
- A criptografia simétrica, também conhecida como criptografia simétrica, usa a mesma chave para criptografar e descriptografar dados.
- A criptografia assimétrica usa uma chave pública e uma chave privada. Sem elas, você não pode decodificar os dados criptografados.
Embora a criptografia simétrica seja muitas vezes mais eficiente, é arriscado confiar em apenas uma chave. A vantagem da criptografia assimétrica é que ela liga matematicamente suas duas chaves, tornando assim mais difícil para os agentes mal-intencionados decifrarem o código.
Certificados digitais
Um certificado digital é um arquivo eletrônico que certifica a propriedade de uma chave pública. Existem muitos tipos diferentes para vários casos de uso, como assinatura de código, assinatura de documentos, e-mail e muito mais.
Os navegadores da Web usam um certificado TLS para identificar e estabelecer uma conexão segura entre um cliente e um servidor. Cada um está associado exclusivamente a um domínio ou entidade específica, funcionando como uma espécie de cartão de identificação digital. Portanto, você pode pensar em um certificado TLS como um mecanismo de autenticação.
Quando o cliente inicia uma conexão com o servidor, o servidor envia seu certificado digital, que contém detalhes sobre:
- O nome de domínio e proprietário
- Qual versão do TLS está sendo usada
- As datas de emissão e expiração do certificado
- A chave pública
- A autoridade de certificação emissora (CA) e a assinatura digital
Uma vez verificado, ambas as partes geram uma chave secreta compartilhada. Essa chave é então usada para calcular um código de autenticação de mensagem (MAC) para cada mensagem trocada durante o handshake. Ao comparar os MACs, o cliente e o servidor confirmam que as mensagens não foram alteradas durante a transmissão, reforçando ainda mais o processo de autenticação.
Infraestrutura de chaves públicas (PKI)
A infraestrutura de chave pública refere-se às funções, políticas, tecnologias e procedimentos que criam, gerenciam, armazenam, distribuem e revogam certificados digitais. Simplificando, PKI é o sistema que vincula chaves públicas às suas respectivas identidades, seja uma pessoa, um domínio ou uma organização.
É fundamental que as organizações só possam obter um certificado TLS de uma autoridade de certificação (CA) reconhecida, como a Entrust. As CAs são entidades confiáveis responsáveis por verificar a identidade do solicitante, emitir certificados digitais e assiná-los digitalmente usando suas chaves privadas.
Essa assinatura digital serve como prova criptográfica de autenticidade e integridade. Além disso, ela permite que os destinatários, como navegadores da Web, verifiquem a validade do certificado ao descriptografar a assinatura usando a chave pública da CA, que é amplamente distribuída e pré-instalada em armazenamentos raiz confiáveis.
Etapas do protocolo de handshake TLS
Os handshakes TLS são uma série de mensagens trocadas entre um cliente e um servidor. As etapas exatas do processo variam dependendo do algoritmo criptográfico em uso e dos conjuntos de criptografia que cada parte suporta. No entanto, quaisquer que sejam esses fatores, todos os handshakes TLS utilizam criptografia assimétrica, mas nem todos usam criptografia simétrica. Em outras palavras, não é sempre que eles usam a chave privada para gerar uma chave de sessão.
Geralmente, a maioria dos handshakes segue estas etapas básicas:
- O dispositivo cliente envia uma mensagem “Client Hello” ao servidor web, incluindo informações sobre qual protocolo TLS e conjunto de criptografia ele suporta.
- O servidor responde com uma mensagem “Server Hello”. Isso inclui o certificado TLS correspondente, que contém a chave pública.
- Para confirmar a autenticidade, o cliente verifica o certificado TLS do servidor com a autoridade de certificação que o emitiu. Isso confirma que o servidor é o que afirma ser e que é operado pelo verdadeiro proprietário do domínio.
- Depois de verificado, o cliente gera uma chave secreta pré-mestre, também conhecida como chave de sessão.
- O servidor web descriptografa a chave da sessão com sua própria chave privada.
- Finalmente, com a troca de chaves concluída, ambas as partes têm uma conexão segura.
Como o TLS afeta o desempenho de aplicativos web?
As versões mais recentes do TLS quase não têm impacto nos aplicativos da web. Embora o protocolo de handshake TLS possa parecer demorado e complexo, na verdade ele acontece em segundos.
Para garantir um desempenho fluido, algumas tecnologias, como o TLS False Start, atenuam a latência. Isso permite que o servidor e o cliente transmitam dados antes que o handshake seja concluído. Outras opções, como o TLS Session Resumption, permitem que as partes usem um handshake abreviado caso já tenham se comunicado anteriormente.
O que é o gerenciamento de certificados?
O gerenciamento de certificados é o processo pelo qual certificados digitais são gerados, armazenados, protegidos, transferidos, usados e revogados. Ele inclui todas as políticas, tecnologias e procedimentos necessários para gerenciar o ciclo de vida dos certificados digitais.
Por que esse processo é importante? Porque ele garante que os ativos criptográficos estejam sempre seguros. Práticas inadequadas de gerenciamento de certificados, como certificados expirados ou comprometidos, podem levar a violações de dados, ataques man-in-the-middle ou interrupções de serviço.
Felizmente, com a Entrust, você pode simplificar todo o processo. Nossas soluções incluem a plataforma de serviços de certificados da Entrust, uma plataforma completa de gerenciamento para todos os seus certificados digitais. Ela torna a supervisão fácil e intuitiva, permitindo que você gerencie todo o ciclo de vida de várias CAs em um único painel.
Como obter um certificado TLS
Adquirir um certificado TLS é um processo simples. Depois de saber de que tipo de certificado você precisa, basta enviar uma solicitação de assinatura de certificado a uma CA autorizada.
Na Entrust, oferecemos acesso flexível e prático a uma ampla gama de certificados SSL/TLS, permitindo que você faça a melhor escolha para sua organização. Somos membros fundadores do Certificate Authority Security Council e do CA/Browser Forum, o que significa que estamos na vanguarda do setor em relação à criptografia.