Curious TechieDev Toolbox
Todos os Guias/Criptografia9 min read

O que é SSL/TLS e Como Funcionam os Certificados HTTPS?

Guia completo sobre TLS 1.3, handshakes criptográficos assimétricos, cadeias de certificados X.509 e registros de Transparência de Certificados.

Principais Conclusões
  • O TLS (Transport Layer Security) é o sucessor criptográfico do SSL antigo, protegendo o tráfego web sob HTTPS.
  • O TLS oferece três garantias fundamentais: Privacidade (cifragem simétrica), Integridade (MACs) e Autenticidade (certificados X.509).
  • O TLS 1.3 (RFC 8446) reduz a latência do handshake para apenas um round-trip (1-RTT) e elimina suítes de cifras obsoletas.
  • A Infraestrutura de Chaves Públicas (PKI) apoia-se em cadeias de confiança ancoradas em Autoridades Certificadoras (CAs) raiz.
  • A Transparência de Certificados (CT, RFC 6962) exige registro público em árvores de Merkle de todos os certificados confiáveis.

1. Diferença entre SSL e TLS

Embora o termo SSL permaneça no vocabulário comum, as versões 2.0 e 3.0 foram descontinuadas há anos por vulnerabilidades graves (como POODLE).

As conexões seguras contemporâneas usam TLS (Transport Layer Security), padronizado na versão TLS 1.3 (RFC 8446). O TLS opera sobre o TCP, criptografando todos os cabeçalhos, cookies e dados HTTP.

2. O Handshake TLS 1.3 (1-RTT)

O TLS 1.3 simplificou o aperto de mão de duas viagens de ida e volta para apenas uma (1-RTT) via troca de chaves ECDHE:

1. Client Hello: O cliente envia cifras compatíveis e sua chave pública ECDHE.
2. Server Hello: O servidor seleciona a cifra e envia seus parâmetros, Certificado X.509 e assinatura.
3. Segredo Compartilhado: Ambas as partes derivam a chave de sessão simétrica (K_session).
4. Dados Criptografados: O tráfego de dados HTTP seguro tem início imediato.

3. Certificados X.509 e Cadeia de ACs

O navegador valida a autenticidade do site por uma cadeia hierárquica de assinaturas digitais:

  • AC Raiz (Root CA): Certificado autoassinado pré-instalado nos sistemas operacionais e navegadores.
  • AC Intermediária: Autoridade delegada para emitir certificados diários sem expor a chave privada da Raiz.
  • Certificado Folha (Servidor): Certificado final que vincula o domínio à chave pública do servidor.

4. Logs de Certificate Transparency (CT)

Para coibir a emissão fraudulenta de certificados, a RFC 6962 exige que todo certificado público seja registrado em árvores de Merkle públicas e auditáveis.

Navegadores modernos recusam conexões HTTPS caso o certificado não apresente carimbos SCT válidos comprovando o registro.

5. Checklist de Hardening TLS para Produção

1. Exigir apenas TLS 1.3 / 1.2: Desative totalmente TLS 1.0, 1.1 e cifras legadas vulneráveis.
2. Ativar HSTS com Preload: Envie Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.
3. Automatizar renovações com ACME: Utilize clientes automatizados como Let’s Encrypt para renovar certificados a cada 60 dias.