En Internet nadie sabe que eres un perro ni aunque uses certificados TLS

Gonzalo Álvarez Marañón    22 febrero, 2021

Te habrás fijado en que la mayoría de las páginas web llevan un candadito. Si haces clic en él, aparecerá una ventana que afirma que “la conexión es segura”. ¿Segura? ¿Qué clase de seguridad? ¿Cómo de segura?

En este artículo tumbaremos a los certificados digitales sobre la mesa de operaciones y los diseccionaremos exhaustivamente para llegar al fondo del asunto: ¿qué seguridad aporta TLS?

TLS, el protocolo de seguridad detrás de las páginas web seguras con HTTPS

Una página web protegida por Transport Layer Security (TLS), el protocolo detrás del candadito, ofrece tres garantías o servicios de seguridad:

  • Confidencialidad: la comunicación entre tu navegador y el servidor web está cifrada, de manera que, si un atacante intercepta los datos, no podrá enterarse de su contenido.
  • Integridad: si se produce un error fortuito en la transmisión o un adversario intenta manipular la comunicación, se detectará la modificación.
  • Autenticación: un certificado digital te contará quién es la (supuesta) empresa dueña de la página web que estás visitando.

En resumen, si una página está protegida con TLS, tienes la garantía (casi) absoluta de que nadie salvo el servidor web destino podrá ver los datos que os intercambiáis. Vamos, que la confidencialidad está garantizada. El problema que queda sin resolver del todo es: ¿quién hay de verdad detrás de ese servidor? En otras palabras, ¿a quién le estás enviando tus datos cifrados?

En Internet nadie sabe que eres un perro

Ilustración por Peter Steiner. The New Yorker, número del 5 de julio de 1993 (Vol.69 (LXIX) no. 20), página 61.

Este chiste data de 1993 y no podía ser más actual porque en 30 años ¡no hemos avanzado gran cosa! Si estás leyendo este artículo en la página web de empresas.blogthinkbig.com, ¿cómo sabes que es la página de blogthinkbig.com de Telefónica y no es una falsificación? Solo tienes un recurso: hacer clic en el candadito y abrir el certificado.

¿Y qué te encuentras? Que el certificado ha sido emitido por la empresa GlobalSign a nombre de *.blogthinkbig.com. ¿Te quedas ahora tranquilo con respecto a la identidad del propietario de la página web? Pues la verdad que no ayuda mucho, ¿verdad?

Pero un certificado contiene mucha más información que ese resumen inicial. Selecciona la pestaña Detalles y verás muchísimos campos. En concreto, el campo Sujeto te revela que, en este ejemplo, la empresa detrás de *.blogthinkbig.com es Telefónica S.A.

Pero no vayas a creer que todos los certificados ofrecen esa información: unos ofrecen menos, no revelan la entidad detrás del sitio web; otros proporcionan más. Vamos a diseccionarlos para que entiendas qué representa cada campo.

Disección de un certificado TLS

Los certificados digitales son documentos electrónicos que garantizan (hasta cierto punto) la identidad de una persona física o jurídica y que ésta posee una determinada clave pública. Una tercera parte de confianza, llamada la Autoridad de Certificación (AC), se ocupa de validar esta identidad y de emitir los certificados que ligan identidad con clave pública. Un certificado TLS contiene la siguiente información:

  • Versión del estándar X509, actualmente se utiliza la 3.
  • Número de serie usado por la autoridad de certificación. Hoy se exige que sean aleatorios, no secuenciales, con una entropía mínima de 20 bits.
  • Identificador del algoritmo, que debe ser el mismo que el “Algoritmo de firma del certificado”, descrito más abajo. Se ubica en esta posición para ser protegido por la firma.
  • Identificación de la autoridad de certificación, mediante un nombre distinguido (Distinguished Name, DN) único:
    • CN – CommonName
    • L – LocalityName
    • ST – StateOrProvinceName
    • O – OrganizationName
    • OU – OrganizationalUnitName
    • C – CountryName
  • El periodo de validez del certificado: desde cuándo hasta cuándo es válido.
  • El nombre distinguido único del titular del certificado. Puede tratarse de una persona física o jurídica. La autoridad verifica esta identidad de forma más o menos fehaciente, como se verá.
  • Información de la clave pública del titular, especificada por:
    • Algoritmo
    • Tamaño de la clave
    • Exponente
    • Módulo
  • Extensiones (opcional): se introdujeron en la versión 3 para flexibilizar la rígida estructura anterior. Una AC puede utilizar extensiones para emitir un certificado solo para un propósito específico, por ejemplo, solo para servidores web. Las extensiones pueden ser “críticas” o “no críticas”. Las no críticas pueden ignorarse, mientras que las críticas deben aplicarse y un certificado será rechazado si el sistema no reconoce una extensión crítica.
  • Algoritmo de firma del certificado. Existen multitud de algoritmos seguros en uso: RSA, DSA, ECC, etc.
  • Firma del certificado: el valor de la firma. Para los versados en criptografía, este valor corresponde al resultado de cifrar con la clave privada de la AC el hash de la información del certificado. Esta firma permite verificar que la clave pública que aparece en el certificado efectivamente pertenece al titular del certificado, porque así lo certifica la autoridad de certificación.

En resumen, un certificado digital recoge la garantía de una autoridad que da fe de que una clave pública pertenece a una persona (física o jurídica) dada. ¿Cuánto puedes fiarte de su palabra? Veámoslo.

No todos los certificados fueron creados con el mismo nivel de confianza

La misión principal de una autoridad de certificación es validar la identidad de la entidad que solicita un certificado. Y no todos los certificados ofrecen el mismo grado de confianza en la identidad del titular, porque el proceso de validación puede variar enormemente de unos tipos de certificado a otros.

Existen tres niveles de validación para sitios web:

  • Validación de dominio: los certificados de validación de dominio (DV) representan el nivel más bajo de validación, ya que la AC solo verifica que quien solicita el certificado posee el dominio para el que lo pide y que dicho dominio está registrado en Whois. La propiedad del dominio se comprueba típicamente a través de un correo electrónico de confirmación enviado a una dirección en dicho dominio. Si el destinatario sigue el enlace del correo electrónico, se emite el certificado. La emisión de certificados DV está totalmente automatizada y puede ser muy rápida. La duración depende en gran medida de la rapidez con la que se responda al correo electrónico de confirmación. No incluyen el nombre de la entidad poseedora del dominio, solo el nombre de dominio. Por ejemplo, los certificados de Let’s Encrypt pertenecen a esta categoría. ¿Qué garantías aportan sobre la identidad del titular del dominio? ¡Ninguna! Un sitio web con un certificado DV es seguro en el sentido de proteger la confidencialidad, pero no garantiza en absoluto la identidad del sitio. Sabes que tus datos viajan cifrados, pero no tienes ni idea de a quién se los envías. Son ideales para sitios web de particulares, pymes, blogs, foros, sin pretensión de ofrecer servicios de pago y sin tratar datos personales.
  • Validación de organización: los certificados de organización validada (OV) requieren verificar la identidad del titular del dominio. Las prácticas de validación de la identidad del solicitante varían drásticamente de unas autoridades de certificación a otras, existiendo una gran inconsistencia y diversidad de garantías, aunque todas exigen el envío de algún documento oficial para verificar el dominio, el CIF, el teléfono, la dirección física y algún otro requisito. El proceso puede tardar de uno a tres días laborables. Incluyen el nombre de la organización en el contenido del certificado. Estos certificados resultan indicados para instituciones y empresas que desean una presencia sólida en Internet, pero sin ofrecer servicios transaccionales a través de la web.
  • Validación extendida: los certificados de validación extendida (EV) ofrecen el mayor grado de confianza. También requieren la verificación de la identidad y la autenticidad, pero con requisitos muy estrictos. Se introdujeron para solucionar la falta de coherencia de los certificados OV. Exigen incluso más documentación que los certificados OV para verificar fehacientemente la identidad del solicitante y sus operaciones de negocio. También incluyen en el certificado el nombre de la organización a la que se le ha emitido e incluso se ve la organización al hacer clic sobre el candadito, sin necesidad de hurgar en los detalles del certificado, facilitando así la verificación de su identidad por parte de los visitantes a su sitio web. Es el más indicado para aquellos sitios web que ofrecen servicios que involucren transacciones financieras. Normalmente lo utilizan los bancos, grandes organizaciones y tiendas online de renombre. Debido a los controles implantados, la obtención de un certificado EV suele llevar de 5 a 15 días.

Es importante resaltar que todos ellos ofrecen la misma fortaleza criptográfica: 256 bits de cifrado simétrico y 2.048 bits de cifrado de clave pública. La diferencia entre unos y otros no reside en la criptografía, idéntica para todos ellos, sino en los procesos de validación, más o menos estrictos, lo que ofrece más o menos garantías sobre la identidad de la persona (física o jurídica) detrás de un sitio web.

La criptografía funciona de cine, lo que falla son los procesos

En resumen, para que una infraestructura de clave pública (PKI) funcione, las autoridades de certificación tienen que hacer bien su trabajo, entre otras tareas críticas, verificar la identidad de los solicitantes de certificados. Si esta validación no se ejecuta correctamente, la criptografía solo sirve para asegurar la confidencialidad: los datos comunicados entre el servidor web y tu navegador viajan cifrados, sí, ningún atacante podrá hacerse con ellos, pero ¿a quién se los estás enviando, de quién los estás recibiendo?

Esa incógnita solo la resuelve la información del certificado del sitio web. Y ahí, por desgracia, las matemáticas tienen poco que añadir: es misión de las AC. Por eso se producen incidentes como el reciente con Camerfirma: Google dudó de las buenas prácticas de esa autoridad de certificación. No se cuestiona la criptografía, sino los procesos de validación de la identidad.

Al final, la ciberseguridad es una combinación equilibrada de tecnología, procesos y personas. En la criptografía puedes confiar, en el resto…


Si quieres saber cómo actualizar tus certificados TLS/SSL puedes consultar a nuestros expertos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *