¿Cómo maneja OCSP los certificados eliminados?

¿Cómo maneja OCSP los certificados eliminados?

Contamos con una autoridad de certificación de Microsoft que se ejecuta en Windows Server 2019. Estamos emitiendo certificados para dispositivos Android a través de un MDM. Los usuarios de dispositivos Android navegan a una aplicación web (alojada por Apache, implementada en PHP 8) utilizando el navegador web Chrome (en Android) que requiere un certificado de cliente.

Estamos instalando una instancia separada de Windows Server 2019 con la función de Respondedor OCSP de Microsoft para validar/verificar que los certificados de cliente presentados al servidor web Apache sean válidos. Apache tiene varias directivas para manejar la validación de OCSP. También nos gustaría validar los certificados en PHP para mayor seguridad.

Según mi investigación que leyó varios RFC y documentos técnicos de Microsoft, parece que Microsoft OCSP Responder valida los certificados haciendo referencia a una CRL para conocer el estado de revocación.

¿Cómo valida Microsoft OCSP Responder los certificados si se han eliminado de la CA en lugar de revocarlos? Si se eliminan y no se revocan, no aparecerán en la CRL.

¿Me estoy perdiendo de algo? ¿Validará Microsoft OCSP Responder el número de serie con la base de datos de CA, así como su estado de revocación?

Respuesta1

¿Validará Microsoft OCSP Responder el número de serie con la base de datos de CA, así como su estado de revocación?

De forma predeterminada, Microsoft OCSP informará dicho número de serie como "Bueno". A partir de Windows Server 2008 R2, se agrega una funcionalidad de respuesta OCSP determinista a Microsoft OCSP. En resumen, CA publica todos los números de serie de los certificados emitidos y OCSP también está configurado para buscar en este directorio. El nuevo comportamiento hace lo siguiente:

  • Si el número de serie no existe en la carpeta, OCSP responde con UNKNOWNel estado. Esto significa que CA nunca emitió el número de serie solicitado.
  • si el número de serie existe en la carpeta, se marca una CRL
  • si el número de serie figura en la CRL, responda con REVOKEDel estado y responda con GOODlo contrario.

Más detalles sobre Microsoft KB:El servicio Online Responder no devuelve un BUENO determinista para todos los certificados no incluidos en la CRL

La base de conocimiento contiene una secuencia de comandos que descarga todos los números de serie de los certificados emitidos en la carpeta configurada. Sin embargo, el guión tiene algunos fallos. Exporta solo publicaciones seriadas que existen en la base de datos de CA en el momento de la ejecución del script. La base de datos de CA se mantiene y las entradas antiguas se eliminan para evitar un crecimiento excesivo de la base de datos de CA. Esto dará lugar a un UNKNOWNestado falso positivo en los certificados eliminados, aunque el certificado se haya emitido y exista en algún lugar salvaje. Prefiero mantener todo lo emitido independientemente del mantenimiento de CA y responder GOODincluso si el certificado se eliminó de CA. Para solucionar este defecto, recomendaría eliminar estas líneas del script:

dir | foreach {
    remove-item $_ -force
}

esto mantendrá los números de serie que ya no existen en CA entre ejecuciones de script.

información relacionada