¿Qué sucede con los certificados de firma de código cuando caduca la CA raíz?

9

Hasta ahora está claro para mí: si el certificado de firma de código expira, el código firmado se verificará / aceptará en caso de que se haya firmado con una marca de tiempo. Si no, el código firmado también caducó.

Pero, ¿qué sucede si mi CA expira (CA raíz y, por lo tanto, CA emisoras)?

  • ¿Se seguirá aceptando el código si está marcado con fecha y hora?
  • ¿Deben estar presentes los certificados de CA raíz y emisores vencidos (p. Ej., En el almacén de certificados raíz de confianza CA)? Esta es mi suposición, a pesar de que la CA puede ser degradada, ¿el cliente que ejecuta la firma aún debe confiar en la CA? De lo contrario, la cadena de confianza se romperá, ¿verdad?
  • ¿La falta de una CRL o AIA planteará algún problema?
dr_pepper285
fuente

Respuestas:

12

Pero, ¿qué sucede si mi CA expira (CA raíz y, por lo tanto, CA emisoras)?

Literalmente, nada. Vamos a explicarlo un poco con más detalles.

Si la firma no tiene marca de tiempo, la firma es válida siempre que:

  • los datos no están alterados
  • el certificado de firma es válido por tiempo
  • ninguno de los certificados en la cadena es revocado
  • el certificado raíz es de confianza

Una vez que el certificado de firma expira, se revoca o se invalida de una u otra forma, la firma se considera inválida. Llano y simple.

El propósito de las marcas de tiempo en la firma digital es proporcionar una confianza extendida para el contenido firmado. Los certificados de firma son válidos por un período breve y la configuración de confianza básica no es adecuada para la firma a largo plazo (tal vez, archivada). Normalmente (sin marcas de tiempo), deberá volver a crear la firma cada vez que se renueve el certificado de firma. Es un camino a la nada.

Al agregar una marca de tiempo a las firmas digitales, las condiciones de confianza se cambian a la siguiente lista:

  • los datos no están alterados
  • el certificado de firma * era * hora válida en el momento de la firma: el tiempo de firma está dentro de la validez del certificado de firma
  • Ninguno de los certificados fue revocado * antes * de la generación de firma
  • tanto, los certificados de firma como de fecha y hora se encadenan a CA raíz de confianza (independientemente de su validez de tiempo, solo deben estar en el almacén de confianza).

Lo que cambió aquí: la firma sigue siendo válida después de la expiración del certificado involucrado. Es decir, toda la cadena de certificados de firma y marca de tiempo puede caducar (junto con el certificado raíz) y no romperá la confianza. Los certificados en la cadena pueden ser revocados. El único requisito: si se revoca un certificado, el tiempo de revocación (se obtiene de CRL) debe establecerse en un tiempo después de que se crea la firma (el tiempo de firma se identifica mediante una marca de tiempo). La oración anterior significa que debe haber una CRL firmada para demostrar que ninguno de los certificados fue revocado al momento de la firma.

Esta es la razón por la cual los sistemas Windows modernos incluyen certificados raíz caducados hace mucho tiempo. Todavía se usan para validar firmas antiguas y las que llevan la marca de tiempo.

Hace un tiempo escribí una publicación de blog que explica el tema con más detalles: firmas digitales y marcas de tiempo

Cripta32
fuente
¡Tu publicación de blog es un muy buen artículo sobre el tema!
ThoriumBR
Encontré este tema muy confuso en IT Pro (y desarrolladores) e intenté resolver las cosas en una publicación de blog.
Crypt32
Pero el punto con la CRL no está totalmente claro para mí. ¿Entonces todavía necesito tener la (última) CRL de las CA expiradas disponibles?
dr_pepper285
Sí, se requieren CRL. No es necesario por último, debe publicarse ( ThisUpdatecampo) después del tiempo de firma. Esta CRL puede probar que ninguno de los certificados en ambas cadenas (firma y marca de tiempo) fue revocado en el momento de la firma.
Crypt32