¿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.