Pour mettre en œuvre les mécanismes d’authentification, de confidentialité et d’intégrité, SSH utilise des algorithmes de chiffrement. Le chiffrement est le processus consistant à mélanger les données afin qu’elles ne puissent être lues par des personnes non autorisées. Un algorithme de chiffrement est une méthode particulière pour réaliser ce mélange: actuellement les plus connus sont RSA, RC4, DSA et IDEA. Les données originales, lisibles, sont appelées « données en clair », leur chiffrement donne des « données chiffrées ». Pour passer de données en clair à des données chiffrées, on applique un algorithme de chiffrement paramétré par une clef.

Le chiffrement à clef publique (dit asymétrique) utilise une clef publique et une clef privée, liées de façon mathématique: les données chiffrées avec la clef publique peuvent être déchiffrées avec sa contrepartie privée et il est très difficile (et impossible en un temps raisonnable) de déduire la clef privée ou les données en clair à partir de la clef publique. La clef privée doit être conservée privée et la clef publique est communiquée à quiconque la désire. Le protocole SSH utilise ce mécanisme pour l’authentification du serveur. Avant de communiquer avec un hôte distant, le client doit connaître la clef publique de cet hôte distant afin de chiffrer les données qu’il souhaite lui communiquer. Il s’agit du concept de l’hôte connu étudié juste après.

Le protocole SSH utilise de plus des algorithmes de chiffrement symétrique appelés aussi à clef secrète: c’est la même clef qui sert à chiffrer et à déchiffrer les données. Ces algorithmes sont beaucoup plus rapides que les algorithmes à clef publique. C’est pourquoi ils sont utilisés pour chiffrer de grandes masses de données. Les données circulant sur une connexion SSH sont donc chiffrées à l’aide d’un algorithme symétrique. Notamment, le mot de passe de l’utilisateur se connectant sur une machine distante ne circule pas en clair sur le réseau; ce mot de passe est chiffré.  
 
Retour à la page de cours