Articulo de referencia

Protocolo de estado de certificado en línea

{{Cite web|title=History for draft-ietf-pkix-rfc2560bis-20|date=June 2013 |url=https://datatracker.ietf.org/doc/rfc6960/history/|access-date=December 23, 2021 |last1=Santesson |...

El Protocolo de estado de certificado en línea ( OCSP ) es un protocolo de Internet utilizado para obtener el estado de revocación de un certificado digital X.509 . [ 2 ] Fue creado como una alternativa a las listas de revocación de certificados (CRL), abordando específicamente ciertos problemas asociados con el uso de CRL en una infraestructura de clave pública (PKI). [ 3 ] Los mensajes comunicados a través de OCSP están codificados en ASN.1 y generalmente se comunican a través de HTTP . La naturaleza de "solicitud/respuesta" de estos mensajes hace que los servidores OCSP se denominen respondedores OCSP .

Algunos navegadores web (por ejemplo, Firefox [ 4 ] ) utilizan OCSP para validar certificados HTTPS , mientras que otros lo han deshabilitado. [ 5 ] [ 6 ] La mayoría de los estados de revocación de OCSP en Internet desaparecen poco después de la expiración del certificado. [ 7 ]

Anteriormente, el Foro CA/Navegador exigía a las autoridades de certificación (CA) que proporcionaran el servicio OCSP, pero este requisito se eliminó en julio de 2023, [ 8 ] haciendo que OCSP fuera opcional y las CRL volvieran a ser obligatorias. [ 9 ] El 6 de agosto de 2025, Let's Encrypt anunció que los servicios OCSP se cerrarían debido a preocupaciones sobre la privacidad. [ 10 ]

Comparación con los CRL

  • Dado que una respuesta OCSP contiene menos datos que una lista de revocación de certificados (CRL) típica, supone una menor carga para los recursos de la red y del cliente. [ 11 ]
  • Dado que una respuesta OCSP tiene menos datos que analizar , las bibliotecas del lado del cliente que la manejan pueden ser menos complejas que las que manejan CRL. [ 12 ]
  • OCSP informa al respondedor que un host de red específico utilizó un certificado específico en un momento específico. OCSP no exige cifrado, por lo que otras partes pueden interceptar esta información. [ 2 ]

Implementación básica de PKI

  1. Alice y Bob tienen certificados de clave pública emitidos por Carol, la autoridad certificadora (CA).
  2. Alice desea realizar una transacción con Bob y le envía su certificado.
  3. Bob, preocupado de que la clave privada de Alice pudiera haber sido comprometida, crea una "solicitud OCSP" que contiene el número de serie del certificado de Alice y se la envía a Carol.
  4. El respondedor OCSP de Carol lee el número de serie del certificado de la solicitud de Bob. El respondedor OCSP utiliza este número de serie para consultar el estado de revocación del certificado de Alice. Para ello, consulta una base de datos de CA que Carol mantiene. En este caso, la base de datos de CA de Carol es el único lugar de confianza donde se registraría una posible vulneración del certificado de Alice.
  5. El respondedor OCSP de Carol confirma que el certificado de Alice sigue siendo válido y devuelve a Bob una "respuesta OCSP" firmada y exitosa.
  6. Bob verifica criptográficamente la respuesta firmada de Carol. Bob había almacenado la clave pública de Carol tiempo antes de esta transacción. Bob utiliza la clave pública de Carol para verificar su respuesta.
  7. Bob finaliza la transacción con Alice.

Detalles del protocolo

Un respondedor OCSP (un servidor generalmente administrado por el emisor del certificado) puede devolver una respuesta firmada que indique que el certificado especificado en la solicitud es "válido", "revocado" o "desconocido". Si no puede procesar la solicitud, puede devolver un código de error.

El formato de solicitud OCSP admite extensiones adicionales. Esto permite una amplia personalización para un esquema PKI específico.

OCSP puede ser vulnerable a ataques de repetición , [ 13 ] : §5 donde una respuesta firmada y "buena" es capturada por un intermediario malicioso y reenviada al cliente en una fecha posterior, después de que el certificado del sujeto haya sido revocado. OCSP permite incluir un nonce en la solicitud, que puede incluirse en la respuesta correspondiente. Debido a la alta carga, la mayoría de los respondedores OCSP no utilizan la extensión nonce para crear una respuesta diferente para cada solicitud, sino que utilizan respuestas pre-firmadas con un período de validez de varios días. Por lo tanto, el ataque de repetición es una amenaza importante para los sistemas de validación.

OCSP admite más de un nivel de CA. Las solicitudes OCSP pueden encadenarse entre respondedores pares para consultar la CA emisora ​​adecuada para el certificado en cuestión, y los respondedores validan las respuestas de los demás contra la CA raíz utilizando sus propias solicitudes OCSP.

Los servidores de validación de ruta delegada (DPV) pueden consultar la información de revocación de un respondedor OCSP . OCSP, por sí mismo, no realiza ninguna validación de ruta delegada (DPV) de los certificados proporcionados.

La clave que firma una respuesta no tiene por qué ser la misma que firmó el certificado. El emisor del certificado puede delegar en otra autoridad la función de respondedor OCSP. En este caso, el certificado del respondedor (el que se utiliza para firmar la respuesta) debe ser emitido por el emisor del certificado en cuestión y debe incluir una extensión específica que lo identifique como autoridad de firma OCSP (más precisamente, una extensión de uso de clave extendida con el OID {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) keyPurpose(3) ocspSigning(9)}).

preocupaciones sobre la privacidad

La verificación OCSP genera inquietudes sobre la privacidad de algunos usuarios, ya que requiere que el cliente contacte a un tercero (aunque sea un tercero de confianza para el proveedor del software cliente) para confirmar la validez del certificado. Este tercero podría, por lo tanto, rastrear los sitios web a los que accede el cliente. El OCSP Stapling es una forma de verificar la validez sin revelar el comportamiento de navegación a la CA. [ 2 ]

Críticas

La revocación basada en OCSP no es una técnica eficaz para mitigar el riesgo de que se vulnere la clave privada de un servidor HTTPS. Un atacante que haya comprometido la clave privada de un servidor normalmente necesita estar en una posición de intermediario en la red para abusar de dicha clave y suplantar la identidad del servidor. Un atacante en dicha posición también suele estar en condiciones de interferir con las consultas OCSP del cliente. Dado que la mayoría de los clientes ignorarán silenciosamente OCSP si la consulta expira, OCSP no es un medio fiable para mitigar el riesgo de que se vulnere la clave de un servidor HTTPS. [ 14 ]

La extensión MustStaple TLS en un certificado puede requerir que el certificado sea verificado por una respuesta OCSP adjunta , lo que mitiga este problema. [ 11 ] OCSP también sigue siendo una defensa válida contra situaciones en las que el atacante no es un "intermediario" (firma de código o certificados emitidos por error).

El protocolo OCSP presupone que el solicitante tiene acceso a la red para conectarse a un respondedor OCSP adecuado. Algunos solicitantes podrían no poder conectarse porque su red local prohíbe el acceso directo a Internet (una práctica común en los nodos internos de un centro de datos). Obligar a los servidores internos a conectarse a Internet para usar OCSP contribuye a la tendencia de desperimetrización . El protocolo OCSP Stapling es una alternativa que permite a los servidores almacenar en caché las respuestas OCSP, lo que elimina la necesidad de que el solicitante contacte directamente con el respondedor OCSP.

Compatibilidad con navegadores

Información OCSP en Firefox 89

La mayoría de los navegadores principales ofrecen un amplio soporte para OCSP:

Sin embargo, Google Chrome es una excepción. Google deshabilitó las comprobaciones OCSP por defecto en 2012, alegando problemas de latencia y privacidad [ 21 ] y, en su lugar, utiliza su propio mecanismo de actualización para enviar certificados revocados al navegador. [ 22 ]

Implementaciones

Existen varias implementaciones de OCSP, tanto de código abierto como propietarias , incluyendo servidores completos y bibliotecas para la creación de aplicaciones personalizadas. La compatibilidad con clientes OCSP está integrada en muchos sistemas operativos , navegadores web y otros programas de red debido a la popularidad de HTTPS y la World Wide Web .

Servidor

Código abierto

  • Boulder, [ 23 ] CA y respondedor OCSP desarrollado y utilizado por Let's Encrypt ( Go )
  • DogTag, [ 24 ] Autoridad de certificación de código abierto CA, CRL y respondedor OCSP.
  • EJBCA , [ 25 ] CA y respondedor OCSP ( Java )
  • XiPKI, [ 26 ] CA y respondedor OCSP. Con soporte de RFC 6960 y SHA3 ( Java )
  • Respondedor OCSP de OpenCA [ 27 ] Respondedor OCSP independiente del proyecto OpenCA ( C )

Propiedad

  • Servicios de certificados [ 28 ] CA y respondedor OCSP incluidos con Windows Server

Biblioteca

Código abierto

Cliente

Véase también

Referencias

  1. Santesson, Stefan; Myers, Michael; Ankney, Rich; Malpani, Ambarish; Galperin, Slava; Adams, Carlisle (junio de 2013). "Historial del borrador draft-ietf-pkix-rfc2560bis-20" . Consultado el 23 de diciembre de 2021 .
  2. 1 2 3 A., Jesin (12 de junio de 2014). "Cómo configurar OCSP Stapling en Apache y Nginx" . Tutoriales de la comunidad . Digital Ocean, Inc. Recuperado el 2 de marzo de 2015 .
  3. "OCSP Stapling" . Soporte de GlobalSign . GMO GlobalSign Inc. 1 de agosto de 2014. Consultado el 2 de marzo de 2015 .
  4. "Comprobación de CA/revocación en Firefox" . wiki.mozilla.org . Consultado el 29 de junio de 2022 .
  5. "¿Se detectan certificados revocados en Safari y Chrome?" . 20 de septiembre de 2017 . Consultado el 29 de junio de 2022 .
  6. "CRLSets" . Consultado el 29 de junio de 2022 .
  7. Korzhitskii, Nikita; Carlsson, Niklas (2021). "Estados de revocación en Internet". En Hohlfeld, Oliver; Lutu, Andra; Levin, Dave (eds.). Medición pasiva y activa . PAM 2021. LNCS . Vol. 12671. pp. 175–191 . arXiv : 2102.04288 . doi : 10.1007/978-3-030-72582-2_11 . ISBN   978-3-030-72582-2ISSN 0302-9743 
  8. url= https://cabforum.org/2023/07/14/ballot-sc063v4-make-ocsp-optional-require-crls-and-incentivize-automation/
  9. Barreira, Inigo (28 de septiembre de 2023). " [ Servercert-wg ] Período de revisión de IPR para SC63: Hacer que OCSP sea opcional, requerir CRL e incentivar la automatización" . lists.cabforum.org . Recuperado el 4 de agosto de 2024 .
  10. Aas, Josh (6 de agosto de 2025). "El servicio OCSP ha llegado al final de su ciclo de vida" . letsencrypt.org . Consultado el 17 de agosto de 2025 .
  11. 1 2 Gibson, Steve. "Concienciación sobre la revocación de certificados de seguridad: El caso de "OCSP Must-Staple"" . Gibson Research Corporation . Consultado el 2 de marzo de 2015 .
  12. Keeler, David (29 de julio de 2013). "OCSP Stapling en Firefox" . Blog de seguridad de Mozilla . Fundación Mozilla . Consultado el 2 de marzo de 2015 .
  13. S. Santesson; M. Myers; R. Ankey; S. Galperin; C. Adams (junio de 2013). Protocolo de estado de certificado en línea de infraestructura de clave pública de Internet X.509 - OCSP . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6960 . RFC 6960 .Estándar propuesto. Actualizado por RFC 8954. Deja obsoletas las RFC 6277 y 2560. Actualiza la RFC 5912 .   
  14. "No, no habilitar la comprobación de revocación" . 19 de abril de 2014. Consultado el 24 de abril de 2014 .
  15. "Comprobación del estado y la revocación de certificados de Windows XP" . Microsoft . Consultado el 9 de mayo de 2016 .
  16. "Novedades en la revocación de certificados en Windows Vista y Windows Server 2008" . Microsoft . 3 de julio de 2013. Consultado el 9 de mayo de 2016 .
  17. "Mozilla Bug 110161 – Habilitar OCSP por defecto" . Mozilla . 1 de octubre de 2007. Consultado el 18 de julio de 2010 .
  18. Wisniewski, Chester (26 de marzo de 2011). "Los usuarios de Apple deben defenderse de los ataques de certificados" . Sophos . Archivado del original el 31 de octubre de 2020. Consultado el 26 de marzo de 2011 .
  19. Pettersen, Yngve Nysæter (9 de noviembre de 2006). "Introducción a los certificados de validación extendida" . Opera Software . Archivado del original el 10 de febrero de 2010. Recuperado el 8 de enero de 2010 .
  20. ^ Pettersen, Yngve Nysæter (3 de julio de 2008). "Boletín de Rootstore" . Software de ópera . Consultado el 8 de enero de 2010 .
  21. Langley, Adam (5 de febrero de 2012). "Comprobación de revocación y CRL de Chrome" . Archivado del original el 12 de febrero de 2012. Recuperado el 30 de enero de 2015 .
  22. "Chrome gestiona mejor la revocación de certificados" , 21 de abril de 2014, Larry Seltzer, ZDNet
  23. "Boulder – un ACME CA" . GitHub . 16 de marzo de 2018. Consultado el 17 de marzo de 2018 .
  24. "Sistema de certificación de placa de identificación" . Consultado el 12 de agosto de 2019 .
  25. "EJBCA – Autoridad de certificación PKI de código abierto" . PrimeKey. 2 de febrero de 2018. Consultado el 17 de marzo de 2018 .
  26. "XiPKI" . GitHub . 13 de marzo de 2018. Consultado el 17 de marzo de 2018 .
  27. "OpenCA OCSP" . Consultado el 3 de enero de 2024 .
  28. "Servicios de certificados (Windows)" . Centro de desarrollo de Windows . Microsoft . 2018. Consultado el 17 de marzo de 2018 .
  29. "Paquete ocsp" . cfssl GoDoc . 25 de febrero de 2018. Consultado el 17 de marzo de 2018 .
  30. "OCSP_response_status" . Páginas de manual principales . OpenSSL . 2017. Consultado el 17 de marzo de 2018 .
  31. "OCSP en wolfSSL Embedded SSL – wolfSSL" . 27 de enero de 2014. Consultado el 25 de enero de 2019 .