Certificados de segurança de site Transport Layer Security (TLS) verificam a propriedade e a integridade das informações dos sites que você visita. Este artigo explica como funciona.
Índice
Quais sites usam certificados?
Sites cujos endereços começam com https usam certificados de servidor TLS. Sites que usam certificados de servidor TLS garantem duas coisas:
- O administrador do site possui ou tem controle sobre o nome de domínio, garantindo que os usuários se conectem ao site legítimo e não a uma cópia falsificada ou maliciosa do site.
- A troca de dados criptografados por TLS entre o navegador e o site é protegida contra espionagem ou adulteração por partes não autorizadas.
Cadeia de confiança
Navegadores como o Firefox verificam certificados através de uma hierarquia chamada cadeia de confiança, que normalmente consiste em pelo menos três certificados:
- O certificado raiz (âncora de confiança)
- Um ou mais certificados intermediários
- O certificado de servidor TLS (entidade final)
O certificado raiz pertence a uma autoridade certificadora (CA) que é confiável para o navegador emitir outros certificados. Normalmente, um certificado raiz emite um ou mais certificados intermediários que são então usados para emitir certificados de servidor TLS para organizações que podem demonstrar controle sobre os domínios de sites especificados por esses certificados.
Certificados se baseiam em criptografia de chave pública, na qual um par de chaves assimétricas tem duas chaves matematicamente relacionadas:
- Chave privada: Esta chave é mantida em segredo por seu proprietário e é usada para operações criptográficas, como assinar dados (incluindo certificados) ou descriptografar informações criptografadas com a chave pública
- Chave pública: Esta chave é compartilhada publicamente e é usada para verificar assinaturas criadas pela chave privada ou para criptografar informações que apenas a chave privada pode descriptografar
Certificados de chave pública contêm as seguintes informações:
- Detalhes sobre a autoridade certificadora (CA) que emitiu o certificado
- Uma chave pública pertencente à organização que recebeu o certificado
- Detalhes de identificação sobre a organização que detém a chave privada (veja Conteúdo do certificado abaixo. Para certificados de servidor TLS, este é principalmente o nome de domínio do site)
Agora, podemos descrever como o Firefox determina se um site é seguro.
Como o Firefox verifica a integridade de certificados?
É assim que o Firefox usa a cadeia de confiança para verificar certificados de servidor TLS:
- O Firefox baixa o certificado do site que você visitou.
- O Firefox verifica o certificado em seu banco de dados interno de autoridades certificadoras (CAs) confiáveis.
- Ele usa a chave pública do certificado raiz da CA para garantir que o certificado raiz e os certificados intermediários tenham sido devidamente assinados na cadeia até o certificado de servidor TLS que o site forneceu.
- O Firefox verifica as informações no certificado para garantir que o site ao qual você está conectado corresponde ao site listado no certificado.
- O Firefox gera uma chave simétrica para criptografar o tráfego HTTP da conexão.
- O Firefox criptografa a chave simétrica com a chave pública do servidor, que se encontra no certificado do servidor.
- A chave privada, que está no servidor web, descriptografa os dados de conexão necessários para completar o que é conhecido como handshake TLS.
A comunicação segura pode então ocorrer entre o Firefox e o site.
Como ver um certificado
Para ver um certificado, siga estes passos:
- Clique no ícone de cadeado
na barra de endereços.
- No painel de informações do site que é aberto, clique em .
-
- No painel seguinte, clique em .
-
- Na janela de informações da página que é aberta, clique em .
-
O Firefox abrirá a página about:certificate para exibir informações sobre o certificado do site em que você está:
As três abas mostram, da esquerda para a direita, o certificado de servidor TLS, o certificado intermediário e o certificado raiz.
Conteúdo do certificado
Certificados de servidor TLS contêm as seguintes informações:
- Sujeito: Contém atributos opcionais, como o nome do site e outras informações sobre a organização proprietária do certificado.
- Emissor: Identifica a entidade CA que emitiu o certificado.
- Validade: Mostra por quanto tempo o certificado é válido.
- Extensão de nome alternativo do sujeito: Lista os endereços de sites para os quais o certificado é válido.
- Informações da chave pública: Lista os atributos da chave pública do certificado.
- Número de série: Identifica de forma única o certificado.
- Algoritmo de assinatura: Algoritmo usado para criar a assinatura.
- Fingerprints: Hash do arquivo do certificado em formato binário DER.
- Uso da chave e Uso estendido da chave: Especificam como as pessoas podem usar o certificado, como para realizar autenticação de servidor web TLS.
- ID da chave do sujeito: Um identificador gerado a partir da chave pública do certificado TLS como forma de identificar o certificado.
- ID da chave da autoridade: Um identificador gerado a partir da chave pública da CA como forma de identificar a chave pública correspondente à chave privada usada para assinar o certificado.
- Destinos de CRL: Os locais da Lista de Revogação de Certificados (CRL) da CA emissora.
- Informações da autoridade: Contém o método de validação da autoridade certificadora e o arquivo do certificado intermediário.
- Políticas de certificado: Contém ponteiros para o tipo de certificado TLS que é (por exemplo, informações verificadas quando o certificado foi emitido).
- SCTs incorporados: Lista os Carimbos de Data/Hora de Certificado Assinado (SCTs).
Certificados problemáticos
Quando você visita um site cujo endereço começa com https e um problema com o certificado TLS é detectado, o navegador exibe uma página de erro. O artigo O que significam os códigos de alerta de segurança? descreve erros comuns de certificado.
Para ver o certificado problemático, siga estes passos:
- Na página de aviso, clique em .
-
- Clique em Ver certificado.
-
O certificado inválido será então exibido.