¿Qué tipo de criptografía usa SSH?


Mejor respuesta

Utiliza un cifrado híbrido. La criptografía asimétrica se usa para establecer una clave de sesión que a su vez se usa como clave para un cifrado simétrico.

Esos cifrados simétricos son cifrados en bloque (más comúnmente AES) o más raros (pero los preferidos por los suyos) cifrados de flujo como Salsa20, también conocido como ChaCha.

El uso de cifrados en bloque merece un poco más de explicación, ya que tiene implicaciones significativas con respecto a la confidencialidad de la comunicación.

Cifrados en bloque son MUY buenos para cifrar bloques de tamaños fijos, de ahí su nombre. El problema cuando se usa como cifrado de carga útil para SSH es que los comandos generalmente no vienen en un bloque de un tamaño predeterminado, en el caso del AES de 128 bits. Ahora, supongamos que ingresa el comando

$ ls

No del todo de 128 bits. Entonces, para poder usar un cifrado de bloque, se activará algo llamado relleno: los 104 bits restantes se pondrían a cero (simplificados).

Sin embargo, esto plantea un problema: suponiendo que un solo paquete enviado contiene padding al menos hasta cierto punto, tendríamos un texto plano parcialmente conocido. A partir de esto, sería posible con el tiempo (y muchos paquetes capturados) calcular la clave de sesión.

Para evitar que se inventaran ciertos modos de cifrado. Durante mucho tiempo, se utilizó el encadenamiento de bloques de cifrado:

Lo que este diagrama básicamente te dice es esto:

  1. Para que se cifre el primer bloque, se utiliza un bloque prenegociado de datos aleatorios como el llamado Vector de inicialización.
  2. El texto plano y el IV están sujetos a un Operación O exclusiva (XOR) : una operación bastante fácil de revertir si tiene el IV, pero muy, muy difícil si no lo tiene.
  3. Ahora , la clave se usa para cifrar el resultado de la operación XOR.
  4. El texto cifrado resultante se usa luego como el IV para el siguiente bloque.

Dado que el texto sin formato ahora se modificará en gran medida antes de ingresar al cifrado, ya no hay texto plano conocido. Bueno, en teoría. Bueno, ni siquiera eso. CBC ya no se considera de vanguardia, principalmente porque Serge Vaudenay publicó un ataque exitoso. Actualmente, se utilizan los modos Contador o Contador Galois . Explicarlos está un poco fuera del alcance de esta pregunta, pero basta con decir que cumplen el mismo propósito de CBC, pero se consideran seguros.

Por lo tanto, sería correcto decir que un híbrido Se utiliza cifrado, con cifrados asimétricos utilizados para la autenticación del servidor y, opcionalmente, el cliente, así como el intercambio de claves, y la clave intercambiada se utiliza para un cifrado de flujo simétrico o un cifrado de bloque en modo CBC o (G) CTR.

Respuesta

A2A ¿Cuál es la principal alternativa a SSH?

Francamente, no Creo que hay uno. Es como preguntar cuál es la principal alternativa a la rueda. El protocolo es tan útil, seguro y de código abierto que no tiene sentido desarrollar nada más. Telnet es SSH como Travois está al volante.

Estoy de acuerdo con gran parte de la respuesta de Neil Richins en teoría, pero NFS no es una alternativa segura a SSH / SCP (es un protocolo LAN, no un protocolo de Internet público) y Mosh usa SSH para el transporte.

Si se encuentran problemas en SSH, se solucionan. Nadie abandona todo. Por eso estamos usando SSH 2 en lugar de SSH 1, y muchos de los cifrados originales han quedado obsoletos. Algo así como SSL / TLS.

Pensé que FTP murió con Telnet, muerto por HTTP (opcionalmente usando SSL), SCP, SFTP y Rsync (usando transporte SSH). Pero luego descubrí que se había negado a morir, y que la gente había creó una versión segura FTPS. Así que está eso para las transferencias de archivos. Personalmente, uso SCP y Rsync. Otra alternativa para la transferencia de archivos es HTTP con SSL / TLS. Para descargar, HTTP GET funciona fácilmente para obtener cualquier archivo de un servidor web. Para cargar, HTTP POST funciona si escribe un controlador y H TTP PUT funciona si se implementa en p. Ej. WebDAV. Entonces, para mantener un espacio compartido sobre un protocolo seguro, WebDAV es una alternativa a Rsync / SSH. El problema es que SCP / Rsync mantiene la propiedad del archivo, mientras que en WebDAV o POST todo lo que se carga pertenece al proceso del servidor web. Los sistemas CMS son intrínsecamente inseguros porque si el servidor web es pirateado, el proceso del servidor web tiene acceso de escritura a todo el contenido, no hay separación de usuarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *