GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist Shared Key Exchange (Funktionsweise von VPNs, Teil 3)

Dieser Artikel der Serie „So funktionieren VPNs“ beschreibt, wie ein gemeinsamer Schlüsselaustausch funktioniert. Wenn Sie sich bereits verlaufen haben, keine Panik! Diese Artikelserie erklärt die Konzepte und Methoden hinter VPNs, ohne tief in die Mathematik eintauchen zu müssen, die ihnen zugrunde liegt.

Wenn Sie mit dem Konzept von VPNs völlig neu sind, sehen Sie sich diese Einführung an. Wenn Sie bereits ein wenig darüber wissen, wie VPNs funktionieren, und noch etwas mehr wissen möchten, ist diese Serie genau das Richtige für Sie. Jeder Artikel befasst sich mit einem Aspekt, wie ein VPN dabei hilft, Daten zu sichern, indem es eine Geschichte erzählt, die als Metapher für die beteiligten logischen Mechanismen dient. Diese Geschichten beinhalten Adam und Burt, die versuchen, ein Geheimnis zu wahren, und eine dritte Person, Cesar, die versucht, ihr Geheimnis auf schändliche Weise zu entdecken. Da VPNs kein perfektes Äquivalent in der physischen Welt haben, können einige Elemente die Grenzen der Glaubwürdigkeit überschreiten (z. B. hat Cesar Zugriff auf einen Duplikatorstrahl). Denken Sie daran, es ist nur eine Geschichte …

Jeder Artikel hat auch erweiterbare Abschnitte (gekennzeichnet mit dem Zahnradsymbol), die eine etwas tiefergehende Erklärung enthalten, die etwas technischer ist, sich aber dennoch nicht zu sehr in Mathematik verliert. Diese Abschnitte verknüpfen die Ereignisse der Geschichte ein wenig mehr mit den Komponenten oder Schritten der Verschlüsselung oder Authentifizierung, sind aber nicht erforderlich, um ein grundlegendes Verständnis des Themas zu erlangen.

Geteilter Schlüsselaustausch

In früheren Abenteuern haben unsere Freunde Adam und Burt versucht, ihr Comicbuch-Projekt vor Cesars Schnüffeln geheim zu halten, indem sie es gesichert haben die Nachrichten, die sie mit einem gemeinsamen Schlüssel und einem ausgefeilteren Paarsystem aus öffentlichem und privatem Schlüssel austauschen. Jedes System hat seine Stärken und Schwächen. Aber die Jungs brauchen eine Pause von diesem Projekt, und zu ihrem Glück findet in der Nähe ein Jahrmarkt statt. Sie nehmen am Chili-Cook-off teil, und weil sie es lieben, ihre Kreationen geheim zu halten, entwickeln sie eine Methode, ihr Rezept geheim zu halten, selbst wenn sie es vor Zuschauern zubereiten. Das Rezept wird so sicher sein; selbst sie werden es nicht wissen!

Ein bekannter Ausgangspunkt

Um dieses Kunststück zu vollbringen, müssen Adam und Burt jeweils einen Teil des Rezepts entwickeln, ohne etwas darüber zu wissen, was der andere dazu beigetragen hat. Wenn keiner von ihnen das ganze Rezept kennt, kann keiner es verraten. Sie einigen sich jedoch auf eine gemeinsame Zutatenbasis (eine Mischung aus Tomatenbasis, Chiligewürz, Rindfleisch und Bohnen). Es besteht keine Notwendigkeit, diesen Teil geheim zu halten – die meisten anderen Teilnehmer beginnen mit einer ähnlichen Basis, sodass sie wenig gewinnen, wenn sie sich die Mühe machen, diese Zutaten zu verschleiern.


Aushandlung des Schlüsselaustauschs.

Die Tatsache, dass die beiden Parteien mit dieser Verhandlung über ein unsicheres, öffentliches Medium beginnen können, ist eine der Kern- und cleveren Ideen hinter dieser Methode, eine Verschlüsselung einzuleiten. Bevor eine Verschlüsselung erfolgen kann, muss ein gewisser unverschlüsselter Datenverkehr zwischen Peers vorhanden sein, da sonst keiner weiß, wie zukünftige Nachrichten zu entschlüsseln sind. Dieser erste Schritt lässt einen Host einem anderen mitteilen, dass er eine Aushandlung einer Verschlüsselungsmethode beginnen möchte, indem er einer wohlbekannten mathematischen Formel (die in diesem Beispiel die Basis des Chili ist) ein paar Anfangswerte anbietet. Die wahre Magie kommt in den nächsten Schritten.

Seeden des Schlüssels

Adam und Burt haben unabhängig voneinander und heimlich eine Portion Gewürze und zusätzliche Zutaten zubereitet, die in einem undurchsichtigen Reispapier eingeschlossen sind Beutel, der sich auflöst, sobald er in das Chili getaucht wird. In diesem Cook-off enthält Adams Beutel Tomatillos, Chipotles, Cayennepfeffer und Zimt; Burt’s hat Cajun-Gewürze, Bier, Kreuzkümmel, Oregano und Worcester-Sauce*. Adam wirft sein Päckchen in seinen Topf und rührt um, schmeckt sein Chili, bis er sicher ist, dass sich der Beutel aufgelöst und seine Zutaten freigesetzt hat. Burt macht dasselbe mit seinem Topf. An diesem Punkt haben Adam und Burt zwei verschiedene Chilis.

* (Falls Sie sich wundern, warum sich das nicht bereits aus dem Bier auflöst, nehmen wir an, Burt hat alle Flüssigkeiten vorgefroren, bevor er sie in den auflösbaren Beutel gegeben hat.)


Generieren des gemeinsamen Schlüssels.

Im eigentlichen Schlüsselaustauschprozess sind diese „Zutaten“ eigentlich sehr große Primzahlen. Beim Schlüsselaustausch werden diese großen Primzahlen zufällig generiert. Je größer die Zahlen sind, die zur Eingabe in diesen Schlüsselaustausch verwendet werden, desto schwieriger ist es, Brute-Force-Techniken zum Knacken einzusetzen. Die Größe dieser Zahlen wird als Bitgruppe bezeichnet. Eine Gruppe von Primzahlen gleicher Länge in binären Bits (z. B. 1024 oder 2048 oder noch größere Bitlängen) gehören alle zu derselben Gruppe. Je größer die Bitgruppe, desto robuster wird dieser Schlüsselaustauschprozess und desto widerstandsfähiger wird er gegenüber Analysen und potenziellen Kompromittierungen.

Austausch abschließen

Nun tauschen sie die Töpfe, um die sie sich kümmern, also ist Burt an dem Topf, den Adam gestartet hat, und umgekehrt. Sie nehmen jeweils einen anderen Beutel, der mit dem identisch ist, mit dem sie begonnen haben, und fügen diesen zweiten Beutel dem Topf hinzu, den der andere begonnen hatte (also fügt Adam seine Tomatillos, Chipotles, Cayennepfeffer und Zimt zu dem Topf hinzu, den Burt mit dem Cajun-Gewürz, Bier, begonnen hat , Kreuzkümmel, Oregano und Worcester-Sauce; und Burt gibt seinen Beutel in den Topf, den Adam begonnen hat). Nachdem jeder von ihnen seine jeweiligen Töpfe umgerührt und die Beutel aufgelöst hat, um die geheimen Zutaten freizusetzen, können sie sicher sein, dass jeder Topf jetzt identische Chilis enthält.


Der Diffie-Hellman-Schlüsselaustausch.

Mathematisch ausgedrückt ist der Algorithmus für den gemeinsamen Schlüsselaustausch kommutativ – er kann in beliebiger Reihenfolge ausgeführt werden und zum gleichen Ergebnis führen. Beachten Sie auch, dass weder Adam noch Burt die Mittel haben, den Schlüssel allein zu rekonstruieren. Jeder von ihnen kennt nur den Zufallswert, den jeder zum Algorithmus beigetragen hat. Und da jeder nach Abschluss der Verhandlung auch eine Kopie des Schlüssels generiert, besitzt jeder auch eine Kopie des endgültigen Schlüssels, ohne dass dieser über ein Netzwerk übertragen wurde.

Dieser gemeinsame Schlüsselaustausch oder diese Aushandlung wird als Diffie-Hellman-Schlüsselaustausch bezeichnet, benannt nach den Autoren des Artikels, in dem diese Methode erstmals detailliert beschrieben wurde, nämlich Whitfield Diffie und Martin Hellman. Ihre Arbeit baute auf früheren Arbeiten von Ralph Merkle auf, daher wurde (von Hellman selbst) vorgeschlagen, diese Methode Diffie-Hellman-Merkle Key Exchange zu nennen. In tatsächlichen Konfigurationen sehen Sie diese Methode oft als DH-Gruppen angewendet, unterschiedliche Gruppen, die Schlüsseln unterschiedlicher Länge in binären Bits entsprechen.

Komplexer Geschmack

Während der Vorbereitung hätte jeder Richter die Starttöpfe oder die Zwischentöpfe sehen und probieren können. Selbst wenn Cesar, der darauf bedacht ist, das Geheimrezept zu lernen, sich als Richter ausgibt, wäre er nicht in der Lage, das endgültige Rezept, das Adam und Burt verwendet haben, zuverlässig zu rekonstruieren. (Dieses Beispiel geht davon aus, dass Cesar nicht in der Lage ist, alle im Chili enthaltenen individuellen Aromen zu unterscheiden. Der Versuch, die Zutaten und ihre Mengen durch Laboranalysen zu identifizieren, wäre zeit- und energieaufwändig genug, um dies unmöglich zu machen.)


Potentielle Schwachstellen.

Wenn ein Angreifer eine mit diesem Schlüssel verschlüsselte Kommunikation kompromittieren wollte, wäre ein typischer Man-in-the-Middle-Abhörangriff nicht ausreichend. Ein Angreifer könnte sich jedoch als Transit-Man-in-the-Middle einschalten. Wenn sich ein Angreifer so einrichten würde, dass die gesamte Kommunikation zwischen den beiden Hosts über ihn laufen müsste, könnte er mit jedem Peer eine Diffie-Hellman-Verhandlung durchführen. Jede Seite der Verbindung wüsste nur, ob ein erfolgreicher Schlüssel ausgehandelt wird, aber nicht mit wem. In dieser Position wäre der Man-in-the-Middle in der Lage, die gesamte Konversation zu sehen – tatsächlich müsste er den eingehenden Datenverkehr entschlüsseln und erneut verschlüsseln, bevor er ihn an die andere Seite sendet, um den Eindruck aufrechtzuerhalten, dass jeder end hat immer noch seine „sichere“ Verbindung.

Es ist auch möglich, dass ein Angreifer versucht, einen Man-in-the-Middle-Angriff durchzuführen, um die DH-Gruppe auf eine Gruppe herunterzustufen, deren Bitlänge viel kleiner und weniger sicher ist. Dieser Angreifer könnte dann die schwach verschlüsselten Daten sammeln und einen Offline-Brute-Force-Angriff gegen die Verschlüsselung durchführen, um sie in angemessener Zeit zu knacken. Angriffe wie FREAK und Logjam verwenden eine Art Downgrade-Methode, um den Diffie-Hellman-Schlüsselaustausch zu schwächen.

Mehr in der Serie Wie VPNs funktionieren:

Teil 1:Symmetrische Verschlüsselungsalgorithmen
Teil 2:Kryptografie mit öffentlichen Schlüsseln
Erfahren Sie mehr über unsere VPS-Hosting-Services und den VPS-Hosting-Preis.


Linux
  1. Was ist ein Makefile und wie funktioniert es?

  2. Was ist NGINX? Wie funktioniert es?

  3. Wie funktionieren Tastatureingabe und Textausgabe?

  4. So aktualisieren Sie Homebrew mit Cron unter Mac OS

  5. Wie funktionieren SO-Nummern (Shared Object)?

Was ist Reverse-DNS und wie funktioniert es?

Was ist VDI und wie funktioniert es?

Was ist Docker? Wie funktioniert es?

Was ist Source Command in Linux und wie funktioniert es?

Wie funktioniert ein Load Balancer? Was ist Load-Balancing?

Was ist Symmetric-Key-Verschlüsselung (Funktionsweise von VPNs, Teil 1)