Frage

Ich bin mit Botan Dienstprogramm Verschlüsselung durchzuführen. Wenn ich meine Verbindung zu einem entfernten Rechner initialisieren SSH verwenden, ich bin in der Lage Schlüssel über die sichere SSH-Verbindung zu handeln. Aber manchmal benutze ich inetd die Verbindung herzustellen, und in diesem Fall gibt es keine Sicherheit auf dem inetd-Anschluss, aber ich brauche, es zu benutzen Tasten mit dem Remote-Computer zu handeln.

Ich stelle mir vor, dass eine Standard dafür wobei ich einen öffentlichen Schlüssel über einen unsicheren Kanal senden und dem entfernten Ende verwendet diese einen Schlüssel zu verschlüsseln, um mich über den unsicheren Kanal zurück zu senden, die dann kann ich entschlüsseln den Schlüssel zu bekommen .

Was ist ein Beispiel für diese Art von Protokoll wäre, dass Botan unterstützt?

War es hilfreich?

Lösung

Ohne vorheriges Vertrauen oder Kommunikation über einen Seitenkanal, gibt es keine Möglichkeit, das zu tun. Diffie-Hellman kex ermöglicht es Ihnen, ein Kanal gegen andere sichern zu schaffen, die in der Verbindung nicht teilnehmen, aber Sie können nicht überprüfen, ob Sie mit dem beabsichtigten Empfänger sind in Verbindung steht.

Classic MITM Beispiel: Sie einige Remote-Endpunkt verbinden, es erhält den öffentlichen Schlüssel und sendet Ihnen etwas mit diesem Schlüssel signiert. Sie haben jedoch keine Möglichkeit, zu überprüfen, ob Sie Ihren Schlüssel zum wirklichen Ziel gesendet haben, oder ob die Antwort von einem Angreifer kommt - also Sie haben einen sicheren Tunnel, aber Sie haben keine Informationen, mit denen ich ist sicher zu kommunizieren ( der Angreifer kann sogar zum eingegebenen Ziel verbinden und Proxy den Datenverkehr, der übergeht ihn unverschlüsselt).

Um sicher sein, dass Sie tatsächlich mit dem beabsichtigten Endpunkt kommunizieren, müssen Sie irgendeine Art von Identifikation des Host auszutauschen vorher oder über einen sicheren Kanal. SSH tut dies die „Fingerabdrücke“ mit -. Es Sie bei der ersten Verbindung gefragt, ob Sie diesen Host vertrauen, und Sie sollen den Fingerabdruck durch einen unabhängigen Kanal überprüfen

Andere Tipps

Was ich in einer ähnlichen Situation tat, war zunächst ein privates / öffentliches Schlüsselpaar ausgetauscht bekommen zu anordnen, so habe ich den öffentlichen Schlüssel des jeweiligen Kunden hatte, so dass, wenn sie mit mir verbunden ist, eine Nachricht übergeben wurde, das eines hatte Zeitstempel darauf, dass ich konnte dann entschlüsselt werden.

Wenn das passiert, und der Zeitstempel gültig war (ich habe 5 Sekunden als das Leben des Zeitstempel), dann würde ich den Schlüssel austauschen, da wir einen Weg, mussten sicher kommunizieren können.

Aber dies erforderlich, etwas zu tun im Voraus.

Wenn Sie erwarten, dass ein anonymer Benutzer zu verbinden und eine gewisse Sicherheit zu haben, die unmöglich ist.

Ein Artikel, den ich auf Fragen wie diese sehr hilfreich war * Programmierung Satans Computer“, http://www.cl.cam.ac.uk/~rja14/Papers/satan.pdf , in dem Sie eine sichere Kommunikation mit einer nicht vertrauenswürdig sysadmin haben wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top