more text
This commit is contained in:
parent
e40184c868
commit
5320af57d5
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user