1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-06 11:26:25 +02:00

Sem: Vergleich bis auf Performance abgeschlossen

This commit is contained in:
Jim Martens
2014-11-29 16:02:06 +01:00
parent 812656f45a
commit f844d99cf1

View File

@ -119,17 +119,39 @@ Wir haben die Kriterien in dem obigen Abschnitt herausgearbeitet. Zusammengefass
\subsection{Vertraulichkeit}
Wir beginnen den Vergleich mit der Vertraulichkeit. Interessant sind da die unterstützten Verschlüsselungsalgorithmen und die maximalen Schlüssellängen der Algorithmen.
%TODO Vergleich Vertraulichkeit
Im Abschnitt über IPSec wurde bereits eingeführt, dass IPSec grundlegend zwei Mechanismen unterstützt: ESP\footnote{Encapsulated Security Payload} und AH\footnote{Authentication Header}. Das Schutzziel der Vertraulichkeit wird dabei nur von ESP gewährleistet, weswegen wir AH beim Vergleich bzgl. der Vertraulichkeit ignorieren.
OpenVPN ist eine Implementation eines TLS-basierten VPNs. Die Verschlüsselung wird hierbei von dem TLS-Protokoll übernommen. Deswegen werden wir in diesem Punkt IPSec mit TLS vergleichen.
Für jedes Verschlüsselungsverfahren wird ein Schlüssel benötigt. Daher werden wir uns zunächst die verwendeten Verfahren zum Schlüsselaustausch ansehen. IPSec verwendet meistens Diffie-Hellman, unterstützt aber auch KINK\footnote{Auf Kerberos basierendes Protokoll, dass Schlüsselaustausch- und Authentifizierungsmechanismen bereitstellt. Es wurde noch nicht standardisiert\cite{Alshamsi2005}.}. TLS unterstützt mehrere Verfahren. In diesem Paper beschränken wir uns auf zwei davon: RSA und DH\footnote{Diffie-Hellman}\cite{Alshamsi2005}. %Im Falle von RSA sendet der Client den sogenannten \texttt{pre\_master\_secret}, nachdem dieser mit dem öffentlichen Schlüssel des Servers verschlüsselt wurde. Anhand dieses Wertes kann der Server nun das \texttt{master\_secret} errechnen, womit der Sitzungsschlüssel erzeugt wird. Der Client tut dies ebenfalls.
%Bei DH tauschen Client und Server die öffentlichen DH-Werte aus und erzeugen den \texttt{pre\_master\_secret} unabhängig voneinander.
Es ist ersichtlich, dass IPSec und TLS DH unterstützen. Zusätzlich unterstützt IPSec KINK und TLS RSA. Ein wirklicher Vor- oder Nachteil kann in diesem Fall weder IPSec noch TLS zugesprochen werden. Wenn wir die Verbreitung von KINK bzw. RSA vergleichen, dann liegt RSA vorne, da es seit langem standardisiert ist und es etliche Implementationen gibt.
Ein weiterer Punkt bei der Vertraulichkeit ist die Authentifizierungsmethode. IPSec unterstützt lediglich die gegenseitige Authentifizierung. TLS hingegen unterstützt eine reine Server-Authentifizierung, eine gegenseitige Authentifizierung, die auch Client-Authentifizierung genannt wird und eine anonyme Authentifizierung, bei der nichts authentifiziert wird.\cite{Alshamsi2005}
Bei den Authentifizierungsalgorithmen hat jedoch IPSec einen Vorteil, denn es wird sowohl die Nutzung einer digitalen Signatur als auch die Verwendung eines Algorithmus, der auf einem geheimen Schlüssel basiert, ermöglicht. TLS benötigt hingegen zwangsweise eine digitale Signatur. Sollten alle Algorithmen mit digitaler Signatur ausfallen, kann IPSec weiterhin implementiert werden, TLS jedoch nicht.\cite{Alshamsi2005}
Zusammenfassend kann für den Bereich der Vertraulichkeit gesagt werden, dass sowohl IPSec als auch TLS hinreichende Vertraulichkeit bieten.
\subsection{Integrität}
Neben der Vertraulichkeit ist auch die Integrität wichtig. Daher werden wir im folgenden Abschnitt vergleichen, welche Methoden von IPSec und OpenVPN zur Wahrung der Integrität verwendet werden.
%TODO Vergleich Integrität
Analog zur Vertraulichkeit wird auch hier nicht direkt OpenVPN verglichen, sondern TLS, da dieses zuständig dafür ist.
Als Authentifizierungsverfahren zur Überprüfung der Integrität werden von beiden Message Authentication Codes (kurz: MACs) verwendet. Bei MACs hängt es von dem verwendeten Hashverfahren an, ob die Integrität zuverlässig überprüft werden kann. Sowohl IPSec als auch TLS erfordern die Implementation von HMAC-SHA-1 und HMAC-MD5. HMAC ist eine kryptographische Hashfunktion, die einen geheimen Schlüssel erfordert. Die Sicherheit bzw. Stärke des Algorithmus hängt dabei von der Länge des Schlüssels und des Outputs ab.\cite{Alshamsi2005}
Als Fazit für die Integrität kann gelten, dass es keine wirklichen Unterschiede zwischen IPSec und TLS in diesem Bereich gibt.
\subsection{Verfügbarkeit}
Das dritte Schutzziel ist Verfügbarkeit. Traditionell fallen Dinge wie DDOS-Angriffe\footnote{Distributed-Denial-of-Service-Angriffe} unter dieses Schutzziel bzw. beeinträchtigen es. In unserem Zusammenhang ist jedoch viel wichtiger, wie weit verbreitet IPSec bzw. OpenVPN sind. Bei einer hohen Verbreitung ist es intuitiv gesehen erst einmal einfacher eine Verbindung zwischen zwei Netzen aufzubauen, da die Wahrscheinlichkeit, dass die Gegenstelle die gleiche Lösung (IPSec bzw. OpenVPN) unterstützt, höher ist. Ob dies tatsächlich so ist, werden wir im Rahmen des Vergleichs ergründen.
Das dritte Schutzziel ist Verfügbarkeit. Traditionell fallen Dinge wie DDOS-Angriffe\footnote{Distributed-Denial-of-Service-Angriffe} unter dieses Schutzziel bzw. beeinträchtigen es. In unserem Zusammenhang ist die Durchlässigkeit bei Firewalls von Interesse, also ob ein VPN durch eine der beiden Technologien gezielt geblockt werden kann. Auch die Verbreitung spielt eine Rolle, denn eine weit verbreitete Technologie macht es intuitiv gesehen erst einmal "`einfacher"' eine Verbindung zwischen zwei Netzen aufzubauen.
%TODO Vergleich Verfügbarkeit
Beginnen wir bei Firewalls. Dort gilt, dass IPSec in geringem Maße im Nachteil ist, da es feste Protokolle und Ports benötigt. Ein gezieltes Blocken von IPSec-basierten VPNs ist daher praktikabel. Im Vergleich dazu kann OpenVPN auf jedem Port mit UDP oder TCP laufen. Um restriktive Firewalls zu überwinden, kann der Port 443 und TCP benutzt werden. Dadurch sieht der Traffic von OpenVPN wie normaler HTTPS-Traffic aus und kann nicht gezielt gefiltert werden.\cite{ivpn.net}
Bei der Verbreitung hat IPSec wiederum einen leichten Vorsprung, denn die meisten Betriebssysteme unterstützen es nativ. Für OpenVPN muss hingegen jeweils ein Client installiert werden. Die Form des Client unterscheidet sich je nach Betriebssystem und ist in den meisten Fällen innerhalb von 5 Minuten erledigt.\cite{ivpn.net}
Für die Verwendung hinter hochrestriktiven Firewalls ist OpenVPN im Vorteil, da es die zu 99\% immer offenen Ports 80 und 443 mitbenutzen kann und somit nicht von normalem Browsertraffic zu unterscheiden ist. Bei allen Nutzungsszenarien spielt es jedoch keine Rolle, ob IPSec oder OpenVPN eingesetzt werden.
\subsection{Performance}
Nachdem wir IPSec und OpenVPN bezüglich der Schutzziele verglichen haben, widmen wir uns jetzt der Performance.
@ -137,9 +159,13 @@ Nachdem wir IPSec und OpenVPN bezüglich der Schutzziele verglichen haben, widme
%TODO Vergleich Performance
\subsection{Kompatibilität}
Abschließend vergleichen wir die Hardware verschiedener Hersteller auf Kompatibilität zueinander.
Abschließend gehen wir auf die Kompatibilität der Implementationen verschiedener Hersteller untereinander ein. Uns war es nicht möglich eigene Vergleiche hinsichtlich der Kompatibilität durchzuführen, daher werden wir nur oberflächlich darauf eingehen.
%TODO Vergleich Kompatibilität
OpenVPN benutzt TLS und dieses Protokoll ist seit langem erprobt und von einer Vielzahl an Herstellern implementiert. Obgleich es mit Heartbleed eine Sicherheitslücke in der bekannten Implementation OpenSSL gab, tut das der Kompatibilität keinen Abbruch. Es ist demnach vollkommen egal welche Hardware und welche Software verwendet wird, denn TLS wird mittlerweile in allen gängigen Systemen nativ unterstützt.
Bei IPSec sieht das anders aus. Zwar ist auch IPSec standardisiert, ebenso wie TLS, aber der Umfang der RFCs macht ein Verständnis relativ schwer. Daraus ist auch zu begründen, warum es zu Beginn kaum untereinander kompatible Lösungen gab\cite{Alshamsi2005}. Mittlerweile ist der Standard jedoch älter und auf breiterer Schicht umgesetzt, sodass es zwar noch Unterschiede zwischen TLS und IPSec gibt, diese jedoch nicht mehr ins Gewicht fallen.
Bezüglich der Kompatibilität kommen wir zu dem Fazit, dass IPSec noch im Vergleich zu TLS aufholen muss, allerdings bereits viele der anfänglichen Kompatibilitätsprobleme überwunden hat.
\clearpage