O que é Transport Layer Security (TLS)?

Autores

Alexandra Jonker

Staff Editor

IBM Think

Tom Krantz

Staff Writer

IBM Think

O que é Transport Layer Security (TLS)?

Transport Layer Security (TLS) é um protocolo criptográfico que ajuda a proteger as comunicações em redes de computadores desprotegidas como a internet.

Por meio de várias técnicas de criptografia assimétrica e simétrica, o TLS possibilita autenticação de ponta a ponta, confidencialidade e integridade de dados. Essas proteções se aplicam a uma ampla gama de comunicações de rede, incluindo e-mail, mensagens, voz sobre IP (VoIP) e redes privadas virtuais (VPNs).

O TLS é amplamente reconhecido por estabelecer conexões seguras para navegação na web. É a base do Hypertext Transfer Protocol Secure (HTTPS), protocolo de camada de aplicações que possibilita a troca de dados criptografados entre aplicações da web e a maioria dos principais navegadores da web.

O protocolo de criptografia TLS tem duas camadas: o protocolo de negociação TLS e o protocolo de registro TLS. O protocolo de negociação autentica o servidor web e o cliente (o dispositivo que se conecta ao servidor). O protocolo de registro verifica e protege os dados para transporte.

Essas camadas ficam acima de um protocolo de transporte, como o do modelo Transmission Control Protocol/Internet Protocol (TCP/IP) — pacote de protocolos que especificam padrões de comunicação entre computadores e são considerados “a cola que mantém a Internet unida”.1

As mais recentes notícias de tecnologia, corroboradas por insights de especialistas.

Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.

Agradecemos sua inscrição!

Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

SSL vs. TLS

O protocolo TLS é o sucessor do padrão de protocolo Secure Sockets Layer (SSL) desenvolvido pela Netscape Communications Corporation. Em 1996, a Internet Engineering Task Force (IETF) padronizou formalmente o protocolo SSL.

Em janeiro de 1999, o IETF fez melhorias e resolveu vulnerabilidades na versão mais recente do SSL (SSL 3.0), alterando o nome para Transport Layer Security. Foi formalmente definido na Solicitação de Comentários (RFC) 2246. Hoje, os termos "TLS" e "SSL" são frequentemente utilizados de forma intercambiável ou estilizados como TLS/SSL.

AI Academy

Preparando-se para a IA com a nuvem híbrida

Liderada pelos principais líderes da IBM, o currículo dessa experiência foi desenvolvido para ajudar líderes empresariais a terem o conhecimento necessário para priorizar os investimentos em IA capazes de estimular o crescimento.

Por que usar TLS?

Chamado de "o protocolo de segurança mais importante da Internet" pela IETF, o TLS é fundamental para proteger comunicações online contra o acesso não autorizado. Sua versão mais recente, o TLS 1.3, oferece segurança mais forte e rápida e serve como a espinha dorsal do mundo digital seguro de hoje.

Quase 68% da população global está online,2 com bilhões contando com a internet diariamente para tudo, desde compras e serviços bancários até assistência médica e comunicações pessoais. Em todos esses casos de uso, proteger dados confidenciais é essencial. Isso significa protegê-lo contra hackers, adulterações, espionagem e outras ameaças à cibersegurança, como violações de dados, malware ou ataques intermediários.

O TLS suporta especificamente o HTTPS, o protocolo de segurança padrão de sites. O ícone do cadeado HTTPS, agora uma funcionalidade conhecida nos navegadores da web, sinaliza aos usuários que um site é confiável e seguro.

O ícone também indica que um site tem um certificado TLS válido (também conhecido como certificado SSL). Essa credencial digital, emitida por uma autoridade de certificação (CA), verifica a identidade de um site e possibilita uma conexão criptografada. Para ilustrar a escala do uso de TLS e HTTPS: um dos principais provedores de certificados TLS emite mais de 340 mil certificados por hora

O TLS garante a comunicação segura na Internet aplicando três propriedades principais de um canal seguro:

Autenticação

Verifica as identidades do remetente e do destinatário, bem como a origem e o destino dos dados.

Confidencialidade

Garante que os dados possam ser acessados apenas pelo destinatário pretendido.

Integridade

Garante que os dados não possam ser modificados durante o armazenamento ou a transmissão sem que as alterações sejam detectadas.

Como funciona o TLS?

A segurança da camada de transporte é eficaz porque depende de processos criptográficos para proteger as informações transmitidas.

Criptografia vem da palavra grega “kryptos”, que significa “oculto”. O objetivo principal da criptografia é proteger e obscurecer as comunicações utilizando criptografia, processo no qual algoritmos complexos convertem mensagens legíveis (texto simples) em mensagens codificadas (texto cifrado). O texto cifrado só pode ser descriptografado em um formato legível por um destinatário autorizado com uma chave específica.

No contexto da criptografia, como a criptografia TLS, uma chave é uma sequência aleatória de números ou letras. Quando utilizado com um algoritmo criptográfico, ele criptografa (bloqueia) ou descriptografa (liberar) informações. Os algoritmos usados para criptografar e descriptografar dados transferidos por uma rede geralmente vêm em duas categorias: criptografia de chave secreta e criptografia de chave pública.

Criptografia de chave secreta

Também conhecido como criptografia simétrica ou criptografia de chave simétrica, esse sistema cria uma única chave compartilhada para criptografar e descriptografar dados confidenciais. A criptografia simétrica é simples e eficiente, mas depende da troca segura de chaves e do gerenciamento de chaves.

A maioria dos dados confidenciais enviados em uma sessão TLS são enviados com criptografia de chave secreta. O TLS usa funções de hash criptográficas para ajudar a garantir a privacidade e a integridade dos dados. Geram um valor de hash de tamanho fixo a partir dos dados de input. Esse valor atua como uma impressão digital que pode ser comparada antes e depois da transmissão. Se o hash mudar, significa que alguém adulterou os dados.

Um código de autenticação de mensagem (MAC) é como um hash criptográfico, mas também autentica o remetente. Ele aplica uma chave secreta às mensagens com hash, sendo o hash resultante conhecido como código de autenticação de mensagem com hash (HMAC).

Criptografia de chave pública

Também conhecida como criptografia assimétrica ou criptografia de chave pública, esse sistema usa um par de chaves matematicamente vinculados (uma pública e outra privada) para criptografar e descriptografar dados. Ela possibilita que pessoas e sistemas troquem informações confidenciais sem a necessidade de compartilhar uma chave secreta com antecedência. É como uma caixa de correio: qualquer pessoa pode inserir uma carta, mas somente o proprietário pode liberar e recuperar seu conteúdo.

Esses recursos ajudam a estabelecer confiança quando integrados à infraestrutura de chave pública (PKI). Por exemplo, os certificados de chave pública (também conhecidos como certificados digitais ou certificados SSL/TLS) vinculam chaves públicas a identidades verificadas por meio de uma autoridade de certificação.

Eles também definem a base para assinaturas digitais, um componente de certificados digitais usado no TLS para autenticar um cliente ou servidor web. Depois que um hash criptográfico é criado para uma mensagem, ele é criptografado com a chave privada do remetente.

Esse hash criptografado é a assinatura digital. A assinatura pode ser verificada por qualquer pessoa que use a chave pública, possibilitando validação da identidade do remetente e da integridade dos dados.

Quais são as duas camadas do TLS?

O protocolo TLS tem dois subprotocolos: o protocolo de negociação de TLS e o protocolo de registro TLS. As etapas exatas podem variar dependendo da versão do TLS.

O protocolo de negociação de TLS

A negociação de TLS estabelece uma conexão segura entre o cliente e o servidor da web. Usando criptografia de chave pública, o servidor é autenticado (e às vezes o cliente) com um certificado digital. O cliente e o servidor então concordam com um pacote de criptografia (um conjunto de algoritmos de criptografia) e fazem uma troca de chaves para estabelecer com segurança as chaves de sessão compartilhada (chaves secretas para criptografia e hash).

Depois que as chaves de sessão são estabelecidas, a sessão segura é considerada como configurada. A partir desse ponto, a criptografia de chave pública não é mais usada e todos os dados subsequentes transmitidos são criptografados e autenticados com criptografia de chave secreta.

(Para mais detalhes, consulte: “Quais são as etapas de uma negociação TLS?”)

Protocolo de registro TLS

O protocolo de registro é responsável pela proteção dos dados transmitidos durante a conexão TLS. Para isso, utiliza o pacote de criptografia e as chaves negociadas durante a negociação como uma espécie de receita para proteger os dados.

O pacote de cifras define quais algoritmos devem ser usados para troca de chaves, criptografia e autenticação de mensagens. As chaves simétricas (secretas) são usadas para criptografar dados de saída e descriptografar dados de entrada. As chaves também são usadas para criar códigos de autenticação de mensagem que confirmam a integridade dos dados.

Por meio desses mecanismos, o protocolo de registo garante a autenticação, a integridade e a confidencialidade da conexão.

Quais são as etapas em de uma negociação de TLS?

As etapas exatas de uma negociação de TLS variam de acordo com a versão do TLS. Pode levar de 200 a 300 milissegundos ou apenas 100 milissegundos para ser concluído (obviamente a duração exata depende da latência, do tempo de viagem de ida e volta (RTT), do desempenho do servidor e de outras considerações da rede).

Esta ilustração usa o TLS 1.3, que é a versão mais rápida, mais recente e mais segura do TLS.

1. Olá do cliente

O cliente envia uma mensagem ClientHello com a versão do TLS compatível (TLS 1.3), as suítes de cifras, uma sequência aleatória de bytes (client\_random) e um compartilhamento de chave efêmero utilizando o método de troca de chaves Elliptic Curve Diffie-Hellman Ephemeral (ECDHE).

2. Olá do servidor e troca de chaves

O servidor responde com uma mensagem ServerHello contendo o pacote de cifras selecionado, outra string de bytes aleatória (server_random) e seu próprio compartilhamento efêmero de chave. Essa etapa estabelece os parâmetros da troca de chaves.

Agora, ambas as partes podem calcular um segredo compartilhado usando ECDHE. Esse segredo compartilhado é utilizado para derivar as chaves de negociação.

O servidor então envia seu certificado digital, uma mensagem CertificateVerify (assinada com sua chave privada) e uma mensagem Concluída (criptografada com a chave de negociação).

(Opcional: se o servidor exigir autenticação do cliente, enviará um CertificateRequest. O cliente então responde com seu certificado e uma mensagem CertificateVerify).

3. Autenticação e finalização

O cliente verifica se o certificado do servidor foi emitido por uma autoridade de certificação confiável, se é válido e não revogado e se o domínio é o mesmo. Verifica também a mensagem CertificateVerify do servidor usando a chave pública do servidor do certificado e a mensagem Concluída usando a chave de negociação.

O cliente envia sua própria mensagem de Concluído usando uma tecla de negociação, e a negociação é confirmada como concluída.

Nesse ponto, ambas as partes se autenticaram e estabeleceram uma chave secreta compartilhada. Agora podem trocar mensagens com criptografia simétrica.

Quais métodos de troca de chaves o TLS utiliza?

Os métodos de troca de chaves ajudam os usuários a trocar chaves criptográficas com segurança. Há vários métodos de troca de chaves utilizados para implementar o TLS:

Diffie-Hellman (DH)

O Diffie-Hellman é um dos métodos de troca de chaves mais comuns. É um protocolo de troca de chaves assimétricas que possibilita que duas partes, sem conhecimento prévio uma da outra, gerem uma chave secreta compartilhada para comunicações seguras através de um canal inseguro. Sua segurança depende da dificuldade de resolver o problema do logaritmo discreto, um problema matemático complexo que torna computacionalmente inviável decifrar o segredo compartilhado.

Há diversas variações da troca de chaves Diffie-Hellman:

  • Diffie-Hellman Efêmero (DHE): No DHE, "efêmero" significa que é gerada uma chave temporária ou de uso único para cada sessão. Isso proporciona sigilo avançado, garantindo que o comprometimento de chaves de longo prazo não comprometa sessões anteriores. O DHE é comumente utilizado no TLS 1.2, embora o TLS 1.2 seja compatível tanto com DH quanto com DHE.

  • Curva elíptica Diffie-Hellman (ECDH): O ECDH é semelhante ao DH, mas utiliza criptografia de curva elíptica, o que proporciona maior segurança com tamanhos de chave menores. Os cálculos ECDH são, portanto, mais rápidos e consomem menos recursos. No entanto, os conjuntos de criptografia não efêmeros não são recomendados pela IETF devido à sua falta de sigilo progressivo.

  • Elliptic Curve Diffie-Hellman Ephemeral (ECDHE): Esta é a versão efêmera do ECDH, na qual são geradas chaves temporárias para cada sessão, proporcionando sigilo avançado. É o método de troca de chaves obrigatório do TLS 1.3.

Rivest-Shamir-Adleman (RSA)

RSA é um algoritmo de criptografia assimétrico que se baseia na complexidade matemática da fatoração de grandes números primos para gerar pares de chaves. Utiliza um par de chaves pública-privada para criptografia e descriptografia, tornando-o adequado para transmissão segura de dados e assinaturas digitais. O RSA não é compatível com o TLS 1,3 para troca de chaves devido a questões de segurança (ou seja, não proporciona sigilo avançado). No entanto, pode ser usado para autenticação.

Chave pré-compartilhada (PSK)

PSK é uma chave secreta compartilhada previamente compartilhada entre as duas partes por meio de um canal seguro antes da sessão TLS. Os usuários podem estabelecer uma PSK durante uma negociação de TLS e, em seguida, usá-la para estabelecer outra conexão em outra negociação; isso é conhecido como retomada de sessão com uma PSK. Recomenda-se usar PSKs com DHE ou ECDHE para proporcionar sigilo direto.

Qual é a versão mais recente do protocolo TLS?

Desde o lançamento inicial do TLS 1.0 em 1999 (uma atualização da versão 3.0 do SSL), a IETF lançou três versões subsequentes do TLS:

  • TLS 1.1, especificado no RFC 4346, abril de 2006: esta versão continha pequenas melhorias de segurança e editoriais, bem como esclarecimentos.

  • TLS 1.2, especificado no RFC 5246, agosto de 2008: essa versão foi uma atualização do TLS 1.1 e facilitou notavelmente a flexibilidade para negociação de algoritmos criptográficos.

  • TLS 1.3, especificado no RFC 8446, agosto de 2018: Esta última atualização melhora a segurança, o desempenho e a privacidade, reduzindo a latência com um tempo de ida e volta zero (0-RTT) e simplificando a negociação, entre outras alterações.

É importante observar que, embora o TLS 1.3 possa ser implementado com um modo de compatibilidade retroativa, não é diretamente compatível com as versões anteriores do TLS. 

Soluções relacionadas
IBM Cloud Infrastructure Center 

O IBM Cloud Infrastructure Center é uma plataforma de software compatível com o OpenStack para gerenciamento da infraestrutura de nuvens privadas em sistemas IBM zSystems e no IBM LinuxONE.

Explore o Cloud Infrastructure Center
Soluções de infraestrutura de TI

Conheça servidores, armazenamento e software projetados para sua estratégia corporativa de nuvem híbrida e IA.

Saiba mais sobre as soluções de infraestrutura de TI
Soluções de infraestrutura em nuvem

Encontre a solução ideal de infraestrutura em nuvem para as necessidades do seu negócio e expanda os recursos conforme a demanda.

Soluções em nuvem
Dê o próximo passo

Transforme sua infraestrutura empresarial com as soluções da IBM prontas para IA e nuvem híbrida. Descubra servidores, armazenamento e software projetados para proteger, expandir e modernizar seus negócios ou acesse insights de especialistas para aprimorar sua estratégia de IA generativa.

Saiba mais sobre as soluções de infraestrutura de TI Baixe o e-book