SSL - Seguridad en Internet

Hablar de seguridad en Internet puede prestarse a varios tratamientos ya que es un término amplio. Nos centraremos en la seguridad vista como la capacidad para que la información que enviamos por Internet llegue a su destino sin haber sido modificada ni vista por nadie más que el destinatario. (Luego aclararemos algo al respecto de la anterior frase ya que, en rigor de la verdad, cualquiera puede “ver” lo que enviamos aunque “no pueda” descifrarlo).

El uso más difundido de la seguridad en Internet está relacionado con los navegadores (browsers) ya que son las aplicaciones que utilizamos para el ingreso a sitios con información privada, confidencial y sensible (bancos, empresas, comercio electrónico, etc.).

Explicaremos la generalidad del funcionamiento (conocido como HandShake) de una sesión típica de ingreso a una cuenta bancaria:

1 ) UD. escribe la dirección URL que el banco le ha brindado o lo hace desde el sitio Web de la entidad. En nuestro ejemplo ingresaremos a un supuesto sitio seguro: https://secure.ejemplo.com. Al ingresar verá información sobre el sitio Web ya que se muestra el clásico candado que le confirma ha ingresado donde quería. Si no ve el candado o la URL no comienza con HTTPS (ver más adelante por detalles) no ingrese sus datos ya que podría ser víctima de un tipo de ataque conocido como “phishing” por medio del cual un atacante intenta hacerle “creer” que está entrando al sitio Web del banco cuando, en realidad, se trata de una copia que ha puesto en algún servidor Web que él administra.

2 ) Su navegador (browser) obtiene la parte o clave pública del certificado de seguridad que el banco pone a disposición de todos sus clientes. Se trata de un proceso que es resuelto entre su navegador (browser) y el servidor Web del banco en forma transparente. UD. no debe hacer nada. El navegador verifica que el certificado sea válido, corresponda al dominio con el que se está transaccionando, se encuentre dentro de la fecha de validez y además que sea emitido por una entidad en la que el navegador confíe. En este punto, si no se reconoce la entidad emisora del certificado, se le preguntará si desea confiar en el certificado.

3 ) Ahora UD. ingresa el código de identificación que el banco le entregó, su contraseña de acceso y confirma el envío de los datos al banco (algunos sistemas implementan adicionales sistemas de identificación pero no son relevantes para nuestra explicación actual).

4 ) Aquí comienza el proceso de cifrado u ocultamiento de sus datos: su navegador genera una clave única de sesión y la cifra con la clave pública que el servidor Web le envió para generar un “paquete” de datos cifrados o modificados a tal punto de ser totalmente ilegibles. Si pudiese ver cómo salen de su máquina, no entendería (¡ni nadie en el mundo en realidad!) lo que se envía allí dentro.

5 ) Una vez que los datos han sido cifrados, abandonan su computadora para ir hasta el destino final: el servidor Web del banco.

6 ) Al llegar a destino, el servidor Web del banco, toma sus datos y los descifra pero utilizando, ésta vez, utiliza la parte privada de la clave del certificado, una pieza fundamental y que sólo se encuentra en poder del dueño del certificado, en éste ejemplo, el servidor Web de su banco.

7 ) Ya con los datos en poder del banco, continúa el proceso de login o autenticación.

8 ) El ciclo se repite con cada envío de datos entre las partes: los datos son cifrados antes de ser enviados, garantizando el tránsito en la Internet.

Criptografía Simétrica

La criptografía simétrica es el método criptográfico que usa una misma clave para cifrar y descifrar mensajes. Las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez ambas tienen acceso a esta clave, el remitente cifra un mensaje usándola, lo envía al destinatario, y éste lo descifra con la misma.

Un buen sistema de cifrado pone toda la seguridad en la clave y ninguna en el algoritmo. En otras palabras, no debería ser de ninguna ayuda para un atacante conocer el algoritmo que se está usando. Sólo si el atacante obtuviera la clave, le serviría conocer el algoritmo.

Como ejemplo de sistema simétrico está Enigma. Éste fue un sistema empleado por Alemania durante la Segunda Guerra Mundial, en el que las claves se distribuían a diario en forma de libros de códigos. Cada día, un operador de radio, receptor o transmisor, consultaba su copia del libro de códigos para encontrar la clave del día. Todo el tráfico enviado por ondas de radio durante aquel día era cifrado y descifrado usando las claves del día.

Criptografía Asimétrica

La criptografía asimétrica es el método criptográfico que usa un par de claves para el envío de mensajes. Las dos claves pertenecen a la misma persona a la que se ha enviado el mensaje. Una clave es pública y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. El remitente usa la clave pública del destinatario para cifrar el mensaje, y una vez cifrado, sólo la clave privada del destinatario podrá descifrar este mensaje.

Los sistemas de cifrado de clave pública o sistemas de cifrado asimétricos se inventaron con el fin de evitar por completo el problema del intercambio de claves de los sistemas de cifrado simétricos. Con las claves públicas no es necesario que el remitente y el destinatario se pongan de acuerdo en la clave a emplear. Todo lo que se requiere es que, antes de iniciar la comunicación secreta, el remitente consiga una copia de la clave pública del destinatario.

El protocolo SSL - Certificados de Seguridad

SSL (Secure Socket Layer) es un sistema de protocolos de carácter general diseñado en 1994 por la empresa Nestcape Communcations Corporation, y está basado en la aplicación conjunta de Criptografía Simétrica (ambas partes que intercambian datos conocen, de antemano, la clave de cifrado), Criptografía Asimétrica (de llave pública, como nuestro ejemplo, donde sólo el dueño del certificado conoce la clave privada esencial para descifrar la información enviada), certificados digitales y firmas digitales para conseguir un canal o medio seguro de comunicación a través de Internet.

De los sistemas criptográficos simétricos, motor principal del cifrado de datos transferidos en la comunicación, se aprovecha la rapidez de operación, mientras que los sistemas asimétricos se usan para el intercambio seguro de las claves simétricas, consiguiendo con ello resolver el problema de la Confidencialidad en la transmisión de datos.

La identidad del servidor Web seguro (y a veces también del usuario cliente) se consigue mediante el Certificado Digital correspondiente, del que se comprueba su validez antes de iniciar el intercambio de datos sensibles (Autenticación), mientras que de la seguridad de Integridad de los datos intercambiados se encarga la Firma Digital mediante funciones hash y la comprobación de resúmenes de todos los datos enviados y recibidos.

HTTPS

Hypertext Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto), mas conocido por su acrónimo HTTPS, es un protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto, es decir, es la versión segura de HTTP.

El sistema HTTPS utiliza un cifrado basado en las Secure Socket Layers (SSL) para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. Cabe mencionar que el uso del protocolo HTTPS no impide que se pueda utilizar HTTP. Es aquí, cuando nuestro navegador nos advertirá sobre la carga de elementos no seguros (HTTP), estando conectados a un entorno seguro (HTTPS).

Los protocolos HTTPS son utilizados por navegadores como: Safari, Internet Explorer, Mozilla Firefox y Opera entre otros siendo el puerto estándar para este protocolo el número 443.

Para los más curiosos, la ubicación de HTTPS dentro de la pila TCP/IP (http://es.wikipedia.org/wiki/TCP/IP) se corresponde con la capa de “Aplicación” del modelo OSI (http://es.wikipedia.org/wiki/Modelo_OSI) mientras que SSL se ubica en la capa de transporte asegurando que, antes de abandonar nuestra computadora, ya esté todo codificado.

El email y la seguridad

Hemos estado hablando de la seguridad en la transmisión de nuestra información por medio de un navegador Web pero ¿qué hay de los emails (por nombrar algo tan común como un navegador Web?

Recientemente se nombró el lugar que ocupa el protocolo HTTPS dentro de la pila de protocolos TCP/IP: Aplicación. Pues bien, allí también está nuestro cliente de correo (ej: Thunderbird, Evolution, Outlook, etc.) de modo que podemos pedir a nuestro proveedor de servicios de email, nos indique el número de puerto a ser utilizado para los envíos de email (SMTP) y recepción (POP3) de forma tal que se utilice encriptación de datos.

Normalmente se utilizan las versiones sin cifrar ya que no todo lo que se envía requiere de tanta seguridad ni confidencialidad. Es importante hacer notar que los tiempos de cifrado y descifrado son importantes aunque no logremos darnos cuenta de ello.

En pocas palabras: si envía información crucial por email, utilice una cuenta de email (ej:finanzas@ejemplo.com) con la versión segura de SMTP y POP3 y deje el resto de las cuentas sin alterar: asigne el puerto 465 al servidor saliente SMTP (y tilde la opción que permite el uso de SSL) y el puerto 995 al servidor de correo entrante POP3 (y tilde la opción que permite el uso de SSL). Con esto tendrá una cuenta de email que utilizará envío seguro de datos mientras que, el resto de las cuentas, no lo harán (recomendado).

Los navegadores y las advertencias

Es frecuente que al ingresar a un sitio Web que, aunque implemente HTTPS, recibamos una advertencia que nos indica que existen posibilidades que, el sitio Web al que “creemos” estar ingresando, sea otro en realidad. Aquí podemos hablar mucho pero trataré de sólo mencionar lo más crucial.

1 ) Muchos dominios son certificados por sus propios dueños: esto significa que se autofirma un par de claves (pública y privada) para que sean utilizadas en el intercambio de datos, brindando el cifrado que hemos estado comentando en el presente artículo. Desde el punto de vista de la seguridad de la información, no hay dudas: es idéntico a lo que se consigue con un certificado de seguridad comprado a la firma más costosa que podamos encontrar. Desde el punto de vista de la autenticación del mismo no (ya que ha sido autofirmado por el dueño): no existe una entidad de confianza (emisora de certificados) que diga que soy quien digo ser. Dependiendo del servicio que se preste, puede ser un problema o no (ej: un banco no debiera autofirmarse un certificado jamás).

2 ) El certificado muestra una advertencia de caducidad de la fecha tope: sucede si la fecha de “vencimiento” del certificado es menor a la fecha actual, es decir, si es “viejo”. Ello no significa que las claves dejan de tener validez sino que debe solicitar a la entidad de certificación un par de nuevas claves. Al renovar el certificado, la autenticación no mostrará más advertencias (que puede asustar a más de un visitante).

Conclusión

Si utiliza la Internet para administrar sus datos financieros, efectuar compras o acceder contenido confidencial, debe considerar muy seriamente el uso de conexiones seguras como las descriptas en el presente artículo. Consulte a su proveedor de servicios de hosting para que le asesore sobre las alternativas de cifrado para sus negocios en línea.

Soporte Técnico
www.sectorhosting.com