web-dev-qa-db-fra.com

Comment échanger des clés publiques RSA en toute sécurité entre deux parties?

Comment échanger des clés publiques RSA entre deux parties via Internet?

14
Predator

Obtenez vous-même une clé de confiance. Deux options les plus faciles sont un certificat SSL (50 $. 100 $) et une clé GPG (gratuit).

Chiffrer ou signer les données que vous envoyez avec cette clé. Avec SSL, vous pouvez simplement servir vos données via HTTPS, mais vous pouvez également le signer. Avec GPG, vous devez construire suffisamment de confiance pour votre clé, de sorte que l'extrémité réceptrice soit sûre de vous et non d'un imposteur.

Une autre option consiste à créer une clé publique sur votre serveur SSH, de le publier et laissez les gens simplement scp vos données de là. Envoyez-leur des empreintes digitales de votre clé SSH via Snail Mail ou dites verbalement par Skype/Phone. Un imposteur devra simuler votre clé, votre serveur sur un nom de domaine connu et votre téléphone/Skype/SIP Contact; cela devrait être suffisamment difficile à contrecarrer de telles tentatives.

9
9000

Il y a quelques options faciles.

  1. Mettre la clé ou d'autres données partout sur Internet, calculer une empreinte digitale pour via SHA-256 ou un autre hachage décent, et de communiquer l'empreinte digitale hors bande avec l'autre partie: via un appel téléphonique, SMS, ou peut-être email si vous n'êtes pas trop inquiet au sujet de quelqu'un d'autre intercepter un email.

  2. Obtenez un tiers que les deux vous faire confiance pour se porter garant de la clé ou d'autres données. Ils pourraient le faire via une signature PGP sur la clé (le classique de toile de confiance), ou une signature de CA sur la clé dans un cert X.509, ou peut-être en fournissant une empreinte digitale pour la clé sur un site SSL. . Si vous allez la route CA, notez que les navigateurs déployés implicitement des centaines de confiance de CA et il est difficile de savoir ou simplement spécifier lequel les deux vous mettez votre confiance réelle dans Si vous avez besoin de haute sécurité, voir cela pour une discussion plus approfondie: - est-il envisageable pour un CA à être piraté par défaut qui fait confiance certificats racine dois-je supprimer? ".

Bien sûr, votre préférence dépendra quel genre de clé est, qui vous l'envoyez, comment vous avez l'intention de l'utiliser, quelles sont vos menaces ressemblent à ce que vous utilisez pour protéger, etc.

9
nealmcb

Email, PM sur un forum, vraiment de votre choix. L'idée est que tout le monde peut connaître la clé publique et peu importe.

eDIT: Notez que cela suppose que vous voulez simplement qu'ils puissent vous envoyer des messages cryptés, quelles autres personnes ne peuvent pas lire. Si vous souhaitez garantir l'expéditeur, plutôt que d'essayer de garder la clé publique privée (qui défait le but, et vous ne pouvez aussi pas utiliser RSA), demandez-les à SIGN le message à l'aide de par exemple. leur propre clé RSA.

Ou défaut, chiffrer la clé en utilisant quelque chose comme leur clé publique RSA, afin qu'ils puissent la déchiffrer.

1
Sysyphus