Mostrando entradas con la etiqueta openssl. Mostrar todas las entradas
Mostrando entradas con la etiqueta openssl. Mostrar todas las entradas

viernes, 9 de diciembre de 2011

SSL, qué es y cómo funciona


El protocolo SSL (Secure Sockets Layer), desarrollado por Netscape, permite establecer conexiones seguras a través de Internet. Su trabajo consiste, básicamente, en codificar los mensajes antes de enviarlos por la red. Una vez establecida la comunicación, cuando una aplicación quiere enviar información a otro equipo, el protocolo SSL la recoge y la codifica, e inmediatamente después enviarla a su destino. Una vez que la información llega al destinatario, el módulo SSL del otro ordenador se encarga de decodificar los mensajes y mostrarlos como texto legible en la aplicación destinataria.

Una de las principales ventajas de SSL es que libera a las aplicaciones de llevar a cabo las operaciones criptográficas antes de enviar la información, y apenas hay que modificar los programas ya existentes para que lo utilicen. Desde hace tiempo los principales navegadores de Internet incorporan un módulo SSL, que se activa de forma totalmente automática (por ejemplo, al entrar en direcciones web que empiezan por https).

OpenSSL
El proyecto OpenSSL consiste en un conjunto de herramientas open source que implementan los protocolos de seguridad SSL y TLS (Transport Layer Security). Está basado en las librerías SSLeay desarrolladas por Eric A. Young y Tim J. Hudson
El paquete OpenSSL contiene, principalmente, las librerías crypto y ssl y la aplicación openssl.
La librería crypto implementa muchos de los algoritmos criptográficos usados en varias aplicaciones (como OpenSSH o OpenPGP).
La librería ssl, implementa los protocolos SSL, en sus versiones 2 y 3, y el protocolo TLS, en su versión 1.
El programa openssl es una línea de comandos que permite la utilización de las funciones criptográficas de que dispone la librería crypto. Esta aplicación puede utilizarse para:
  • Crear claves RSA, DH y DSA.
  • Crear certificados X.509, CSR y CRL.
  • Encriptación y desencriptación.
  • Comprobación de clientes y servidores SSL/TLS.
  • Correo encriptado.