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.