diff --git a/TODO.md b/TODO.md index 405ebf9..c02503b 100644 --- a/TODO.md +++ b/TODO.md @@ -35,3 +35,6 @@ - [x] Nachteile VPN besser erklären -> siehe Single Point of Failure (SPOF) - [x] Server Seitige Angriffe unterscheiden -> Server kann mitlesen, Fake Traffic zum Client senden - [x] Fake Traffik nicht immer +- [x] JF Einleitung Motivation neu schreiben +- [x] JF Einleitung Leitfrage und Ziel von Methode trennen +- [x] JF Ausblick schreiben diff --git a/chapter/abstract.tex b/chapter/abstract.tex index df3d5dd..48c7f8b 100644 --- a/chapter/abstract.tex +++ b/chapter/abstract.tex @@ -1,4 +1,4 @@ \begin{description} - \item[Kurzfassung] Die Anonymität im Internet gewinnt zunehmend an Bedeutung. Zum Schutz der Identität werden anonyme Kommunikationssysteme wie Mixnets, Tor und VPNs eingesetzt. Diese haben jedoch unterschiedliche Vorteile als auch Schwachstellen. Die Arbeit untersucht diese Systeme qualitativ anhand von Performance und gebotener Anonymität und vergleicht diese anschließend miteinander. Ziel dabei ist es, für verschiedene Anwendungsbereiche die optimalen anonymen Kommunikationssysteme zu finden. Hierbei zeigte sich, dass kein System sowohl die höchste Performance als auch Anonymität bietet, sonderen dazwischen abgewogen werden muss. VPN hat die höchste Performance, jedoch die geringste Anonymität. Mixnet hat die höchste gebotene Anonymität, jedoch die niedrigste Performance. Tor hat ein ausgewogenes Verhältnis aus Performance und Anonymität. + \item[Kurzfassung] Die Anonymität im Internet gewinnt zunehmend an Bedeutung. Zum Schutz der Identität werden anonyme Kommunikationssysteme wie Mixnets, Tor und VPNs eingesetzt. Diese haben jedoch unterschiedliche Vorteile als auch Schwachstellen. Die Arbeit untersucht diese Systeme qualitativ anhand von Performance und gebotener Anonymität und vergleicht diese anschließend miteinander. Ziel dabei ist es, für verschiedene Anwendungsbereiche die optimalen anonymen Kommunikationssysteme zu finden. Die Arbeit zeigt, dass kein System sowohl die höchste Performance als auch Anonymität bietet, sondern dazwischen abgewogen werden muss. VPN hat die höchste Performance, jedoch die geringste Anonymität. Mixnet hat die höchste gebotene Anonymität, jedoch die niedrigste Performance. Tor hat ein ausgewogenes Verhältnis aus Performance und Anonymität. \item[Schlüsselwörter] Mixnet $\cdot$ Tor $\cdot$ Virtual Private Network $\cdot$ Overlay Networks \end{description} diff --git a/chapter/discussion_jf.tex b/chapter/discussion_jf.tex new file mode 100644 index 0000000..7c715a3 --- /dev/null +++ b/chapter/discussion_jf.tex @@ -0,0 +1,17 @@ +\section{Ergebnisdiskussion} + +Bei einem qualitativen Vergleich treten verschiedene unvermeidbare Fehler auf. Es wird unter anderem von modellhaften optimalen Bedingungen ausgegangen. Dabei können jedoch externe Faktoren außer Acht gelassen werden. Dieser Ansatz birgt dadurch das Risiko, dass eben dieser externe Kontext, beispielsweise geografisch bedingt, dafür sorgt, dass reale Tests erheblich von den Modellannahmen abweichen. Eine qualitative Untersuchung des Modells kann daher zu erheblichen Diskrepanzen zwischen der Modellvorstellung und den realen Testergebnissen führen, da externe Einflüsse nicht angemessen berücksichtigt werden. + +Ein weiterer Aspekt betrifft die Generalisierung und Vereinfachung komplexer Prozesse durch das Modell. Hierbei besteht die Gefahr, dass möglicherweise unbekannte, aber entscheidende Faktoren bei der Modellbildung übersehen oder vernachlässigt werden. Diese Vereinfachung führt zu einer Verfälschung der Ergebnisse, da wichtige Elemente des komplexen Systems unberücksichtigt bleiben\cite{DisadvantagesOfQualitativApproaches}. + +Darüber hinaus muss für einen Vergleich die zu betrachtenden Objekte, hier anonyme Kommunikationssysteme begrenzt nach vielen Kriterien untersuchen werden, um begründet ein Urteil zu fällen. Das Begrenzen der Kriterien wird zwangsläufig jedoch zu einer Unvollständigkeit in der Bewertung führen. Die gewählten Kriterien decken möglicherweise nicht alle relevanten Aspekte ab, und die Fokussierung auf nur wenige Kriterien können zu einem sogenannten \textit{False Balancing} führen. Dies bedeutet, dass ein Modell eine begrenzte Anzahl an Kriterien scheinbar gleich gewichtet, obwohl in der abgebildeten Realität einige Kriterien deutlich schwerer gewichtet sein sollten als andere. + +\section{Fazit und Ausblick} + +VPNs sind für das Streaming und Messaging geeignet, weil sie eine hohe Leistung bieten und die fehlende Anonymität vernachlässigbar ist. +Mixnets eignen sich für das Banking und Messaging, da hier eine hohe Anonymität geboten wird und der Mangel an Leistung vernachlässigbar ist. +Tor eignet sich aufgrund seiner Ausgewogenheit aus Performance und Anonymität für alle drei Anwendungsbereiche. +Die Ergebnisse dieser Arbeit zeigen, dass der Bereich, für den jemand Tor oder einer der Alternativen nutzen möchte, somit vom individuellen Kontext wie Internetanbieter, Verwendungszweck oder dem Land abhängt. Kein untersuchtes System besitzt sowohl die höchste Anonymität als auch Performance. Daher haben alle Systeme für ihren jeweiligen Anwendungsbereich ihre Daseinsberechtigung. + +Diese Arbeit fokussiert sich ausschließlich auf eine qualitative Untersuchung der anonymen Kommunikationssysteme, die Aufzeigt, dass verschiedene Systeme in einem Kriterium besser sind als ein anderes. Was in dieser Arbeit jedoch fehlt, ist eine quantitative Untersuchung, die aufzeigt, um wie viel ein System besser ist als ein anderes. Besonders zur Untersuchung der Performance bieten sich Tests oder Simulationsumgebungen an. +Hinzu kommt, dass bisher nur Systeme anhand von Kriterien bewertet wurden. Es besteht weiterer Forschungsbedarf neu konkrete Lösungsansätze zu entwickeln, um die Kriterien für die Systeme verbessern zu können. \ No newline at end of file diff --git a/chapter/evaluation_jf.tex b/chapter/evaluation_jf.tex new file mode 100644 index 0000000..69d1e40 --- /dev/null +++ b/chapter/evaluation_jf.tex @@ -0,0 +1,41 @@ +\section{Ergebnisse} + +\subsection{Anonymität} + +Mixnet bietet die höchste Stufe der Anonymität. Dies resultiert aus dem Mixing, dem Routing und der Onion Encryption. Primär sorgt hierbei der Stack durch das Mixen und Verzögern von Nachrichten für einen höheren Schutz gegenüber Tor und Mixnet. Mit Padding und dem optionalen Nutzen von Fake Traffic wird ermöglicht, Daten verschiedener Nutzer aus der Perspektive Dritter gleich aussehen zulassen sowie zu verhindern, dass Dritte sehen können, ob überhaupt kommuniziert wird. +Im Vergleich dazu bietet Tor eine mittlere Anonymität. Es nutzt ebenfalls Onion Encrption. Hinzu kommt das Verwenden von Circuit Constructions. Obwohl verschiedene Angriffsmöglichkeiten existieren, erfordert das Durchbrechen der Anonymität den Übergriff auf mehrere Knotenpunkte, mindestens jedoch einen Entry- und Exit-Node. +Hingegen weist ein VPN eine geringere Anonymität auf, da sämtliche Daten zentral über einen Server umgeleitet werden. Dieser zentrale Punkt der Datenumleitung erleichtert potenziell die Identifikation von Nutzern im Vergleich zu fortschrittlicheren Anonymisierungstechnologien wie Mixnet und Tor. + +\subsection{Performance} + +VPN ist sehr performant, da Daten nur zweimal zusätzlich verschlüsselt werden (1 mal von Nutzer zu Anbieter, und umgekehrt). +Tor hat eine akzeptable Performance. Auf der einen Seite verschlüsselt es zwischen allen Knoten das Datenpaket, wodurch es eine höhere Latenz als VPNs hat. Auf der anderen Seite muss nicht darauf gewartet werden, genug Datenpakete für Mixing zu erhalten, wodurch Nachrichten auch nicht verzögert werden, und es nutzt Circuit Constructions, wodurch der Datenverkehr einmal über eine Route festgelegt wird, und danach für etwa 10 Minuten nicht mehr geändert werden muss. +Mixnet ist sehr langsam aufgrund von mehrfachen Verschlüsselungsverfahren bei den Sendern. Es verzögert Nachrichten, mixt diese und wählt verschiedene Routen, wodurch es eine hohe Latenz hat, was primär zur niedrigen Performance beiträgt. + +\subsection{Zuordnung zu Anwendungsbereichen} + +Zunächst werden Typen von Interaktionen realer Anwendungsbereiche im Internet definiert, um anschließend VPN, Tor und Mixnet hinsichtlich Performance und Anonymität zunächst zu bewerten und in die zuvor definierten Anwendungsbereiche einzuordnen. +Für die Leitfrage werden die folgenden drei Anwendungsbereiche definiert und betrachtet. Diese sollen alle verschiedenen Ansprüche an Performance und Anonymität grob abdecken. Sie haben nicht den Anspruch, jeden möglichen Anwendungsbereich oder alle Zwischenbereiche abzudecken: + +\begin{description} + \item[Streaming] ist die gleichzeitige Übertragung und Wiedergabe von Mediendaten. Es verlangt nach einer hohen Performance, da gleichzeitig Daten übertragen und wiedergegeben werden müssen. Da der Nutzer selbst kaum private Daten dabei sendet, sondern primär erhält, ist keine hohe Anonymität nötig. + \item[Messaging] ist das direkte senden und übertragen von persönlichen Textnachrichten zwischen zwei oder mehr Privatpersonen. Da die Übertragung möglichst unmittelbar ist, sollte eine mittlere Performance gewährleistet sein. Da übertragene Daten jedoch nicht unmittelbar auch wiedergegeben werden und Textnachrichten in der Regel deutlich kleiner als Mediendaten wie Videos oder Bilder sind, wird auch keine so hohe Performance wie beim Streaming gefordert. + \item[Online Banking] ist das Abwickeln von Bankgeschäften im Internet. Dabei muss die Sicherheit der Identität als auch der ausgetauschten Daten maximal sein. Ein Fehler beim Austausch interner Daten kann zu einem kritischen Versagen führen. Daher wird hier eine sehr hohe Anonymität gefordert. Da relativ wenig, dafür jedoch sehr wichtige Daten ausgetauscht werden, und eine hohe Latenz akzeptabel ist, wird nur eine geringe Performance benötigt. +\end{description} + +Die anonymen Kommunikationssysteme werden relativ zu allen anderen betrachteten Systemen anhand ihrer Anonymität und Performance bewertet. + +VPN bietet die höchste Performance und die niedrigste Anonymität. Da über nur einen Server der Datenverkehr geleitet und verschlüsselt wird, ist die Performance sehr hoch. Gleichzeitig führt dies zu einer hohen Zentralität, was eine Schwachstelle für Anonymität ist und verschiedene Angriffsmöglichkeiten bietet. Es verhindert, dass Services den Ursprung von Anfragen sehen, erlaubt jedoch, dass der VPN-Server sowohl Ursprung als auch Ziel sehen kann. + +Tor bietet ein ausgewogenes Verhältnis aus Performance und Anonymität. Es versendet Nachrichten über Entry-, Middle- und Exit-Node und verschlüsselt über Onion Encryption. Es nutzt Padding, um Nachrichten auf eine gleiche Länge zu bringen. Entry-Nodes können nur den Ursprung sehen, Exit-Nodes nur das Ziel einer Nachricht. Nachrichten werden so versendet, wie sie erhalten wurden. Circuit Construction nutzt für etwa 10 Minuten dieselbe Route. Diese beiden Faktoren erlauben es, während dessen durch Betrachten des Netzwerkes Nutzer aufgrund ihres Datenverkehrs zu Deanonymisieren. + +Mixnet bietet die niedrigste Performance und die höchste Anonymität. Es verwendet eine ähnliche Topologie wie Tor. Es nutzt Onion Encryption und Padding. Zusätzlich wird in Stapeln die Reihenfolge der ankommenden und gesendeten Nachrichten geändert und verzögert. Es nutzt keine Circuit Construction sondern wählt bei jeder Verbindung eine neu zufällige Route. + +\begin{figure}[h!] + \centering + \includesvg[width=\linewidth]{graph/systems_discussion.svg} + \caption{Anonymität und Performance bei VPN, Tor und Mixnet hängen indirekt voneinander ab. Umso höher die Performance ist, umso geringer ist auch die Anonymität und umgekehrt.} + \label{imgs:systems_discussion} +\end{figure} + +Diese Untersuchung zeigt, dass hohe Performance und Anonymität für die hier betrachteten Systeme sich gegenseitig ausschließen (Abbildung \ref{imgs:systems_discussion}). Dies liegt daran, dass bei den hier untersuchten anonymen Kommunikationssystemen eine höhere Performance auf Kosten der Anonymität besteht, und umgekehrt. Daraus resultiert, dass kein System alleine die höchste Performance und Anonymität bietet. Welches System optimal ist, ist ein Abwägen zwischen Performance und Anonymität. Somit haben alle untersuchten Systeme ihre Berechtigung für ihre Anwendungsbeispiele. diff --git a/chapter/introduction_jf.tex b/chapter/introduction_jf.tex new file mode 100644 index 0000000..3c3e97f --- /dev/null +++ b/chapter/introduction_jf.tex @@ -0,0 +1,21 @@ +\section{Motivation} + +Mit einer fortschreitenden Digitalisierung kommt auch eine verstärkte Vernetzung von Gruppen als auch Firmen. Mit den Vorteilen dieser Entwicklung kommen jedoch auch Schattenseiten. Auf dem Markt der perfekt individuell zugeschnittenen Werbung werden gesammelte Daten ungewollt zur Ware. Eine digitale Vernetzung vereinfacht eine staatliche Überwachung. +Ein Hauptproblem der verstärkten Vernetzung ist eine sinkende Anonymität im Internet. +Ein Lösungsansatz für dieses Problem ist der Einsatz anonymer Kommunikationssysteme wie Mixnet, VPN und Tor. Diese Versprechen die Anonymität ihrer Nutzer zu erhöhen. Doch inwieweit sind sie in der Lage, ihre Nutzer zu anonymisieren? Wie performant sind sie? Und in welchen Bereichen des Alltags ist es sinnvoll, diese einzusetzen? + +\section{Fragestellung} + +Ziel der Arbeit ist es VPNs, Tor und Mixnets aufgrund ihrer Topologie als auch Funktionsweise zu untersuchen und zu bewerten. Es soll aufgezeigt werden, welches System für welche Bereiche geeignet ist. + +\section{Methode} + +Die vorliegenden anonymen Kommunikationssysteme sollen zunächst qualitativ untersucht werden. Danach werden diese anhand fest definierter Kriterien bewertet und miteinander verglichen. Abschließend erfolgt eine Zuordnung der Systeme zu möglichen Anwendungsbereichen. Hierbei sollen folgende Kriterien berücksichtigt werden: + +\begin{description} + \item[Anonymität] wird hier definiert, dass ein Nutzer eine Ressource oder Dienst nutzen kann, ohne dass seine Identität offengelegt wird. Sie bezieht sich auf die Fähigkeit eines Kommunikationssystems, die Identität und persönlichen Informationen der Nutzer zu verbergen oder zu verschleiern. Ein anonymes Kommunikationssystem hat zum Ziel, dass Handlungen, Nachrichten oder Interaktionen eines Benutzers keine Rückschlüsse auf seine Identität zulassen. Dies bedeutet auch, dass nicht bekannt ist, welcher Nutzer mit wem kommuniziert\cite{DefinitionOfAnonymity}. + + \item[Performance] bezieht sich auf die Leistungsfähigkeit und Verzögerung in der Übermittlung von Nachrichten eines anonymen Kommunikationssystems. Hierbei sind die Faktoren Latenz und Durchsatz entscheidend. Ein performantes System gewährleistet optimalen Durchsatz als auch Latenz, ohne dabei grundlegende Systemeigenschaften zu beeinträchtigen. Der Durchsatz entspricht der Masse an Daten, die in einer gewissen Zeitspanne übermittelt werden. Der Durchsatz eines Systems soll maximal sein. Die Latenz entspricht der zeitlichen Verzögerung, die zwischen dem Senden einer Nachricht bis zum Empfangen einer Nachricht besteht. Die Latenz eines Systems soll minimal sein\cite{ComputerNetworkPerformanceAnalysis}. +\end{description} + +Um diese Kriterien für die einzelnen anonymen Kommunikationssysteme begründet bewerten zu können, wird die Funktionsweise als auch mögliche Angriffe auf ein solches System untersucht. Als Anwendungsbereiche werden \textit{Streaming}, \textit{Messaging} und \textit{Online Banking} betrachtet und definiert. \ No newline at end of file diff --git a/chapter/mixnet.tex b/chapter/mixnet.tex index 2573ea8..c973aca 100644 --- a/chapter/mixnet.tex +++ b/chapter/mixnet.tex @@ -17,11 +17,11 @@ \subsection{Topologie und Funktionsweise} \begin{figure}[h!] \centering \includesvg[width=\linewidth]{graph/mixnet.svg} - \caption{Die Nutzer wählen jedes mal zufällig eine neue Route durch das Mixnet zum Service. Dabei hat jeder Knoten die selbe Wahrscheinlichkeit von allen Nutzern gewählt zu werden wie jeder andere.} + \caption{Die Nutzer wählen jedes Mal zufällig eine neue Route durch das Mixnet zum Service. Dabei hat jeder Knoten dieselbe Wahrscheinlichkeit von allen Nutzern gewählt zu werden wie jeder andere.} \label{imgs:mixnet} \end{figure} -Beim Routing von Mixnet wird anders als bei Tor keine Circuits aufgebaut, sondern es wird jedes mal eine neue Route zufällig gewählt. Dabei hat jeder Knoten innerhalb der selben Ebene die gleiche Wahrscheinlichkeit, von allen Nutzern ausgewählt zu werden wie jeder andere (Abbildung \ref{imgs:mixnet})\cite{MixnetRouteAlgorithm}. Wie auch bei Tor unterteilt auch Mixnet die Knoten in Entry-, Middle- und Exit-Nodes. +Beim Routing von Mixnet wird anders als bei Tor keine Circuits aufgebaut, sondern es wird jedes Mal eine neue Route zufällig gewählt. Dabei hat jeder Knoten innerhalb derselben Ebene die gleiche Wahrscheinlichkeit, von allen Nutzern ausgewählt zu werden wie jeder andere (Abbildung \ref{imgs:mixnet})\cite{MixnetRouteAlgorithm}. Wie auch bei Tor unterteilt auch Mixnet die Knoten in Entry-, Middle- und Exit-Nodes. \begin{figure}[h!] \centering @@ -32,7 +32,7 @@ \subsection{Topologie und Funktionsweise} Bei Mixnet-Knoten wird ein Stack verwendet (Abbildung \ref{imgs:mixnet_stack}). Dieser funktioniert, indem die MIX die Nachrichten sammeln. Nachdem sie eine gewisse Anzahl an Nachrichten erhalten haben, werden alle erhaltenen Nachrichten zufällig neu gemischt (Mixing). Die Nachrichten werden dann in der neu gemischten Reihenfolge wieder versendet. Ziel dabei ist, dass die Reihenfolge der gesendeten Nachrichten nicht der Reihenfolge der erhaltenen Nachrichten entspricht. Somit ist es nicht möglich, durch das passive Betrachten der Kommunikation bei einem MIX Rückschlüsse auf den Ursprung der versendeten Nachrichten zu ziehen. Jedoch entsteht dadurch, dass der MIX zunächst die Nachrichten sammeln muss, eine Verzögerung\cite{MixnetStack}. -Ein Knoten kann erkennen, von welchem Server ein Paket gesendet wurde und an welchem Server es weitergeleitet wird. Dieser kann jedoch weder den Zeitpunkt noch die Größe des ursprüngliche Paketes bestimmen, da Padding auf die Nachrichten angewendet wird. +Ein Knoten kann erkennen, von welchem Server ein Paket gesendet wurde und an welchem Server es weitergeleitet wird. Dieser kann jedoch weder den Zeitpunkt noch die Größe des ursprünglichen Paketes bestimmen, da Padding auf die Nachrichten angewendet wird. Die Bedeutung dieses Prozesses liegt in seiner Fähigkeit, den Kommunikationsteilnehmern Anonymität zu bieten, indem Pfade beim Routing zufällig ausgewählt werden, Padding und Mixing angewendet wird, sowie Nachrichten durch Onion Encryption verschlüsselt sind. Ein Beobachter, selbst wenn er die gesamte Kommunikation zwischen MIXen verfolgt, könnte daher nicht Nachrichten mit ihren ursprünglichen Absendern und Empfängern verknüpfen. Somit sind zwei Nachrichten unterschiedlicher Nutzer nicht voneinander im Netzwerk unterscheidbar (Abbildung \ref{imgs:mixnet_transfer}). @@ -48,7 +48,7 @@ \subsection{Topologie und Funktionsweise} \subsection{Weiterentwicklungen} \label{chap:mixnet_enhancements} -MIX-Netze haben sich über das ursprüngliche Konzept hinaus weiterentwickelt und zu verschiedenen Verbesserungen geführt: +MIX-Netze haben sich über das ursprüngliche Konzept hinaus weiterentwickelt und zu verschiedenen Verbesserungen geführt. Es ist wichtig festzustellen, dass je nach Implementierung eines MIX-Netzes verschiedene Funktion angeboten werden bzw. Fehlen. In der nachfolgen Bewertung werden die folgenden Weiterentwicklungen mit einbezogen: \begin{itemize} \item Stop-and-Go-MIX-Netze: Hierbei handelt es sich um Varianten von MIX-Netzen, die kontrollierte Pausen in den Nachrichtenverarbeitungsfluss einführen, um die Sicherheit zu erhöhen. @@ -58,19 +58,19 @@ \subsection{Weiterentwicklungen} Einige Mixnets setzten zusätzlich \textit{Cover Traffic} ein. Cover Traffic sind künstlich generierte Nachrichten, die zusätzlich zu echten Nachrichten der Nutzer versendet werden. Ein Knoten im Netzwerk kann dadurch nicht feststellen, ob ein Nutzer überhaupt kommuniziert. Hinzu kommt, das Cover Traffic die Latenz senken kann\cite{MixnetOptimizationMethods}. -\subsection{Vorteile} -\label{chap:mixnet_advantages} +\subsection{Mögliche Angriffe} +\label{chap:mixnet_attacks} -Timig Attacks sind bei Mixnet im Gegensatz zu anderen Systemen nicht möglich, da die Reihenfolge der Nachrichten, indem diese ankommen, zufällig verändert und verzögert werden (Kapitel \ref{chap:tor_disatvantages}). Dadurch entspricht die Reihenfolge der abgesendeten Nachrichten nicht der Reihenfolge der Nachrichten, die angekommen sind, wodurch für Dritten unbekannt ist, welche angekommene Nachricht wohin versendet wurde. Da alle Knoten dies Anwenden, können Dritte als auch einzelne Knoten selbst nicht die Nachricht nachverfolgen\cite{MixNetworksSecureApplications}. +Timig Attacks sind bei Mixnet im Gegensatz zu anderen Systemen nicht möglich, da die Reihenfolge der Nachrichten, indem diese ankommen, zufällig verändert und verzögert werden (Kapitel \ref{chap:tor_attacks}). Dadurch entspricht die Reihenfolge der abgesendeten Nachrichten nicht der Reihenfolge der Nachrichten, die angekommen sind, wodurch für Dritten unbekannt ist, welche angekommene Nachricht wohin versendet wurde. Da alle Knoten dies Anwenden können Dritte als auch einzelne Knoten selbst nicht die Nachricht nachverfolgen\cite{MixNetworksSecureApplications}. Es kann bei Systemen die zusätzlich \textit{Cofer Traffic} senden, nicht festgestellt werden, ob überhaupt kommuniziert wird. Cover Traffic wird von Nutzern zusätzlich zu echten Nachrichten im Netzwerk gesendet. Wenn eine Nachricht von einem Nutzer ausgesendet wird, decken diese generierten Nachrichten den echten Datenverkehr. Der Cover Traffic ist von außen mit echten Nachrichten identisch. Diese Nachrichten werden ausgesendet, damit Dritte nicht erkennen können, ob der Nutzer überhaupt kommuniziert\cite{LoopixAnonymitySystem}. -Darüber hinaus können Mixnets abhängig von der Implementierung gut monetarisierbar sein. Die Organisation Nym stellt dafür ein System vor, wo auf dem Mixnet eine Blockchain für Cryptowährungen gebaut sind. Dabei werden Gewinne aus der Blockchain mit den Server Hostern geteilt. Dies ermöglicht es, finanziell die Kosten der Hoster zu decken und somit eine langfristig nachhaltige Finanzierung zu gewährleisten\cite{RewardSharingForMixnets}. +Darüber hinaus können Mixnets abhängig von der Implementierung gut monetarisierbar sein. Die Organisation Nym stellt dafür ein System vor, wo auf dem Mixnet eine Blockchain für Kryptowährungen gebaut sind. Dabei werden Gewinne aus der Blockchain mit den Server Hostern geteilt. Dies ermöglicht es, finanziell die Kosten der Hoster zu decken und somit eine langfristig nachhaltige Finanzierung zu gewährleisten\cite{RewardSharingForMixnets}. -\subsection{Nachteile} -\label{chap:mixnet_disadvantages} +\subsection{Anonymität und Performance} +\label{chap:mixnet_anonymity_performance} -Mixnet bietet einen hohen Schutz gegen verschiedene Angriffe und somit eine hohe Anonymität. Dabei wird jedoch die Performance beeinträchtig. +Mixnet bietet einen hohen Schutz gegen verschiedene Angriffe und somit eine hohe Anonymität. Dabei wird jedoch die Performance beeinträchtigt. Die Latenz ist bei Mixnets deutlich höher. Dies hat zwei Gründe. Primär liegt es daran, dass bei Stop-and-Go-MIX-Netze die Verzögerung beim Versenden der Nachricht die Latenz deutlich erhöht, da immer im Stack gewartet wird, bis genug Nachrichten angekommen sind, um diese dann anschließend zu mixen. Hinzu kommt, dass zwischen jedem Knoten die Daten verschlüsselt werden müssen. Umso häufiger eine Nachricht verschlüsselt wird, umso größer ist auch die Verzögerung, welche entsteht\cite{EffectivenessOfMixnets}. diff --git a/chapter/overlay_network.tex b/chapter/overlay_network.tex index 90452ec..c13f0da 100644 --- a/chapter/overlay_network.tex +++ b/chapter/overlay_network.tex @@ -1,12 +1,13 @@ \section{Overlay Networks} \label{chap:overlay_networks} -Ein Overlay Network (Abbildung \ref{imgs:overlay_network}) besteht aus Servern, welche über das Internet verteilt sind und als zusätzliche Schicht fungieren, die über das bereits bestehende Netzwerk gezogen wird. Dieses Overlay stellt einer oder mehreren Anwendungen die Infrastruktur zur Verfügung. Dies bedeutet, dass über die bereits bestehenden physischen Netzwerkverbindungen (Underlay) eine neue Virtuelle Topologie (Overlay) gelegt wird, um mehr Funktionen wie neue Protokolle oder vereinfachtes Routing zu bieten. Entscheidend ist, dass diese Overlays die Verantwortung für die Weiterleitung und Verwaltung von Anwendungsdaten übernehmen und dabei oft von der zugrundelegenden Internet-Infrastruktur abweichen\cite{OverlayNetwork}. +Da alle untersuchten anonyme Kommunikationssysteme auch \textit{Overlay Networks} sind, wird hier zunächst die Funktionsweise von Overlay Networks generell erklärt. +Ein solches Netzwerk (Abbildung \ref{imgs:overlay_network}) besteht aus Servern, welche über das Internet verteilt sind und als zusätzliche Schicht fungieren, die über das bereits bestehende Netzwerk gezogen wird. Dieses Overlay stellt einer oder mehreren Anwendungen die Infrastruktur zur Verfügung. Dies bedeutet, dass über die bereits bestehenden physischen Netzwerkverbindungen (Underlay) eine neue Virtuelle Topologie (Overlay) gelegt wird, um mehr Funktionen wie neue Protokolle oder vereinfachtes Routing zu bieten. Entscheidend ist, dass diese Overlays die Verantwortung für die Weiterleitung und Verwaltung von Anwendungsdaten übernehmen und dabei oft von der zugrundelegenden Internet-Infrastruktur abweichen\cite{OverlayNetwork}. \begin{figure}[h!] \centering \includesvg{graph/overlay_network.svg} - \caption{In einem Overlay Network (Gekennzeichet durch O) wird eine Nachricht von O1 zu O4 gesendet, wodurch eine physische Nachricht im Underlay Network (gekennzeichnet durch U) von U1 über U2 und U3 zu U4 stattfindet.} + \caption{In einem Overlay Network (gekennzeichnet durch O) wird eine Nachricht von O1 zu O4 gesendet, wodurch eine physische Nachricht im Underlay Network (gekennzeichnet durch U) von U1 über U2 und U3 zu U4 stattfindet.} \label{imgs:overlay_network} \end{figure} diff --git a/chapter/tor.tex b/chapter/tor.tex index d8d5955..a9983f4 100644 --- a/chapter/tor.tex +++ b/chapter/tor.tex @@ -17,37 +17,30 @@ \subsection{Topologie und Funktionsweise} \begin{description} \item[Entry-Nodes] sind die Server, mit denen sich ein Nutzer mit dem Tor-Netzwerk verbindet. Sein Datenverkehr wird über dem Entry-Node geleitet, der der erste Kontaktpunkt mit dem Tor-Netzwerk ist. Dieser Node ist dafür verantwortlich, die äußerste Schicht der Verschlüsselung zu entfernen, wie das Schälen einer Zwiebel, um das nächste Ziel im \textit{Circuit} zu enthüllen. Der Entry-Node kennt die IP-Adresse des Benutzers und weiß, woher der Verkehr kommt. Aufgrund der Verschlüsselungsschichten kennt der Entry-Node jedoch nicht das endgültige Ziel der Daten. - \item[Middle-Nodes] verbinden Entry-Nodes mit Exit-Nodes. Sie entfernen beim weiterleiten eine weitere Schicht. Der Middle-Node wird verwendet, damit Entry- und Exit-Nodes nicht voneinander wissen, um so verschiedene Angriffe zum Nachverfolgen von Traffic zu verhindern. + \item[Middle-Nodes] verbinden Entry-Nodes mit Exit-Nodes. Sie entfernen beim Weiterleiten eine weitere Schicht. Der Middle-Node wird verwendet, damit Entry- und Exit-Nodes nicht voneinander wissen, um so verschiedene Angriffe zum Nachverfolgen von Traffic zu verhindern. \item[Exit-Nodes] sind die letzte Server in der Schaltung. Der Exit-Node ist dafür verantwortlich, die Anfrage des Benutzers an das gewünschte Ziel im Internet zu senden. Zu diesem Zeitpunkt sind die Daten entschlüsselt worden und liegen in ihrer ursprünglichen Form vor. Daher kennt der Exit-Node das endgültige Ziel des Datenverkehrs, hat aber keine Informationen über die IP-Adresse des Benutzers oder die ursprüngliche Quelle. \end{description} -Tor nutzt Circuit Construction. Um die Anonymität zu wahren, baut Tor \textit{Circuits} auf, indem es mehrere Server aneinander kettet. Circuits sind hierbei ein Pfad durch das Tor Netzwerk, der den Nutzer mit einem Zielserver verbindet. Während der Circuit besteht, wird der gesamte Datenverkehr zwischen Nutzer unt Ziel über den Pfad geleitet. Dabei wird immer ein Entry-Node, Middle-Node und Exit-Node miteinander verbunden. Jeder Node weiß nur über den vorherigen und den nächsten Node im Circuit Bescheid, sodass keine einzelne Instanz einen vollständigen Überblick über die Online-Aktivitäten des Benutzers hat. Der Entry-Node kennt daher nur die IP-Adresse des Benutzers und des Middle-Nodes im Circuit, nicht aber das endgültige Ziel. Die Strecke der Router bleibt somit während des Datenverkehrs gleich, was den Hauptunterschied zu Mixnet darstellt (Kapitel \ref{chap:mixnet_topology}). Tor erstellt und nutzt etwa aller 10 Minuten einen neuen Circuit. +Tor nutzt Circuit Construction. Um die Anonymität zu wahren, baut Tor \textit{Circuits} auf, indem es mehrere Server aneinander kettet. Circuits sind hierbei ein Pfad durch das Tor Netzwerk, der den Nutzer mit einem Zielserver verbindet. Während der Circuit besteht, wird der gesamte Datenverkehr zwischen Nutzer und Ziel über den Pfad geleitet. Dabei wird immer ein Entry-Node, Middle-Node und Exit-Node miteinander verbunden. Jeder Node weiß nur über den vorherigen und den nächsten Node im Circuit Bescheid, sodass keine einzelne Instanz einen vollständigen Überblick über die Online-Aktivitäten des Benutzers hat. Der Entry-Node kennt daher nur die IP-Adresse des Benutzers und des Middle-Nodes im Circuit, nicht aber das endgültige Ziel. Die Strecke der Router bleibt somit während des Datenverkehrs gleich, was den Hauptunterschied zu Mixnet darstellt (Kapitel \ref{chap:mixnet_topology}). Tor erstellt und nutzt etwa aller 10 Minuten einen neuen Circuit. \begin{figure}[!h] \begin{displaymath} c = \mathrm{enc}_{1}\Big(\mathrm{enc}_{3}\big(\mathrm{enc}_{5}(m)\big)\Big) \end{displaymath} - \caption{Aus einer ursprüngliche Nachricht $m$ ensteht für den Pfad von Abbildung \ref{imgs:tor} die verschlüsselte Nachricht $c$. Hierfür wird eine Nachricht mit dem öffentlichen Schlüssel des Exit Nodes, dann mit dem öffentlichen Schlüssel des Middle Nodes und zum Schluss mit dem öffentlichen Schlüssel des Entry Nodes verschlüsselt.} + \caption{Aus einer ursprünglichen Nachricht $m$ entsteht für den Pfad von Abbildung \ref{imgs:tor} die verschlüsselte Nachricht $c$. Hierfür wird eine Nachricht mit dem öffentlichen Schlüssel des Exit Nodes, dann mit dem öffentlichen Schlüssel des Middle Nodes und zum Schluss mit dem öffentlichen Schlüssel des Entry Nodes verschlüsselt.} \label{equa:encryption} \end{figure} -Hinzu kommt, das Tor für die Verschlüsselung Onion Encryption nutzt (Abbildung \ref{equa:encryption}). Dabei kann der Entry-Node nur seinen Teil der Nachricht entschlüsseln und diese dann weiter senden. Ziel dabei ist, dass nur der Exit-Node die ursprüngliche Nachricht kennt und weiß, mit welchen Service sich der Nutzer verbinden möchte. Dies bedeutet jedoch auch, dass die Nachricht zwischen jedem Node verschlüsselt werden muss\footnote{\cite{OnionRoutingApproaches}, Survey of Onion Routing Approaches: Advantages, Limitations and Future Scopes}. +Hinzu kommt, das Tor für die Verschlüsselung Onion Encryption nutzt (Abbildung \ref{equa:encryption}). Dabei kann der Entry-Node nur seinen Teil der Nachricht entschlüsseln und diese dann weiter senden. Ziel dabei ist, dass nur der Exit-Node die ursprüngliche Nachricht kennt und weiß, mit welchen Service sich der Nutzer verbinden möchte. Dies bedeutet jedoch auch, dass die Nachricht zwischen jedem Node verschlüsselt werden muss\cite{OnionRoutingApproaches}. Darüber hinaus wird bei den Nachrichten \textit{Padding} genutzt. Beim Padding werden Nachrichten unterschiedlicher Länge auf die gleiche Größe $k$ gebracht, um zu verhindern, dass Nachrichten aufgrund ihrer Länge identifiziert werden. Alle Nachrichten, die kleiner als $k$ sind, werden solange mit Bits aufgefüllt, bis sie der Länge $k$ entsprechen. Nachrichten, die größer sind als $k$ werden in mehrere kleinere Nachrichten aufgeteilt, die dann wieder aufgefüllt und aufgeteilt werden, bis ihre Länge $k$ entspricht\cite{TorPadding}. -Ein Tor-Server kann einsehen, von welchem vorherigen Server die Nachricht wann erhalten wurde und welcher Server als nächstes die Nachricht erhält. Darüber hinaus kann der Entry-Node den Sender und der Exit-Node den Empfänger einsehen. +Ein Tor-Server kann einsehen, von welchem vorherigen Server die Nachricht wann erhalten wurde und welcher Server als Nächstes die Nachricht erhält. Darüber hinaus kann der Entry-Node den Sender und der Exit-Node den Empfänger einsehen. Die mehrschichtige Verschlüsselung und das Onion Routing in Tor bieten ein hohes Maß an Anonymität. Der Entry-Node und der Exit-Node haben nur teilweise Informationen über die Daten und ihren Ursprung oder ihr Ziel. Das macht es für jeden, der den Netzwerkverkehr beobachtet schwierig, die Quelle und das Ziel der Daten zu bestimmen\cite{TorWhitePaper}. -\subsection{Vorteile} -\label{chap:tor_advantages} - -Tor erlaubt eine verhältnismäßig hohe Anonymität und Performance. Zwischen jeden der Nodes werden die Datenpakete mit Onion Encryption entschlüsselt. Die Nodes können nicht Ursprung und Ziel einer Nachricht sehen. Gleichzeitig bleibt Latenz niedrig und Durchsatz hoch, da Circuit Construction und ein direktes weiterleiten von Nachrichten die Performance geringfügig beeinträchtigen. Die Performance ist geringer als VPN, da anstatt über nur einen VPN Server die Daten über drei Server durch einen Entry-Node, Middle-Node und Exit-Node geleitet werden müssen\cite{PerformanceAndSecurityTor}. - -Der Erfolg von Angriffen auf das Tor-Netzwerk (Kapitel \ref{chap:tor_disatvantages}) hängt unter anderem auch von der Anzahl an Entry- und Exit-Nodes ab. Mit einer größeren Anzahl an Servern nimmt die Erfolgchance von Angriffen expotenziel ab. Somit können durch ein hohes Angebot an Servern die Erfolgchance gegen Null gehen, wodurch Tor sehr sicher trotz verschiedener Angriffe wird. - -\subsection{Nachteile} -\label{chap:tor_disatvantages} +\subsection{Mögliche Angriffe} +\label{chap:tor_attacks} \begin{figure}[h!] \centering @@ -56,11 +49,11 @@ \subsection{Nachteile} \label{imgs:tor_transfer} \end{figure} -Tor bietet auf Grund seiner Topologie Möglichkeiten für verschiedene Angriffe. Exemplarisch werden hierbei zwei Angriffsmöglichkeiten vorgestellt. +Tor bietet aufgrund seiner Topologie Möglichkeiten für verschiedene Angriffe. Exemplarisch werden hierbei zwei Angriffsmöglichkeiten vorgestellt. Beim \textit{Fingerprinting Attack} auf Tor versucht der Angreifer die Webseiten, die ein Nutzer besucht, anhand der Verkehrsmuster und der Merkmale des Datenflusses zu identifizieren. Dieser Angriff ist aufgrund der Topologie von Tor besonders schwierig. Beim ursprünglichen Fingerprinting Attack macht sich der Angreifer die Tatsache zunutze, dass Webseiten aus mehreren Dateien bestehen, von denen jede eine bestimmte Dateigröße hat. Durch die Überwachung des Datenverkehrs und das Zählen der Paketgrößen auf verschiedenen Ports kann der Angreifer einen eindeutigen Fingerabdruck für jede Webseite erstellen, der auf der Menge der Dateigrößen basiert\cite{AttacksOnTor}. -Tor, als Anonymitätssystem, stellt diese Art von Angriffen vor gewisse Herausforderungen. Da Tor Padding verwendet, ist es für den Angreifer nicht möglich, die Dateigrößen genau zu bestimmen. Außerdem verwendet Tor Multiplexing, um alle TCP-Streams in einer Verbindung zu kombinieren, was es dem Angreifer weiter erschwert, zwischen den Verbindungen zu unterscheiden. +Tor, als anonymes Kommunikationssystem, stellt diese Art von Angriffen vor gewisse Herausforderungen. Da Tor Padding verwendet, ist es für den Angreifer nicht möglich, die Dateigrößen genau zu bestimmen. Außerdem verwendet Tor Multiplexing, um alle TCP-Streams in einer Verbindung zu kombinieren, was es dem Angreifer weiter erschwert, zwischen den Verbindungen zu unterscheiden. Das Bedrohungsmodell für diesen Fingerprinting Attack geht davon aus, dass der Angreifer den Zugangsrouter des Benutzers besetzt und alle Datenströme des Benutzers beobachtet. Ziel ist es, zu erraten, auf welche Webseite der Benutzer gerade zugreift. Dieser Angriff wird im Vergleich zu anderen Angriffen als ressourcenschonend angesehen und ist daher leichter durchführbar. @@ -68,10 +61,17 @@ \subsection{Nachteile} Die Wahl des richtigen Fingerabdruckvektors ist entscheidend. Im Zusammenhang mit Tor geht es nicht nur um Dateigrößen, sondern auch darum, die Netzwerkbedingungen des Benutzers widerzuspiegeln. Der Angreifer kann eine Webseite mehrmals aufrufen, Vektoren aufzeichnen und Ähnlichkeitswerte zwischen ihnen berechnen. Der Vektor mit der höchsten Punktzahl wird als Fingerabdruck ausgewählt und repräsentiert sowohl die Eigenschaften der Webseite als auch die Netzwerkbedingungen des Benutzers\cite{FingerprintingOnTorAttack}. -Eine andere Angriffsmöglichkeit sind \textit{Timing Attacks}. Bei Timing Attacks werden die Tor-Clients mittels Zeit-Analyse deanymisiert. Der Angreifer richtet zwei übernommene Nodes im Tor-Netzwerk ein, wobei einer als Entry-Node und der andere als Exit-Node fungiert. Zusätzlich wird für die Zeit-Analyse der Datenverkehr protokolliert. Der Angriff nutzt einen übernommenen Entry-Node, um den gesamten für Tor-Clients bestimmten HTTP-Verkehr zu manipulieren. Hierbei wird ein Signalgenerator in Webseiten eingefügt. +Eine andere Angriffsmöglichkeit sind \textit{Timing Attacks}. Bei Timing Attacks werden die Tor-Clients mittels Zeit-Analyse deanonymisiert. Der Angreifer richtet zwei übernommene Nodes im Tor-Netzwerk ein, wobei einer als Entry-Node und der andere als Exit-Node fungiert. Zusätzlich wird für die Zeit-Analyse der Datenverkehr protokolliert. Der Angriff nutzt einen übernommenen Entry-Node, um den gesamten für Tor-Clients bestimmten HTTP-Verkehr zu manipulieren. Hierbei wird ein Signalgenerator in Webseiten eingefügt. Beim Surfen senden die Webbrowser der Tor-Clients kontinuierlich ein eineindeutiges Signal an den übernommenen Server, wobei die Zeit gemessen wird. Dieser Prozess bleibt so lange aktiv, wie der Benutzer den kompromittierten Browser-Tab geöffnet hält. Etwa alle zehn Minuten wechselt der Tor-Client den Circuit, bis dieser eventuell einen übernommen Entry-Node auswählt. Der Angreifer, der den übernommenen Entry-Nodes kontrolliert, führt eine Verkehrsanalyse durch, indem er die Signale, die durch den Nodes laufen, mit den Signalen vergleicht, die der Server empfängt. Wenn eine Übereinstimmung vorliegt, wird die Identität des Tor-Clients zusammen mit dem entsprechenden Verkehrsverlauf offengelegt, während er den kompromittierten Exit-Node benutzt hat (Abbildung \ref{imgs:tor_transfer}). Der Angriff macht sich die Zeitanalyse zunutze, um die Intervalle zwischen Circuit-Wechseln und Signalübertragungen zu ermitteln. Obwohl Entry-Nodes eine Standardfunktion in Tor sind und diesen Angriff teilweise entschärfen, bleibt die Methode dennoch effektiv. Der Angriff kann durch den Einsatz mehrerer übernommener Tor-Entry-Node skaliert werden, was die Zeit zur Kompromittierung der Anonymität eines Clients verringert. Die Verwendung eines Signalgenerators ermöglicht die Entkopplung der Kontrolle über Entry- und Exit-Nodes, was den Prozess weiter vereinfacht\cite{BrowserBasedAttacksOnTor}. + +Der Erfolg von Angriffen auf das Tor-Netzwerk hängt unter anderem auch von der Anzahl an Entry- und Exit-Nodes ab. Mit einer größeren Anzahl an Servern nimmt die Erfolgschance von Angriffen expotenziel ab. Somit können durch ein hohes Angebot an Servern die Erfolgschance gegen null gehen, wodurch Tor sehr sicher trotz verschiedener Angriffe wird. + +\subsection{Anonymität und Performance} +\label{chap:tor_anonymity_performance} + +Tor erlaubt eine verhältnismäßig hohe Anonymität und Performance. Zwischen jeden der Nodes werden die Datenpakete mit Onion Encryption entschlüsselt. Die Nodes können nicht Ursprung und Ziel einer Nachricht sehen. Gleichzeitig bleibt Latenz niedrig und Durchsatz hoch, da Circuit Construction und ein direktes Weiterleiten von Nachrichten die Performance geringfügig beeinträchtigen. Die Performance ist geringer als VPN, da anstatt über nur einen VPN Server die Daten über drei Server durch einen Entry-Node, Middle-Node und Exit-Node geleitet werden müssen\cite{PerformanceAndSecurityTor}. diff --git a/chapter/vpn.tex b/chapter/vpn.tex index 5e19981..feccbbd 100644 --- a/chapter/vpn.tex +++ b/chapter/vpn.tex @@ -11,11 +11,11 @@ \subsection{Topologie und Funktionsweise} \label{imgs:vpn} \end{figure} -Ziel eines virtuellen privaten Netzwerkes (VPN) ist es, dass die Services nicht durch Anfragen auf die Nutzer schließen können. Dabei verbindet ein VPN in einem Overlay Network Nutzer mit ihrern Services über einen VPN Server. Um dieses System zu erklären, werden zunächst die Bestandteile des Begriffes einzeln erklärt: +Ziel eines virtuellen privaten Netzwerkes (VPN) ist es, dass die Services nicht durch Anfragen auf die Nutzer schließen können. Dabei verbindet ein VPN in einem Overlay Network Nutzer mit ihren Services über einen VPN Server. Um dieses System zu erklären, werden zunächst die Bestandteile des Begriffes einzeln erklärt: \begin{itemize} \item Netzwerk: Ein Netzwerk besteht aus Geräten (wie Computern, Druckern, Routern), die untereinander kommunizieren können. Diese Kommunikation kann über verschiedene Standorte hinweg erfolgen und wird durch elektronische Signalisierungsspezifikationen und -protokolle ermöglicht. - \item Privat: Im Zusammenhang mit VPNs bedeutet \glqq privat\grqq, dass die Kommunikation zwischen Geräten vertraulich ist. Dritte haben keine Kenntnis von dessen Inhalt und der privaten Verbindung selbst. Die Gewährleistung der Datensicherheit und des Schutzes der Itentität ist bei der Implementierung von VPNs von entscheidender Bedeutung. + \item Privat: Im Zusammenhang mit VPNs bedeutet \glqq privat\grqq, dass die Kommunikation zwischen Geräten vertraulich ist. Dritte haben keine Kenntnis von dessen Inhalt und der privaten Verbindung selbst. Die Gewährleistung der Datensicherheit und des Schutzes der Identität ist bei der Implementierung von VPNs von entscheidender Bedeutung. \item Virtuell: \glqq Virtuell\grqq\ bezieht sich auf simulierte oder künstliche Aspekte, die von Computersystemen geschaffen werden, um gemeinsame Ressourcen zu verwalten. Bei VPNs beinhaltet die Virtualisierung die private Kommunikation über eine gemeinsam genutzte Netzinfrastruktur. Das private Netz wird durch logische Partitionierung der gemeinsamen Ressource aufgebaut, nicht durch dedizierte physische Schaltungen. \item Diskret: VPNs sind diskrete Netzwerke, die getrennt über eine gemeinsam genutzte Infrastruktur arbeiten. Sie bieten exklusive Kommunikationsumgebungen ohne gemeinsame Verbindungspunkte. \end{itemize} @@ -38,19 +38,17 @@ \subsection{VPN Chaining} VPNs können miteinander verbunden werden. Somit wird der gesamte Datenverkehr nicht länger über nur noch einen Server geleitet, sondern es werden hier mehrere Server miteinander verkettet. Die Netzwerkverbindung wird als \textit{VPN Chaining} bezeichnet. Einzelne VPN Server sind voneinander unabhängig. Dadurch wir eine vergleichbare Struktur wie Tor erzielt (Kapitel \ref{chap:tor_topology}). Alternativ können VPNs auch dafür genutzt werden, um sich mit Tor statt mit anderen VPNs zu verbinden, wodurch eine zusätzliche Sicherheit gegenüber dem Entry-Node erzielt wird. VPN Chaining dient somit als zusätzliche Sicherheit, da die Daten nicht länger über einen einzelnen VPN Server gehen, sondern über mehrere. Dadurch weiß kein Server mehr sowohl Ursprung als auch Ziel einer Nachricht\cite{VPNChains, SetupOfVPNChaining}. -\subsection{Vorteile} -\label{chap:vpn_advantages} +\subsection{Mögliche Angriffe} -VPNs bietet als primären Vorteil eine hohe Performance. Die Topologie erlaubt relativ niedrige Latenz als auch hohen Durchsatz. Im Vergleich zur Performance ohne anonyme Kommunikationssysteme wird somit der Datenverkehr nur über einen weiteren Server gesendet und einmal zusätzlich verschlüsselt. -Um eine erhöhte Anonymität zu erzielen, wird verschleiert, von welcher IP eine Anfrage an einen Server stammt. Darüber hinaus kann dadurch ebenfalls Geoblocking umgangen werden. Anonyme Kommunikationssysteme ermöglichen es den Nutzern, geografische Beschränkungen zu überwinden, die oft durch Geoblocking-Maßnahmen auferlegt werden. Der Standort des Nutzers wird verschleiert, da die Services nicht mehr die IP-Adresse des Nutzers, sondern des VPN-Servers sehen. Hierdurch können Nutzer auf Inhalte und Dienste zugreifen, die auf bestimmte Regionen beschränkt sind. Dies ist sinnvoll für Menschen, die auf reisespezifische oder länderspezifische Inhalte zugreifen möchten, unabhängig von ihrem Aufenthaltsort. - -\subsection{Nachteile} -\label{chap:vpn_disadvantages} - -VPN hat das Problem des \textit{Single Point of Failure} (SPOF). Dies bedeutet, dass bei Ausfall eines Bestandteils des Systems auch das gesamte System mit ausfällt. Bei VPN liegt es daran, dass alle Daten über einen einzigen Server geleitet werden. Fällt dieser Server aus oder wird er übernommen, ist diese Route nicht länger sicher verwendtbar\cite{AttacksOnVPNs}. +VPN hat das Problem des \textit{Single Point of Failure} (SPOF). Dies bedeutet, dass bei Ausfall eines Bestandteils des Systems auch das gesamte System mit ausfällt. Bei VPN liegt es daran, dass alle Daten über einen einzigen Server geleitet werden. Fällt dieser Server aus oder wird er übernommen, ist diese Route nicht länger sicher verwendbar\cite{AttacksOnVPNs}. Die Schwachstelle bietet verschiedene Möglichkeiten für Angreifer. Im Nachfolgenden werden exemplarisch Angriffe auf VPNs betrachtet. Dabei werden hier primär verschiedene Server-seitige Angriffe durch SPOF unterschieden. Auch wenn Client-seitige Angriffe möglich sind, werden diese hier nicht betrachtet, da sie nicht durch die Topologie verursacht werden: \begin{itemize} - \item Alle Daten eines Nutzers laufen bei VPNs über einen einzigen Server. Daher kann der Server alleine alle Daten die über den Server übertragen werden auch entschlüsseln. Dies kann dazu führen, dass der Anbieter die Nachrichten der Nutzer mitlesen und entschlüsseln kann. Dies ist in der Vergangenheit bereits der Fall gewesen, so zum Beispiel beim Anbieter \textit{Hola VPN}\cite{VPNCriticalSurvey}. - \item Der VPN Server leitet die Anfragen der Nutzer an die Services weiter, und die Antworten der Services wiederum an die Nutzer zurück. Dies erlaubt es jedoch auch, dass der Server \textit{Fake Traffic} statt der richtigen Antwort zum Nutzer sendet. Fake Traffic kann eine künstlich generierte Anwort sein, oder eine manipulierte Nachricht der ursprünglichen Antwort des Services. + \item Alle Daten eines Nutzers laufen bei VPNs über einen einzigen Server. Daher kann der Server alleine alle Daten, die über den Server übertragen werden auch entschlüsseln. Dies kann dazu führen, dass der Anbieter die Nachrichten der Nutzer mitlesen und entschlüsseln kann. Dies ist in der Vergangenheit bereits der Fall gewesen, so zum Beispiel beim Anbieter \textit{Hola VPN}\cite{VPNCriticalSurvey}. + \item Der VPN Server leitet die Anfragen der Nutzer an die Services weiter, und die Antworten der Services wiederum an die Nutzer zurück. Dies erlaubt es jedoch auch, dass der Server \textit{Fake Traffic} statt der richtigen Antwort zum Nutzer sendet. Fake Traffic kann eine künstlich generierte Antwort sein oder eine manipulierte Nachricht der ursprünglichen Antwort des Services. \end{itemize} + +\subsection{Anonymität und Performance} + +VPNs hat eine hohe Performance. Die Topologie erlaubt relativ niedrige Latenz als auch hohen Durchsatz. Im Vergleich zur Performance ohne anonyme Kommunikationssysteme wird somit der Datenverkehr nur über einen weiteren Server gesendet und einmal zusätzlich verschlüsselt. +Um eine erhöhte Anonymität zu erzielen, wird verschleiert, von welcher IP eine Anfrage an einen Server stammt. Der Standort des Nutzers wird verschleiert, da die Services nicht mehr die IP-Adresse des Nutzers, sondern des VPN-Servers sehen. Hierdurch können Nutzer auf Inhalte und Dienste zugreifen, die auf bestimmte Regionen beschränkt sind. Dies ist sinnvoll für Menschen, die länderspezifische Inhalte zugreifen möchten, unabhängig von ihrem Aufenthaltsort. diff --git a/graph/throughput_1.png b/graph/throughput_1.png new file mode 100644 index 0000000..cf5d262 Binary files /dev/null and b/graph/throughput_1.png differ diff --git a/graph/throughput_2.png b/graph/throughput_2.png new file mode 100644 index 0000000..e5e488f Binary files /dev/null and b/graph/throughput_2.png differ diff --git a/main_jf.tex b/main_jf.tex index e4b5b9f..f317ba2 100644 --- a/main_jf.tex +++ b/main_jf.tex @@ -1,15 +1,17 @@ \documentclass[a4paper,10pt]{article} -\usepackage[a4paper,left=2.5cm,right=3.5cm,top=2cm,bottom=2cm]{geometry} +\usepackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2cm]{geometry} \usepackage{graphicx} \usepackage{svg} \usepackage[nottoc,notlof,numbib]{tocbibind} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{titlesec} \usepackage{lipsum} \usepackage[onehalfspacing]{setspace} \usepackage{hyperref} \usepackage{caption} - +\usepackage{titling} \bibliographystyle{ieeetr} \counterwithin{figure}{section} @@ -24,7 +26,9 @@ \emergencystretch=1cm \pagenumbering{arabic} -\title{Vergleich von anonymen Kommunikationssystemen\\ \Large Mixnet, Tor und VPN} +\pretitle{\begin{center}\Large Jugend forscht\par} +\title{\LARGE Vergleich von anonymen Kommunikationssystemen} +\posttitle{\par\Large Mixnet, Tor und VPN\end{center}} \author{Karl Zschiebsch} \begin{document} @@ -40,14 +44,13 @@ % Inhalt \clearpage - \input{chapter/introduction.tex} + \input{chapter/introduction_jf.tex} \input{chapter/overlay_network.tex} \input{chapter/vpn.tex} \input{chapter/tor.tex} \input{chapter/mixnet.tex} - \input{chapter/evaluation.tex} - \input{chapter/discussion.tex} - \input{chapter/summary.tex} + \input{chapter/evaluation_jf.tex} + \input{chapter/discussion_jf.tex} \clearpage % Literatur