Glossário / Referência do desenvolvedor
Certificado de folha
- O que é o certificado de folha?
- O certificado de folha é o certificado de entidade final apresentado pelo servidor ao qual você realmente se conectou, e prova o controle de um nome de domínio, nada sobre as pessoas por trás dele.
Um certificado de folha vincula uma chave pública a um nome de host e é assinado por um intermediário. Seu tempo de vida máximo não para de encolher: o limite caiu de 825 dias para 398 dias em 1º de setembro de 2020, e uma votação do CA/Browser Forum de 2025 o reduz por etapas até 47 dias em março de 2029. Um cadeado indica que o domínio coincidiu, que é exatamente o que o domínio parecido de um golpista também consegue.
Como funciona
Um certificado de folha fica na base da cadeia e não pode assinar nada mais. Sua extensão basicConstraints define CA como false, e esse indicador é a diferença mecânica entre ele e todos os certificados acima dele. Os nomes de host que ele abrange ficam na extensão subjectAltName; os clientes atuais ignoram o campo mais antigo de nome comum, então um certificado cuja subjectAltName omite o nome de host falha mesmo quando o nome comum coincide perfeitamente.
Conseguir a emissão de um prova menos do que a maioria supõe. A validação de domínio, o nível mais barato e de longe o mais comum, verifica apenas que quem pediu consegue colocar um token em uma URL do domínio ou publicar um registro DNS sob ele. No protocolo ACME essa verificação termina em segundos e não custa nada. A validação de organização e a validação estendida acrescentam burocracia sobre uma pessoa jurídica, mas os navegadores pararam de recompensar o esforço: Chrome 77 e Firefox 70 retiraram o nome da empresa da barra de endereços no outono de 2019, então um visitante agora vê o mesmo cadeado nos dois casos.
Dois avanços ajudam de fato. Todo certificado de folha de confiança pública deve ser registrado nos logs de Certificate Transparency, e o Chrome rejeita desde 30 de abril de 2018 os certificados sem prova de registro, então qualquer pessoa pode pesquisar nesses logs públicos certificados emitidos para um domínio que possui e identificar um que ninguém pediu. A redução do prazo de validade também ajuda, por um motivo direto: uma chave roubada só é útil até o certificado expirar, e por isso o setor aceitou um cronograma que reduz para 200 dias, depois 100, depois 47.
Onde você o encontra
Um certificado de folha chega até você toda vez que você entra em uma corretora. A folha é o que seu navegador compara com o nome de host, e é o único elo da cadeia que diz algo sobre o site específico à sua frente.
É aqui que o termo se mostra útil para quem compra bitcoin. Uma página de phishing em um domínio com erro de digitação carrega um certificado de folha perfeitamente válido, emitido automaticamente e de graça, com um cadeado genuíno ao lado. O certificado confirma que sua conexão realmente chega ao domínio mostrado na barra de endereços. Ele não afirma que o domínio pertence à empresa cujo logotipo está na página. Leia o nome de host caractere por caractere, prestando atenção à parte imediatamente antes da primeira barra simples, e trate o cadeado como uma afirmação sobre a conexão e não sobre a honestidade.
No BIP70 a folha fazia o mesmo trabalho em outro formato: vinha primeiro na lista de certificados, e a assinatura da solicitação de pagamento era gerada por sua chave privada.
Certificado de folha vs certificado intermediário
Um certificado de folha encerra a cadeia; um intermediário a continua. Apenas um dos dois pode assinar outros certificados, e um cliente que deixasse uma folha assinar aceitaria qualquer coisa que alguém colocasse à sua frente. A divisão também decide onde fica a chave privada. A chave de um intermediário permanece dentro de um módulo de hardware na autoridade e assina milhares de certificados ao longo de sua vida. A chave de uma folha fica no servidor que ela identifica, está exposta a tudo a que esse servidor está exposto e é substituída toda vez que o certificado é renovado.