Outils pour utilisateurs

Outils du site


reseau:debian:sequencesessionssh

Diagramme de séquence de l'établissement d'une session SSH

<uml> @startuml group Etablissement d'une session 3-Way Handshake ClientSSH → Serveur : demande session avec paquet SYN (Synchronize) Serveur → ClientSSH : approuve connexion avec paquet SYN-ACK (acknowledgement) ClientSSH → Serveur : confirme avec paquet ACK end group Etablissement de la session ClientSSH → Serveur : annonce la version de SSH utilisée Serveur → ClientSSH : annonce la version de SSH utilisée ClientSSH → ClientSSH : génèrent paires de clés\npubliques-privées\ntemporaires Serveur → Serveur : génèrent paires de clés\npubliques-privées\ntemporaires ClientSSH → Serveur : Initialisation échange de clé\n(Key Exchange Init) note left : paramètres :\nalgorithmes\nMAC\ncompression Serveur → ClientSSH : réponse à l'initialisation de l'échange de clé\n(Key Exchange Init) note right : paramètres :\nalgorithmes\nMAC\ncompression ClientSSH → Serveur : Initialisation d’échange de clés Diffie-Hellman\n(Elliptic Curve Diffie-Hellman Key Exchange Init) note left : Envoi clé publique\néphémère\n+ le résultat\nd'un calcul\nsigné Serveur → Serveur : détermination\nclé partagée\n(symétrique) Serveur → ClientSSH : Réponse d’échange de clés Diffie-Hellman\n(Elliptic Curve Diffie-Hellman Key Exchange Reply, New Keys) note right : Envoi le résultat\nd'un calcul \signé\n+informe nouvelle\nclé partagée calculée\n+ empreintre ou certificat ClientSSH → ClientSSH : Vérification de l'identité du serveur\nAcceptation de l'identité du serveur ClientSSH → ClientSSH : détermination\nclé partagée\n(symétrique) ClientSSH → Serveur : informe nouvelle clé partagée calculée end group Etablissement d'un canal sécurisé end group Authentification par mot de passe Serveur → ClientSSH : demande saisie login ClientSSH → Serveur : envoi login Serveur → ClientSSH : demande saisie mot de passe ClientSSH → Serveur : envoi mot de passe Serveur → Serveur : vérification login et mot de passe end group Communication chifrée entre le client et le serveur durant toute la session

end group Deconnexion ClientSSH → Serveur : déconnexion avec paquet RST,ACK (Reset) Serveur → ClientSSH : approuve déconnexion avec paquet ACK end @enduml </uml>

Compléments

L'agorithme de chiffrement symétrique ChaCha20 est utilisé à la place de AES 256.

  • ChaCha20 : algorithme de chiffrement symétrique plus rapide qu'AES sur un matériel générique (mise en œuvre purement en logiciel)
  • Poly1305 : c’est un MAC (message authentication code) qui permet d’assurer l'intégrité des données en vérifiant qu'elles n'ont subi aucune modification après une transmission. C'est une fonctionnalité semblable à une fonction de hachage.

La combinaison de ces deux algortihmes permet de faire du chiffrement intègre.

Ressources

reseau/debian/sequencesessionssh.txt · Dernière modification : 2023/05/29 21:16 de techer.charles_educ-valadon-limoges.fr