O que acontece com os certificados de assinatura de código quando a CA raiz expira?

9

Até agora, claro para mim: se o próprio certificado de sinal de código expirar, o código assinado será verificado / aceito caso tenha sido assinado com um carimbo de data / hora. Caso contrário, o código assinado também expirou.

Mas o que acontece se minha própria autoridade de certificação expirar (autoridade de certificação raiz e autoridade de certificação emitindo)?

  • O código ainda será aceito se estiver com carimbo de data / hora?
  • Os certificados de CA raiz e de emissão expirados ainda devem estar presentes (por exemplo, no armazenamento de certificados CA raiz confiável)? Esta é minha suposição, mesmo que a CA possa ser rebaixada, o cliente que executa a assinatura ainda deve confiar na CA? Caso contrário, a cadeia de confiança será quebrada, certo?
  • A falta de uma LCR ou AIA colocará algum problema?
dr_pepper285
fonte

Respostas:

12

Mas o que acontece se minha própria autoridade de certificação expirar (autoridade de certificação raiz e autoridade de certificação emitindo)?

Literalmente, nada. Vamos explicar um pouco mais detalhadamente.

Se a assinatura não estiver com registro de data e hora, ela será válida desde que:

  • dados não são adulterados
  • certificado de assinatura é válido por tempo
  • nenhum certificado da cadeia é revogado
  • certificado raiz é confiável

Depois que o certificado de assinatura expira, é revogado ou se torna inválido de uma ou de outra maneira, a assinatura é considerada inválida. Claro e simples.

O objetivo dos carimbos de data e hora na assinatura digital é fornecer uma confiança estendida para o conteúdo assinado. Os certificados de assinatura são válidos por um curto período de tempo e as configurações básicas de confiança não são adequadas para assinaturas de longo prazo (talvez arquivadas). Normalmente (sem registro de data e hora), você precisará recriar a assinatura sempre que o certificado de assinatura for renovado. É um caminho para lugar nenhum.

Ao adicionar um registro de data e hora às assinaturas digitais, as condições de confiança são alteradas para a seguinte lista:

  • dados não são adulterados
  • certificado de assinatura * era * hora válida na hora da assinatura: a hora da assinatura está dentro da validade do certificado de assinatura
  • Nenhum certificado foi revogado * antes * da geração de assinaturas
  • os certificados de assinatura e de carimbo de data / hora são encadeados até CAs raiz confiáveis ​​(independentemente da validade de tempo, apenas devem estar no armazenamento confiável).

O que mudou aqui: a assinatura permanece válida após a expiração do certificado envolvido. Ou seja, toda a cadeia de certificados de assinatura e carimbo de data / hora pode expirar (junto com o certificado raiz) e não quebra a confiança. Os certificados da cadeia podem ser revogados. O único requisito: se algum certificado for revogado, o tempo de revogação (obtido da CRL) deve ser definido como um horário após a criação da assinatura (o horário de assinatura é identificado por um carimbo de data / hora). A frase anterior significa que deve haver uma CRL assinada para provar que nenhum certificado foi revogado no momento da assinatura.

Essa é a razão pela qual os sistemas modernos do Windows fornecem certificados raiz expirados há muito tempo. Eles ainda são usados ​​para validar assinaturas antigas e com registro de data e hora.

Há um tempo atrás, escrevi uma postagem no blog que explica o assunto em mais detalhes: Assinaturas digitais e carimbos de data e hora

Crypt32
fonte
Sua postagem no blog é um artigo muito bom sobre o assunto!
ThoriumBR
Achei esse tópico muito confuso no IT Pro (e nos desenvolvedores) e tentei resolver as coisas em um post do blog.
Crypt32 # 17/17
Mas o ponto com a CRL não está totalmente claro para mim. Então, eu ainda preciso ter a (última) CRL das CAs expiradas disponíveis?
dr_pepper285
Sim, CRLs são necessárias. Não é necessário por último, ele deve ser publicado ( ThisUpdatecampo) após o horário de assinatura. Essa CRL pode provar que nenhum certificado nas duas cadeias (assinatura e carimbo de data / hora) foi revogado no momento da assinatura.
Crypt32 # 18/17