En un momento del pasado sólo necesitabas una herramienta de lectura de paquetes para leer chats, emails y credenciales. Era habitual que los atacantes pusieran sus tarjetas de red en modo promiscuo y revisaran después el log para encontrar credenciales. No había nada que pudieras hacer como usuario para protegerte.

A principios de los 90, Netscape Communications reconoció la necesidad de la comunicación securizada. Desarrollaron SSL (Secure Sockets Layer) y lanzaron SSL 2.0 en 1995. En 1999, IETF (Internet Engineering Task Force desarrolló TLS). Aunque era similar, TLS 1.0 era un avance respecto a SSL 3.0.

Como SSL, su predecesor, TLS es un protocolo criptográfico que opera en la capa de transporte del modelo OSI. Permite comunicaciones seguras entre servidor y cliente. Hoy en día la mayoría de protocolos han recibido mejoras de seguridad con la adición de TLS.


Bagaje técnico

El primer paso para cualquier servidor o cliente es identificarse para obtener un certificado TLS firmado. Generalmente, el administrador del servidor crea un CSR (Certificate Signing Request) y lo sube a la CA (Certificate Authority). Esta verifica el CSR y comanda un certificado digital. Una vez el certificado firmado es recibido, puede ser usado para identificar el servidor o el cliente al resto.

Por norma general, tener un certificado implica pagar una tasa anual, pero Let's Encrypt te permite tener tu certificado de forma gratuita.

Un Self-Signed Certificate es otro tipo de certificado que puedes hacer pero no autentifica nada ante terceros partidos, por no ser una firma reconocida.