A autoridade de certificação vs. o aperto de mão

Autoridades de certificação têm sido uma parte central da manutenção do DNS e da Internet desde o seu início, e têm desempenhado um papel significativo em manter a Internet segura. Em suma, as Autoridades de Certificação (CA) são âncoras confiáveis para a Web moderna que emite certificados digitais em nome de outras entidades na Internet. Certificados digitais são credenciais verificadas que vêm na forma de uma identidade digital on-line. As CAs garantem que as informações sejam protegidas enquanto criptografam os dados que são enviados entre as partes (um cliente e um host).

Imran Khan em HackerNoon.com Segue 8 de jul · 7 min ler

A CA também emite certificados SSL, que vinculam a propriedade de um site a um conjunto de chaves criptográficas publicamente verificáveis. No entanto, com a crescente ameaça de ataques em nível de estado, esse repositório centralizado de certificados pode representar um risco de contraparte para os usuários no futuro. Os ataques estão em alta, com mais de 267 milhões de URLs de phishing sendo enviados em 2017. Além disso, a Zscalar publicou um Cloud Security Report, que relatou o bloqueio de mais de 1,7 bilhão de ameaças avançadas ocultas no tráfego SSL apenas em 2018.

Tentativas de Certificado de Phishing SSL de 10K em 7/19 (Não revogado pela CA)

Agora, temos mais de 30 anos na Web e precisamos de uma solução moderna e robusta que mitigue os ataques e reduza a dependência de intermediários de terceiros (ACs).

O Handshake é o mais novo protocolo que visa oferecer uma solução alternativa robusta de DNS, resolvendo ao mesmo tempo alguns dos maiores obstáculos que enfrentamos hoje. No seguimento do meu artigo sobre o Handshake , vou aprofundar as funções da suite de protocolos da Internet e como a Autoridade de Certificação trabalha em conjunto para tornar a função web moderna.

Como funciona a SSL / DNS na pilha de rede?

Suíte de Protocolo da Internet

A internet que usamos hoje é fornecida pelo Internet Protocol Suite . O conjunto é uma pilha de rede em camadas que permite aos computadores enviar e receber pacotes de dados, globalmente. O protocolo HTTP (HyperText Transfer Protocol) é usado com o protocolo Secure Socket Layer (SSL) para permitir que um navegador faça uma conexão criptografada com um computador host para receber dados em retorno. O SSL é uma camada que funciona em conjunto com o HTTP e oferece uma conexão criptografada que alimenta o navegador.

Para entendermos como o HTTP e SSL realmente funcionam, vou dar um exemplo de como Alice está se conectando ao site de Bob.

  1. Alice usa o navegador e digita Bob.com como seu URL
  2. O navegador de Alice se comunicará com um resolvedor de DNS para encontrar o servidor da Web desejado (não criptografado)
  3. Uma vez resolvido, o servidor de Bob enviará ao computador de Alice um certificado e uma chave pública
  4. O computador de Alice irá então verificar a legitimidade do certificado do Bob.com com a autoridade de certificação que eles usaram
  5. Depois de verificadas, as partes confirmarão a sessão e estabelecerão uma conexão SSL / TLS criptografada
  6. O cliente de Alice (seu computador) e o servidor de Bob agora podem enviar dados criptografados uns aos outros

A pilha de protocolos da Internet é uma suíte para entregar dados entre pares, mas depende muito da sua Autoridade de Certificação ou, mais importante, da Infra-estrutura de Chave Pública (PKI), para garantir que sua navegação na Web permaneça privada e sem compromissos.

O que é infra-estrutura de chave pública

A confiança é um fator importante para garantir que os dados trocados sejam precisos e seguros. PKI é um sistema que define políticas, estrutura e procedimentos sobre como as entidades devem confiar e trocar mensagens com segurança.

Existem vários intermediários que ajudam a coordenar a confiança entre duas entidades. Dentro da Internet pública, você está confiando na Autoridade de Certificação Raiz para fornecer informações precisas. A tarefa da CA é gerenciar certificados digitais em nome de outras entidades. Certificados digitais são emitidos para impedir ataques do tipo intermediário (MITM) que poderiam burlar a confiança e levar os usuários a um site mal-intencionado. Por exemplo, IdenTrust é uma autoridade de certificação que gerencia certificados em nome de outras entidades, como o Twitter.

Portanto, neste caso, o IdenTrust iria emitir um certificado X.509 para o usuário que está solicitando acesso ao Twitter. Este certificado digital contém a chave pública verificada, a data de validade, a assinatura digital e outros itens importantes. Quando o usuário recebe o certificado digital, ele verifica a identidade e a chave pública dessa entidade. Normalmente, uma chave pública é gerada através do algoritmo RSA (Rivest-Shamir-Adleman) e ou ECDSA (algoritmo de assinatura digital de curva elíptica). Tanto o RSA quanto o ECDSA são técnicas de criptografia assimétrica, o que significa que o usuário pode criptografar suas mensagens para o host (Twitter, neste caso) usando apenas a chave pública do host e enviar a mensagem criptografada na Internet pública. Somente o host pode descriptografar a mensagem usando a chave privada associada.

Muitos problemas com a autoridade de certificação

Agora que temos uma compreensão de como a PKI e a CA funcionam no Internet Protocol Suite, vamos discutir alguns dos problemas que podem surgir.

A Autoridade Certificadora atua como uma organização central de validação, que armazena certificados e atua como intermediária entre duas entidades. Cada CA tem seu próprio procedimento de validação para determinar se o domínio é válido e seguro. Além disso, existem três organizações com fins lucrativos que detêm cerca de 90% da participação no mercado global. E, finalmente, pode haver vulnerabilidades de segurança com o modo como os certificados estão sendo armazenados e emitidos. A W3 Tech publicou recentemente um relatório abaixo declarando a participação de mercado global das autoridades de certificação dominantes.

Claramente, há espaço para algumas melhorias aqui.

W3 Tech

A validação de domínio é um processo em que entidades potenciais, como o Twitter, podem receber um certificado digital de uma autoridade de certificação conhecida. Certificados SSL confiáveis fornecem aos usuários confiança contra phishing, golpes e fraudes. No entanto, o processo de receber um certificado digital é modestamente fácil. As autoridades de certificação emitirão um certificado digital de domínio validado para qualquer pessoa listada no contato de domínio no registro WHOIS. É isso aí.

Tudo o que um usuário precisa fazer é solicitar um certificado digital e enviar por e-mail o contato do domínio com o certificado aprovado. Para segurança adicional , uma entidade pode se inscrever para um serviço de validação estendida que passa por uma verificação de identidade entre outras coisas. Mas um usuário comum não saberá a diferença, a menos que veja uma barra verde ou clique no cadeado no canto superior esquerdo do navegador.

Isso é perigoso porque um usuário mal-intencionado poderia comprar um nome de domínio semelhante ao Twitter, como o Twiter.com, e mostrar que ele é certificado por meio de uma CA.

O processo de Validação de Domínio, o armazenamento de chaves e as subversões CA abriram as portas para muitos tipos de MITM, como MITB (Man in the Browser), falsificação de HTTPS, spoofing ARP e outros. Por exemplo, a Verisign, uma CA notável no início dos anos 2000, emitiu um certificado digital para um usuário malicioso que afirmava ser a Microsoft Corporation. Em seguida, eles enganaram os usuários para que achassem que estavam recebendo atualizações relevantes do Windows, mas, na verdade, estavam sendo comprometidos. Em um incidente em março de 2011, a Comodo (CA) emitiu certificações fraudulentas para usuários mal-intencionados de sites como Microsoft e Google. Nesse caso, os usuários foram levados a acreditar que estavam fazendo login no Google, mas, na verdade, era um site malicioso. Comodo finalmente pegou o compromisso e revogou o acesso ao certificado.

Proposição do Handshake

Atualmente, todos os domínios de primeiro nível (TLDs) são gerenciados por 13 organizações com fins lucrativos em todo o mundo. Enquanto as Autoridades de Certificação são gerenciadas por milhares de organizações, das quais três gerenciam 90% da participação no mercado global. Ambas as organizações que gerenciam TLDs e Certificados são pontos centrais de falha. Isso continuará até que a confiança possa ser transferida das organizações centrais para soluções descentralizadas. O conjunto de protocolos da Internet e a infraestrutura de chave pública dependem muito da infraestrutura pública geral.

Por que não podemos confiar no público para gerenciamento de domínio e autenticação de segurança?

Uma mudança que está atualmente em curso é a mudança de dinheiro controlado pelo Estado nas mãos do público. Com a invenção do Bitcoin, o dinheiro, como sabemos, está sendo transferido dos países para o povo. Isso irá capacitar os cidadãos globalmente para se proteger contra os riscos políticos dos países, mantendo a liberdade de agir.

  • Handshake oferece a mesma proposta de valor, mas em vez de dinheiro, é o fluxo de informações. Como escrevi no passado, o Handshake é um protocolo descentralizado que gerencia Domínios de nível superior no nível raiz. Como os TLDs do Handshake são armazenados diretamente no nível raiz, você não precisaria de CAs para gerenciar certificados digitais ou chaves privadas.

Como o Handshake resolveria os problemas com a autoridade de certificação?

Hoje, as autoridades de certificação gerenciam registros digitais que contêm chaves públicas, assinaturas e outras informações relacionadas. Então, quando você está confiando em CAs, está confiando que o documento digital que eles possuem está protegido e a identidade é verificada. A importância do protocolo Handshake é que as chaves privadas são assinadas diretamente e controladas pelo proprietário a todo momento. Isso significa que, quando eu comprar o domínio, “TokenDaily.co”, o Handshake ancoraria a propriedade do domínio no protocolo e propagaria isso por toda a rede de nós. Quando um usuário resolve um namespace, ele aponta diretamente para um certificado compacto e verifica a validade da solicitação. Este seria o ponto canônico da verdade entre as chaves privadas e o domínio registrado.

Resumo

O Protocolo de Aperto de Mão está reduzindo a necessidade de TLDs ou CAs e diminuirá nossa dependência de fornecedores terceirizados. Essa mudança levará a uma redução nos intermediários e trará segurança fortificada para os usuários. Isso significaria que as informações fluiriam livremente, sem ter que se preocupar com invasores que falsificam seu domínio. Bilhões de ataques estão ocorrendo hoje e qualquer um pode ser vítima de golpes de URL de phishing ou ameaças ocultas no SSL. Como estamos confiando mais na confiança, precisamos encontrar rapidamente uma solução para esse problema.

Com a invenção do Protocolo de Aperto de Mão, da Handshake Alliance , da Urkel e da Handshake Academy , estamos começando a ver um pivô de confiar nas pessoas ao código confiável – tornando a Web muito mais segura.