Optimización de carga de página: grapado OCSP

Introducción

Cuando un usuario visita su sitio web HTTPS, debe responder con un Llave pública, y un certificado SSL válido que asocie la clave con su identidad, ya sea como persona, empresa u organización. Los certificados siempre se emiten con una fecha de vencimiento predefinida que se incluye en el certificado firmado, y los navegadores siempre verifican la fecha de vencimiento y rechazan cualquier certificado vencido.

Sin embargo, en ciertos casos, un certificado debe marcarse como no válido (y la confianza en esos certificados debe ser revocado) antes expira Los ejemplos comunes incluyen un propietario del servidor que tiene evidencia (o simplemente sospecha) de que su clave privada se vio comprometida (es decir, se perdió, fue robada o destruida), ya que un tercero que posee esta clave privada puede esencialmente evitar todos los controles de seguridad de la red del navegador.

Como consecuencia, los proveedores de navegadores requieren de confianza pública autoridades de certificación (CA) para implementar al menos un método tanto para revocar certificados problemáticos como para notificar a los navegadores que rechacen estos certificados revocados.

Para ver ejemplos de mensajes de error del navegador que resultan de certificados revocados, consulte esta guía. Puede comprobar el estado de revocación de un certificado en certificado.revocacióncheck.com.

Una breve historia de (los problemas de) la comprobación de revocación

En los primeros días de SSL, el método utilizado por las CA era publicar su estado de revocación de certificados en documentos de acceso público llamados listas de revocación de certificados (CRL) Una CRL es simplemente una lista de todos los certificados que una CA ha revocado antes de su vencimiento. Las CA publicaron periódicamente la última versión de sus CRL, que los navegadores debían consultar con antes cada conexión HTTPS.

Naturalmente, como HTTPS (y SSL /TLS) la adopción aumentó a lo largo de los años, al igual que el tamaño de las CRL publicadas. El requisito de tener que descargar y analizar una CRL grande antes de cada conexión imponía una sobrecarga de red cada vez mayor. Rápidamente se hizo evidente que el método CRL no escalaba bien.

Para mitigar estos problemas de escalado, los navegadores y las CA diseñaron e implementaron Protocolo de estado de certificado en línea (OCSP). CA de confianza pública, como SSL.com, ahora mantenga servidores HTTP simples llamados Respondedores OCSP. Los navegadores ahora pueden contactar a un respondedor para solicitar el estado de revocación de un solo certificado emitido por la CA, en lugar de tener que adquirir y procesar toda la CRL.

Los respondedores de OCSP firman sus respuestas con la clave de firma privada de la CA, y los navegadores pueden verificar que el estado de revocación que recibieron fue realmente generado por la CA real.

Desafortunadamente, aunque OCSP parecía una solución efectiva al principio, el nuevo protocolo ha demostrado tener algunos problemas prácticos de rendimiento, seguridad y privacidad.

Problemas de desempeño

Ponerse en contacto con un respondedor por cada certificado que encuentre el navegador significa que los navegadores deben realizar una solicitud HTTP adicional para cada nueva conexión HTTPS. Esta sobrecarga de la red era perceptible para los usuarios, especialmente en páginas que contenían contenido de terceros almacenado en servidores remotos de distribución de contenido (cada uno de los cuales podía tener uno o más certificados).

Sensibilidad Es un principio esencial del buen diseño de la interfaz de usuario. Los retrasos prolongados pueden ser una causa importante de frustración del usuario y pueden hacer que los usuarios crean que su sitio web no funciona o que su gesto de entrada ha sido ignorado.

Además, muchos estudios En el pasado, se ha vinculado la velocidad de carga de página rápida y la capacidad de respuesta con un SEO mejorado y mayores tasas de conversión. De hecho, Amazon ha calculado que un retraso de solo un segundo puede costarles aproximadamente $1.6 millones anual.

(Para obtener más información sobre cómo la velocidad de carga de la página afecta a su sitio web y las optimizaciones sugeridas, consulte nuestro artículo que describe cómo eliminar contenido mixto de su sitio web mejorará su rendimiento).

Las cuestiones de seguridad

También hay importantes preocupaciones de seguridad con OCSP. El hecho de que la mayoría de las implementaciones prácticas de OCSP no fueran lo suficientemente confiables (ya sea debido al retraso de la red o a los errores de configuración o aplicación) motivó a los navegadores y a otro software del cliente a implementar el registro de OCSP falla suave modo.

Esto significa que si no se puede acceder a un servidor OCSP o se agota el tiempo de espera al responder, los navegadores lo harán considerar el certificado como válido y continúe con la conexión HTTPS de todos modos.

El razonamiento detrás de esto es que, dado que un servidor OCSP puede servir potencialmente a millones de sitios web y es posible que un servidor OCSP falle en cualquier momento, dejar caer la conexión en cada falla OCSP interrumpiría la experiencia de navegación de millones de usuarios. Incluso si el servidor OCSP está funcionando pero tarda mucho en responder, esto aumenta el retraso percibido y la frustración del usuario.

Hombre en el medio (MITM) se sabe que los atacantes explotan este comportamiento bloqueando todos conexiones con los respondedores OCSP, lo que significa que pueden usar un certificado robado y un par de claves para un sitio malicioso, independientemente del estado de revocación del certificado.

Problemas de privacidad

Finalmente, dado que un certificado está vinculado con una clave y un nombre de dominio, y los navegadores solicitan el estado de revocación antes de cada nueva conexión HTTPS, esto significa que los navegadores filtran una parte significativa del historial web de sus usuarios a los respondedores de OCSP.

Por supuesto, las CA de confianza pública no son organizaciones maliciosas que buscan comprometer la privacidad del usuario. (Las CA de buena reputación siempre intentan activamente proteger la seguridad y privacidad de sus usuarios). Sin embargo, en el caso de que el respondedor OCSP de una CA se vea comprometido, los datos intercambiados con ese servidor no confiable podrían conducir a la divulgación de información confidencial y privada.

Grapado OCSP al rescate

Para mitigar estos problemas, los navegadores y las CA idearon un nuevo método para determinar el estado de un certificado, llamado Grapado OCSP. El grapado OCSP permite que los servidores web (en lugar de los navegadores) obtengan respuestas OCSP firmadas para sus certificados, que pueden almacenarse en caché por hasta 7 días.

Los servidores incluyen (o grapa) la respuesta OCSP en caché en sus respuestas HTTPS junto con el certificado SSL. De esta forma, los navegadores pueden verificar la firma de las CA en la respuesta OCSP y asegurarse de que el certificado no haya sido revocado, antes de que se establezca la conexión segura y sin tener que realizar la costosa solicitud adicional al servidor OCSP.

El grapado OCSP es una solución simple pero muy efectiva para los problemas mencionados anteriormente. Los servidores pueden recuperar las respuestas OCSP almacenadas en caché en su propio tiempo, lo que elimina la sobrecarga de rendimiento impuesta por las CRL y OCSP, así como las preocupaciones de privacidad que las acompañan.

Sin embargo, el grapado OCSP por sí solo no resuelve por completo el problema de seguridad de falla suave de OCSP. Dado que el grapado se implementa en el servidor, los navegadores no pueden saber si un servidor realmente admite el grapado o no.

Como consecuencia, los atacantes de MITM con un certificado robado (pero revocado) pueden realizar un ataque de degradación al entregar el certificado sin grapado OCSP. El navegador de una víctima no puede corroborar si el servidor realmente admite el grapado y procede a consultar al respondedor OCSP como lo haría normalmente.

Los atacantes MITM pueden simplemente bloquear esta consulta OCSP y obligar efectivamente a los navegadores a aceptar el certificado como válido.

OCSP debe grapar

Este ataque motivó a las CA y a los proveedores de navegadores a introducir una extensión para certificados SSL, definida en RFC 7633, comunmente llamado OCSP Imprescindible (aunque el RFC en sí no menciona este nombre, lo que puede causar cierta confusión). Esto simplemente exige el grapado OCSP para el certificado. Si un navegador encuentra un certificado con esta extensión que se usa sin OCSP Stapling, será rechazado. OCSP Must-Staple mitiga el ataque de degradación mencionado anteriormente y también reduce el tráfico innecesario a los respondedores OCSP de CA, lo que también puede ayudar a mejorar el rendimiento general de OCSP.

Si está interesado en habilitar la extensión OCSP Must-Staple en sus certificados, comuníquese con uno de nuestros agentes de soporte en support@ssl.com para más información.

Habilite el grapado OCSP en su servidor

Para evitar la molestia de buscar esto, las siguientes secciones contienen instrucciones sobre cómo habilitar el grapado OCSP en su APACHE y Nginx ambientes:

APACHE

Para habilitar el engrapado OCSP en su APACHE servidor, agregue las siguientes líneas en el archivo de configuración de su servidor.

# Grapado OCSP, solo en httpd 2.3.3 y posterior SSLUseStapling en SSLStaplingResponderTimeout 5 SSLStaplingReturnResponderErrors off SSLStaplingCache shmcb: / var / run / ocsp (128000)

Nginx

Para habilitar el engrapado OCSP en su Nginx servidor, agregue el siguiente texto en el archivo de configuración de su servidor.

# Grapado OCSP --- # buscar registros OCSP de URL en ssl_certificate y guardarlos en caché ssl_stapling en; ssl_stapling_verify on;

Conclusión

La web es una intrincada red de componentes interdependientes, todos (generalmente) trabajando en armonía para proporcionar una experiencia de navegación perfecta. Sin embargo, la complejidad cada vez mayor de este sistema crea una superficie de ataque cada vez más amplia y permite idear y ejecutar nuevos ataques de red.

La gran cantidad de componentes aumenta naturalmente la latencia e incurre en retrasos, lo que significa que las empresas necesitan encontrar formas de mejorar la seguridad sin afectar la experiencia del usuario. Habilitar el engrapado OCSP le dará esa rara oportunidad de mejorar la seguridad. y rendimiento para su sitio web al mismo tiempo.

Como siempre, nos complace responder a sus preguntas sobre el engrapado OCSP u otros problemas, solo envíenos un correo electrónico a support@ssl.com.

Suscríbase al boletín de SSL.com

No te pierdas los nuevos artículos y actualizaciones de SSL.com

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.