web-dev-qa-db-fra.com

Toutes les données envoyées via SSH sont-elles cryptées?

Lorsque vous êtes connecté à un autre ordinateur via SSH, toutes les données sont-elles transférées entre les deux ordinateurs cryptées? Ou les données sont-elles envoyées en texte brut ou tout autre format "facile à intercepter"?

39
IQAndreas

Pour tout protocole, vous pourriez trouver une définition de "toutes les données" qui impliquerait nécessairement que quelque chose n'est pas envoyé crypté.

Par exemple, lors de l'initialisation et de l'échange de clés, la sélection de l'algorithme est publique. Votre cryptographe moyen vous donnera un peu plus qu'un sourcil levé si vous vous plaignez de ce fait, car il est évident que ne peut pas être crypté car vous n'avez pas encore sélectionné d'algorithme.

Évidemment quelque chose doit être envoyé non crypté si dans un autre but que de configurer le cryptage. Mais une fois la connexion sécurisée, tout est sécurisée. Une fois que vous avez un canal crypté, rien à partir de ce moment n'est envoyé en dehors de ce canal. De plus, le protocole est extrêmement prudent pour éviter d'envoyer des données sensibles avant que le cryptage ne soit disponible. Pas de nom d'utilisateur, pas de mot de passe, pas d'identification d'aucune sorte, aucune indication de but, ou tout cela.

Le peu qu'il y a à décoder est facilement décodable à l'aide d'outils gratuits courants tels que Wirehark. Lancez une capture de paquets, démarrez une session SSH et examinez l'échange vous-même. Vous verrez immédiatement ce qui peut être vu ou non. Wireshark fait un excellent travail en décodant le protocole pour vous permettre de voir les fonctions internes de son fonctionnement ... dans la mesure où il est visible par quelqu'un qui regarde le trafic réseau.

Le flux typique ressemble à ceci:

  1. Version SSH/identification du logiciel
  2. Initiation à l'échange de clés (sélection d'algorithme)
  3. Échange de clés Diffie-Helman (utilise la clé hôte SSH pour empêcher MITM)
    Tout ce qui suit est crypté
  4. Authentification des utilisateurs (y compris l'authentification basée sur les clés des utilisateurs)
  5. La session SSH est maintenant activée
62
tylerl