Expect-CT

O cabeçalho Expect-CT deixa sites optarem em reportar e/ou forçar requirimentos do Certificado de Transparência, para previnir o uso incorreto de certificados do site passar despercebido.

Os requerimentos do CT podem ser satisfeitos utilizando qualquer um dos seguintes mecanismos:

  • A extensão do certificado X.509v3 permite embebedar uma marcação de data e hora de certificados assinados reportados por logs individuais.
  • A extensão TLS do tipo signed_certificate_timestamp enviada durante um handshake.
  • Dando suporte a OCSP (que é, a extensão TLS status_request) e provendo uma SignedCertificateTimestampList

Nota: Quando um site habilita o cabeçalho Expect-CT, ele está requisitando que o navegador verifique se qualquer certificado para aquele site aparece em logs CT públicos.

Nota: Navegadores ignoram o cabeçalho Expect-CT através do HTTP; o cabeçalho só tem efeito em conexões HTTPS.

Nota: O Expect-CT provavelmente se tornará obsoleto em Junho de 2021. Desde Maio de 2018, esperasse que novos certificados suportem SCTs por padrão. Certificados de antes de Maio de 2018 eram permitidos ter uma vida útil de 39 meses, todos eles serão expirados em Junho de 2021.

Tipo de cabeçalho Response header
Forbidden header name sim

Sintaxe

Expect-CT: report-uri="<uri>",
           enforce,
           max-age=<age>

Diretivas

max-age

O número de segundos depois da recepção do cabeçalho Expect-CT durante o qual o agente de usuário deve identificar o hospedeiro da mensagem recebida como um hospedeiro Expect-CT conhecido.

Se o cache receber um valor maior do que ele pode representar, or se qualquer um dos seus cálculos subsequentes estourar o limite, o cache vai considerar este valor a ser 2,147,483,648 (231) ou o maior inteiro positivo que ele pode representar.

report-uri="<uri>" Optional

A URI onde o agente de usuário deve reportar falhas Expect-CT.

Quando presente com a diretiva enforce, a configuração é referida como uma configuração "executar-e-reportar", sinalizando ao agente de usuário que ambos o compliance da política do Certificado de Transparência deve ser executado e que as violações devem ser reportadas.

enforce Optional

Sinais ao agente do usuário que conforme a política do Certificado de Transparência deve ser executada (ao invés de somente ser reportada) e o agente de usuário deve recusar futuras conexões que violem a política do Certificado de Transparência.

Quando ambas as diretivas enforce e report-uri estiverem presentes, configuração é referida como uma configuração "executar-e-reportar", sinalizando ao agente de usuário que ambos o compliance da política do Certificado de Transparência deve ser executado e que as violações devem ser reportadas.

Exemplo

O seguinte exemplo especifica uma execução do Certificado de Transparência por 24 horas e reporta violações para foo.example.

Expect-CT: max-age=86400, enforce, report-uri="https://foo.example/report"

Notas

Certificados de Autoridade Raiz (Root CAs) manualmente adicionados para a loja de confiança, sobrescrevendo e suprimindo relatórios e execuções do Expect-CT.

Navegadores não vão lembrar de uma política Expect-CT, a menos que o site tenha "provado" que ele pode servir um certificado satisfazendo os requerimentos do certificado de transparência. Navegadores implementam seus próprios modelos em relação a quais logs CT são considerados confiáveis para o certificado logar.

Versões do Chrome são desenvolvidas para parar execução de políticas de Expect-CT 10 semanas depois da data de instalação da versão.

Especificações

Especificação Título
Internet Draft Expect-CT Extension for HTTP

Compatibilidade com navegadores

BCD tables only load in the browser