From 5320af57d5294c4c1ba7fbb0ea69057faf2b64cc Mon Sep 17 00:00:00 2001 From: Jan Philipp Timme Date: Fri, 12 Oct 2018 15:40:49 +0200 Subject: [PATCH] more text --- MA-Inhalt.tex | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/MA-Inhalt.tex b/MA-Inhalt.tex index 3e1884d..f4de759 100644 --- a/MA-Inhalt.tex +++ b/MA-Inhalt.tex @@ -231,14 +231,16 @@ Der Austausch von Sitzungsschlüsseln wird durch das Diffie-Hellman-Verfahren au Für die Verschlüsselung des VPN-Verkehrs wird die in \cite{RFC7539} konstruierte \textit{Authenticated Encryption with Associated Data} (AEAD)-Chiffre aus ChaCha20 und Poly1205 verwendet \cite[][Abschnitt I]{wireguard:intro}. Als Hashfunktion kommt BLAKE2s \cite[definiert in][]{blake2s:definition} zum Einsatz \cite[][Abschnitt I]{wireguard:intro}. -Zwei Netzwerkteilnehmer tauschen auf nicht spezifizierte Weise (wie bei OpenSSH) ihre öffentlichen Schlüssel aus. -Dieser öffentliche Schlüssel, der sind zufällig gewählte Punkte auf Curve25519 32 Byte) - -(II Cryptokey Routing) und identifiziert einen WireGuard-Peer. - -Curve25519 für ECDH -> von Bernstein als SaveCurve geführt -ChaCha20Poly1305 - +Bevor eine Wireguard-Sitzung zwischen zwei Teilnehmern konfiguriert werden kann, müssen die beiden Teilnehmer ihren öffentlichen Schlüssel austauschen. +Dieser Austausch ist mit Absicht nicht durch Wireguard spezifiziert und wird, wie auch bei OpenSSH, den Teilnehmern selbst überlassen \cite[][Abschnitt I]{wireguard:intro}. +Um eine Sitzung mit einem anderen Teilnehmer zu konfigurieren, muss zunächst die eigene Wireguard-Netzwerkschnittstelle konfiguriert werden \cite[Vergleich][Abschnitt II]{wireguard:intro}. +Dafür wird das Paar aus öffentlichem und privatem Schlüssel des Teilnehmers benötigt, sowie die Angabe, über welchen UDP-Port Wireguard Pakete empfangen und verschicken soll. +Als nächstes kann die Liste der bekannten Sitzungsteilnehmer mit einem neuen Eintrag versehen werden . +Der andere Sitzungsteilnehmer wird durch seinen öffentlichen Schlüssel identifiziert. +Anschließen wird eine Liste von erlaubten IP-Adressen hinzugefügt, die durch den Netzwerktunnel von dem anderen Sitzungsteilnehmer verwendet werden dürfen. +Optional ist eine Angabe von IP-Adresse und UDP-Port des anderen Sitzungsteilnehmers möglich, damit eine Sitzung direkt aufgebaut werden kann. +Wird diese Angabe weggelassen, lernt Wireguard diese Informationen aus den empfangenen Paketen des anderen Teilnehmers automatisch. +Durch diese Flexibilität können Teilnehmer ihre IP-Adresse wechseln, ohne dass die Wireguard-Sitzung dadurch abgebrochen wird. Laut einer Analyse ist das Wireguard-Protokoll für \textit{key-compromise impersonation} (KCI)-Angriffe verwundbar \cite{wireguard:analysis}. Was das bedeutet, muss ich noch herausfinden. Aber dazu später.