it-swarm-es.com

Comprobación de revocación de certificado SSL

En el protocolo SSL no veo dónde se verifica el certificado para el estado de revocación.

https://developer.mozilla.org/en/Introduction_to_SSL

¿La revocación del certificado y la verificación del estado no están implementadas en el protocolo SSL?

12
user1157

El protocolo SSL especifica la forma en que un servidor envía su certificado al cliente. El cliente debe "obtener" la clave pública del servidor validando el certificado. El especificación SSL no describe la validación del certificado; para eso, debe mirar X.509 , en el que verá que es un proceso mucho más complejo de lo que se describe en el documento al que se vincula.

Verificar el estado de revocación es parte de la validación del certificado. El cliente es realmente libre de hacerlo de cualquier forma que lo considere conveniente; muchos navegadores web "comprueban" el estado de revocación mediante un proceso que dice "mmhh ... probablemente no se revoque de todos modos, no es necesario verificar nada". En el mundo X.509, el estado de revocación se puede determinar descargando y validando CRL (Listas de revocación de certificados) u obteniendo respuestas OCSP de los respondedores OCSP (una respuesta OCSP es un tipo de CRL reducida a un solo certificado objetivo). Teóricamente, el estado de revocación debe obtenerse para todos los certificados, es decir, el certificado del servidor pero también los certificados de CA intermedios utilizados para validar los certificados del servidor, y todos los demás certificados utilizados para validar las respuestas CRL y OCSP (esto puede volverse altamente recursivo). El costo agregado (especialmente en el tiempo de descarga) puede volverse prohibitivo, por lo que muchos clientes confían en un modelo más débil pero más rápido (por ejemplo, verificar el estado solo para el certificado del servidor en sí, no la CA intermedia; o no verificar el estado en absoluto).

De todos modos, la validación es cómo se obtiene la clave pública del servidor, por lo que ocurre durante el protocolo de enlace SSL, justo antes de que el cliente envíe el mensaje ClientKeyExchange.

15
Thomas Pornin

Hay dos formas de verificar el estado de un certificado:

Ninguno de estos es específico de SSL, y solo hacen eso: verificar el estado de un certificado. Por lo tanto, ambos se aplican a cualquier cosa que use certificados.

9