SSH1 frente a SSH2
SSH (Secure Shell) es un protocolo que se utiliza para habilitar la seguridad en la comunicación de datos a través de las redes. SSH fue encontrado por Tatu Ylonen (SSH Communications Security Corporation) en 1995. Este protocolo proporciona la infraestructura para asegurar el transporte de datos, ejecución remota de comandos y servicios de red habilitados para la seguridad entre dos computadoras en una red. La comunicación se gestiona según la arquitectura cliente-servidor (cliente SSH y servidor SSH). El protocolo SSH se ha desarrollado con dos versiones denominadas SSH1 y SSH2.
SSH1 (Secure Shell versión 1)
La versión 1 del protocolo SSH se encontró en 1995 y consta de tres protocolos principales, llamados SSH-TRANS, SSH-USERAUTH y SSH-CONNECT.
SSH-TRANS: Es el protocolo de capa de transporte (TCP / IP) que básicamente proporciona autenticación, confidencialidad e integridad del servidor.
SSH-USERAUTH: Es el protocolo utilizado para la autenticación de usuarios en el establecimiento de comunicación. Este protocolo autentica al cliente SSH en el servidor SSH. Este protocolo también se ejecuta en la capa de transporte.
SSH-CONNECT: Es el protocolo de conexión que multiplexa datos cifrados en algunos flujos lógicos. Este protocolo se ejecuta sobre el protocolo SSH-USERAUTH.
Para iniciar la conexión segura, el cliente envía su información de autenticación al servidor SSH con cifrado de 128 bits. Cada host del servidor tiene una clave de host, que es para verificar la comunicación correcta entre el cliente y el servidor. Además, debe tener una clave pública del servidor SSH correspondiente. Cada segmento de datos transferidos se cifra mediante algoritmos de cifrado (DES, 3DES, IDEA, Blowfish).
Además del inicio de sesión remoto, SSH se puede utilizar para tunelización, conectividad X11, SFTP (protocolo de transferencia de archivos SSH), SCP (copia segura) y también reenvío de puertos TCP. El puerto TCP 22 es utilizado por el protocolo SSH de forma predeterminada. La compresión de datos también es compatible con SSH. Esta función es útil cuando el enlace cliente-servidor tiene poco ancho de banda y se puede utilizar para mejorar el rendimiento de la conexión.
En SSH versión 1.5, los desarrolladores han identificado alguna vulnerabilidad. En esta versión, era posible la inserción de datos no autorizados en el medio del flujo de datos cifrados, lo que puede causar un alto riesgo para la seguridad de los datos. Además, en 2001 se identificó la vulnerabilidad de un servidor de autenticación malintencionado no autorizado para reenviar la autenticación a otro servidor.
SSH2 (Secure Shell versión 2)
SSH2 se introdujo en 2006 con muchas mejoras significativas sobre SSH1. Aunque es una mejora de SSH1, SSH2 no es compatible con SSH1. SSH2 se reescribe agregando más mecanismos defensivos para evitar vulnerabilidades.
SSH2 utiliza un conjunto diferente de algoritmos mejorados y más sólidos para el cifrado y la autenticación, como DSA (algoritmo de firma digital). SSH2 ya no es un software gratuito como SSH1; el desarrollador de SSH2 ha restringido el uso gratuito de SSH2. A diferencia de SSH1, el programa SFTP (transferencia segura de archivos) se ha integrado en el paquete SSH2 y utiliza los mismos protocolos de cifrado utilizados por SSH2 para cifrar los flujos de datos.
¿Cuál es la diferencia entre SSH1 y SSH2? Muchos sistemas operativos basados en UNIX tienen capacidad SSH incorporada y muchas consolas con capacidad SSH también se han desarrollado para sistemas Windows (TeraTerm, Putty, OpenSSH, WinSCP, etc.). • Como se mencionó anteriormente, SSH2 es una versión mejorada de SSH1. • SSH1 tiene algunos problemas documentados conocidos que se corrigen y vuelven a codificar en SSH2. • Normalmente, la última versión de cualquier aplicación es compatible con sus versiones anteriores, pero SSH2 no es totalmente compatible con SSH1 y también requiere licencia SSH2. |