Saltar para o conteúdoHisnLabs
← Como funciona a internet

Lição 3 de 4 · 8 min

HTTPS e certificados: o que o cadeado prova e o que não prova

O que o TLS realmente faz, o que um certificado realmente certifica, e porque é que o cadeado não é um veredito sobre se um site é de confiança.

A primeira lição mencionou que os endereços https:// usam encriptação. Esta lição analisa mais de perto como essa encriptação é estabelecida, o que o ícone de cadeado no seu navegador está realmente a garantir, e onde a sua garantia para.

TLS: o protocolo por trás do cadeado

O HTTPS é o protocolo web comum, o HTTP, a correr dentro do Transport Layer Security (TLS), um protocolo publicado pela primeira vez em 1999 e agora na sua versão 1.3. O Centro de Aprendizagem da Cloudflare resume o que o TLS realiza em três partes: encriptação, que esconde os dados de qualquer outra pessoa na rede; autenticação, que verifica que está a falar com o servidor que pensa que é; e integridade, que deteta se os dados foram alterados em trânsito. Antes de qualquer conteúdo ser trocado, o seu Mac e o servidor realizam um "cumprimento TLS" (handshake): combinam uma versão do TLS, combinam os métodos criptográficos a usar, e geram as chaves que vão encriptar o resto da sessão.

O que um certificado realmente certifica

Para que esse cumprimento signifique alguma coisa, o seu navegador precisa de prova de que a chave pública do servidor pertence mesmo ao site que escreveu. Essa prova é o certificado TLS. Segundo a Cloudflare, um certificado agrupa o nome de domínio, a chave pública, uma data de expiração, e a assinatura digital de quem o emitiu: uma autoridade certificadora (CA), uma organização em que o seu navegador e sistema operativo já confiam. A Let’s Encrypt, uma autoridade certificadora gratuita e amplamente usada, descreve o processo claramente: antes de emitir um certificado, o seu software verifica que quem o pede controla mesmo o domínio, por exemplo pedindo-lhe para publicar um ficheiro específico nesse site ou um registo DNS específico. Só depois dessa verificação é que assina um certificado.

Isto importa porque define o limite do que um certificado padrão prova. Prova que quem o pediu controla o nome de domínio nesse momento. Não avalia o negócio por trás do site, não verifica se o operador é honesto, nem promete que o conteúdo é seguro. Qualquer pessoa, incluindo um vigarista, pode registar um domínio e obter um certificado válido para ele em minutos.

Ler o cadeado corretamente

O cadeado confirmaO cadeado não confirma
A ligação entre o seu navegador e este servidor está encriptadaQue a organização que gere o site é legítima ou de confiança
Que quem configurou o certificado controla este nome de domínio exatoQue o próprio nome de domínio não é enganador (uma ortografia parecida, por exemplo)
O conteúdo não foi alterado em trânsito por um terceiroQue o próprio site não vai usar indevidamente o que escreve nele

O guia Autodefesa de Vigilância da Electronic Frontier Foundation coloca o ponto subjacente diretamente: "só porque um serviço usa HTTPS não significa que o serviço proteja totalmente a privacidade dos seus utilizadores." O HTTPS protege o canal; não diz nada sobre o que o destino faz com o que lá chega. O mesmo guia nota que o HTTPS esconde de quem escuta a rede qual a página de um site que visitou, mas o próprio site continua a receber tudo o que escreve — pesquisas, mensagens, inícios de sessão — em claro, porque é o outro extremo da ligação encriptada, não um observador dela.

Certificados autoassinados e expirados

A Cloudflare também explica o que acontece sem uma autoridade certificadora de confiança: qualquer pessoa pode gerar o seu próprio certificado "autoassinado", mas os navegadores não têm nenhuma autoridade externa contra a qual o verificar, por isso marcam esses sites como não seguros ou recusam-se a carregá-los de todo. Um certificado expirado produz um aviso semelhante. Nenhum dos avisos significa necessariamente que um ataque está a acontecer, mas significa que o navegador não consegue atualmente verificar com quem está a falar, que é exatamente a verificação que o TLS pretende fornecer.

A reter

  • O HTTPS faz correr o tráfego web comum dentro do TLS, que fornece encriptação, autenticação do servidor, e verificação de integridade.
  • Um certificado TLS é emitido por uma autoridade certificadora depois de verificar que quem o pede controla o domínio — nada mais.
  • O cadeado confirma que a ligação está encriptada e chega ao domínio reclamado; não garante a honestidade de quem gere o site.
  • Os atacantes conseguem, e conseguem mesmo, obter certificados válidos para domínios enganadores, por isso o cadeado sozinho não consegue excluir uma fraude.
  • O HTTPS protege os dados em trânsito, não o que o servidor de destino faz com eles depois de chegarem.

Teste-se

  1. 1. O que prova realmente um certificado TLS padrão?

    • Que o site é gerido por um negócio de confiança
    • Que o detentor do certificado controla o nome de domínio para o qual foi emitido — Certo.
    • Que o site não contém nenhuma fraude
    • Que o site foi revisto por uma agência governamental

    Autoridades certificadoras como a Let’s Encrypt verificam o controlo do domínio antes de emitir um certificado; não avaliam a honestidade do operador.

  2. 2. Segundo a EFF, qual é um limite importante do HTTPS?

    • Torna toda a ligação mais lenta
    • Usar HTTPS não significa que um serviço proteja totalmente a privacidade dos seus utilizadores — Certo.
    • Só funciona em Wi-Fi
    • Substitui a necessidade de palavras-passe

    O HTTPS protege a ligação, mas o site do outro lado continua a ver tudo o que lhe envia e controla o que faz com esses dados.

  3. 3. Quais são as três coisas que a Cloudflare diz que o TLS fornece?

    • Velocidade, armazenamento e cópia de segurança
    • Encriptação, autenticação e integridade — Certo.
    • Compressão, cache e balanceamento de carga
    • Firewall, registo e antivírus

    O TLS esconde os dados de quem escuta (encriptação), confirma a identidade do servidor (autenticação), e deteta adulterações (integridade).

  4. 4. Porque é que um navegador pode marcar um site como "não seguro" mesmo que o seu endereço comece por https://?

    • Porque o site está a usar demasiada largura de banda
    • Porque o seu certificado é autoassinado ou expirado, e por isso não pode ser verificado contra uma autoridade de confiança — Certo.
    • Porque o site tem demasiadas imagens
    • Porque o nome de domínio é demasiado longo

    Sem um certificado válido e atualmente de confiança, o navegador não consegue confirmar a identidade do servidor, por isso avisa o utilizador em vez de assumir que é seguro.

Praticar com o FireAI

Ponha esta lição em prática no seu próprio Mac.

Fontes

Ponha em prática no seu Mac

Experimente todas as funcionalidades grátis durante 17 dias, sem cartão.

Transferir para Mac Docs