This commit is contained in:
Jan Philipp Timme 2018-10-10 14:58:59 +02:00
parent 8c701ac549
commit db6cea9028
1 changed files with 15 additions and 9 deletions

View File

@ -618,19 +618,29 @@ remote-cert-tls client
\paragraph{Kryptografische Parameter}
Wie in Abschnitt~\ref{ssct:openvpn} bereits erläutert wurde, unterscheidet OpenVPN bei der Kommunikation zwischen zwei OpenVPN-Prozessen zwischen Datenkanal für Nutzdaten und Kontrollkanal für Steuernachrichten.
In diesem Absatz werden die Parameter definiert, die
Während OpenVPN im TLS-Modus über den Kontrollkanal den TLS-Sitzungsaufbau durchführt und den Kontrollkanal anschließend über TLS absichert, wird für den Datenkanal eine separat konfigurierbare, symmetrische Chiffre verwendet.
Das gemeinsame Geheimnis für den Schutz des Datenkanals wird dabei über den durch TLS geschützten Kontrollkanal ausgetauscht.
Mit den in diese Absatz definierten Parametern soll die Kommunikation zwischen Clients und Server unabhängig von den verwendeten Betriebssystemen einheitlich geschützt werden.
Um Konfigurationsprobleme durch abweichende Konfiguration von Client und Server auszuschließen, werden alle hier definierten Parameter in \textbf{Client- und Serverkonfiguration} eingetragen.
Wir sprechen nur TLS~1.2 oder höher.
Sämtliche TLS-Kommunikation verwendet TLS-Version~1.2 oder höher.
\begin{lstlisting}
tls-version-min "1.2"
\end{lstlisting}
Die TLS-Chiffre \enquote{TLS-DHE-RSA-WITH-AES-256-GCM-SHA384} wird in \cite{bsi:tls-checkliste} und \cite{RFC7525} empfohlen.
Diese wird zur Absicherung des Kontrolkanals verwendet.
Eine Nutzung von ECDHE-Verfahren fällt leider Flach\footnote{Es existiert ein Problem in Kombination mit OpenSSL~1.1.x. Siehe \url{https://community.openvpn.net/openvpn/ticket/963}}.
In RFC~7525 wird die TLS-Chiffre \enquote{TLS-DHE-RSA-WITH-AES-256-GCM-SHA384} empfohlen\cite[][]{RFC7525}.
Laut BSI ist diese TLS-Chiffre für den Einsatz über das Jahr~2023 hinaus geeignet\cite[][]{bsi:tls-checkliste}.
Diese Chiffre wird für die Absicherung des Kontrollkanals verwendet.
\begin{lstlisting}
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
\end{lstlisting}
Die Verwendung einer verwandten Chiffre, die anstelle des Diffie-Hellman-Schlüssel\-aus\-tausch ein Diffie-Hellman-Verfahren auf Basis von elliptischen Kurven verwendet, kann aufgrund von bestehenden Kompatibilitätsproblemen zwischen OpenVPN-Clients und OpenSSL~1.1.x nicht eingesetzt werden\footnote{Es existiert ein Problem in Kombination mit OpenSSL~1.1.x. Siehe \url{https://community.openvpn.net/openvpn/ticket/963}}.
OpenVPN verwendet eine HMAC-Funktion mit einem zuvor ausgetauschen, gemeinsamen Geheimnis um für Daten- und Kontrollkanal eingehende Datenpakete vor ihrer Verarbeitung zu authentisieren.
Die in der HMAC-Funktion verwendete Hashfunktion wird auf SHA-256 festgelegt.
\begin{lstlisting}
auth SHA256
\end{lstlisting}
Verschlüsselung der Daten im Datenkanal mit AES-256-GCM.
\begin{lstlisting}
@ -639,10 +649,6 @@ cipher AES-256-GCM
Die Aushandlung dieses Ciphers ist auf der Serverseite deaktiviert mit \texttt{ncp-disable}
Die Hashfunktion SHA-256 wird als message digest algorithm in HMAC verwendet, um die Pakete in Daten- und Kontrollkanal zu authentisieren.
\begin{lstlisting}
auth SHA256
\end{lstlisting}
\paragraph{Zertifikate und DH-Parameter}
Dateiangaben, die TLS-Rolle, welche Sorte von Zertifikat erwartet wird, gegen welches CA das präsentierte Zertifikat geprüft wird.