Terminologia de segurança importante

Conceitos e terminologia são dois obstáculos enfrentados pelos desenvolvedores na migração para HTTPS. Neste guia, você encontra uma breve visão geral deles.

Chris Palmer
Chris Palmer

Resumo

  • Usou chaves públicas/privadas para assinar e descriptografar mensagens entre o navegador e o servidor.
  • Uma autoridade certificadora (CA) é uma organização que confirma o mapeamento entre as chaves públicas e os nomes DNS públicos (como "www.foobar.com").
  • Uma solicitação de assinatura de certificado (CSR, na sigla em inglês) é um formato de dados que agrupa uma chave pública com alguns metadados sobre a entidade proprietária da chave

O que são os pares de chaves pública e privada?

Um par de chaves públicas/privadas é um par de números muito grandes usados como chaves de criptografia e descriptografia e que compartilham uma relação matemática especial. Um sistema comum para pares de chaves é o sistema criptográfico RSA. A chave pública é usada para criptografar mensagens, e as mensagens só podem ser descriptografadas com a chave privada correspondente. A chave pública é divulgada pelo servidor da Web, e os clientes, como navegadores da Web, usam isso para inicializar um canal seguro para o servidor.

O que é uma autoridade certificadora?

Uma autoridade de certificação (CA) é uma organização que confirma o mapeamento entre chaves públicas e nomes DNS públicos (como "www.foobar.com"). Por exemplo, como um cliente sabe se uma determinada chave pública é a chave pública verdadeira para www.foobar.com? A princípio, não há como saber. Uma AC confirma se uma chave específica é verdadeira para um site específico usando a própria chave privada para assinar criptograficamente a chave pública do site. Essa assinatura é inviável do ponto de vista computacional. Os navegadores e outros clientes mantêm armazenamentos de âncoras confiáveis que contêm as chaves públicas pertencentes às ACs conhecidas e usam essas chaves públicas para verificar criptograficamente as assinaturas das ACs.

Um certificado X.509 é um formato de dados que agrupa uma chave pública com alguns metadados sobre a entidade proprietária da chave. No caso da Web, o proprietário da chave é o operador do site, e os metadados importantes são o nome DNS do servidor da Web. Quando um cliente se conecta a um servidor da Web HTTPS, o servidor da Web apresenta o certificado para verificação do cliente. O cliente verifica se o certificado não expirou, se o nome DNS corresponde ao nome do servidor a que o cliente está tentando se conectar e se uma CA âncora de confiança conhecida assinou o certificado. Na maioria dos casos, as CAs não assinam diretamente certificados do servidor da Web. Geralmente, há uma cadeia de certificados que vincula uma âncora de confiança a um ou mais signatários intermediários e, por fim, ao próprio certificado do servidor da Web (a entidade final).

O que é uma solicitação de assinatura de certificado?

Uma solicitação de assinatura de certificado (CSR, na sigla em inglês) é um formato de dados que, como um certificado, agrupa uma chave pública com alguns metadados sobre a entidade que tem a chave. No entanto, os clientes não interpretam as CSRs, e sim as ACs. Quando você quer que uma AC confirme a chave pública do seu servidor da Web, envia uma CSR para a CA. A AC valida as informações na CSR e as usa para gerar um certificado. Em seguida, a AC envia o certificado final para você, e você o instala (ou, provavelmente, uma cadeia de certificados) e sua chave privada no servidor da Web.