more sources, more explaining wireguard
This commit is contained in:
parent
f6a3e7ede9
commit
e40184c868
|
@ -309,4 +309,32 @@
|
||||||
publisher = {Internet Engineering Task Force},
|
publisher = {Internet Engineering Task Force},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TechReport{RFC7539,
|
||||||
|
author = {Y. Nir and A. Langley},
|
||||||
|
title = {ChaCha20 and Poly1305 for IETF Protocols},
|
||||||
|
institution = {Internet Engineering Task Force},
|
||||||
|
year = {2015},
|
||||||
|
type = {RFC},
|
||||||
|
number = {7539},
|
||||||
|
note = {\url{https://tools.ietf.org/html/rfc7539.txt}},
|
||||||
|
month = {May},
|
||||||
|
url = {https://tools.ietf.org/html/rfc7539.txt},
|
||||||
|
howpublished = {Internet Requests for Comments},
|
||||||
|
issn = {2070-1721},
|
||||||
|
publisher = {Internet Engineering Task Force},
|
||||||
|
}
|
||||||
|
|
||||||
|
@InProceedings{blake2s:definition,
|
||||||
|
author = {Aumasson, Jean-Philippe and Neves, Samuel and Wilcox-O'Hearn, Zooko and Winnerlein, Christian},
|
||||||
|
title = {BLAKE2: Simpler, Smaller, Fast as MD5},
|
||||||
|
booktitle = {Applied Cryptography and Network Security},
|
||||||
|
year = {2013},
|
||||||
|
editor = {Jacobson, Michael and Locasto, Michael and Mohassel, Payman and Safavi-Naini, Reihaneh},
|
||||||
|
publisher = {Springer Berlin Heidelberg},
|
||||||
|
isbn = {978-3-642-38980-1},
|
||||||
|
pages = {119--135},
|
||||||
|
abstract = {We present the hash function BLAKE2, an improved version of the SHA-3 finalist BLAKE optimized for speed in software. Target applications include cloud storage, intrusion detection, or version control systems. BLAKE2 comes in two main flavors: BLAKE2b is optimized for 64-bit platforms, and BLAKE2s for smaller architectures. On 64-bit platforms, BLAKE2 is often faster than MD5, yet provides security similar to that of SHA-3: up to 256-bit collision resistance, immunity to length extension, indifferentiability from a random oracle, etc. We specify parallel versions BLAKE2bp and BLAKE2sp that are up to 4 and 8 times faster, by taking advantage of SIMD and/or multiple cores. BLAKE2 reduces the RAM requirements of BLAKE down to 168 bytes, making it smaller than any of the five SHA-3 finalists, and 32{\%} smaller than BLAKE. Finally, BLAKE2 provides a comprehensive support for tree-hashing as well as keyed hashing (be it in sequential or tree mode).},
|
||||||
|
address = {Berlin, Heidelberg},
|
||||||
|
}
|
||||||
|
|
||||||
@Comment{jabref-meta: databaseType:biblatex;}
|
@Comment{jabref-meta: databaseType:biblatex;}
|
||||||
|
|
|
@ -212,7 +212,7 @@ Alle kryptografische Operationen zur Verarbeitung des VPN-Datenverkehrs, sowie z
|
||||||
|
|
||||||
\subsection{Wireguard}
|
\subsection{Wireguard}
|
||||||
Wireguard ist ein Softwareprojekt, mit dem ein geschützter Netzwerktunnel zwischen zwei Netzwerkteilnehmern aufgebaut werden kann.
|
Wireguard ist ein Softwareprojekt, mit dem ein geschützter Netzwerktunnel zwischen zwei Netzwerkteilnehmern aufgebaut werden kann.
|
||||||
Zum aktuellen Zeitpunkt (12.10.2018) befindet sich Wireguard noch in Entwicklung, der Quellcode wird noch als experimentell eingestuft\footnote{Vergleich \url{https://www.wireguard.com/install/}}.
|
Aktuell (am 12.10.2018) befindet sich Wireguard noch in Entwicklung, der Quellcode wird noch als experimentell eingestuft\footnote{Vergleich \url{https://www.wireguard.com/install/}}.
|
||||||
Wireguard wurde als Kernel-Modul für Linux entwickelt, welches einen Umfang von weniger als 4000 Zeilen Code hat \cite[][Abschnitt VII]{wireguard:intro}, wodurch Audits und Reviews erleichtert werden \cite[][Abschnitt VII]{wireguard:intro}.
|
Wireguard wurde als Kernel-Modul für Linux entwickelt, welches einen Umfang von weniger als 4000 Zeilen Code hat \cite[][Abschnitt VII]{wireguard:intro}, wodurch Audits und Reviews erleichtert werden \cite[][Abschnitt VII]{wireguard:intro}.
|
||||||
Im Vergleich zu OpenVPN und IPsec arbeitet Wireguard als Kernel-Modul schneller und effizienter \cite[][Abschnitt VIII]{wireguard:intro}.
|
Im Vergleich zu OpenVPN und IPsec arbeitet Wireguard als Kernel-Modul schneller und effizienter \cite[][Abschnitt VIII]{wireguard:intro}.
|
||||||
Für MacOS, FreeBSD und Windows (Unterstützung für Windows ist noch nicht fertiggestellt) wird mit \texttt{wireguard-go} eine in Go geschriebene Wireguard-Implementation entwickelt.
|
Für MacOS, FreeBSD und Windows (Unterstützung für Windows ist noch nicht fertiggestellt) wird mit \texttt{wireguard-go} eine in Go geschriebene Wireguard-Implementation entwickelt.
|
||||||
|
@ -227,7 +227,9 @@ Sollten Schwachstellen in der verwendeten Kryptografie vorliegen, so müssen all
|
||||||
Durch diesen Schritt wird Wireguard weniger komplex; Verwundbarkeiten, wie sie bei SSL/TLS häufig aufgetreten sind, werden vermieden \cite[][Abschnitt I]{wireguard:intro}.
|
Durch diesen Schritt wird Wireguard weniger komplex; Verwundbarkeiten, wie sie bei SSL/TLS häufig aufgetreten sind, werden vermieden \cite[][Abschnitt I]{wireguard:intro}.
|
||||||
|
|
||||||
Ein Netzwerkteilnehmer wird durch seinen öffentlichen Schlüssel, ein 32~Byte-Punkt auf der elliptischen Kurve \texttt{Curve25519}, eindeutig identifiziert \cite[][Abschnitt I]{wireguard:intro}.
|
Ein Netzwerkteilnehmer wird durch seinen öffentlichen Schlüssel, ein 32~Byte-Punkt auf der elliptischen Kurve \texttt{Curve25519}, eindeutig identifiziert \cite[][Abschnitt I]{wireguard:intro}.
|
||||||
Die Transportverschlüsselung verwendet \texttt{ChaCha20Poly1205}
|
Der Austausch von Sitzungsschlüsseln wird durch das Diffie-Hellman-Verfahren auf elliptischen Kurven durchgeführt, dessen Ergebnisse mit einer Schlüsselableitungsfunktion auf Basis eines HMAC (HKDF) gestreckt werden \cite[][Abschnitt I]{wireguard:intro}.
|
||||||
|
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.
|
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)
|
Dieser öffentliche Schlüssel, der sind zufällig gewählte Punkte auf Curve25519 32 Byte)
|
||||||
|
|
Loading…
Reference in New Issue