¿Sirve para algo la garantía de un certificado SSL?

La respuesta corta sería : no. La garantía de los certificados no sirven realmente para nada porque es prácticamente imposible que se hagan efectivas. Digamos que la garantía funciona como el pan «de pueblo» o la comida «casera», no deja de ser un reclamo.

Certificados en Comodo-apetekan181
La garantía de los certificados SSL

¿En qué consiste y qué cubre la garantía de un certificado?

La garantía del certificado SSL cubre cualquier daño que pueda derivarse de la emisión indebida de un certificado a una entidad fraudulenta. Por ejemplo, si un usuario se conecta a un sitio web fraudulento pero ha obtenido un certificado de una autoridad de certificación reconocida, ese es un caso en el que la garantía del certificado puede aplicar porque ha sido culpa de la Autoridad Certificadora (CA).

Ojo, la garantía cubre al usuario final, no al propietario del certificado. En este sentido, el concepto de la garantía del SSL puede ser engañosa porque el propietario del certificado SSL no puede reclamarlo. La garantía se aplica sólo a los usuarios finales. Si alguien compra un producto de un sitio HTTPS seguro y esto lleva a una pérdida de dinero. En este caso, el usuario final tiene derecho a reclamar una compensación de garantía. La CA cubrirá las pérdidas de acuerdo a sus términos y condiciones.

En SSL Dragon mencionan el caso de DigiNotar, que entregó un certificado para Google.com a una empresa que no era Google.

En este artículo Scott Helme, Do SSL warranties protect you? As much as rocks keep tigers away… tenéis más detalles sobre este asunto.

Utilidades SSL

Los proveedores de hosting hacen que la petición e instalación de los certificados SSL sea transparente (en un mundo ideal) y la mayoría de la gente no sabe ni el certificado que solicita; ellos solo quieren que vaya por seguro y cuando falla…

A la hora de chequear el estado de un certificado instalado, decodificar los CSR (Certificate Signing Request) o convertir el certificado a otro formato hay diversas webs que nos ofrecen utilidades.

  • SSL Labs de Quality Labs. Sobre todo en el testeo del servidor aporta muchísima información útil.
  • Digicert SSL Tools. Digicert es la principal Autoridad Certificadora (CA) y pone a nuestra disposición algunas utilidades: generar y chequear CSR, comprobación del sitio web, etc.
  • SSL Certificate Tools. El nombre lo dice todo ;) Es más sencillo que las anteriores pero tiene cositas como el conversor de certificados.

Cual es el proceso de validación de un certificado SSL

En otras entradas, hemos hablado de los tipos de certificados que existen y como lo que se valida y el proceso de validación para cada uno de ellos es diferente. Resumo los tipos de certificados:

  1. DV o Validación de Dominio
  2. OV o Validación de Organización
  3. EV o Validación Extendida

El certificado de nivel más alto, incluye la validación requerida por el nivel anterior. Es decir, un certificado OV, requiere una validación de la organización pero también del dominio, y un EV, además de esa validación extendida, validará también la organización y el dominio. Por lo tanto, el proceso de validación de cualquier certificado antes de concederlo siempre será:

  • Se valida el dominio para el que se solicita el certificado. Esto es necesario para los certificados DV, OV y EV y suficiente para un SSL de tipo DV.
  • Se valida la organización para la que se solicita el certificado. Necesario para los certificados OV y EV y suficiente para un SSL de tipo OV
  • Se realizan validaciones adicionales sobre el solicitante del certificado para los SSL de tipo EV.

¿Cómo valido un dominio?

Para validar el dominio, la Autoridad Certificadora (CA) debe asegurarse de que tenemos acceso a la gestión del dominio.

Hay 3 tipos de validaciones: DNS, FILE o EMAIL:

  • Para la validación DNS tendrás que añadir una cadena concreta en un registro DNS.
  • En el caso de FILE, es similar: hay que subir un archivo en una ruta concreta del dominio.
  • Por EMAIL, se enviará un correo con un enlace a una dirección de email fija (admin@example.com…)

Lo normal es que todo este proceso sea transparente para ti si la gestión de las DNS y del certificado los tienes en el mismo hoster.

¿Cómo se valida la organización del certificado?

Al solicitar certificados OV y EV, se pide información completa de la organización y de un Contacto Administrativo dentro de la organziación que respodnerá por la validez de los datos. Con esa información la CA debe asegurarse que los datos son válidos y para ello utiliza la información de entidades y registros públicos, como puede ser el registro mercantil u otros registros similares (p.ej. Google Business o Páginas Amarillas).

Una vez la CA se ha asegurado de la existencia jurídica y operativa de la entidad se realiza una llamada telefónica al teléfono de contacto de la empresa para asegurarse de que todo es correcto.

Para validar una organización, entonces, lo que se se hace es:

  • La CA comprueba que la empresa está registrada y operativa consultando información de autoridades competentes (registro mercantil, etc.)
  • Se valida el domicilio fiscal de la organización
  • Se localiza un teléfono de esa organización y se realiza una llamada de comprobación
  • Se aseguran de que el dominio para el que se solicita el certificado pertenece a la organización

Aunque el proceso está automatizado en gran medida, la concesión del certificado no es inmediata (como puede ser la de un DV), y el proceso puede llevar varios días. Lo bueno es que no tendremos que pasar de nuevo por todo el proceso si solicitamos nuevos certificados para la misma organización: la organización se considera validada durante 27 meses.

Añado un par de enlaces para mostrar cómo hacen esta validación Digicert y Sectigo, dos de las mayores CA:

Y, ¿qué es eso de validación extendida? ¿Cómo se validan los EV?

Vale… me has pillado. Aquí simplemente se indica que las comprobaciones son «más exhaustivas» y yo me remito a lo que diga la guía de CA/Browser forum para la validación extendida (v 1.6.7), llámame cobarde si quieres.

¿Has dicho CA/Browser forum?

CA/Browser forum es el consorcio que agrupa a Autoridades Certificadoras, constructores de software (como Mozilla o Google) y otras entidades relacionadas con las certificaciones y que se encarga de emitir guías y requerimientos que son vinculantes para los miembros del foro.

Para qué sirve un certificado de tipo OV

Los certificados OV (Organization Validation) están entre los certificados DV (Domain Validation) y EV (Extended Validation), tenéis una definición en la entrada sobre los tipos de certificado de seguridad. Además del dominio, el certificado OV nos asegura que ese dominio pertenece a la organización que se indica. En principio no parece una utilidad loca, y los navegadores actuales no diferencian este tipo de certificado de ninguna forma particular.

El hecho de que el certificado valide también la organización, permite evitar algunos casos de phishing. Por ejemplo, yo puede solicitar un certificado de tipo DV para cualquier dominio, solo tengo que demostrar que la gestión del dominio es mía. Así, puedo contratar el dominio bancosantand.er (como curiosidad .er es el ccTLD de Eritrea ;), crear una página web lista para conseguir tus claves del banco, y poner un bonito certificado DV que me asegure que todo el tráfico entre el cliente y la página web está cifrado. Todo perfecto y «seguro» porque la web lleva candadito.

Esto no podría ocurrir con un certificado de tipo OV. Para conceder un certificado OV, la Autoridad Certificadora, solicitará información comercial sobre la empresa del sitio que deberá estar incluida en alguna base de datos de registro mercantil o algún directorio de empresa de confianza. No solo la comunicación está cifrada, sino que el destinatario de esa comunicación es una empresa validada.

¿Cómo sé el tipo de certificado instalado? ¿Cómo sé a quién estoy enviando mis datos? Ahora mismo, la única forma es yendo al detalle del certificado y comprobar que se muestra la organización dentro del Subject Name. En Firefox puedes comprobar el tipo del certificado en la sección Certificate Policies del detalle del certificado:

"Certificate Policies" de un certificado de tipo OV tal y como se muestran en Firefox
Detalle del certificado en Firefox – Certificate Policies

En el caso de los EV, se muestra esta información más claramente… aunque solo un poco más:

Los certificados OV tienen su utilidad, pero es difícil que un usuario normal vaya a buscar esta información en el certificado. De hecho, no tengo todas conmigo que, ahora mismo, vayan más allá del «candadito», y que el tráfico vaya cifrado no significa que tus datos estén a salvo.

Certificados, ¿qué es el protocolo ACME?

Mec, mec. El Coyote persiguiendo al Correcaminos montado en un cohete marca ACME
El verdadero ACME

La primera vez que oyes lo de ACME, te imaginas al Coyote persiguiendo al Correcaminos y la voz en voz diciendo algo como «Cohete interestelar marca ACME» pero la verdad es mucho más prosaica

ACME
Automatic Certificate Management Environment
IETF RFC 8555

Para cualquier SSL, hay que seguir un proceso algo laborioso:

  1. Se solicita el certificado que queremos con los datos necesarios (ver Tipos de certificados de seguridad):
    • Solo el nombre de dominio (DV)
    • Datos de la organización (OV) y contactos en la empresa
    • Datos detallados de la organización y contactos en la empresa (EV)
  2. Se valida ese certificado
    • Para los DV, la validación es sencilla y se trata de asegurar de que tenemos acceso a la gestión del dominio.
      Hay 3 tipos de validaciones: DNS, FILE o EMAIL. Para la validación DNS tendrás que añadir una cadena concreta en un registro DNS. En el caso de FILE, es similar: hay que subir un archivo en una ruta concreta del dominio.
      Por EMAIL, se enviará un correo con un enlace a una dirección de email fija (admin@example.com…)
    • Para los OV y EV, la Autoridad Certificadora (CA), validará en BB.DD. externas la información o llamará al contacto indicando solicitando información adicional. Esta validación puede llevar varios días.
  3. Se genera el Certificate Signing Request (CSR) para la CA
  4. La CA emite el certificado y ya se puede descargar e instalar

Estos pasos se han hecho muchas veces de forma manual, intercambiando correos con la CA para poder avanzar en el proceso. Aquí es donde entra ACME que simplifica y automatiza todo esto y que, aunque vino de la mano de Let’s Encrypt, es un estándar IETF y ha sido adoptado por otras CA.

Cómo funciona ACME

El proceso de solicitud e instalación con o sin ACME es el mismo: solicitud, validación, descarga e instalación. ACME lo que hace es automatizar todo el proceso.

Proceso de solicitud de un SSL para un cliente registrado
  1. El primer paso es registrarse en el servidor de certificados como cliente ACME. Esto nos permite realizar solicitudes autorizadas de SSL.
  2. Generas la petición para emitir un certificado
  3. Debes probar que gestionas el dominio para el que solicitas el certificado (caso de DV)
  4. Finalizas la petición enviando el CSR
  5. La CA emite el certificado y ya lo puedes descargar e instalar

El proceso como vemos es el mismo. La diferencia está en que con ACME, todo esto se hace de forma automática. Se instala un agente en el servidor web (certbot o cualquier otro compatible) que es el encargado de la comunicación con la CA y de resolver las peticiones de validación del dominio. Las comunicaciones entre este agente/cliente y el servidor se realizan a través de mensajes JSON y por protocolo seguro (HTTPS) y no es necesaria la intervención del usuario de forma directa.

Referencias