Question

J'utilise l'utilitaire Botan pour effectuer le chiffrement. Quand j'initialiser ma connexion à une machine distante en utilisant SSH, je suis en mesure d'échanger des clés sur la connexion sécurisée SSH. Cependant, parfois j'utilise inetd pour établir la connexion, et dans ce cas, il n'y a pas de sécurité sur la connexion inetd, mais je dois l'utiliser pour échanger avec une autre la machine distante.

J'imagine qu'il ya une norme pour ce laquelle je vous envoie une clé publique sur un canal non sécurisé et l'extrémité distante utilise pour crypter une clé pour me renvoyer sur le canal non sécurisé, que je peux alors Décrypter pour obtenir la clé .

Quel serait un exemple de ce type de protocole supports Botan?

Était-ce utile?

La solution

Sans la confiance précédente, ou la communication par un canal latéral, il n'y a aucun moyen de le faire. Diffie-Hellman KEX vous permet d'établir un canal sécurisé contre d'autres qui ne participent pas à la connexion, mais vous ne pouvez pas vérifier que vous communiquez avec le destinataire.

MITM exemple: vous vous connectez à un certain point de terminaison distant, il reçoit une clé publique et vous envoie quelque chose signée avec cette clé. Cependant, vous avez aucun moyen de vérifier si vous avez envoyé votre clé à la destination réelle, ou si la réponse vient d'un attaquant - donc vous avez un tunnel sécurisé, mais vous avez pas d'information avec qui vous communiquez en toute sécurité ( l'attaquant peut même se connecter à votre destination et le trafic proxy, qui passe au-dessus de lui non chiffré).

Pour être sûr que vous communiquez bien avec le point final prévu, vous devez échanger une sorte d'identification de l'hôte au préalable ou via un canal sécurisé. SSH fait cela en utilisant les « empreintes » -. Il vous demande à la première connexion si vous faites confiance que l'hôte, et vous êtes censé vérifier l'empreinte digitale par un canal indépendant

Autres conseils

Ce que je l'ai fait dans une situation similaire était d'organiser d'abord pour obtenir une paire de clés publique / privée échangé, donc, j'ai eu la clé publique de chaque client, quand ils me connectés, un message a été adoptée, qui avait un horodatage, que je pouvais alors déchiffrer.

Si ce passé, et l'horodatage était valide (j'ai utilisé 5 secondes que la vie de l'horodatage) alors j'échanger la clé, puisque nous avions un moyen de communiquer en toute sécurité.

Mais, ce faisant nécessaire dès le départ de quelque chose.

Si vous vous attendez à un utilisateur anonyme pour se connecter et d'avoir une certaine sécurité qui est impossible.

Un article j'ai trouvé très utile sur des questions comme celle-ci était * Programmation informatique de Satan », http://www.cl.cam.ac.uk/~rja14/Papers/satan.pdf , où vous essayez d'avoir une communication sécurisée avec un sysadmin indigne de confiance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top