\section{Ausblick}

Die Software \textit{Friend Finder} zeigt nur einen recht einfachen Ansatz auf, um Daten sicher zu versenden und die Position von
anderen Benutzern aufzuzeigen. Im nun folgenden Teil dieser Arbeit werden Ausblicke auf weitere Möglichkeiten und Ansätze, für
Nachrichtenverschlüsselung und \textit{location awareness}, aufgezeigt.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\subsection{Kryptographische Verfahren auf Mobilen Plattformen}

In diesem Absatz werden mögliche kryptographische Verfahren für Smart Phones behandelt. So wird prinzipiell zwischen zwei
verschiedenen Arten der Verschlüsselung unterschieden. Zum einen existieren die sogenanten symmetrischen und zum anderen die
asymmetrischen Verfahren. Bei ersterem existiert nur ein \textit{private-key} welcher von allen Teilnehmern zum ver- sowie
entschlüsseln genutzt wird. Bei den asymmetrischen Verfahren sind mehrere Schlüssel nötig. Hierbei werden Daten mit einem
öffentlichen Schlüsel verschlüsselt und können nur mit dem dazu passenden privaten Schlüssel wieder entschlüsselt werden. \newline

Im folgenden werden verschiedene Algorithmen und deren Tauglichkeit vorgestellt. Des weiteren wird auch auf Möglichkeiten
eingegangen, um Schlüssel zu verteilen.

\subsubsection{Symmetrische Verschlüsselungsverfahren}

Bei der Klasse der symmetrischen Verschlüsselungsverfahren können theoretisch alle bekannten Verfahren genutzt werden. Natürlich
stellt sich hier die Frage der Güte der Verschlüsselung, die die einzelnen Algorithmen bieten. Das eigentliche Problem bei der
Nutzung dieser Verfahren ist, wie man den privaten Schlüssel an die anderen Nutzer weitergeben kann, ohne ihn dabei für dritte
zugänglich zu machen.\newline

Als naiven Ansatz könnte man hierzu den Austausch per \textit{Bluetooth} erwägen. Allerdings gilt \textit{Bluetooth} nicht als
sicheres Verfahren um Daten zu übertragen. Somit eignet sich dieses Art des Austauschens nicht, da nicht garantiert ist das
Dritte mithören und den \textit{private key} erhalten. \newline

Eine weitere Möglichkeit wäre einen 2D-Barcode aus einer Zeichenkette zu erstellen. Diesen könnte man dann auf dem Display
eines mobilen Gerätes ausgeben. Andere Nutzer könnten dann den Barcode fotographieren und wiederrum in eine Zeichenkette
umwandeln. Diese Zeichenkette könnte dann für beide Kommunikationspartner als privater Schlüssel genutzt werden.\newline
Was allerdings gegen diese Methode spricht ist die Tatsache, dass sich zwei oder mehrere Nutzer treffen müssen um diese Daten
auszutauschen. Somit verliert dieser Ansatz den großen Nachteil, dass die Mobilität ein Stück weit verloren geht, da man sich vor
beginn der sicheren Kommunikation erst treffen muss. \newline
Man könnte auch einfach die SD-Karten der mobilen Geräte mit einem oder mehreren gespeicherten, privaten Schlüsseln mit anderen
Nutzern austauschen. Aber auch hier verliert man stark an Mobilität.\newline

Man könnte auch eine Implementierung von \textit{Kerberos} \citep{Kerberos} für mobile Geräte erwägen. Bei diesem Verfahren
übernimmt eine vertrauenswürdige dritte Partei die Authentifizierung. Diese wird von einem geschützten \textit{Kerberos}
durchgeführt. Wenn ein Client sich gegenüber einem Server authentifizieren möchte, muss er sich beim \textit{Kerberos} Server
anmelden. Dieser verifiziert dann seine eigene Identität, sowie Client gegenüber Server und Server gegenüber Client. \newline
Möchte man nun diesen Dienst auf Smart Phones erweitern, so muss man einen \textit{Kerberos} Client für die jeweilige Plattform
entwickeln.

\subsubsection{Asymmetrische Verschlüsselungsverfahren}

Der Vorteil von asymmetrischen Kryptographiesystemen gegenüber den symmetrischen ist, dass man nur den eigenen privaten Schlüssel
geheim halten muss während der öffentliche Schlüssel frei zugänglich ist. Bei symmetrischen Verfahren muss man alle privaten
Schlüssel speichern und geheim halten. Durch diesen Vorteil der \textit{Public-Key} Verfahren ist das Verteilen der einzelenen
Schlüssel wesentlich einfacher. Das Problem von vorgetäuschten öffentlichen Schlüssen durch dritte kann mit einer
vertrauenswürdigen Zertifizierungsstelle oder einem \textit{Web of Trust} stark eingegrenzt werden.\newline

Das Prinzip des \textit{Web of Trust} macht sich das \textit{Pretty Good Privacy (PGP)} Verfahren zu nutze. Dieses Verfahren wurde
von der Firma \textit{PGP} in Form von \textit{PGP Mobile} \citep{PGPmobile} für Smart Phones realisiert. Das
\textit{PGP}-Verfahren ermöglicht es Daten zu verschlüsseln, signieren oder sowohl zu verschlüsseln als auch zu signieren. Bei
einem signierten und Verschlüsselten Datenpaket wendet der Sender zuerst ein Hash-Verfahren auf die zu verschlüsselnden Daten an.
Im nächsten Schritt wird der private Schlüssels des Senders auf eben diesen Hash angewendet um eine Signatur zu erstellen. Soll
die Nachricht nun verschlüsselt werden, so wird das unverschlüsselte Datenpaket und die Signatur komprimiert und mit einem
zufällig generierten Schlüssel verschlüsselt. Da dieser zufällige Schlüssel nur einmal gültig ist, wird er asymmetrisch mit
dem öffentlichen Schlüssel des Empfängers verschlüsselt und an die Nachricht angehängt. Nun kann die gesamte Nachricht an den
Empfänger gesendet werden. \newline
Der Empfänger kann nun mit Hilfe seines private Schlüssels den angehängten Schlüssel dieser Sitzung entschlüsseln und mit desen
Hilfe die komprimierte Nachricht wiederherstellen.\newline
Für dieses Verfahren existiert auch eine \textit{Open Source} Variante namens \textit{OpenPGP} \citep{openPGP}. Mit dieser
offenen Implementierung wäre es möglich ein solches Verfahren auch als freie Variante zu implementieren.\newline
Der Nachteil des genannten Verfahrens ist mit Sicherheit der große Overhead an Daten versendet werden muss, sowie die Maße an
benötigten Operationen um einen Klartext zu verschlüsseln. Dies tritt vor allem dann in Vordergrund wenn man, wie in
\textit{Friend Finder}, im Sekundentakt verschlüsselte Positionsdaten versenden möchte.\newline

%noch ein verfahren ipsec??

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\subsection{Alternative \textit{location awareness} Verfahren}

Neben dem in \textit{Friend Finder} implementierten, recht einfachen Verfahren, um andere Nutzer zu lokalisieren wurden schon
andere Verfahren vorgestellt. Im folgenden Abschnitt werden alternative Vorgehensweisen vorgestellt und erklärt.

\subsubsection*{FriendSensing: Recommending Friends Using Mobile Phones}

Im Paper \textit{FriendSensing: Recommending Friends Using Mobile Phones} \citep{FriendSensing} aus dem Jahr 2009 erläutern die
Autoren ihren Ansatz um Freunde für mobile, soziale Netze zu finden. Hierfür benutzen sie zum einen \textit{Bluetooth} und
zeichnen andere Telefone in Reichweite auf. Somit kann aufgezeichnet werden, wie oft Nutzer A und Nutzer B aufeinandergetroffen
sind. Des weiteren haben sie eine Software auf den mobilen Geräten installiert, welche aufzeichnet wie oft Nutzer A mit Nutzer B
kommunziert. Aus diesen zwei gewonnenen Datensätzen waren die Autoren nun mit Hilfe von verschiedenen Algorithmen, wie zum
Beispiel den \textit{Shortest Path} Algorithmus oder \textit{Markov Ketten}, in der Lage zu ermitteln, wie gut Nutzer A einen
Nutzer B kennt. 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\subsection{Zusammenfassung}