\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}