Déjame proporcionar una imagen de alto nivel. Claramente, usted comprende la necesidad de comunicaciones seguras, ya sea SSH o HTTPS. Las comunicaciones seguras significan que el canal está cifrado.
En términos generales, todos los algoritmos de cifrado se dividen en una de dos categorías:
- cifrado simétrico. Una llave. La misma clave se utiliza para cifrar y descifrar. Rápido. P.ej. AES.
- Encriptación asimétrica. Dos llaves. Cualquiera de los dos puede usarse para cifrar, pero solo el otro puede descifrar. Mucho más lento que los algoritmos simétricos. P.ej. RSA.
El cifrado simétrico es rápido y, por lo tanto, adecuado para comunicaciones que involucran una gran cantidad de datos entre dos partes. Utiliza la misma clave para el cifrado y el descifrado, esta clave es análoga a su concepto de una contraseña muy larga. Problema: ¿cómo comparte su clave / contraseña en primer lugar? Resulta que no puede usar un canal seguro que se construya únicamente en un algoritmo de cifrado simétrico sin encontrar una manera de compartir primero su clave / contraseña.
Aquí es donde entran los algoritmos asimétricos, pero son considerablemente más lentos que los algoritmos simétricos. No es práctico transmitir grandes cantidades de datos, pero está bien si transmite o intercambia algo pequeño como una clave de cifrado / contraseña simétrica. Una vez hecho esto, ahora puede utilizar el cifrado simétrico para las comunicaciones.
Una de las dos claves para el cifrado asimétrico se denomina clave pública y la otra clave privada. La clave pública puede distribuirse a todos, pero la clave privada debe mantenerse en secreto.
You (has pub) Server (has prv + pub)
asym-encrypt(pub, sym-key/pwd) ----> asym-decrypt(prv, encrypted-data) => sym-key/pwd
pub = clave pública, prv = clave privada
En cualquier caso, esta explicación es una simplificación de lo que realmente hace SSH. Otras dos cosas que vale la pena destacar:
-
Diffie Hellman es el típico algoritmo asimétrico de intercambio de claves. Con Diffie Hellman no es necesario crear una clave simétrica. Ambas partes crean la clave simétrica juntas durante el intercambio de claves, lo que es una buena característica de seguridad. Consulte "Diffie-Hellman Key Exchange" en inglés sencillo .
-
En mi explicación, asumí que encontraste la clave pública del servidor y que confías en que es la correcta. Pero realmente debes tener cuidado con las claves públicas en las que confías. Para confiar en una clave pública, debe estar firmada digitalmente. Una clave pública firmada también se conoce como certificado.
Esperamos que esto aclare las preguntas sobre las contraseñas largas y las claves públicas, y que tenga suficiente información para que puedas profundizar de una manera más significativa.