Na Internet ninguém sabe quem você é, mesmo se você usar certificados TLS

Gonzalo Álvarez Marañón    30 marzo, 2021
Na Internet ninguém sabe quem você é, mesmo se você usar certificados TLS

Você deve ter notado que a maioria das páginas da web tem um cadeado. Se você clicar nele, uma janela aparecerá informando que «a conexão é segura». Seguro? Que tipo de segurança? Quão seguro é?

Neste artigo, colocaremos os certificados digitais na mesa de operação e os dissecaremos completamente para chegar ao fundo da questão: que segurança o TLS oferece?

TLS, o protocolo de segurança por trás de páginas da web seguras com HTTPS

Uma página da web protegida por Transport Layer Security (TLS), o protocolo por trás do bloqueio, oferece três garantias ou serviços de segurança:

  • Confidencialidade: a comunicação entre o seu navegador e o servidor web é criptografada, de forma que se um invasor interceptar os dados, não poderá descobrir seu conteúdo.
  • Integridade: se ocorrer um erro fortuito na transmissão ou um adversário tentar manipular a comunicação, a modificação será detectada.
  • Autenticação: um certificado digital dirá quem é a (suposta) empresa proprietária do site que você está visitando.

Resumindo, se uma página estiver protegida com TLS, você tem a garantia (quase) absoluta de que ninguém, exceto o servidor web de destino, poderá ver os dados que você troca. Vamos, a confidencialidade é garantida. O problema que permanece completamente sem solução é: quem está realmente por trás desse servidor? Em outras palavras, para quem você está enviando seus dados criptografados?

Ninguém na Internet sabe se você é um cachorro

Ilustração de Peter Steiner. The New Yorker, edição de 5 de julho de 1993 (Vol.69 (LXIX) no. 20), página 61.

Essa piada é de 1993 e não poderia ser mais atual porque em 30 anos não avançamos muito! Se você está lendo este artigo no site empresas.blogthinkbig.com, como saber qual é a página blogthinkbig.com da Telefônica e qual não é uma farsa? Você só tem um recurso: clique no pequeno cadeado e abra o certificado.

E o que você encontra? Que o certificado foi emitido pela empresa GlobalSign em nome de *.blogthinkbig.com. Agora você está tranquilo quanto à identidade do dono do site? Bem, a verdade é que não ajuda muito, certo?

Mas um certificado contém muito mais informações do que o resumo inicial. Selecione a guia Detalhes e você verá muitos campos. Especificamente, o campo Assunto revela que, neste exemplo, a empresa por trás de *.blogthinkbig.com é a Telefónica S.A.

Mas não acredite que todos os certificados oferecem essa informação: alguns oferecem menos, não revelam a entidade por trás do site; outros fornecem mais. Vamos dissecá-los para que você entenda o que cada campo representa.

Dissecação de um certificado TLS

Os certificados digitais são documentos eletrônicos que garantem (em certa medida) a identidade de uma pessoa física ou jurídica e que ela possui uma chave pública específica. Uma terceira parte confiável, chamada Autoridade de Certificação (CA), é responsável por validar essa identidade e emitir os certificados que vinculam a identidade à chave pública. Um certificado TLS contém as seguintes informações:

  • Versão padrão X509, atualmente se utiliza a 3.
  • Número de série usado pela Autoridade Certificadora. Hoje, eles precisam ser aleatórios, não sequenciais, com entropia mínima de 20 bits.
  • Identificador do algoritmo, que deve ser igual ao «Algoritmo de assinatura do certificado», descrito a seguir. Está localizado nesta posição para ser protegido pela empresa.
  • Identificação da autoridade de certificação, usando (Distinguished Name, DN) exclusivo:
    • CN – CommonName
    • L – LocalityName
    • ST – StateOrProvinceName
    • O – OrganizationName
    • OU – OrganizationalUnitName
    • C – CountryName
  • O período de validade do certificado: de quando a quando é válido.
  • O nome distinto exclusivo do detentor do certificado. Pode ser uma pessoa física ou jurídica. A autoridade verifica essa identidade de forma mais ou menos confiável, como se verá.
  • Informações sobre a chave pública do titular, especificadas por:
    • Algoritmo
    • Tamanho da chave
    • Expoente
    • Módulo
  • Extensões (opcional) – Introduzidas na versão 3 para tornar mais flexível a estrutura anterior rígida. Uma CA pode usar extensões para emitir um certificado apenas para uma finalidade específica, por exemplo, apenas para servidores da web. As extensões podem ser «críticas» ou «não críticas». Os não críticos podem ser ignorados, enquanto os críticos devem ser aplicados e um certificado será rejeitado se o sistema não reconhecer uma extensão crítica.
  • Algoritmo de assinatura de certificado. Existem muitos algoritmos seguros em uso: RSA, DSA, ECC, etc.
  • Assinatura do certificado: o valor da assinatura. Para aqueles versados ​​em criptografia, este valor corresponde ao resultado da criptografia do hash das informações do certificado com a chave privada do CA. Esta assinatura permite verificar se a chave pública que consta no certificado pertence realmente ao titular do certificado, pois é certificada pela autoridade de certificação.

Em suma, um certificado digital inclui a garantia de uma autoridade que atesta que uma chave pública pertence a uma determinada pessoa (física ou jurídica). Quanto você pode confiar em sua palavra? Vamos ver.

Nem todos os certificados foram criados com o mesmo nível de confiança

A principal missão de uma autoridade de certificação é validar a identidade da entidade que está solicitando um certificado. E nem todos os certificados oferecem o mesmo grau de confiança na identidade do titular, pois o processo de validação pode variar muito de um tipo de certificado para outro.

Existem três níveis de validação para sites:

  • Validação de Domínio: os certificados de Validação de Domínio (DV) representam o nível mais baixo de validação, uma vez que o CA apenas verifica se o solicitante do certificado possui o domínio para o qual o está solicitando e se esse domínio está registrado no Whois. A propriedade do domínio é normalmente verificada por meio de um e-mail de confirmação enviado a um endereço nesse domínio. Se o destinatário seguir o link do e-mail, o certificado será emitido. A emissão de certificados DV é totalmente automatizada e pode ser muito rápida. A duração depende muito da rapidez com que o e-mail de confirmação é respondido. Eles não incluem o nome da entidade que possui o domínio, apenas o nome do domínio. Por exemplo, os certificados Let’s Encrypt se enquadram nesta categoria. Que garantias eles oferecem sobre a identidade do proprietário do domínio? Nenhum! Um site com um certificado DV é seguro no sentido de proteger a confidencialidade, mas não garante a identidade do site de forma alguma. Você sabe que seus dados são criptografados, mas não tem ideia para quem os está enviando. Eles são ideais para sites de pessoas, PMEs, blogs, fóruns , sem a pretensão de oferecer serviços de pagamento e sem processamento de dados pessoais.
  • Validação da organização: os certificados de validação da organização (OV) exigem a verificação da identidade do proprietário do domínio. As práticas de validação da identidade do requerente variam drasticamente de uma autoridade de certificação para outra, com grande inconsistência e diversidade de garantias, embora todas requeiram o envio de um documento oficial para verificar o domínio, o CNPJ, o número de telefone, o endereço físico e algum outro requisito. O processo pode levar de um a três dias úteisEles incluem o nome da organização no conteúdo do certificado. Esses certificados são adequados para instituições e empresas que desejam uma presença sólida na Internet, mas sem oferecer serviços transacionais pela web.
  • Os certificados Extended Validation: Extended Validation (EV) oferecem o mais alto grau de confiança. Eles também exigem verificação de identidade e autenticidade, mas com requisitos muito rígidos. Eles foram introduzidos para corrigir a inconsistência dos certificados OV. Eles exigem ainda mais documentação do que os certificados OV para verificar com segurança a identidade do requerente e suas operações comerciais. Também incluem no certificado o nome da organização para a qual foi emitido e a organização pode até ser vista clicando no pequeno cadeado, sem ter que cavar nos detalhes do certificado, facilitando assim a verificação de sua identidade por visitantes do seu site. É o mais indicado para aqueles sites que oferecem serviços que envolvem transações financeiras. Geralmente é usado por bancos, grandes organizações e lojas online de renome. Devido aos controles em vigor, a obtenção de um certificado EV geralmente leva de 5 a 15 dias.

É importante observar que todos eles oferecem a mesma força criptográfica: 256 bits de criptografia simétrica e 2.048 bits de criptografia de chave pública. A diferença entre eles não está na criptografia, idêntica para todos eles, mas em processos de validação, mais ou menos rigorosos, o que oferece mais ou menos garantias sobre a identidade da pessoa (física ou jurídica) por trás de um site.

A criptografia funciona como um filme, o que falha são os processos

Resumindo, para que uma infraestrutura de chave pública (PKI) funcione, as autoridades de certificação devem fazer bem seu trabalho, entre outras tarefas críticas, verificando a identidade dos solicitantes do certificado. Se esta validação não for executada corretamente, a criptografia serve apenas para garantir a confidencialidade: os dados comunicados entre o servidor web e seu navegador trafegam criptografados, sim, nenhum invasor conseguirá pegá-los, mas para quem você está enviando, de quem? você está recebendo?

Essa questão só é resolvida pelas informações do certificado do site. E aí, infelizmente, a matemática pouco tem a acrescentar: é a missão da AC. É por isso que ocorrem incidentes como o recente com o Camerfirma: o Google duvidava das boas práticas dessa autoridade certificadora. A criptografia não é questionada, mas sim os processos de validação de identidade.

No final, a segurança cibernética é uma mistura equilibrada de tecnologia, processos e pessoas. Você pode confiar na criptografia, o resto …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *