En multitud de ocasiones habrán leído en nuestros correos informativos, noticias o a la hora de desarrollar sus soluciones, webs o tiendas online el principal hincapié que hacemos en la tecnología o el uso de certificados TLS o SSL pero, ¿Qué son?

TLS (y su predecesor SSL) son los procesos que permiten a los usuarios transmitir de manera segura los datos confidenciales cuando usan el protocolo HTTPS, es decir, navegación seguraEn otras palabras, HTTPS es HTTP pero cifrado a través de TLS o SSL.

Esta tecnología es necesaria tanto para la seguridad de sus usuarios como para el cumplimiento de la ley de RGPD para intercambio de datos especialmente sensibles como banca, autenticación de información, intercambio de correo electrónico, compras online y cualquier otro procedimiento que requiera un alto nivel de privacidad y seguridad. TLS/SSL ayuda a proporcionar una capa de protección mejorada mediante el cifrado de los datos legibles, lo que dificulta a los piratas informáticos obtener información privada.

Este protocolo proporciona y facilita la privacidad entre los diferentes puntos finales de la transmisión de datos (navegador o móvil del cliente y el servidor final) garantizando la integridad de los datos. 

No solo la encriptación sino que mostrar la autenticidad de los servidores finales es una de las funciones de los certificados TLS/SSL a través de certificados digitales instalados en los servidores y chequeados por los respectivos navegadores.

La autenticación de estos certificados se realiza mediante criptografía de clave pública. Esto se basa en pares de claves que consisten en una clave pública y una clave privada. El descifrado de los datos cifrados solo puede ocurrir cuando la clave pública y la clave privada están presentes. Los certificados TLS utilizan la autenticación de clave pública para ayudar a verificar que el destinatario tenga acceso a los datos.

¿Qué es un certificado TLS?

Los certificados digitales, también conocidos como certificados de identidad o certificados de clave pública, son archivos digitales que se utilizan para certificar la propiedad de una clave pública. Los certificados TLS son un tipo de certificado digital, emitido por una Autoridad de certificación (CA). La Autoridad de certificación firma el certificado, certificando que han verificado que pertenece a los propietarios del nombre de dominio que es el sujeto del certificado.

Los certificados TLS generalmente contienen la siguiente información:

  • El nombre de dominio del sujeto
  • La organización de la asignatura
  • El nombre de la CA emisora
  • Nombres de dominio sujetos adicionales o alternativos, incluidos los subdominios, si los hay
  • Fecha de asunto
  • Fecha de caducidad
  • La clave pública (la clave privada, sin embargo, es un secreto).
  • La firma digital de la CA

¿Cómo funciona un certificado TLS?

Cuando un usuario intenta conectarse a un servidor, el servidor le envía su certificado TLS.

Luego, el usuario verifica el certificado del servidor utilizando los certificados de Autoridad de certificación que están presentes en el dispositivo del usuario para establecer una conexión segura. Este proceso de verificación utiliza criptografía de clave pública, como RSA o ECC, para demostrar que la Autoridad de certificación firmó el certificado. Siempre y cuando confíe en Autoridad de certificación, esto demuestra que se está comunicando con el sujeto del certificado del servidor (por ejemplo, Geocrono.com).

Entonces, ¿esto significa que es 100% seguro y a prueba de tontos? Pues no siempre.

¿Cuáles son las debilidades de los certificados TLS?

Aunque los certificados TLS son generalmente seguros, hay formas en que los piratas informáticos pueden atacar y potencialmente comprometer TLS. Éstos incluyen:

Envenenamiento de la tienda de certificados

Si un atacante infecta una computadora con software malicioso, podría obtener acceso a los certificados digitales almacenados en ese dispositivo e insertar un certificado raíz. Esto, junto con la capacidad de responder de manera fraudulenta a las solicitudes del sitio web de ese usuario, les permitiría hacerse pasar por un sitio web, lo que les permitiría leer todos los datos que se le envíen.

Atacar Autoridades de certificación directamente

Para que la certificación TLS funcione, la Autoridad de certificación debe ser segura. Cualquier incumplimiento de la Autoridad de certificación podría dar lugar a la autorización incorrecta o fraudulenta de las claves. Esto ha sucedido ocasionalmente en el pasado, con Comodo y DigiNotar como ejemplos de perfil relativamente alto.

Certificados emitidos por error

Los usuarios confían en las CA para autenticar el servidor al que se conectan. Sin embargo, a veces hay un problema con un certificado que presenta una vulnerabilidad que los hackers pueden explotar. Cuando se combina con una conexión a Internet insegura, un atacante podría usar un certificado emitido incorrectamente para comprometer su conexión con un servidor.

Si existen todos estos problemas, ¿es prudente confiar ciegamente en las Autoridades de certificación? Confianza, si. A ciegas, no.

¿Por qué confiar en las autoridades de certificación?

Como los agentes responsables de verificar que los datos que recibió provienen del servidor que esperaba y no fueron alterados en el camino, las CA desempeñan un papel importante en la Internet moderna. Al emitir millones de certificados digitales cada año, son la columna vertebral de la comunicación segura en Internet y ayudan a cifrar miles de millones de intercambios y transacciones de datos.

La configuración física de una Autoridad de certificación se conoce como su infraestructura de clave pública (PKI). PKI consta de múltiples elementos operativos, que incluyen hardware, software, infraestructura de seguridad, personal, marcos de políticas, sistemas de auditoría y declaraciones de práctica, todo lo cual contribuye a garantizar que el proceso de validación del certificado TLS sea confiable.

El modelo de confianza de la PKI se basa en dos elementos principales: los certificados raíz (también conocidos como raíces confiables) y el certificado del servidor. Su navegador confiará automáticamente en los certificados emitidos por una Autoridad de certificación, siempre que el certificado raíz de la Autoridad de certificación esté instalado en el almacén de certificados de su dispositivo. Cada dispositivo tiene un almacén de certificados, que es una colección local de certificados raíz de Autoridad de certificación confiables.

Precauciones de seguridad adicionales tomadas por Geocrono

Si bien es cierto que las CA y los métodos de cifrado basados ​​en TLS son relativamente seguros, siempre hay margen de mejora.

En Geocrono, nuestro objetivo principal es brindar mayor privacidad y seguridad. Utilizamos medidas adicionales para establecer conexiones que sean seguras y confiables. A continuación se enumeran algunos de los pasos que tomamos.

Autorización de Autoridad de Certificación DNS (CAA)

En 2011, cuando surgieron noticias sobre certificados emitidos incorrectamente, surgió la necesidad de mecanismos de seguridad mejorados. Uno de los resultados de esa necesidad es DNS CAA, que bloquea la emisión de certificados incorrectos.

El uso de un registro de recursos DNS permite a los propietarios de dominio decidir qué CA pueden emitir certificados para un dominio determinado. Si existe un registro CAA, solo las CA enumeradas en ese registro pueden emitir el certificado del host.

Aunque esto proporciona cierta protección contra el uso indebido de certificados, es muy difícil para los usuarios detectar si una CA ignora el aviso de CAA. Por eso es necesaria la transparencia del certificado. 

Transparencia de certificado

Para garantizar la validez de los certificados y evitar emisiones erróneas, todas las CA publican los certificados que han generado en los servidores de registro públicos, conocidos como registros de transparencia de certificados (CT). Estos servidores envían una firma a la CA, prometiendo publicar su certificado.

Servimos un encabezado Expect-CT, que le dice al navegador que requiera la presencia de esta firma. También contamos con servidores de monitoreo y auditoría que verifican el registro de CT para todos los certificados prometidos destinados a ser publicados.

En conjunto, todas estas medidas hacen que sea altamente improbable para cualquier persona, incluido un actor estatal, generar un certificado TLS para Geocrono com y usarlo para interceptar conexiones sin ser detectado.

Anclaje de certificado TLS

La fijación de certificados es un proceso que vincula un servicio a su clave pública específica. Una vez que se establece un certificado para un servicio en particular, se fija permanentemente al servicio. Si hay varios certificados válidos para un servicio determinado, los pines se fusionan en un conjunto de pines. Para validar un pinset, al menos un elemento del servicio debe coincidir con los elementos del pinset. Anclamos la clave pública de nuestros certificados en todas nuestras aplicaciones nativas.

Nuestra misión es construir un Internet más seguro, y estar informado sobre cómo se protegen sus datos puede ayudarlo a tomar mejores decisiones sobre los servicios que utiliza. Si tiene más preguntas o comentarios sobre los certificados TLS o cómo los usamos, no dude en responder en los comentarios o unirse a la discusión en nuestros canales de redes sociales.