¿Qué sucede cuando se revoca una CA intermedia?

23

Actualmente estoy trabajando en un administrador de certificados que permite que nuestro producto se conecte de manera segura a servicios web remotos (a través de TLS / SSL). Por motivos de seguridad, utilizamos la comprobación de la Lista de revocación de certificados (o la comprobación de CRL) para averiguar si un determinado certificado ha sido revocado. Sin embargo, algunos problemas no están claros para mí:

  • ¿Debo / debo recuperar todas las CRL de la cadena completa para verificar la validez del certificado?
  • ¿Qué debo hacer cuando se revoca una CA intermedia? ¿Se agregarán también todos sus certificados a la CRL? ¿Se puede reemplazar el certificado por una nueva versión (sin compromiso)?
pregunta Anne Stellingwerf 13.07.2011 - 14:00
fuente

3 respuestas

21

¿Debo / debo obtener todas las CRL de la cadena completa para verificar la validez de los certificados?

Absolutamente. Una CA crea una CRL solo para los certificados que emite . El estado de la CA debe verificarse a través de la CRL de la CA emisora. Nota: Esta es una búsqueda recursiva. Al escribir código o probar sistemas, recuerde que puede haber más de una "generación" de CA emisores y verifique todos los certificados excepto la raíz autofirmada. Una CA raíz no tendrá una CRL asociada: si la raíz está comprometida, esa raíz debe eliminarse manualmente de cualquier almacén de confianza.

¿Qué debo hacer cuando se revoca una CA intermedia?

No confíes en nada firmado por la CA. Un certificado es tan bueno como la CA que lo emitió. Si la CA no es de confianza, los certificados emitidos por esa CA ya no son confiables.

No espere obtener una CRL de la CA revocada que dice que todos los certificados emitidos por la CA no son válidos. Si la CA está activa, esto creará un CRL prohibitivamente grande que será extremadamente doloroso de transportar, analizar y, en general, hacer cualquier cosa. Además, si se ha perdido la clave de la AC, puede que no sea posible crear esta CRL.

En la práctica, lo inteligente sería eliminar la CA de cualquier almacén de confianza. La eliminación de la CA de los almacenes de confianza provocará que cualquier aplicación que genere su cadena de CA de los almacenes de confianza no supere la verificación del certificado rápidamente. La creación de la cadena de certificados generalmente se realiza antes de cualquier comprobación de OCSP / CRL, por lo que guarda su aplicación de pasos adicionales y, potencialmente, de ancho de banda al recortar la CA revocada de sus tiendas.

La revocación de una CA intermedia es también un evento bastante importante: honestamente, nunca lo experimenté en el mundo real. Si estuviera trabajando en un sistema altamente seguro, también publicaría todo lo posible que la CA fue revocada. En particular, cualquier sistema que pueda estar funcionando fuera de las CRL que se almacenan en caché durante mucho tiempo.

Y si tuviera certificados firmados por esta CA, comenzaría a formular mi estrategia de recertificación lo antes posible.

¿Se agregarán también todos sus certificados a la CRL?

No. Tenga en cuenta que hay dos CRL diferentes en juego: - la CA de la CA emisora (ya sea una CA raíz u otra CA de la cadena) - emite una CRL que verifica el estado del certificado de la CA emisora - la CA emisora - emite una CRL que verifica el estado de los certificados que esta CA ha emitido.

Si tiene una cadena de CA que es n certificados desde la raíz hasta la entidad final, tendrá involucradas las CRL n-1.

¿Se puede reemplazar el certificado por una nueva versión (no comprometida)?

Sí ... más o menos. El compromiso refleja la falta de confianza de la clave privada de la CA. La CA necesitará una nueva clave privada, que esencialmente la convierte en una nueva CA.

Técnicamente, es posible cambiar el nombre de la CA con el mismo Nombre distinguido, si existe un valor operativo para eso. Pero en la práctica, mi tentación sería enfrentar a una nueva CA, con un nuevo DN, solo para que todos los humanos sean claros en la diferencia.

Esto será un gran dolor en la parte trasera. Los usuarios de la nueva CA deberán: - elimine el certificado comprometido y sustitúyalo por el nuevo certificado de CA - vuelva a certificar todos los certificados de entidad final con certificados firmados por la nueva CA.

Tenga en cuenta que es una cuestión de política de seguridad, ya sea si recertifica o vuelve a introducir sus entidades finales. Si el sistema comprometido no tuvo acceso a las claves privadas de ninguna entidad final, puede volver a firmar la misma clave privada con una nueva clave CA. Si mantuviste un archivo de solicitudes de certificado en el archivo, podrías volver a enviarlas a la nueva CA y ahorrarte un montón de generación de claves.

Sin embargo, en algunos casos, el sistema de CA puede poner algunas claves privadas en custodia, lo que significa que en alguna ubicación central (generalmente cerca del sistema de CA), las claves privadas se almacenan de forma segura en caso de que los usuarios pierdan sus claves y necesiten una actualización. Esto es particularmente frecuente en el caso de los certificados de cifrado, ya que es posible que necesite recuperar datos cifrados incluso después de que se haya revocado una clave de cifrado.

En estos casos, si la CA está comprometida, existe una buena posibilidad de que se haya comprometido la custodia de la clave. Eso significa que todos los usuarios de claves en los depósitos deben generar nuevos pares de claves y solicitar un nuevo certificado.

Más allá de eso: es una cuestión de política en cuanto a si se permite la recertificación. Dado que un nuevo certificado tendrá un nuevo período de validez, puede ser que los poderes de seguridad sean "no renovar / recertificar" porque no pueden limitar el período de validez de manera suficiente.

    
respondido por el bethlakshmi 13.07.2011 - 17:48
fuente
13

Sí, debería obtener todas las CRL para todos los certificados de la cadena. Un certificado se puede considerar utilizable para cualquier propósito, incluida la verificación de otros certificados, solo si se puede conectar al final de una cadena de certificados válida y se ha determinado su estado de revocación. Por supuesto, no se debe confiar en una CRL a menos que se pueda verificar su firma con respecto a una clave pública autorizada, lo que puede implicar también algunas cadenas de certificados adicionales.

Un certificado que se revoca significa que su contenido no debe considerarse utilizable. La revocación se puede ver como una "orden de cancelación" en la firma criptográfica que ha sido agregada al certificado por la CA emisora: "esta firma no debe considerarse válida, aunque matemáticamente se vea bien". También puede considerar la revocación como una sustitución en la fecha de finalización de validez del certificado.

Si se revoca un certificado de CA intermedio, se vuelve inutilizable. No puedes usarlo como parte de una cadena. Por lo tanto, si desea validar uno de los certificados que la CA ha emitido, deberá encontrar otro certificado de CA intermedio, con el mismo nombre y clave de CA, y que no se revoque.

Un certificado puede ser revocado por razones arbitrarias: en última instancia, un certificado es revocado porque quien esté a cargo de afirmar el estado de revocación, emitiendo CRL, así lo indica. Una posible razón para la revocación de un certificado es que la clave privada correspondiente fue comprometida (robada). En ese momento, ya no se podrá confiar en nada firmado con esa clave, ya que podría haber sido firmado por el ladrón clave. En ese caso (compromiso de clave), no solo se revocará el certificado de CA intermedio, sino que la CA intermedia generará una nueva clave, por lo que cualquier otro certificado para esa CA intermedia usará la nueva clave. El efecto neto es que los certificados emitidos anteriormente por esa CA intermedia nunca volverán a aparecer como parte de cadenas válidas nuevamente. Revocarlos sería inútil.

    
respondido por el Thomas Pornin 13.07.2011 - 14:34
fuente
6
  • Sí, un certificado solo es válido si la cadena completa de certificados hasta la raíz es válida y no está revocada, por lo que debe verificarlos todos.
  • Si se revoca una CA intermedia, entonces los certificados de niño tendrán que ser reemitidos por una CA válida, no hay manera de "intercambiar" un intermedio válido. Para aclarar: "re-emitido" significa "un certificado completamente nuevo creado con el mismo nombre"
  • No creo que los certificados de niños se incluyan en una CRL cuando se revoca un certificado de padres. Ciertamente es posible hacerlo, pero logísticamente sería doloroso, y no conozco a nadie que lo haga. Sin embargo, esta es mi mejor suposición, sin embargo, podría equivocarme fácilmente en este punto.
respondido por el gowenfawr 13.07.2011 - 14:35
fuente