El algoritmo de validación de la ruta de certificación verifica que una ruta de certificado determinada sea válida bajo una infraestructura de clave pública (PKI) específica. Una ruta comienza con el certificado del sujeto y continúa a través de varios certificados intermedios hasta llegar a un certificado raíz de confianza , generalmente emitido por una autoridad de certificación (CA) de confianza.
La validación de la ruta es necesaria para que una parte confiable pueda tomar una decisión informada sobre la confianza cuando se le presenta un certificado que no sea de confianza explícita. Por ejemplo, en una infraestructura de clave pública (PKI) jerárquica, una cadena de certificados que comienza con un certificado de servidor web podría conducir a una CA pequeña, luego a una CA intermedia y, finalmente, a una CA grande cuyo ancla de confianza está presente en el navegador web de la parte confiable . En una PKI puenteada, una cadena de certificados que comienza con un usuario de la Compañía A podría conducir al certificado de CA de la Compañía A, luego a una CA puente, luego al certificado de CA de la Compañía B y, finalmente, al ancla de confianza de la Compañía B, en la que una parte confiable de la Compañía B podría confiar.
RFC 5280 [ 1 ] define un algoritmo estandarizado de validación de ruta para certificados X.509 , dada una ruta de certificado. (El descubrimiento de ruta, la construcción real de una ruta, no está cubierto). El algoritmo toma las siguientes entradas:
- La ruta de certificación que se va a evaluar;
- La fecha y hora actuales;
- La lista de identificadores de objetos de política de certificados (OID) aceptables para la parte que confía en el certificado (o cualquier otra);
- El ancla de confianza de la ruta del certificado; y
- Indicadores sobre si se permite la asignación de políticas y cómo/cuándo/si se debe tolerar el OID de política "cualquiera".
En el algoritmo estandarizado, se realizan los siguientes pasos para cada certificado en la ruta, comenzando desde el ancla de confianza. Si falla alguna comprobación en algún certificado, el algoritmo finaliza y la validación de la ruta falla. (Este es un resumen explicativo del alcance del algoritmo, no una reproducción rigurosa de los pasos detallados).
- Se comprueban el algoritmo de clave pública y sus parámetros;
- Se comprueba la fecha y hora actuales con respecto al período de validez del certificado;
- Se comprueba el estado de revocación , ya sea mediante CRL , OCSP o algún otro mecanismo, para garantizar que el certificado no haya sido revocado;
- Se comprueba el nombre del emisor para asegurar que coincide con el nombre del sujeto del certificado anterior en la ruta;
- Se comprueban las restricciones de nombre para garantizar que el nombre del sujeto se encuentre dentro de la lista de subárboles permitidos de todos los certificados CA anteriores y no dentro de la lista de subárboles excluidos de ningún certificado CA anterior;
- Los OID de la política de certificado declarada se comparan con los OID permitidos del certificado anterior, incluidas las equivalencias de asignación de políticas declaradas por el certificado anterior;
- Se comprueban las restricciones de política y las restricciones básicas para garantizar que no se infrinjan los requisitos explícitos de la política y que el certificado sea un certificado de CA, respectivamente. Este paso es crucial para prevenir algunos ataques de intermediario ; [ 2 ]
- Se comprueba la longitud de la ruta para garantizar que no exceda ninguna longitud máxima de ruta establecida en este certificado o en uno anterior;
- Se comprueba la extensión de uso de clave para garantizar que tenga permiso para firmar certificados; y
- Cualquier otra extensión crítica se reconoce y se procesa.
Si este procedimiento llega al último certificado de la cadena, sin restricciones de nombre, infracciones de políticas ni ninguna otra condición de error, entonces el algoritmo de validación de la ruta del certificado finaliza correctamente.
Véase también
Referencias
- ↑ RFC 5280 (mayo de 2008), capítulo 6, un algoritmo estandarizado de validación de rutas paracertificados X.509 .
- ↑ Moxie Marlinspike , Nuevos trucos para derrotar SSL en la práctica , conferencia Black Hat DC Briefings 2009.
- protocolos criptográficos