Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Artículos / Protocolos Seguros para el Web - SSL (Secure Socket Layer) y TLS(Transport Layer Secure)

Protocolos Seguros para el Web - SSL (Secure Socket Layer) y TLS(Transport Layer Secure)

 ----- 
Creative Commons Artículo de Chato - 04 de Enero de 2007
4. SSL (Secure Socket Layer) y TLS(Transport Layer Secure)

El protocolo SSL fue desarrollado por Netscape para permitir confidencialidad y autenticación en Internet. SSL es una capa por debajo de HTTP y tal como lo indica su nombre esta a nivel de socket por lo que permite ser usado no tan solo para proteger documentos de hipertexto sino también servicios como FTP, SMTP, TELNET entre otros.

La idea que persigue SSL es encriptar la comunicación entre servidor y cliente mediante el uso de llaves y algoritmos de encriptación.

El protocolo TLS esta basado en SSL y son similares en el modo de operar.

Es importante señalar que ambos protocolos se ejecutan sobre una capa de transporte definida, pero no determinada. Esto indica que pueden ser utiizados para cualquier tipo de comunicaciones. La capa de transporte más usada es TCP cobre la cual pueden implementar seguridad en HTTP.

Como punto de diferencia se puede mencionar que existen protocolos implementados sobre la capa de red, por ejemplo sobre IP. Tal es el caso de IPSec.

¿De que están compuestos?

Estos protocolos se componen de dos capas: el Record Protocol y el Handshake Protocol.

El Record Protocol es la capa inmediatamente superior a TCP y proporciona una comunicación segura. Principalmente esta capa toma los mensajes y los codifica con algoritmos de encriptación de llave simétrica como DES, RC4 aplicándole una MAC (Message Authentication Code) para verificar la integridad , logrando así encapsular la seguridad para niveles superiores.

El Handshake protocol es la capa superior a la anterior y es usada para gestionar la conexion inicial.

¿Cómo funcionan?

En resumidas cuentas, después que se solicita una comunicación segura, servidor y el cliente se deben poner de acuerdo en como se comunicaran (SSL Handshake) para luego comenzar la comunicación encriptada. Luego de terminada la transacción, SSL termina.

Solicitud de SSL:

Típicamente este proceso ocurre en el momento que un cliente accede a un servidor seguro, identificado con "https://...". pero como se mencionó, no necesariamente es usado para HTTP. La comunicación se establecerá por un puerto distinto al utilizado por el servicio normalmente. Luego de esta petición, se procede al SSL Handshake.

SSL Handshake:

En este momento, servidor y cliente se ponen de acuerdo en varios parámetros de la comunicación. Se puede dividir el proceso en distintos pasos:

  • Client Hello: El cliente se presenta. Le pide al servidor que se presente (certifique quien es)y le comunica que algoritmos de encriptación soporta y le envía un número aleatorio para el caso que el servidor no pueda certificar su validez y que aun así se pueda realizar la comunicación segura.
  • Server Hello: El servidor se presenta. Le responde al cliente con su identificador digital encriptado, su llave pública, el algoritmo que se usará, y otro número aleatorio. El algoritmo usado será el más poderoso que soporte tanto el servidor como el cliente.
  • Aceptación del cliente: El cliente recibe el identificador digital del servidor, lo desencripta usando la llave pública también recibida y verifica que dicha identificación proviene de una empresa certificadora segura. Luego se procede a realizar verificaciones del certificado (identificador) por medio de fechas, URL del servidor, etc. Finalmente el cliente genera una llave aleatoria usando la llave pública del servidor y el algoritmo seleccionado y se la envía al servidor.
  • Verificación: Ahora tanto el cliente y el servidor conocen la llave aleatoria (El cliente la generó y el servidor la recibió y desencriptó con su llave privada). Para asegurar que nada ha cambiado, ambas partes se envían las llaves. Si coinciden, el Handshake concluye y comienza la transacción.
Intercambio de Datos:

Desde este momento los mensajes son encriptados con la llave conocida por el servidor y el cliente y luego son enviados para que en el otro extremo sean desencriptados y leídos.

Terminación de SSL

Cuando el cliente abandona el servidor, se le informa que terminara la sesión segura para luego terminar con SSL.

En el siguiente esquema se muestra todo el proceso del Handshake:

Autor y licencia de 'Protocolos Seguros para el Web - SSL (Secure Socket Layer) y TLS(Transport Layer Secure)'
Chato Extraído de: http://www.tejedoresdelweb.com/307/article-5670.html

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Protocolos Seguros para el Web - SSL (Secure Socket Layer) y TLS(Transport Layer Secure)'

Se discuten SSH, SSL, TSL y HTTPS, los protocolos utilizados en la actualidad para intercambiar... Más »
La programación de aplicaciones para la Web es una técnica que ya lleva suficientes años... Más »
La programación de aplicaciones para la Web es una técnica que ya lleva suficientes años... Más »
Se discute cómo mejorar el performance aumentando el número de servidores Web. Esto involucra distribuir... Más »
Se discute cómo mejorar el performance aumentando el número de servidores Web. Esto involucra distribuir... Más »
¿Estás seguro de que deseas eliminar este capítulo?