Qué hace realmente el SSH
Aunque Splync utiliza HTTPS para proteger la ruta entre tu smartphone y nuestro servidor, aún necesitamos proteger el servidor en sí para garantizar la seguridad de los datos del usuario. Los desarrolladores de aplicaciones y los administradores de sistemas necesitan una forma de entrar en ese servidor para mantener y desplegar actualizaciones, de forma segura. Ahí es donde entra SSH (Secure Shell). Es un protocolo que permite a los usuarios autorizados iniciar sesión en computadoras remotas de forma segura, incluso a través de redes no confiables. SSH reemplaza métodos más antiguos e inseguros como Telnet, que enviaba nombres de usuario y contraseñas en texto plano.
La idea detrás de las “claves”
SSH no se basa en una contraseña típica. En su lugar, utiliza claves criptográficas: un par coincidente de una clave pública y una privada. Piénsalas como un candado y una llave que solo encajan entre sí. La clave pública reside en el servidor y la clave privada se queda con el usuario. Cuando te conectas, el servidor te desafía a demostrar que posees la clave privada, sin revelarla nunca. Esto hace que sea casi imposible que alguien que esté escuchando pueda hacerse pasar por ti. Mientras que las contraseñas convencionales pueden adivinarse, filtrarse o reutilizarse, las claves SSH son cadenas criptográficas largas y aleatorias, prácticamente imposibles de adivinar. Incluso si alguien logra interceptar la conexión, todo lo que verá es ruido encriptado. Y como las claves SSH nunca se envían por la red, no hay nada que robar en tránsito.
Cómo es realmente una clave SSH
Si nunca has visto una clave SSH, podría sonar abstracto, pero en realidad es solo un bloque largo de texto codificado. Una clave pública generalmente tiene unos cientos de caracteres, mientras que una clave privada puede superar los mil. Ambas se almacenan como archivos de texto, pero su contenido parece ruido aleatorio, una mezcla de letras, números y símbolos. La clave pública es segura para compartir; es como poner tu candado en el servidor. La clave privada, por otro lado, es tu identidad digital única y nunca debe compartirse. Se almacena localmente en tu computadora y se usa solo para probar que eres quien dices ser, sin revelar nunca la clave en sí.
Clave pública y clave privada
Una clave pública es como un candado que le pones a tu casa. Cualquiera puede verla desde la calle, igual que el candado de la puerta principal. Pero mirar el candado no le dice a nadie cómo abrirlo. En otras palabras, cualquiera puede verlo, pero solo la llave correcta puede desbloquearlo. Por otro lado, la clave privada es la llave que abre el candado y se queda contigo de forma segura. Si alguien más obtiene tu clave privada, puede entrar en tu casa como si fueras tú. Por eso siempre debe mantenerse en secreto.
Mecanismo de SSH
Cada clave pública y privada forma un par único uno a uno. Se generan juntas mediante un proceso matemático de modo que solo esa clave privada específica puede coincidir con su clave pública correspondiente. Puedes pensar en ellas como un candado y llave hechos a medida, forjados juntos, y ninguna otra llave en el mundo encaja en ese candado. Incluso si generas otro par usando el mismo algoritmo (como RSA o Ed25519), los números internos serán completamente diferentes. Las matemáticas que vinculan los dos son unidireccionales: puedes derivar fácilmente la clave pública de la privada, pero es prácticamente imposible revertir el proceso y encontrar la clave privada a partir de la pública. Por eso cada par de claves SSH es único y seguro.
Cómo SSH prueba quién eres
Cuando inicias sesión en un servidor con SSH, tu clave privada nunca sale de tu computadora. En su lugar, el servidor envía un desafío aleatorio, como un rompecabezas de una sola vez, que solo tu clave privada puede resolver. Tu computadora firma ese desafío matemáticamente, produciendo una respuesta corta que el servidor puede verificar usando tu clave pública. Si la respuesta encaja, el servidor sabe que posees la clave privada correcta, sin haberla visto nunca. Esta es la magia de la criptografía moderna: puedes probar tu identidad sin revelar tu secreto. La autenticación SSH funciona porque tu clave privada contiene toda la información para derivar la clave pública, pero lo contrario es prácticamente imposible.
Cómo los desarrolladores usan SSH en la práctica
Cada vez que los desarrolladores implementan código, actualizan una base de datos o reinician un servicio, a menudo se conectan a sus servidores remotos a través de SSH. Después de la autenticación, obtienen una conexión segura de línea de comandos al servidor. Desde allí pueden gestionar archivos, reiniciar servicios o inspeccionar registros, todo cifrado de extremo a extremo. En el caso de Splync, SSH es como gestionamos de manera segura nuestro servidor en la nube. Cada acción administrativa, desde implementar actualizaciones hasta revisar registros o respaldar datos, se realiza a través de conexiones SSH protegidas por claves criptográficas. Nadie puede acceder al servidor sin la clave privada correcta. Incluso si alguien conociera nuestra dirección IP, sin esa clave, la puerta simplemente no se abrirá.
Lo que viene: cifrado dentro del servidor
SSH protege la entrada al servidor y HTTPS protege los datos en tránsito. Pero una vez que los datos aterrizan dentro de la base de datos, ¿cómo los mantenemos seguros? Ahí es donde entran en juego el hash y el cifrado, la capa final de defensa.