Privacy and Cooperation in Peer-To-Peer Systems
Total Page:16
File Type:pdf, Size:1020Kb
Privacy and Cooperation in Peer-to-Peer Systems Nicolaas Simon Marinus Zeilemaker Privacy and Cooperation in Peer-to-Peer Systems Proefschrift ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof. ir. K. C. A. M. Luyben, voorzitter van het College voor Promoties, in het openbaar te verdedigen op vrijdag 22 mei 2015 om 15:00 uur door Nicolaas Simon Marinus Zeilemaker ingenieur in de technische informatica geboren te Harmelen, Nederland. Dit proefschrift is goedgekeurd door de promotor: Prof. dr. ir. H. J. Sips Samenstelling promotiecommissie: Rector Magnificus, voorzitter Prof. dr. ir. H. J. Sips, Technische Universiteit Delft, promotor Dr. ir. J. A. Pouwelse, Technische Universiteit Delft, copromotor Prof. dr. T. Strufe, Technische Universitat Darmstadt Prof. dr. ir. A. K. Pras, Universiteit Twente Prof. dr. A. Hanjalic, Technische Universiteit Delft Prof. dr. C. Witteveen, Technische Universiteit Delft Prof. dr. M. J. G. van Eeten, Technische Universiteit Delft The work described in this thesis has been carried out in the ASCI graduate school. ASCI dissertation series number 327. This work was supported by the Future and Emerging Technologies programme FP7-COSI-ICT of the European Commission through the QLectives project (grant no.: 231200). Printed by: Proefschriftmaken.nl || Uitgeverij BOXPress Published by: Uitgeverij BOXPress, ’s-Hertogenbosch Front & Back: Janna Alberts c 2015 Nicolaas Simon Marinus Zeilemaker ISBN 978-94-6295-195-2 An electronic version of this dissertation is available at http://repository.tudelft.nl/. Acknowledgments Although, I never had any problems implementing/building stuff, I needed quite some help to be able sell my ideas to the research community. This however, never seemed to bother either my promotor or co-promotor which were confident that a suitable venue for my ideas would be found. A clear vote of confidence, which helped me to see the upsides of yet another reject. Johan, talking with you remains an adventure until this day. Before starting a discussion, I would have a general idea or direction of where I wanted to go to with a paper. However, afterwards the direction usually completely changed. Not because you convinced me, or tricked me into going into another direction, but by seemingly random remarks you made during the discussion. This is a skill which I have yet to discover in anyone else, but was a great help to me during my time as a PhD-student. Henk, without your advice regarding structure and layout wrt organising a pa- per, this thesis would not have been possible. I know now that all details matter while presenting an idea in a paper, and that without proper structure not a single reader/reviewer will be grasp the gems hidden beneath. Janna, although you did not make any technical contributions to my work, you acted as a sparring partner helping me to understand the core of my ideas. Moreover, you (almost) never complained when I started running a new experiment during dinner, while on holiday, or when we were almost going to sleep. Finally, when travelling to conferences you were a great help, supporting me in preparing my presentation, and not being focussed on shopping at all... This helped me to get some perspective on doing a PhD, its probably not going to change the world. v Contents 1 Introduction1 1.1 Collaboration in P2P...........................2 1.1.1 File Sharing............................3 1.1.2 Reputation............................4 1.1.3 Database Synchronization....................5 1.2 Privacy in P2P..............................6 1.2.1 Hiding your Location.......................6 1.2.2 Hiding your Search Queries...................6 1.2.3 Hiding your Social Network...................7 1.3 Popular Attacks on P2P systems....................7 1.4 Research Questions............................8 1.5 Contribution and thesis outline..................... 10 2 Tribler: Peer-to-Peer Media Search and Sharing 13 2.1 Introduction................................ 14 2.2 Design and Features........................... 15 2.2.1 Architecture............................ 15 2.2.2 Torrent Collecting........................ 16 2.2.3 Remote Search.......................... 17 2.2.4 Video on Demand......................... 17 2.2.5 Live Streaming.......................... 17 2.2.6 Reputation............................ 17 2.2.7 Channels............................. 18 2.2.8 GUI................................ 18 2.2.9 Other deployments: TV and Browser.............. 19 2.3 Usage................................... 20 2.3.1 Users............................... 20 2.3.2 Scientists............................. 20 2.4 Conclusion................................ 20 3 Large-Scale Message Synchronization in Challenged Networks 23 3.1 Introduction................................ 24 3.1.1 Contribution........................... 24 3.1.2 Background and Related Work................. 25 3.2 System Design.............................. 26 3.2.1 Overlay Definition........................ 26 3.2.2 Peer Selection........................... 27 3.2.3 Peer Discovery and NAT Traversal............... 27 3.2.4 Bloom Filter Creation...................... 28 vii viii Contents 3.3 Evaluation................................. 30 3.3.1 Overlay.............................. 30 3.3.2 Propagation............................ 31 3.3.3 Synchronization.......................... 31 3.3.4 Bandwidth Requirements..................... 33 3.3.5 Bloom Filter Optimizations................... 34 3.3.6 NAT Traversal.......................... 35 3.3.7 Churn Resilience......................... 36 3.3.8 Throughput............................ 36 3.4 Deployment Results........................... 39 3.5 Conclusion................................ 39 4 Open2Edit: a Peer-to-Peer platform for collaboration 41 4.1 Introduction................................ 42 4.2 Related work............................... 43 4.3 Motivation................................ 44 4.4 Dispersy.................................. 44 4.4.1 Overview............................. 45 4.4.2 Permissions............................ 45 4.5 Open2Edit design............................. 46 4.5.1 CommunityOverlay........................ 47 4.5.2 CommunityDiscoveryOverlay.................. 47 4.5.3 Authentication.......................... 48 4.5.4 Flexibility............................. 48 4.5.5 Detecting conflicts........................ 49 4.6 Tribler deployment............................ 49 4.6.1 Tribler overview.......................... 49 4.6.2 Implementation details...................... 50 4.6.3 User interface........................... 51 4.7 Experiments................................ 51 4.7.1 DAS-4 emulation......................... 51 4.7.2 Internet deployment....................... 54 4.8 Discussion................................. 55 4.9 Conclusion................................ 57 5 Building a Privacy-Preserving Semantic Overlay for Peer-to-Peer Networks 59 5.1 Introduction................................ 60 5.2 Related Work............................... 61 5.3 Preliminaries............................... 62 5.3.1 RSA................................ 62 5.3.2 Paillier............................... 63 Contents ix 5.4 Privacy-Preserving Protocols....................... 63 5.4.1 Private Set Intersection Protocol I................ 63 5.4.2 Private Set Intersection Protocol II............... 64 5.4.3 Private Set Intersection Protocol III............... 65 5.4.4 Security Discussion........................ 67 5.4.5 Improving Discovery Speed................... 68 5.5 Experimental Results........................... 68 5.5.1 Dataset.............................. 68 5.5.2 Experimental setup........................ 69 5.5.3 Results.............................. 70 5.6 Conclusion................................ 72 6 4P: Performant Private Peer-to-Peer File Sharing 75 6.1 Introduction................................ 76 6.2 Related Work............................... 77 6.3 Cost and Limitations of Current Systems................ 79 6.3.1 Bandwidth Cost......................... 80 6.3.2 Limitations............................ 82 6.4 4P Design................................. 82 6.5 4P Implementation............................ 83 6.5.1 Semantic Overlay......................... 83 6.5.2 Search Messages......................... 84 6.5.3 Downloading Content....................... 85 6.5.4 Choosing the initial TTL, IEP, and FEP............ 86 6.6 Security.................................. 87 6.7 Experiments................................ 88 6.7.1 Dataset.............................. 88 6.7.2 Emulation setup......................... 89 6.7.3 Evaluated strategies....................... 89 6.7.4 Results.............................. 90 6.8 Conclusion................................ 93 7 ReClaim: a Privacy-Preserving Decentralized Social Network 95 7.1 Introduction................................ 96 7.2 Related Work............................... 97 7.3 Goals and Security model........................ 98 7.4 Features.................................. 99 7.4.1 Establishing a new Friendship.................. 99 7.4.2 Locating Friends......................... 100 7.4.3 Posting a Message........................ 101 7.4.4 Unfriending............................ 101 7.5 Protocol Details.............................. 101 7.5.1 PSI protocol............................ 101 7.5.2 Message Distribution....................... 103 7.5.3 Message Body........................... 104 7.5.4 Large Binary Download....................