Können Sie verhindern, dass ein Mann in der Mitte die Nachricht liest?

10

Ich habe von all diesen Man-In-The-Middle-Angriffsverhinderungen gehört und frage mich, wie dies möglicherweise funktionieren kann, wenn der Mann in der Mitte nur auf Ihren Stream hört und die Nachricht selbst nicht ändern möchte.

Kann der Mann in der Mitte nicht einfach die von den Gegnern getauschten Schlüssel nehmen, die Schlüssel ändern und dann die Nachricht erneut entschlüsseln und verschlüsseln?

Wie kann ein Zertifikat dies verhindern?

Bearbeiten:

Ich habe gehört, dass die Zertifizierungsstelle im Allgemeinen sagt: "Ja, das ist der Schlüssel der anderen". Aber wie kann ich sicher sein, dass die Unterschrift des Zertifikats nicht verfälscht ist?

TVSuchty
quelle

Antworten:

10

Kann der Mann in der Mitte nicht einfach die von den Gegnern getauschten Schlüssel nehmen, die Schlüssel ändern und dann die Nachricht erneut entschlüsseln und verschlüsseln?

Ja, sie können.

Ein Schlüsselaustauschprotokoll wie (die "Lehrbuch" -Version von) DH ist sicher gegen Abhören (dh einfach beobachten, was auf dem Kanal übertragen wird), bricht jedoch vollständig gegen Man-in-the-Middle-Angriffe (MITM) zusammen Sie haben angegeben.

Zertifikate sind ein Versuch, dies zu beheben, aber es tritt ein weiteres Problem auf: Wie können Sie sicherstellen, dass beide Parteien das richtige Zertifikat erhalten? Natürlich können Sie die Zertifikate nicht einfach über den unsicheren Kanal senden, da dieser wiederum anfällig für einen MITM-Angriff ist.

Die Lösung ist die Existenz eines alternativen, (vollständig) sicheren Kanals . Dies sind entweder die beiden Parteien, die sich persönlich treffen und ihre Zertifikate physisch austauschen, oder über einen alternativen, vertrauenswürdigen Kanal (z. B. telefonisch, wenn dies vertrauenswürdig ist).

In Computernetzwerken ist der alternative Kanal normalerweise eine Public-Key-Infrastruktur (PKI). Dies bedeutet, dass Ihr Betriebssystem oder Browser über eine Reihe vorkonfigurierter Stammzertifikate verfügt, von denen andere Zertifikate signiert sind (und möglicherweise sogar weitere Zertifikate, die diese als Zwischenzertifikate verwenden ). Wenn Sie eine Website besuchen, wird daher ein signiertes Zertifikat angezeigt, das mit (einer Kette von) Zertifikaten signiert wird, denen Sie bereits vertrauen. Durch Verwendung dieses Zertifikats ist dann ein authentifizierter Schlüsselaustausch möglich (z. B. um einen kurzlebigen Schlüssel für die Verwendung mit normaler symmetrischer Verschlüsselung zu vereinbaren ).

dkaeae
quelle
Wir kommunizieren die Zertifikate also grundsätzlich über einen zweiten Kanal. Wir wissen, dass wir sicher sind.
TVSuchty
Ja; Andernfalls ist ein MITM-Angriff immer möglich. Es ist etwas kontraintuitiv, sich eine Struktur als PKI als "Kanal" vorzustellen, aber die Idee ist nicht so weit hergeholt, wenn man sie einfach als Mittel zur Übertragung von Informationen betrachtet (in diesem Fall als Zertifikate).
Dkaeae
Aber warum sollten wir nicht überhaupt über den Kanal sprechen, von dem wir wissen, dass er sicher ist?
TVSuchty
1
@TVSuchty Sie benötigen einen ersten vertrauenswürdigen Schlüssel, der jedoch nur einmal im Leben kommuniziert werden muss. Dieser Schlüssel kann auch der Schlüssel einer Zertifizierungsstelle sein, der Sie vertrauen, um Zertifikate für andere auszustellen. Wenn Sie beispielsweise einen Browser installieren, werden die Schlüssel vieler Zertifizierungsstellen mitgeliefert. Wenn Sie zu einer https-Site gehen, erhalten Sie einen Schlüssel für die Site und ein von einer Zertifizierungsstelle ausgestelltes Zertifikat, das besagt, dass der Schlüssel korrekt ist, sodass Sie https problemlos starten können. Dies setzt jedoch voraus, dass 1) die CA-Schlüssel im Browser die richtigen sind und 2) den CAs selbst vertraut werden kann.
Chi
1
@TVSuchty Ein vertrauenswürdiger Schlüssel reicht aus, solange es sich um den öffentlichen Schlüssel für eine Zertifizierungsstelle handelt, der Sie vertrauen können. Firefox verwendet ~ 100 CA-Schlüssel .
Chi
5

Bei einem Man-in-the-Middle-Angriff fragen Sie Bob nach seinem Schlüssel, aber Eve fängt die Nachricht ab und sendet Ihnen stattdessen ihren Schlüssel. Sie fragt Bob nach seinem Schlüssel und leitet dann Nachrichten zwischen Ihnen und Bob weiter, entschlüsselt sie, liest und / oder ändert sie dabei.

Das Problem ist, dass Sie nicht wissen, ob Sie wirklich Bobs Schlüssel haben oder nicht. Zertifikate umgehen dies, weil die Zertifizierungsstelle (CA) Bob eine digital signierte Nachricht mit der Aufschrift "Bobs Schlüssel ist 12345" sendet. Sie können dieses Zertifikat überprüfen, da nicht viele Zertifizierungsstellen vorhanden sind und Ihr Browser nur eine Liste gültiger Zertifizierungsstellenschlüssel enthält. Wenn Eve Ihren Versuch abfängt, eine verschlüsselte Kommunikation mit Bob zu starten, hat sie zwei Möglichkeiten. Wenn sie Ihnen sagt, dass Bobs Schlüssel 67890 ist, stellt sie entweder kein Zertifikat zur Verfügung und Sie sagen "Entschuldigung, Sie müssen das beweisen" oder sie stellt ein gefälschtes Zertifikat zur Verfügung und Sie sagen "Dieses Zertifikat ist ungültig". Alternativ sagt sie Ihnen, dass Bobs Schlüssel 12345 ist und stellt ein gültiges Zertifikat dafür zur Verfügung, aber dies nützt ihr nichts, weil sie es nicht tut. '

David Richerby
quelle
Warum kann Eve mir nicht einfach ein Bobs-Zertifikat schicken? Ich meine, was ist das Besondere an Bobs Schlüssel, damit Eva keinen ähnlichen replizieren kann? Woher weiß ich, dass dieser Schlüssel zertifiziert ist? Wie überprüfe ich das Zertifikat?
TVSuchty
Ich habe dir gesagt, warum sie dir nicht Bobs Zertifikat schicken kann (oder vielmehr, warum es ihr nicht hilft, dir Bobs Zertifikat zu schicken). Es gibt keinen "ähnlichen Schlüssel". Sie wissen, dass der Schlüssel zertifiziert ist, weil Sie das Zertifikat haben. Sie überprüfen das Zertifikat, indem Sie die digitale Signatur mit dem Schlüssel der Zertifizierungsstelle überprüfen.
David Richerby
@TVSuchty Eve muss zuerst die Nachricht entschlüsseln, um sie zu lesen, und dann die Nachricht erneut verschlüsseln, um sie weiterzuleiten. Nur mit Bobs privatem Signaturzertifikat können Sie wie Bob verschlüsseln, aber die unglückliche Person, die dem MITM-Angriff ausgesetzt ist, muss nachweisen können, ob sie über Bobs Zertifikat verfügt, um zu wissen, ob Eves stattdessen geliefert wurde. Dies ist der Grund, warum einige sichere Anwendungen Sie auffordern, den Verschlüsselungsschlüssel beim ersten Mal und bei jeder Änderung zu akzeptieren.
Willtech
1
@TVSuchty Ein Zertifikat sagt im Grunde "Ich bin X, und Sie können darauf vertrauen, dass ich X bin, weil Y es sagt". Eve kann leicht ein Zertifikat erstellen, das besagt, dass ich Bob bin, und Sie können darauf vertrauen, dass ich Bob bin, weil Eve es sagt. Wenn mein Computer dieses Zertifikat erhält, lacht er nur. "Eva sagt es" ist kein Grund zu der Annahme, dass es Bobs Zertifikat ist. "Weil Verisign dies sagt", da Verisign einer von beispielsweise 100 Zertifikatanbietern ist, die vom Hersteller auf Ihrem Computer installiert wurden, ist dies ein Grund, dies zu glauben. Aber Eva kann ein solches Zertifikat nicht fälschen.
Gnasher729
Eine weitere Antwort auf „Warum kann ich mir nicht das Zertifikat von Bob schicken?“ Eva kann entweder versuchen, das Zertifikat von Bob zu fälschen oder es zu stehlen. Vielleicht reicht eine Million Dollar aus, um einen von Bobs Mitarbeitern zu bestechen und eine Kopie von Bobs Zertifikat zu übergeben. Bob muss sicherstellen, dass es schwierig ist, das Zertifikat zu stehlen. Bei Diebstahl kann ein Zertifikat widerrufen werden und wird nicht mehr akzeptiert. Auf dem Zertifikat steht nun: "Dies ist ein echtes Zertifikat von Bob, aber es wurde als gestohlen gemeldet. Vertrauen Sie ihm also nicht."
Gnasher729