Roman Korn - Fachbereich Informatik
Transcription
Roman Korn - Fachbereich Informatik
Vertrauenswürdigkeit in der Peer-to-Peer Kommunikation für den kommerziellen Einsatz Roman Korn und Michael Massoth Hochschule Darmstadt Fachbereich Informatik [email protected], [email protected] Art der Arbeit: Betreuer/in der Arbeit: Masterarbeit Prof. Dr. Michael Massoth Abstract: Dieser Artikel fasst die Implementierung, Evaluation und Optimierung eines vertrauenswürdigen Peer-to-Peer-Systems zusammen. Das System ermöglicht kontrolliertes und geschütztes Verteilen von Daten. Hierfür werden kryptographische Protokolle, basierend auf einem Hardware-Vertrauensanker und Komponenten eines bestehenden, gewöhnlichen Peer-to-Peer-System integriert. Der realisierte Demonstrator zeigt den elementaren Anwendungsfall der vertrauenswürdigen Datenverteilung zwischen Peer-Entitäten, die ähnlich einer Set-Top-Box beim Kunden installiert sind. Eine empirische Studie untersucht das Leistungsverhalten der Protokolle anhand der durchgeführten Implementierung. Dafür mussten die Messtechnik, die Laborkonfiguration und geeignete Szenarios entwickelt werden. Experimente wurden automatisiert und sind somit in einem Trusted Computing Labor nachvollziehbar und wiederholbar. Anhand der Ergebnisse konnten bereits Bereiche optimiert und Konzepte, zum sicherstellen der Skalierbarkeit, entwickelt werden. 1 Motivation Digitale Güter, z.B. Multimedia Inhalte, werden Konsumenten zunehmend über Computer-Netzwerke bereit gestellt. Bei herkömmlichen Netzwerken beziehen Konsumenten ihre Güter direkt vom Anbieter. Einige alternative Systeme setzen jedoch bei der Verteilung erfolgreich das Peer-to-Peer (P2P) Paradigma ein. Hierbei replizieren die Konsumenten untereinander Güter, statt sie vom Anbieter zu beziehen. Obwohl solche P2P-Systeme viele Vorzüge mit sich bringen [TH00, KU09], sind bisher keine kommerziellen Anwendungen bekannt. Ein wesentlicher Grund ist das Fehlen adäquater Sicherheitsmechanismen für eine Infrastruktur, bei denen Systeme im physikalischen Zugriff der Konsumenten, Dienste des Anbieters bereitstellen. Ein möglicher Lösungsansatz ist die Anwendung von Konzepten aus dem Bereich des Trusted Computing. Sie beruhen auf dem Einsatz eines Sicherheitschips, dem so genannten Trusted Platform Module (TPM). Damit lässt sich die Integrität der am Netzwerk teilnehmenden Systeme messen, attestieren und bewerten. Mit dieser Lösung wird Vertrauenswürdigkeit in die Architektur eines P2P-Systems verankert. Das Erreichen von Sicherheitsziele ist dem System inhärent und muss nicht durch, z.B. observieren des Verhaltens von Entitäten erreicht werden. Die Architektur verlässt sich auf ein TPM wie es durch die Trusted Computing Group [TC10] spezifiziert wurde. Es erlaubt insbesondere den Schutz vor: nicht autorisiertem Verteilen und Abrufen der Güter, Identity Spoofing, Modifizieren der Güter und des Systems. Manipulierte Systeme (z.B. durch Computerviren) können sofort und durch das Netzwerk selbst von der Kommunikation ausgeschlossen werden. Nachrichten zwischen Netzwerkentitäten werden über verschlüsselte Kanäle übertragen. 2 Implementierung Zwei bereits konzipierte Protokollerweiterungen [KU00] dienen als Grobspezifikation für die Implementierung. Einige existierende Komponenten wie zum Beispiel eine „Open Source“ BitTorrent Anwendung [DU07] konnten integriert, angepasst und erweitert werden. Soweit möglich wurde die original BitTorrent-Protokolle erhalten um die bewährte Verarbeitung wieder zu benutzen. Die originalen Protokolle wurden von Bram Cohen [CO08] spezifiziert. Hierbei realisiert das Tracker-Protokoll (siehe Abbildung 1, (ii)) die Kommunikation zwischen Peer und Tracker. Durch das Peer-Wire Protokoll (siehe Abbildung 2 (iii-iv)) können Peer-Entitäten mit einander kommunizieren. Tracker stellen Kontaktinformationen zu teilnehmenden Peer-Entitäten und ein zum Download autorisierendes Ticket bereit. Ein bestimmtes digitales Gut wird durch eine Beschreibungsdatei (.torrent) eines Fileservers beschrieben (i). Der Austausch der Güter erfolgt zwischen Peer-Entitäten (iii-iv) auch wenn diese nicht im physikalischen Zugriffsbereich des Anbieters sind. Abbildung 1: P2P-System Abbildung 2: Remote Attestation In der vertrauenswürdigen Version der Protokolle muss jede Peer-Entität ihren aktuellen Zustand gegenüber dem Tracker attestieren (siehe Abbildung 2). Der Systemzustand wird fortlaufend vom TPM und den darauf aufbauenden vertrauenswürdigen Komponenten in einem so genannten Stored Measurement Log (SML) und einem Register des TPM festgehalten. Durch eine TPM_Quote Operation kann jeder TPM den gemessenen Zustand aus dem Platform Configuration Register (PCR) signiert bekannt geben. Zusätzlich werden Schlüssel beim Schlüsselaustausch als nonce (number used once) vom TPM signiert. 3 Leistungsverhalten Alle Kommunikationsschritte der erweiterten Protokolle [KU00] konnten in einem Labor automatisiert gemessen werden. Die statistische Auswertung von 100 Experimenten ist in Abbildung 3 dargestellt. Gemessen wurde die Verarbeitungszeit zwischen Empfangen und Versenden von Nachrichten, bzw. definierte Anfangs- und End-Messpunkte (0) und (upd), beider Kommunikationspartner. In beiden Protokollen zeigt sich ein hoher zeitlicher Aufwand vor dem Versenden der jeweils ersten Nachricht im Protokoll, d.h. (0)-(1) und (upd)-(1). Grundsätzlich kann diese Vorverarbeitung jedoch zeitlich unabhängig vorbereitet werden. Die breite Streuung der Ergebnisse ergibt sich aus dem Verfahren, dass Zufallsparameter für das generieren von asymmetrischen Schlüsseln bereit stellt. Alle weiteren Messungen liegen Konstant unterhalb von ca. 2 Sekunden. Abbildung 3: Statistische Auswertung von 100 Experimenten 4 Fazit und Ausblick Der realisierte Demonstrator bestätigt, dass die vorgeschlagenen Protokolle innerhalb eines realistischen Rahmens und auf Basis aktueller Technologien realisiert werden können. Die Protokolle bieten eine Lösung für Probleme die Wissenschaftler [SH09, AY10] beim kommerziellen Einsatz von P2P-Technologie sehen. Allerdings erfüllt der Demonstrator die Anforderungen nur im Kontext einer Systemarchitektur wie sie im Projekt NanoDataCenters (NaDa) [FR00] beschrieben ist. Das NaDa-System ist nunmehr mit einer weiteren Komponente ausgestattet, die es erlaubt grundlegende Anwendungs-Szenarien praktisch zu untersuchen. Für die angenommene Konfiguration können beide gemessenen Protokolle vom angefragten System in ca. 2 Sekunden bearbeitet werden. Für weiter Optimierung ist noch viel Potential vorhanden, jedoch scheinen die TPM_Quote Operationen ein Minimum von ca. 450 Millisekunden zu setzen. Da im Peer-Wire Protokoll zwei Quotes durchgeführt werden verdoppelt sich das Minimum entsprechend. Der nächste Schritt in Richtung eines operativen P2P-Systems ist ein Prototyp mit produktionsähnlichem Funktionsumfang. Bestehende Konzepte müssen umgesetzt werden, die Qualität muss durch ausgiebige Testläufe gesichert und die Stabilität muss durch umfangreiche Lasttests bestätigt werden. In einem vollständigem Prototyp müssten weitere Komponenten wie Management, Virtualization, Storage, Monitoring, Billing, Policies u.s.w integrieret werden. Eine erste Integration von Komponenten eines Projektpartners wird im Rahmen der fortlaufenden Entwicklung bereits durchgeführt. Da nun ein vertrauenswürdiges P2P-System für eine Anwendungsdomäne implementiert wurde, kann auch die Anwendbarkeit auf andere Bereiche betrachtet werden. Ähnliche Konzepte könnten Lösungen zu Sicherheitsproblemen aus verwandten Bereichen, wie VoIP-Netzwerken, Car-to-X Kommunikation, Energie-Netzen und anderen bieten. Literaturverzeichnis [CO08] Bram Cohen: The BitTorrent Protocol Specification : Version 11031 . http://bittorrent.org/beps/bep_0003.html, erstellt 28.02.2008, abgerufen 13.04.2010. [KU09] Kuntze, Nicolai; Rudolph, Carsten; Trust in Distributed small sized Data Centers. In: Proceedings of the 2009 Symposia and Workshops on Ubiquitous, Autonomic and Trusted Computing, 2009, pages 28-33. [KU00] Kuntze, Nicolai; Rudolph, Carsten; Fuchs, Andreas: Trust in Peer-to-Peer content distribution protocols. In: Lecture Notes in Computer Science 6033 2010, Seiten 76-89. [FR00] Fraunhofer-Institut für Sichere Informationstechnologie (SIT): Welcome to the Nanodatacenters Project . http://www.nanodatacenters.eu/, erstellt 2010, abgerufen 24.06.2010. [TC10] Trusted Computing Group: Trusted Computing Group : Home. http://www.trustedcomputinggroup.org/, erstellt 2010, abgerufen 13.04.2010. [DU07] Dubuis, Baptiste: JBittorrent, http://jbittorrent.sourceforge.net, erstellt 19.09.2007, abgerufen 22.07.2010. [SH09] Sherman, Alex; et al.: Adding Trust to P2P Distribution of Paid Content. In: Lecture Notes in Computer Science, Volume 5735/2009, Seiten 459-474. [AY10] Ayyasamy, S.; Sivanandam, S.N.: Trust Based Content Distribution for Peer-To-Peer Overlay Networks. In: International Journal of Network Security & Its Applications (IJNSA, Volume 2, Number 2, April 2010: [TH10] Thompson (Project NanoDataCenters): Deliverable D1.2 Evaluation of the energy efficiency of distributed vs. centralised content distribution. http://www.nanodatacenters.eu/index.php?view=article&catid=48%3Aarchitecture&id= 77%3Aevaluation-of-the-energy-efficiency-of-distributed-vs-centralisedcontentdistribution&format=pdf&option=com_content&Itemid=67, erstellt 30.01.2010, abgerufen 20.09.2010.