Authentification du serveur à l'aide de certificats

L'authentification par certificat permet de résoudre certains problèmes de l'authentification par clé publique. Avec l'authentification hôte par clé publique, l'administrateur système doit soit ajouter la clé publique hôte de chaque serveur à la liste d'hôtes connus de chaque client, soit faire confiance aux utilisateurs client pour confirmer l'identité de l'hôte correctement lorsqu'ils se connectent à un hôte inconnu. L'authentification par certificat contourne ce problème au moyen d'une tierce partie approuvée, appelée autorité de certification, pour vérifier la validité des informations provenant de l'hôte.

À l'instar de l'authentification par clé publique, l'authentification par certificat utilise des paires de clés publiques/privées pour vérifier l'identité de l'hôte. Toutefois, avec l'authentification par certificat, les clés publiques sont contenues dans des certificats numériques et, dans ce cas, deux paires de clés sont utilisées ; l'hôte a une clé privée et l'autorité de certification, une autre. L'hôte obtient un certificat auprès de l'autorité de certification. Ce certificat contient des informations d'identification sur l'hôte, une copie de la clé publique hôte et une signature numérique créée à l'aide de la clé privée de l'autorité de certification. Il est envoyé au client pendant le processus d'authentification. Pour vérifier l'intégrité des informations provenant de l'hôte, le client doit avoir une copie de la clé publique de l'autorité de certification, contenue dans le certificat racine de l'autorité de certification.

L'installation de certificats racine de l'autorité de certification pour vérifier l'identité de l'hôte présente de nombreux avantages par rapport à l'installation et à la configuration de clés publiques hôte :

  • Un seul et même certificat émanant d'une autorité de certification peut servir à authentifier plusieurs serveurs.
  • Les administrateurs peuvent utiliser les stratégies de groupe Windows pour installer des certificats d'autorité de certification sur les clients Windows.
  • Des certificats racine correspondant à des certificats obtenus de façon commerciale sont peut-être déjà disponibles sur les ordinateurs client. Certains certificats racine utilisés par Internet Explorer sont pré-installés sur les ordinateurs Windows. Pour les connexions SSL/TLS, Reflection recherche les certificats dans cette liste de certificats par défaut.
  • Au besoin, l'hôte peut obtenir un nouveau certificat auprès de la même autorité de certification, sans qu'aucune modification ne soit nécessaire sur les systèmes client.

L'authentification par certificat du serveur utilise les étapes ci-après :

  1. Le client Secure Shell établit une connexion.
  2. L'hôte envoie son certificat au client.
  3. Le client utilise le certificat racine de l'autorité de certification pour vérifier la validité du certificat du serveur.

    Remarque : Le client doit déjà avoir une copie du certificat de l'autorité de certification dans la liste racine approuvée. (Un seul et même certificat émanant d'une autorité de certification peut servir à authentifier plusieurs serveurs.)

  4. Le client s'assure que les informations serveur figurant dans le certificat de l'hôte correspondent bien à l'hôte contacté.
  5. Pour confirmer que l'hôte possède la clé privée correspondant à la clé publique du certificat, le client envoie un essai (message arbitraire) au serveur et calcule un hachage basé sur le texte de ce message.
  6. Le serveur crée une signature numérique en fonction du message d'essai. Le serveur calcule séparément le hachage du message, puis chiffre le hachage calculé à l'aide de sa clé privée. Ensuite, le serveur annexe sa signature numérique à l'essai et renvoie ce message signé au client.
  7. Le client déchiffre la signature à l'aide de la clé publique du serveur et compare le hachage au sien. En cas de correspondance des valeurs, l'authentification hôte aboutit.

    Remarque : Le client Reflection peut vérifier les certificats de l'hôte à l'aide de la liste de certificats Reflection ou de la liste de certificats Windows.