SSH1 contre SSH2
SSH (Secure Shell) est un protocole utilisé pour sécuriser la communication de données sur les réseaux. SSH a été découvert par Tatu Ylonen (SSH Communications Security Corporation) en 1995. Ce protocole fournit l'infrastructure pour sécuriser le transport de données, l'exécution de commandes à distance et les services réseau sécurisés entre deux ordinateurs d'un réseau. La communication est gérée selon une architecture client – serveur (client SSH et serveur SSH). Le protocole SSH a été développé avec deux versions nommées SSH1 et SSH2.
SSH1 (Secure Shell Version 1)
La version 1 du protocole SSH a été trouvée en 1995 et se compose de trois protocoles principaux, appelés SSH-TRANS, SSH-USERAUTH et SSH-CONNECT.
SSH-TRANS: c'est le protocole de la couche de transport (TCP/IP) qui fournit essentiellement l'authentification, la confidentialité et l'intégrité du serveur.
SSH-USERAUTH: C'est le protocole utilisé pour l'authentification de l'utilisateur à l'établissement de communication. Ce protocole authentifie le client SSH dans le serveur SSH. Ce protocole s'exécute également sur la couche de transport.
SSH-CONNECT: C'est le protocole de connexion qui multiplexe les données cryptées dans certains flux logiques. Ce protocole s'exécute au-dessus du protocole SSH-USERAUTH.
Pour initier la connexion sécurisée, le client envoie ses informations d'authentification au serveur SSH avec un cryptage 128 bits. Chaque hôte de serveur possède une clé d'hôte, qui consiste à vérifier la bonne communication client-serveur. En outre, il doit avoir une clé publique du serveur SSH concerné. Chaque segment de données transféré est chiffré à l'aide d'algorithmes de chiffrement (DES, 3DES, IDEA, Blowfish).
Autre que la connexion à distance, SSH peut être utilisé pour le tunneling, la connectivité X11, SFTP (protocole de transfert de fichiers SSH), SCP (copie sécurisée) et également le transfert de port TCP. Le port TCP 22 est utilisé par défaut par le protocole SSH. La compression des données est également prise en charge par SSH. Cette fonctionnalité est utile lorsque la liaison client-serveur a une faible bande passante et peut être utilisée pour améliorer le débit de la connexion.
Dans la version 1.5 de SSH, les développeurs ont identifié une vulnérabilité. Dans cette version, l'insertion de données non autorisées au milieu du flux de données cryptées était possible, ce qui peut entraîner un risque élevé pour la sécurité des données. En outre, la vulnérabilité d'un serveur d'authentification malveillant non autorisé à transférer l'authentification vers un autre serveur a été identifiée en 2001.
SSH2 (Secure Shell Version 2)
SSH2 a été introduit en 2006 avec de nombreuses améliorations significatives par rapport à SSH1. Bien qu'il s'agisse d'une amélioration de SSH1, SSH2 n'est pas compatible avec SSH1. SSH2 est réécrit avec l'ajout de mécanismes plus défensifs pour éviter les vulnérabilités.
SSH2 utilise un ensemble différent d'algorithmes améliorés et plus puissants pour le chiffrement et l'authentification, tels que DSA (Digital Signature Algorithm). SSH2 n'est plus un logiciel libre comme SSH1; le développeur de SSH2 a restreint l'utilisation gratuite de SSH2. Contrairement à SSH1, le programme SFTP (Secure File Transfer) est intégré au package SSH2 et utilise les mêmes protocoles de cryptage que SSH2 pour crypter les flux de données.
Quelle est la différence entre SSH1 et SSH2 ?
De nombreux systèmes d'exploitation basés sur UNIX ont une capacité SSH intégrée et de nombreuses consoles compatibles SSH ont également été développées pour les systèmes Windows (TeraTerm, Putty, OpenSSH, WinSCP, etc.).
• Comme mentionné ci-dessus, SSH2 est une version améliorée de SSH1.
• SSH1 a quelques problèmes documentés connus qui sont corrigés et recodés dans SSH2.
• Normalement, la dernière version de toutes les applications prend en charge ses anciennes versions, mais SSH2 n'est pas entièrement compatible avec SSH1 et SSH2 requiert également une licence.