¿Se utiliza la misma clave para la autorización y el cifrado? (Túnel SSH)

2

Estoy un poco confundido sobre cómo funciona el cifrado SSH.

De leer esta pregunta, veo que puedes usar una clave privada para autenticar con el indicador -i .

También sé creo que SSH cifra datos usando claves privadas y públicas.

Estoy creando una aplicación que configurará SSH Tunnel y SOCKS5 Proxy para clientes. La autenticación se produce utilizando -i y especificando una clave privada incluida. La idea de esto es asegurar que todo el tráfico esté encriptado.

Me temo que todos los clientes que tengan la misma clave privada puedan descifrar el tráfico de otros clientes, por lo que mi pregunta es la siguiente:

Cliente A : ssh [email protected] -D 5464 -I /path/to/the/private.key -N

Cliente A: hace una solicitud o enlace unsecured.com con datos POST que contienen un nombre de usuario y contraseña

Attacker B : Obtiene /path/to/the/private.key

En este escenario, Attacker B puede descifrar el tráfico SSH de Cliente A y ver el nombre de usuario y la contraseña en texto simple.

    
pregunta JBis 27.08.2018 - 20:08
fuente

1 respuesta

3

TL; DR: En SSH, su clave privada no se usa para el cifrado, solo se usa para demostrar quién es usted. Cada nueva conexión al servidor establecerá una clave de sesión de cifrado diferente.

Aquí hay algunos consejos básicos sobre cómo funciona el protocolo SSH:

  

También sé creo que SSH cifra datos usando claves privadas y públicas.

En realidad, las claves pública y privada solo se usan para la parte de autenticación del protocolo de enlace de SSH, no para la parte de cifrado. De esos artículos, el saludo de SSH viene en dos pasos:

  1. Configure el cifrado: use Diffie-Hellman para establecer una clave de cifrado compartida que tanto el cliente como el servidor conozcan, pero alguien que no lo sepa no puede saberlo.
  2. Autenticación: tanto el cliente como el servidor utilizan sus claves públicas y privadas para probar que son quienes dicen ser.
  

La autenticación se produce utilizando -i y especificando una clave privada incluida. La idea de esto es garantizar que todo el tráfico esté cifrado.

¿Cómo pasaste de la autenticación al cifrado? Su tráfico se cifrará incluso si utiliza autenticación basada en contraseña porque la autenticación y el cifrado son partes no relacionadas del protocolo SSH.

  

Me temo que todos los clientes que tengan la misma clave privada podrán descifrar el tráfico de otros clientes

Cada nueva conexión al servidor establecerá una clave de sesión diferente utilizando el método de intercambio de claves Diffie-Hellman. Esto es independiente de su clave privada. Que yo sepa, cada sesión está totalmente aislada de las demás, incluso si son para el mismo usuario o usan la misma clave privada.

    
respondido por el Mike Ounsworth 28.08.2018 - 00:17
fuente

Lea otras preguntas en las etiquetas