web-dev-qa-db-fra.com

Est-ce que ça va de partager largement l'empreinte de la clé RSA pour un hôte?

Lorsque vous êtes SSH dans une boîte distante pour la première fois ou si l'empreinte digitale de l'hôte distante a changé (de ce qui est stocké dans votre fichier connu_hosts), vous obtenez un avertissement et vous avez montré l'empreinte digitale de la clé de l'hôte.

Cela compromet-t-il votre sécurité si vous partagez l'empreinte digitale publique (c'est-à-dire avec des attaquants potentiels)? Ou est-ce un cas où tout le monde peut connaître l'empreinte digitale d'un serveur, car SSH fait quelque chose dans les coulisses (de mon point de vue en tant qu'utilisateur simple) de sorte que l'empreinte digitale ne puisse pas être spoofée, même si elle est connue?

Puisque vous pouvez voir l'empreinte digitale simplement en essayant de tenter de ssh dans le serveur à l'aide d'un compte de non-sens, i supposons Cela signifie que l'empreinte digitale doit être acceptable d'être partagée publiquement (mais vous savez ce qui se passe lorsque vous supposez. ..).

20
user15392

La clé de serveur empreinte digitale est un hachage de la clé publique du serveur, qui est, par définition, publique. N'importe qui peut obtenir la clé publique du serveur en le connectant simplement, car le serveur envoie sa clé publique dans les étapes initiales du protocole. En fait, c'est ce que vous faites avec votre client SSH: vous vous connectez au serveur, le serveur envoie sa clé publique, votre logiciel client SSH calcule la clé hachage (l'empreinte digitale) et l'affiche. À ce stade, vous n'avez toujours pas authentifié vous-même, alors tout ce que vous avez fait, tout le monde aurait pu le faire.

Ainsi, il n'y a aucun problème à publier l'empreinte clé de la clé, car tout attaquant éventuel l'a déjà.

Bien sûr, publier l'empreinte digitale clé et l'utiliser comme base pour l'authentification du serveur nécessite une publication robuste: une attaquante industrieuse intention de faire Homme in-home attaque J'essaierais de modifier l'empreinte digitale publiée comme vous le voyez, de manière à vous inciter à accepter comme authentique clé de serveur. Ainsi, si vous publiez la clé publique du serveur sur un site Web, faites-en un HTTPS site web. (En d'autres termes, pour cette empreinte digitale, vous n'avez pas besoin Confidentialité mais vous avez besoin Intégrité.)

20
Thomas Pornin

Oui, l'empreinte digitale est simplement un hachage de la clé publique, utilisé pour l'authentifier. Un adversaire nécessiterait la clé privée pour déchiffrer vos messages. Obtenir la clé privée des informations disponibles nécessiterait:

  1. Une fonction de hachage qui n'est pas résistante au préimagation (certains pourraient ne pas considérer qu'une vraie fonction de hachage).
  2. RSA est cassé

Wikipedia montre les principales empreintes digitales ici .

C'est une question juste, cependant, SSH ne dit pas que c'est l'empreinte de la clé publique.

7
Henning Klevjer