Virtual Private Networks for Peer-To-Peer Infrastructures
Total Page:16
File Type:pdf, Size:1020Kb
Technische Universit¨atDarmstadt Department of Computer Science Prof. Dr. Michael Waidner Virtual Private Networks for Peer-to-Peer Infrastructures Diploma Thesis Submitted by Hiro Dudani <[email protected]> on 2012-11-30 Supervisor: Dipl.-Inform. Nicolai Kuntze In cooperation with: Fraunhofer SIT f¨urPapa ii Ehrenw¨ortlicheErkl¨arung(Affidavit) Hiermit versichere ich, die vorliegende Diplomarbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ¨ahnlicher Form noch keiner Pr¨ufungsbeh¨ordevorgelegen. Hiro Dudani Neu-Isenburg, am 29.11.2012 iii Abstract The Nanodatacenters project aims to complement the paradigm of existing centralized server farms with a high number of small storage and communication devices located at the edges of the network. Utilizing previously unused resources like broadband internet access bandwith and idling set-top boxes, these nodes are able to host applications from different content providers offering various kinds of services, such as Video on Demand or online gaming, to end users. This setting does pose particular security challenges. As the devices operate under physical control of the end users, their integrity has be ensured and must be able to be verified by the network. This is achieved through the functionality of Trusted Com- puting. Additionally, the domains of the different content providers have to be isolated in such a way that an attacker cannot use one of them as a foothold to compromise or snoop on the operation of the network or another isolated domain. Another important requirement for datacenters are secure and reliable communica- tions. As the set-top boxes are connected to the internet, cryptography has to be used to make sure that the confidentiality and integrity of transmitted data as well as endpoint authenticity are maintained and no content is delivered to rogue devices. This thesis analyses the properties required for the secure connection of nodes in such a network of livingroom datacenters and introduces a concept for a Virtual Private Network able to fulfill these requirements. Contents Abstract iv 1 Introduction1 1.1 Nanodatacenters................................1 1.2 Use Case: Decentralized Video-on-Demand.................2 1.3 Outline.....................................2 2 Related Work and Existing Technologies4 2.1 Trusted Computing...............................4 2.1.1 Protected Capabilities.........................4 2.1.2 Integrity Measurement.........................5 2.1.3 Integrity Reporting...........................5 2.1.4 Problems................................6 2.2 BitTorrent....................................7 2.3 Virtual Private Networks...........................9 2.3.1 IPsec...................................9 2.3.2 L2TP.................................. 11 2.3.3 SSL/TLS................................ 12 2.4 Convergence................................... 15 2.4.1 Trusted Computing and VPNs.................... 15 2.4.2 Trusted Computing and Peer-to-Peer................. 15 2.4.3 Peer-to-Peer VPNs........................... 17 2.4.4 Peer-to-Peer VPNs using Trusted Computing............ 18 3 Concept 21 3.1 Requirements.................................. 21 3.1.1 Node Authenticity and Integrity................... 21 3.1.2 Secure Communications........................ 21 3.1.3 Customer Isolation........................... 21 3.1.4 Encouragement of network-edge connections............. 22 3.1.5 Performance.............................. 22 3.1.6 Low Maintenance............................ 22 3.1.7 Scalability................................ 23 3.2 Design Decisions................................ 23 3.3 Protocol entities................................ 25 3.3.1 Slice................................... 25 3.3.2 Node................................... 26 v Contents 3.3.3 Privacy CA............................... 27 3.3.4 Attestation Ticketing Service..................... 27 3.3.5 Tracker................................. 28 3.3.6 Region.................................. 28 3.3.7 Wire................................... 28 3.4 Protocol Flow.................................. 29 3.4.1 AIK Certification............................ 29 3.4.2 Attestation and Tracker Ticket Retrieval............... 31 3.4.3 Tracker Ticket............................. 33 3.4.4 Tracker Registration.......................... 35 3.4.5 Querying the Tracker......................... 37 3.4.6 Peer Ticket............................... 40 3.4.7 Connecting Slices............................ 41 3.4.8 Transferring Data........................... 43 3.4.9 Deregistration from Tracker...................... 45 3.5 Scalability Enhancement............................ 46 3.5.1 AIK Certification............................ 49 3.5.2 Tracker Ticket............................. 49 3.5.3 Slice Registration............................ 49 3.5.4 Tracker Query............................. 49 4 Implementation details 51 4.1 Data Types................................... 51 4.2 Entity Identifiers................................ 52 4.3 Algorithm Identifiers.............................. 54 4.3.1 Encryption............................... 55 4.3.2 Integrity and Authenticity Protection................ 56 4.4 Changes..................................... 57 4.5 Protocol Flow.................................. 59 4.5.1 AIK Certification............................ 60 4.5.2 Attestation and Tracker Ticket Retrieval............... 62 4.5.3 Tracker Ticket............................. 63 4.5.4 Tracker Registration.......................... 65 4.5.5 Querying the Tracker......................... 66 4.5.6 Peer Ticket............................... 67 4.5.7 Connecting Slices............................ 67 4.5.8 Transferring Data........................... 69 4.5.9 Deregistration from Tracker...................... 70 5 Analysis 71 5.1 Security..................................... 71 5.2 Performance................................... 73 5.3 Privacy..................................... 74 vi Contents 6 Conclusion and Outlook 76 List of ProtocolsI List of Tables II Bibliography III vii 1 Introduction When internet access first became available to home users, the protocols they used (e.g. Gopher, IRC1, HTTP and FTP, SMTP for sending and POP for receiving mail) followed the client/server paradigm. Only after broadband access technologies such as DSL, where the users were not usually billed by online time, had become widespread did Peer-to-Peer [132] (P2P) protocols emerge. Most of the first P2P applications were file sharing programs, even to the point that \peer-to-peer" became synomymous with “file sharing", and most of the files shared contained unauthorized copies of copyrighted songs and movies. This software became so popular that soon peer-to-peer traffic constituted the largest part of the traffic handled by ISPs at all times of the day [54], taxing the scaling limits of their routing equipment. After this peak however, and probably due to increasing legal persecution of the users of such platforms, this ratio dropped significantly in later years [78]. Together with the short median duration of online sessions, this means that most of the bandwith provided by broadband internet connections lies dormant today. On the other side, the constantly increasing speeds of access technologies place in- creasing demands on the servers delivering content in terms of network bandwidth and processing power. This means they have to be placed in large datacenters located at central points of the internet and housing high numbers of high-performance machines, creating high power densities that in turn cause high costs for energy distribution and cooling [20]. One approach to mitigate some of the problems created by such centrally-located high- performance servers are Content Distribution Networks (CDN) [98]. Instead of serving all users from one central site, CDNs distribute several replica servers across the internet, closer to the network edge, and attempt to route user requests to the replica server that is topologically closest to the requestor. This helps reduce traffic cost and improve access latency. However, as the servers of a CDN are again placed in datacenters, this approach cannot significantly reduce the power and cooling problems raised by these. 1.1 Nanodatacenters The Nanodatacenters (NaDa) project2 [82{86] takes the CDN concept to the extreme by utilizing peer-to-peer technology. Its nodes {acting as both servers and clients{ are low- 1Although it could be argued that the Direct Client-to-Client (DCC) [112] sub-protocol of IRC, offering chat and file transfer, was really the first peer-to-peer protocol widely used by dial-up users. 2http://www.nanodatacenters.eu 1 1 Introduction powered set-top boxes (STBs) located at the extreme edge of the network: in end users' homes. There, these ISP-provided and ISP-controlled boxes act as residential home gateways or routers. They are also connected to the users' TV or home entertainment sets, providing access to the services offered by NaDa content providers, such as IPTV, Video on Demand or Online Gaming. Towards the ISP, the content providers are Customers paying for the possibility to offer their services through the NaDa network. Each customer's software runs in a separate virtual machine called a Slice, isolated from the slices of all other customers and from the NaDa Node Management module controlling the operation of the node. A slice's