si quereis contactar con nosotros

blogesic3b@gmail.com

sábado, 13 de marzo de 2010

¿Por que es seguro el SSL?

Voy a empezar introduciendo un poco el protocolo , que nació en 1994, cuando la empresa Netscape termino su primera versión de este protocolo, al que denominó "Secure Sockets Layer" o SSL (Capa Segura de Conexiones). Esta versión nunca salió al mercado y sólo meses después salió a la calle una actualización bajo el nombre de SSL 2.0.

La versión 3.0 de SSL salió en 1995 y desde entonces ha sido la solución más ampliamente implementada para el establecimiento de comunicaciones seguras entre usuarios y servidores.
Su éxito se ha debido a la facilidad de su implementación por parte de los administradores de sistemas y a la transparencia para el usuario que desea conectarse al servidor, quien no tendrá que realizar ninguna acción para resguardar el intercambio de información.

Ahora contare como funciona o trabaja exactamente el SSL:

Internet esta formada por una infinita cantidad de paquetes de datos que viajan a través del protocolo TCP (Estándar de Internet) la información es transmitida en un formato que permite que sea leída por terceros que logren interceptarla.

Por ello y para establecer una sesión segura a través de SSL, el cliente debe hacer una solicitud al servidor para establecer comunicación. En ese momento, ambos acuerdan las condiciones para la autenticación de los involucrados y el cifrado de la información a intercambiar. Este proceso se da sin que el usuario que se encuentra frente al computador tenga noción de que estos pasos se están dando.

Este trámite de negociación es realizado a través del protocolo Handshake, parte importante del SSL, y consta de las siguientes fases:

Saludo: Cliente y servidor intercambian mensajes para establecer el conjunto de algoritmos que utilizarán para mantener la privacidad de las comunicaciones durante la sesión segura. El cliente informa al servidor qué algoritmos de criptografía puede utilizar, solicita una verificación de la identidad del servidor y le envía un número aleatorio. El servidor responde enviando su identificador digital (un certificado que el administrador debe tramitar previamente con un ente certificador) el cual incluye su clave pública, el conjunto de algoritmos criptográficos (código que se va a utilizar para cifrar los datos) y de compresión y otro número aleatorio. En ocasiones, el servidor también puede pedir al cliente que se identifique solicitando un certificado.

Aprobación del Cliente: En esta fase, el usuario verifica la validez del certificado del servidor, comprobando su vigencia (Período de validez) y procedencia (Ente emisor). Para ello, el cliente desencripta la información recibida usando la clave pública del emisor. Si éste aprueba al servidor, le envía una clave maestra encriptada con la clave pública del servidor, la misma servirá para que ambos se reconozcan durante la sesión segura, en el caso de que el handshake concluya con éxito.

Verificación: Cliente y servidor se reenvían los mensajes compartidos, hasta el momento encriptados, con la clave maestra establecida en el paso anterior. Si ambas partes confirman que no ha habido interrupción en sus comunicaciones se culmina exitosamente el proceso de handshake y se inicia la sesión segura.


Al finalizar el handshake ambas partes han acordado la clave secreta y los algoritmos criptográficos y de compresión que serán utilizados para compartir información de forma segura. Cabe destacar que se genera una clave secreta para cada sesión, es decir, si la contraseña es descifrada por un tercero, ésta no podrá utilizarla para interceptar datos de nuevas sesiones.

Mientras dure la sesión, cliente y servidor intercambian datos fragmentando los mensajes y comprimiéndolos a través del protocolo record o de registro. A cada parte de bloque dividido se le adjunta la información necesaria para que el receptor logre reorganizarlo.
Durante una misma sesión pueden establecerse varias comunicaciones entre cliente y servidor. Además, una vez finalizada una sesión esta puede retomarse mediante un proceso más corto de Handshake sin poner en riesgo la seguridad de la comunicación.

Como conclusión y a modo de respuesta a la pregunta que da titulo a este post: ¿por que es seguro SSL? resumo que SSL codifica los datos enviados a través de protocolo TCP utilizando un algoritmo distinto en cada sesión (el cual es acordado por cliente y servidor), de esta forma si la comunicación es interrumpida por un tercero, este no podrá descifrar la información contenida en el mensaje.

Aunque los algoritmos que SSL utiliza para codificar los datos compartidos en una comunicación segura son conocidos, el interceptor debe conseguir descifrar cuál es el que se está usando en una sesión determinada mientras dure la misma.

Mas información sobre el SSL :

Consejo de investigaciones científicas de España
Wikipedia

También os dejo un vídeo que va un paso mas allá (esta en ingles)


.N

1 comentario:

  1. Está fenomenal que nos ilustres en temas de seguridad para que todo el mundo vaya aprendiendo poco a poco.

    ResponderEliminar