Como HTTPS e TLS realmente funcionam: um guia prático

Security2026-11-04TryQuickToolBox

Por que HTTPS é importante

Toda vez que você visita um site, você confia que a conexão é privada e que o site é quem diz ser. HTTPS (Hypertext Transfer Protocol Secure) é o protocolo que torna isso possível ao colocar HTTP sobre TLS (Transport Layer Security). Sem ele, senhas, números de cartão de crédito e dados pessoais trafegariam em texto simples, facilmente interceptados por qualquer pessoa na mesma rede.

Neste guia, vamos explicar como HTTPS e TLS realmente funcionam—desde o handshake que estabelece um canal seguro até a criptografia que protege seus dados. Você verá os conceitos-chave, as etapas envolvidas e dicas práticas para garantir que seus próprios sites estejam devidamente protegidos.

O handshake TLS: estabelecendo confiança

Antes de qualquer dado ser trocado, o cliente (navegador) e o servidor realizam um handshake TLS. Esse processo autentica o servidor, negocia algoritmos de criptografia e gera chaves de sessão. As etapas exatas variam entre versões do TLS, mas as ideias centrais são semelhantes.

Passo a passo: handshake TLS 1.2

  1. Client Hello: O cliente envia uma mensagem com versões TLS suportadas, suítes de cifras e um valor aleatório (Client Random).
  2. Server Hello: O servidor responde com a versão TLS escolhida, suíte de cifras, um valor aleatório (Server Random) e seu certificado digital.
  3. Verificação do certificado: O cliente verifica o certificado contra Autoridades Certificadoras (CAs) confiáveis e valida a identidade do servidor.
  4. Troca de chaves: Usando algoritmos como ECDHE, ambas as partes calculam um segredo pré-mestre compartilhado sem transmiti-lo diretamente.
  5. Chaves de sessão: Ambos os lados derivam chaves de sessão idênticas a partir do segredo pré-mestre e dos valores aleatórios.
  6. Finished: Cada lado envia um MAC para confirmar a integridade do handshake; a comunicação criptografada começa.

O TLS 1.3 simplifica isso para uma única viagem de ida e volta (1-RTT) e ainda suporta retomada 0-RTT para conexões repetidas, reduzindo significativamente a latência.

Criptografia: simétrica e assimétrica

O TLS usa criptografia assimétrica e simétrica. A criptografia assimétrica (de chave pública) é usada durante o handshake para trocar chaves com segurança. Uma vez estabelecidas as chaves de sessão, a criptografia simétrica (como AES ou ChaCha20) assume a transferência de dados em massa porque é muito mais rápida.

As suítes de cifras modernas usam Authenticated Encryption with Associated Data (AEAD), como AES-GCM ou ChaCha20-Poly1305, que fornecem confidencialidade e integridade em uma única etapa.

Certificados e cadeias de confiança

Um certificado digital vincula uma chave pública a uma identidade (como um nome de domínio) e é assinado por uma Autoridade Certificadora (CA). Navegadores e sistemas operacionais vêm com um repositório de CAs raiz confiáveis. Quando um servidor apresenta seu certificado, o cliente verifica:

Se qualquer verificação falhar, o navegador mostra um aviso. Let's Encrypt e outras CAs fornecem certificados gratuitos, tornando o HTTPS acessível a todos.

Erros comuns de configuração do TLS

Mesmo com HTTPS habilitado, configurações incorretas podem enfraquecer a segurança. Fique atento a:

Testando sua configuração HTTPS

Use ferramentas online como o SSL Test do SSL Labs para avaliar sua configuração. Mire em uma nota A ou A+ habilitando TLS 1.3, usando cifras fortes e implementando HSTS. Monitore regularmente a expiração do certificado—automatize a renovação com clientes ACME como o Certbot.

Perguntas frequentes

Qual é a diferença entre HTTPS e TLS?

HTTPS é HTTP sobre TLS. TLS é o protocolo criptográfico que fornece criptografia, autenticação e integridade. HTTPS é a versão segura do HTTP que usa TLS.

Como o TLS 1.3 melhora o desempenho?

O TLS 1.3 reduz o handshake a uma viagem de ida e volta (1-RTT) e suporta retomada 0-RTT, diminuindo a latência. Ele também remove algoritmos obsoletos, simplificando a configuração.

Preciso de um certificado separado para cada subdomínio?

Você pode usar um certificado wildcard para *.example.com ou um certificado multi-domínio (SAN) para cobrir vários nomes de host. O Let's Encrypt oferece ambas as opções gratuitamente.

Pronto para inspecionar seu próprio tráfego TLS? Use nosso Analisador de Logs Nginx para analisar logs de acesso e identificar padrões suspeitos ou handshakes TLS falhos.