Network Architectures Dissertation and Services NET 2010-07-1 Architecture and Components of secure and anonymous Peer-to-Peer Systems Heiko Niedermayer Network Architectures and Services Department of Computer Science Technische Universität München Technische Universit¨at Mu¨nchen Fakult¨at fu¨r Informatik Lehrstuhl fu¨r Netzarchitekturen und Netzdienste Architecture and Components of secure and anonymous Peer-to-Peer systems Heiko Niedermayer Vollst¨andiger Abdruck der von der Fakult¨at fu¨r Informatik der Technischen Universit¨at Mu¨nchen zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Johann Schlichter Pru¨fer der Dissertation: 1. Univ.-Prof. Dr. Georg Carle 2. Univ.-Prof. Dr. Claudia Eckert DieDissertationwurdeam13.10.2009beiderTechnischenUniversit¨atMu¨ncheneingereicht und durch die Fakult¨at fu¨r Informatik am 21.05.2010 angenommen. Cataloging-in-Publication Data Heiko Niedermayer Architecture and Components of secure and anonymous Peer-to-Peer Systems Dissertation, July 2010 Network Architectures and Services, Department of Computer Science Technische Universit¨at Mu¨nchen ISBN 3-937201-13-0 ISSN 1868-2634 (print) ISSN 1868-2642 (electronic) Network Architectures and Services NET 2010-07-1 Series Editor: Georg Carle, Technische Universit¨at Mu¨nchen, Germany (cid:13)c 2010, Technische Universit¨at Mu¨nchen, Germany Abstract Changes to lower layers of the Internet architecture are difficult, in particular on network and transport layer. Standardization and economic incentives for manufacturers and In- ternet service providers are necessary. As a consequence, many desirable services cannot be realized there. The application layer is more flexible. End-users can run their own services and networked applications. This led to the advent of Peer-to-Peer systems in the late 1990ies. Peer-to-Peer systems enable normal users to provide the services instead. Despite the subsequent hype and research, the Peer-to-Peer paradigm is not yet a fully mature technology. In particular, it faces severe and fundamental security issues. This dissertation covers three major topics: Peer-to-Peer, Security, and Anonymity. We willpresentandevaluatecomponentsandavarietyofaspectsofthearchitectureofPeer-to- Peer systems. Many classifications of Peer-to-Peer systems are not suitable for describing or designing a system. There is often a focus on a small number of aspects, that do not cover all problems from bootstrapping over routing to security. We see Peer-to-Peer systems as a combination of a set of solutions. Each solution solves a particular problem and some common problems are presented as categories. This is not only suitable for filesharing applications, but also valid for commercial or future Peer-to-Peer applications. Description is, however, not our primary goal. We think that structuring the problem of a Peer-to-Peer system into necessary components helps to design Peer-to-Peer systems and to structure the problems that need to be solved. Optimization is another issue. In case of Peer-to-Peer systems this includes a suitable distribution of load among the peers and the reduction of distances (latency) in the net- work. Systems do not necessarily end up with a uniform load. In fact, we show that most systems will not. We discuss load balancing for a distributed gaming application. A par- ticular problem for load balancing is also that items usually do not have a uniform weight. Given the common Power Law distributions some items may have an extreme weight so that load balancing can only succeed if the handling of this item is further distributed among multiple nodes. For the optimization of distances we looked at Proximity Node Selection and evaluated its impact. We created a diagram for the selection of solutions for both problems when designing a system. Security is a big problem for Peer-to-Peer systems and many security issues are caused by inherentpropertiesofthesesystems. Wecategorizethesecurityproblemsandintroducethe Cheapriding attack. It is a variant of freeriding and operates against reputation systems. It can hardly be stopped completely. The basic idea to mitigate the attack is to adapt the benefit gained for a good action in a reputation systems as good as possible to the actual cost of the action. The attack may be detected by checking the weight of positive and negative feedback. Security in this thesis is not limited to security purely for Peer-to- Peer systems. The performance of cryptographic operations and transport protocols goes beyond the scope of Peer-to-Peer systems. We conclude that performance of symmetric cryptography is not a bottleneck on today’s hardware. In our studies hash functions were often more expensive than encryption. Also from this perspective it is good that ii NIST is currently organizing a competition for a new hash function standard. Public Key cryptography and Identity-based cryptography are both similar expensive and way more expensive than symmetric cryptography. However, given a moderate usage they are no problem for today’s computers. A key part in our work is about new ways to realize authentication. Our focus is again on Peer-to-Peer systems. However, the fundamental problem can also be found on human layeraswellasinallWeb2.0-alikenetworkswherehumansinteractwitheachotherinstead of purely consuming services. Our approach fills a gap between the rather unrealistic or slightly insecure decentralized approaches and the secure centralized approaches. In the latter,acentralauthorityexistsandprovidesthebaseforauthenticationandothersecurity services. We build our work on social clusters of humans that can be used to partition the network into domains. Each domain has a centralized authority. The more scalable level of the domains is used to establish trust between different domains. This requires that the protocols as well as software that uses them need to be able to deal with the uncertainty whennotrustyetexists. Fortheauthenticationwedevelopedtwoauthenticationprotocols that include all necessary four parties (A and B as well as their local authorities). Finally, anonymity is another domain where the Peer-to-Peer paradigm is a reasonable choice. We describe the fundamental operation of anonymization networks and have a speciallookatthesystemI2P.TheanonymizationconceptMOREwasinpartsco-authored by the author of this thesis. We will describe the system and analyze it. MORE was developed to protect client and server and to fight pattern-based attacks. The analysis will show that even the radical approach of MORE is not sufficient to completely prevent this kind of attacks. Zusammenfassung Die Einfu¨hrung neuer Dienste im Internet ist schwierig, sei es auf Netzwerk- oder auch Transportschicht. Dies erfordert Standardisierung in den entsprechenden Gremien. Ohne signifikantewirtschaftlicheAnreizefu¨rHerstellerundInternet-Service-Provideristdaru¨ber- hinaus mit keiner weitreichenden Einfu¨hrung zu rechnen. Aus diesem Grund k¨onnen viele wu¨nschenswerteDienste,beispielsweiseInternet-weiterMulticast,dortnichtrealisiertwer- den. DieAlternativeistdieRealisierungdieserFunktionalit¨ataufderAnwendungsschicht. Diese ist deutlich flexibler und erlaubt auch normalen Anwendern die Gestaltung eigener Dienste und verteilter Anwendungen. Der Aufstieg der Peer-to-Peer-Systeme zur zeitweise gr¨oßtenVerkehrsquelleimInternetisteinErgebnisdieserSituation. DennochistdasPeer- to-Peer-Paradigma keine vollverstandene Technik. Insbesondere hat sie mit schwerwiegen- den und fundamentalen Sicherheitsproblemen zu k¨ampfen. In dieser Arbeit werden drei große Themenbereich bearbeitet und miteinander verknu¨pft. DiessindPeer-to-Peer-Systeme,NetzwerksicherheitundAnonymit¨at. ZuerstwerdenKom- ponentenundverschiedeneAspektederArchitekturvonPeer-to-Peer-Systemenvorgestellt undevaluiert. VieleKlassifizierungenvonPeer-to-Peer-Systemeneignensichnurwenigzur eigentlichen Systembeschreibung oder als Architekturhilfe. Insbesondere vernachl¨assigen siedieganzheitlicheBetrachtungderSysteme,dievomBootstrappingu¨berRoutingbiszur Sicherheit reicht. Aus diesem Grund werden hier Peer-to-Peer-Systeme als eine Kombina- tioneinerMengevonkleinerenProblemstellungenmitverschiedenenL¨osungenalseinzelne Bausteine betrachtet. Diese Betrachtung eignet sich daru¨berhinaus nicht nur fu¨r klassis- che Filesharingnetze, sondern ist generisch genug, um zuku¨nftige wie auch kommerzielle Systeme beschreiben zu k¨onnen. Die Beschreibung ist allerdings nur ein sekund¨ares Ziel, vielmehr soll durch die Betrachtung der notwendigen Komponenten die Architektur von Systemen erleichert und strukturierter werden. Zur Architektur von Systemen geh¨ort nebem dem abstrakten Entwurf auch die Opti- mierung der Leistungsf¨ahigkeit. Im Falle von Peer-to-Peer-Systemen beinhaltet dies u.a. die geeignete Verteilung von Last sowie die Optimierung der Abst¨ande (Latenzen) im Netzwerk. In der Arbeit wird dazu gezeigt, dass sich nicht zwingend eine gleichf¨ormige Belastung der Systeme einstellt. Fu¨r eine virtuelle Spieleanwendung wurde gezeigt, wie sich Last optimieren l¨asst. Daru¨berhinaus ist zu beachten, dass einzelne Elemente im System ein starkes Gewicht haben k¨onnen und die Verteilung einer Aufgabe auf mehrere Knotendaheroftnotwendigerscheint. ZurOptimierungderDistanzenimNetzwerkwurde Proximity Node Selection untersucht und wie auch fu¨r die Lastbalancierung ein Entschei- dungsablauf fu¨r den Systementwurf erstellt. Sicherheit in Peer-to-Peer-Systemen ist ein großes Problem, welches durch die inh¨arenten Eigenschaften der Systeme verursacht wird. In der Arbeit findet sich eine Kategorisierung der Probleme. Daru¨berhinaus wird der Cheapriding-Angriff vorgestellt, welcher als eine Variante des Freeridings angesehen werden kann. Dieser Angriff geht gegen Reputation- ssysteme und kann nur bedingt erfolgreich bek¨ampft werden. Die Anpassung der Beloh- nung im Reputationssystem an tats¨achliche Kosten ist ein Weg, die Auswirkungen des iv Angriffs zu minimieren. Sicherheit wird im folgenden dann auch unabh¨angig von Peer- to-Peer-Systemen betrachtet. Verschiedene kryptographische Verfahren werden auf ihre Geschwindigkeit hin untersucht. Dabei zeigt sich, dass symmetrische Kryptographie auf heutigen Rechner kein Engpass mehr darstellt. Oft sind Hashfunktionen schon teurer und es zeigt sich, dass das NIST auch aus Leistungssicht gut daran tut, einen Wettbe- werb zur Ermittlung eines neuen Hashfunktionsstandards durchzufu¨hren. Public-Key- Kryptographie wie auch identit¨atsbasierte Kryptographie sind in etwa gleich teuer und sollten durch ihre hohen Kosten nicht u¨berm¨aßig verwendet werden. Bei moderater Ver- wendung sind aber auch sie kein Problem mehr bei heutiger Technik. EinzentralerAbschnittderArbeitgehtumneueVerfahrenzurAuthentisierung. DerSchw- erpunkt wird hier auch auf Peer-to-Peer-Systeme gelegt. Allerdings findet sich das darun- terliegendeProblemauchgenerellaufmenschlicherEbenesowieimNetzwerkwieder,wenn Menschen wie im Web2.0 miteinander agieren statt nur zu konsumieren. Der vorgeschla- gene Ansatz baut dabei eine Bru¨cke zwischen wenig realistischen und eher unsicheren verteilten Ans¨atzen und dem sicheren zentralen Ansatz, welcher auf einer zentralen Au- torit¨at beruht. Soziale Cluster von Menschen teilen dabei die Knoten des Netzwerks in Teilmengen ein, welche wir Domain nennen und welche selbst eine lokale zentrale Au- torit¨at beinhalten. Auf dieser skalierbareren Ebene wird dann Vertrauen zwischen Dom¨a- nen aufgebaut. Da dies notwendigerweise mit zeitweise unsicheren Beziehungen einher geht, wird der Beziehungszustand bei der Authentisierung den beteiligten Peers und deren Software mitgeteilt, so dass diese fu¨r die jeweilige gerade laufende Anwendung entscheiden k¨onnen, ob sich auch mit Unsicherheiten umgehen m¨ogen oder die Autorisierung ver- weigern. Fu¨r den Authentisierungsablauf wurden dafu¨r zwei angepasste kryptographische Protokolle mit den notwendigen vier Parteien (A und B sowie deren Autorit¨aten) entwick- elt und evaluiert. Anonymit¨at ist eine weitere Dom¨ane, in der das Peer-to-Peer-Paradigma sinnvoll einge- setzt werden kann. Hierzu wird einerseits die Funktionsweise von Anonymisierungsnetzen beschrieben und am Beispiel des Peer-to-Peer-Anonymisierers I2P n¨aher beleuchtet. Das Anonymisierungskonzept MORE wurde teilweise vom Autor mitentwickelt und wird im abschließenden Kapitel beschrieben und nachfolgend analysiert. MORE wurde entwor- fen, um beide, Client und Server, zu schu¨tzen und Muster-basierte Angriffe zu vermeiden. Es zeigt sich, dass selbst der radikale Ansatz von MORE diese Angriffe nicht komplett vermeiden kann. Acknowledgements This thesis would not have been possible without many people in Tu¨bingen (where it started) and in Munich (where it now ended). My special thanks go to Prof. Georg Carle for supervising the dissertation as well as to the rest of the examination committee, Prof. ClaudiaEckertandProf. JohannSchlichter. Icannotnameallthenumerousstudentsand colleagues that provided valuable input in discussions and collaborations (to name a few: Marc Fouquet, Ralph Holz, Ali Fessi, Johannes Riedel, Olaf Landsiedel, Simon Rieche). Special thanks also go to Prof. Peter Hauck in Tu¨bingen for supervising joint work on cryptographic protocols and security as well as to Prof. Klaus-J¨orn Lange and PD Dr. Klaus Reinhardt in Tu¨bingen for joint seminars on formal methods in network security. I am also thankful for stimulating discussions with fellow computer scientists in Tu¨bingen at the Sand bus stop about logic and philosophy. Finally, I would like to thank my family for supporting me during my time as a student and my friends for providing a world without academic discussions on computer science. vi
Description: