¿Se pueden "perder" los certificados revocados si la CRL base se actualiza antes del vencimiento?

1

Asunción

Supongamos que tengo una CA que emite una base y una CRL más reciente. También entiendo que la CRL más reciente es un Delta de certificados revocados en la base. También entiendo que los clientes deben extraer la CRL delta / más fresca de forma más frecuente (con qué frecuencia) que la CRL base. Si esto es incorrecto, entonces esta pregunta no es válida.

Escenario

Cuando veo una CRL delta, no parece haber ninguna información que la vincule al Freshest CRL a una base específica.

Dada esa información, si se vuelve a emitir una CRL base (y se agregan nuevos certificados revocados) y la CRL más reciente es "restablecer", desde la perspectiva de un cliente de validación, no parece haber una manera de saber eso la CRL base se ha actualizado.

En mi opinión, esto causaría que los clientes omitieran certificados revocados.

Pregunta

Si vuelvo a emitir la CRL base antes (en el lingo de Microsoft CA certutil -crl ), cualquier cliente que todavía use la CRL anterior perderá las revocaciones que espera en el delta. Este error se producirá hasta la próxima actualización, cuando se descargue la CRL base.

¿Es ese un escenario válido? ¿Me estoy perdiendo de algo? ¿Hay una mitigación?

    
pregunta random65537 26.02.2015 - 20:26
fuente

2 respuestas

3

La CRL base y la delta están vinculadas entre sí a través del CRL Number . El "número de CRL" es un número entero monótonamente creciente que, en términos generales, caracteriza la antigüedad de la información contenida en el CRL.

Desde el punto de vista del validador (el "cliente"), una CRL delta nunca se puede usar sola, sino solo en combinación con una CRL base, sujeto a las condiciones enumeradas en sección 5.2.4 . Básicamente:

  • Una CRL no delta contiene un número b en su extensión de número de CRL.
  • Una CRL delta contiene un número d en su extensión de número de CRL y un "número de CRL base" e en su extensión de indicador de CRL delta .
  • El CRL delta y el no delta solo se pueden combinar si d > b e .

En términos simples, la CRL delta contiene toda la información sobre las revocaciones que ocurrieron antes del instante d y después del instante e . Por lo tanto, el delta se puede combinar con el CRL no delta solo si el no-delta contiene información que data de algún momento dentro de ese rango; de lo contrario, puede perderse alguna revocación.

(La combinación se considera equivalente a una CRL completa del instante d , y se puede usar como "CRL base" para la combinación de CRL delta adicional, recursivamente).

Un punto importante a tener en cuenta es que la revocación es, nominalmente, un viaje de ida: los certificados no pueden ser "no revocados". Por lo tanto, si una CRL especifica que se revoca un certificado dado, entonces una CRL adicional de la misma fuente también mostrará que Certificado como revocado (hasta que el certificado expire). (Existe un código de razón de revocación especial que se llama "eliminar de CRL" e intenta funcionar como una forma de no reubicación, pero no funciona bien en la práctica).

La Extensión de CRL más reciente , si está presente, notifica al cliente la existencia y ubicación de delta CRL que se puede usar para "refrescar" un CRL a un costo (supuestamente) bajo (ya que se supone que el delta CRL es corto). Esa extensión puede aparecer en un certificado o en una CRL base. Cuando esa extensión esté presente, alguna implementación insistirá en obtener una CRL delta que se puede combinar con una CRL base (sujeto a las reglas explicadas anteriormente) y rechazará el certificado si solo obtienen una CRL completa.

La PKI de Microsoft (Servicios de certificado de Active Directory), cuando está configurada para producir una CRL delta, emitirá sistemáticamente una CRL delta nueva y vacía cuando emita una CRL no delta, manteniendo así la propiedad que cuando existe una CRL no delta. también está disponible un CRL delta más nuevo ("número de CRL") más nuevo. Los clientes que obtengan una "CRL base actualizada" se negarán a combinarla con una CRL delta más antigua, pero descargarán la nueva CRL delta.

    
respondido por el Thomas Pornin 26.02.2015 - 20:48
fuente
1

En realidad, la CRL base tendrá la próxima hora de actualización para cada emisión. Por lo tanto, el cliente que está verificando la CRL validará primero la firma y luego la próxima actualización de la CRL. En su caso, si el cliente está utilizando la antigua CRL, perderá las nuevas entradas de la CRL. pero para este escenario, el cliente debe verificar el servidor que emite la CRL base con regularidad con la próxima hora de actualización de la hora particular para obtener siempre la CRL más reciente.

    
respondido por el user45475 26.02.2015 - 21:01
fuente