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 umaSignedCertificateTimestampList
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 hospedeiroExpect-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
ereport-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