Self-Organizing High-Assurance Privacy
Total Page:16
File Type:pdf, Size:1020Kb
UPTEC IT 19015 Examensarbete 15 hp Augusti 2019 Self-Organizing High-Assurance Privacy Joakim Ingnäs & Nicole Tutsch Institutionen för informationsteknologi Department of Information Technology Abstract Self-Organizing High-Assurance Privacy Joakim Ingnäs & Nicole Tutsch Teknisk- naturvetenskaplig fakultet UTH-enheten When using a network, devices might have to securely communicate with one another. Issues arise when the devices are unaware of others in the network, or Besöksadress: when the devices have to be manually updated with the information about the Ångströmlaboratoriet Lägerhyddsvägen 1 devices they wish to communicate with. This presents an issue with bootstrapping Hus 4, Plan 0 over networks. Therefore, the question of how to make these devices find the relevant peers becomes a pressing one. In addition, the devices have to securely Postadress: exchange keys. In this paper, a solution is presented using a rendezvous point that Box 536 751 21 Uppsala acts as a gateway between a key distribution server and the clients. The architecture of the system consists of one rendezvous point, one key distribution Telefon: server, and multiple clients. The clients have to go through the rendezvous point in 018 – 471 30 03 order to reach the key distribution server. Two different protocols, RSA and Telefax: password-authenticated key exchange, are studied in order to understand which 018 – 471 30 00 one of them is superior in key exchange security. The result of the study is that the RSA protocol is faster than the password-authenticated key exchange protocol Hemsida: when applied to this solution. However, password-authenticated key exchange is http://www.teknat.uu.se/student seen as safer, as it applies security measures that RSA lacks. In this project, the system manages to have the clients routed from the rendezvous point to the key distribution center, and the key distribution server manages to send out information to the clients about their peers. In addition, the rendezvous manages to shield the key distribution center from some denial-of-service attack on the hardware. However, this solution is highly theoretical, and requires further research to be regarded as completely functional. Handledare: Tobias Laross Ämnesgranskare: Joachim Parrow Examinator: Lars-Åke Nordén ISSN: 1401-5749, UPTEC IT 19015 Tryckt av: Reprocentralen ITC Populärvetenskaplig sammanfattning I dagens samhälle är en stor del av alla datorer uppkopplade i ett nätverk, t.ex. internet. Eftersom alla dessa datorer måste kommunicera med varandra krävs det att de kan hitta varandra, så kallat "bootstrapping". Kommunikationen måste även ske på ett säkert sätt, så att ingen obehörig kan avlyssna vad som skickas. Detta presenterar, bland annat, två problem som måste lösas: hur ska datorer hitta varandra, och hur ska de förhandla fram nycklar på ett säkert sätt? I detta examensarbete har två olika protokoll för utbyte av nycklar: PAKE, "Password Authenticated Key Exchange" (autentisering med hjälp av lösenord), samt RSA (två olika nycklar). Dessa två skiljer sig markant, då RSA har två olika nycklar (en publik och en privat), och PAKE har symmetriska nycklar. Den viktiga delen av detta examensarbete är inkluderingen av en KDC, "Key distribu- tion center" (nyckeldistributionscenter), och en RP, "rendezvous point" (mötesplats). KDC har använts tidigare, i t.ex. implementationer av Kerberos, men RP är inte lika vanligt. Examensarbetet undersöker även de två tidigare nämnda protokol för att ta reda på vilket som var säkrare. Användandet av en RP, tillsammans med en KDC, undersöks för att ta reda på om den kunde bidra till att det blev enklare för klienter att hitta varandra. Två stationära datorer med Linux Ubuntu användes som KDC och RP, medan klienterna var Raspberry Pis. Attackerna var i deflesta fall två Macbook Pros. Klienterna hade förprogrammerat adressen och portarna till RP:n, för att försäkra sig om att de skulle hitta den. Efter att klienterna hade autentiserat sig skickade RP:n ett meddelande till klienterna. Detta meddelande innehöll IP och port till KDC:n. Klienterna kunde då koppla upp sig till KDC:n. Säkerheten i detta system undersöktes med hjälp av att attackera RP:n med en DoS och en DDoS-attack. Även en man-in-the-middle-attack testades, men gav bristfälliga resultat på grund av problem med verktyget som användes. Även en brute force attack skulle ha blivit utförd, men var endast teoretisk. Som slutresultat visade det sig att klienterna enkelt kan hitta RP:n, samt vidarekoppla sig till KDC:n. Därifrån får de meddelande om vilka klienter som var uppkopplade. Detta betyder att de två problemen som nämndes i början är lösta, inom en testmiljö. Dessu- tom skyddar RP:n KDC:n från DoS och DDoS-attackerna som attackerar hårdvaran. Det är endast när själva nätverket går ner som kommunikationen mellan KDC och klienterna upphör. Systemet är däremot inte redo för användning utanför en testmiljö. Resultatet somfinns i detta examensarbete ska endast användas som ett underlag för vidare forskning. i Contents 1 Introduction 1 2 The Problem 2 3 Background 2 3.1 Secure Networks . .................... 3 3.2 Peer-to-Peer . .................... 3 3.3 VPN . .................... 3 3.3.1 Tunneling . ................... 4 3.3.2 Dynamic Multipoint VPN . ........... 5 3.3.3 Requirements of a decentralized bootstrapping of P2P systems . 5 3.3.4 Existing solutions - Peer-based . 6 3.3.5 Existing solutions - Mediator-based . 7 3.4 Token-based authentication . ............. 7 3.5 IPSec . .................... 8 3.6 Encrypted Key Exchange . ................ 9 3.6.1 Diffie-Hellman Key Exchange . 9 3.6.2 RSA . .................... 10 3.6.3 Password Authenticated Key Exchange . 13 3.6.4 Secure Packager and Encoder Key Exchange . 14 3.7 Lattice-Based Cryptography . 14 3.7.1 LAC.CPA . ................... 16 3.7.2 LAC.CCA . ................... 20 3.7.3 LAC.AKE . ................... 21 3.8 Security of self-organizing networks . 22 3.9 Attacks . .................... 24 3.9.1 Denial-of-Service and Distributed Denial-of-Service . 24 3.9.2 Eavesdropping . 25 3.9.3 Man in the Middle . 26 3.9.4 ARP spoofing and poisoning . 27 3.9.5 Brute force attack . 27 3.9.6 VPN hijacking . 28 3.9.7 Sniffing ................... 29 3.10 Tools . .................... 29 3.10.1 Ettercap . ................... 29 3.10.2 bettercap . 30 3.10.3 XerXeS . ................... 30 3.11 Key Distribution Center . 30 4 Related work 32 ii 4.1 Group Encrypted Transport VPN . 33 4.1.1 Group Domain of Interpretation . 35 4.2 Internet Key Exchange Protocol Version 2 (IKEv2) . 36 4.3 Kerberos . .................... 36 4.4 Decentralized Bootstrapping in Pervasive Application . 37 4.5 Bootstrapping in ad hoc networks . 37 5 Design 38 5.1 Requirements . .................... 38 5.1.1 Key system attributes . 39 5.2 Design . .................... 39 5.2.1 PAKE . .................... 41 5.2.2 RSA . .................... 42 5.2.3 Rendezvous point . 42 6 Method 42 6.1 Hardware . .................... 43 6.1.1 Laptops . .................... 43 6.1.2 Raspberry Pis 3B+ . 43 6.1.3 Desktops . .................... 43 6.2 Implementation aspects common between PAKE and RSA . 44 6.2.1 The client . ................... 44 6.2.2 The rendezvous point . 45 6.2.3 The key distribution server . 45 6.2.4 Application programming interface . 46 6.3 PAKE . .................... 47 6.3.1 Client . .................... 47 6.3.2 Rendezvous point . 47 6.3.3 KDC . .................... 48 6.4 RSA . .................... 48 6.4.1 Client . .................... 49 6.4.2 Rendesvouz point . 49 6.4.3 KDC . .................... 50 6.5 Setting up the server . ................... 50 6.6 Attacks . .................... 50 6.6.1 DoS and DDoS . 50 7 Results 51 7.1 General testing . .................... 51 7.1.1 Robustness . 51 7.1.2 Theoretical scalability . 51 7.1.3 Efficiency . 52 iii 7.1.4 Authentication server . 53 7.2 DoS and DDoS-attack . 53 8 Discussion 55 8.1 Issues . .................... 57 8.1.1 General issues . 57 8.1.2 University-related issues . 57 8.1.3 LAC.AKE . ................... 58 8.1.4 Hardware . ................... 58 8.2 Answers to questions in section 2 . 59 8.3 Choice of protocols . ................... 61 8.4 Design . .................... 62 8.4.1 Requirements . 62 8.4.2 General design . 64 8.4.3 PAKE . .................... 65 8.4.4 RSA . .................... 66 8.4.5 Robustness . 67 8.4.6 Efficiency . 67 8.4.7 Scalability . ................... 68 8.4.8 Authentication server . 68 8.5 Method . .................... 69 8.5.1 Common method for PAKE and RSA . 69 8.5.2 PAKE . .................... 71 8.5.3 RSA . .................... 71 8.6 Attacks . .................... 71 8.6.1 MitM . .................... 72 8.6.2 DoS and DDoS . 73 8.6.3 Brute force . ................... 73 8.6.4 VPN hijacking . 74 8.7 Tools . .................... 74 8.8 Related work . .................... 75 8.8.1 GET VPN . ................... 75 8.8.2 IKEv2 . .................... 76 8.8.3 Kerberos . ................... 76 8.8.4 Decentralized bootstrapping in Pervasive Application . 77 8.8.5 Bootstrapping.