¿Cómo valida un cliente una cadena de certificados hasta una raíz de confianza?
Respuesta breve
El cliente construye una cadena desde el certificado del servidor (hoja) hacia arriba a través de una o más CA intermedias hasta una CA raíz en su almacén de confianza. Verifica la firma de cada certificado usando la clave pública del siguiente emisor, comprueba las fechas de validez, la coincidencia de nombre/host, el uso de la clave y la revocación (CRL/OCSP). La confianza termina en una raíz autofirmada preaprobada; la cadena solo es válida si cada eslabón es correcto.
Esta es una pregunta de nivel senior porque la validación de la cadena es donde residen muchos fallos y configuraciones erróneas de TLS del mundo real. El entrevistador quiere ver que entiendes que la confianza es transitiva y está anclada, no es magia.
La cadena de confianza
Un servidor presenta un certificado hoja para su nombre de host. Esa hoja está firmada por una CA intermedia, que a su vez está firmada por una CA raíz. La raíz es autofirmada y reside en el almacén de confianza del cliente (incluido con el sistema operativo o el navegador). La validación funciona hacia arriba: cada certificado se verifica usando la clave pública del certificado superior, hasta llegar a una raíz en la que ya confías. Si la cadena no termina en una raíz de confianza, la validación falla.
Las raíces firman intermedios en lugar de hojas directamente para que la preciada clave privada raíz pueda permanecer fuera de línea; si un intermedio se compromete, puede revocarse sin quemar la raíz.
Qué se comprueba en cada eslabón
- Firma: ¿la clave pública del emisor verifica la firma de este certificado?
- Fechas de validez: ¿está el certificado dentro de su ventana not-before/not-after?
- Coincidencia de nombre: ¿coincide el sujeto/SAN de la hoja con el nombre de host que el cliente solicitó?
- Uso de la clave / restricciones: ¿está cada CA realmente autorizada a emitir (restricciones básicas, longitud de ruta)?
- Revocación: ¿ha sido revocado, vía una CRL o una consulta OCSP? El grapado OCSP permite al servidor presentar un estado firmado reciente para evitar un viaje de ida y vuelta del cliente.
Modos de fallo comunes
La ruptura más frecuente del mundo real es un intermedio faltante: el servidor envía solo la hoja, así que los clientes que no tienen el intermedio en caché no pueden construir una ruta hasta la raíz. Otros incluyen certificados expirados, discrepancias de nombre de host y raíces no confiables (autofirmadas o privadas).
Qué buscan los entrevistadores
El ascenso hasta una raíz autofirmada preaprobada; la verificación de firma en cada salto; las comprobaciones de validez/nombre de host/revocación; y la conciencia de por qué existen los intermedios y cómo uno faltante rompe la cadena.
Posibles preguntas de seguimiento
- ¿Por qué las CA emiten desde certificados intermedios en lugar de firmar directamente con la raíz?
- ¿Cuál es la diferencia entre CRL y OCSP, y qué es el grapado OCSP?
- ¿Qué ocurre si el servidor omite un certificado intermedio de la cadena?