TU Darmstadt / ULB / TUprints

Bootstrapping Cryptography on the Internet

Brandt, Markus (2022)
Bootstrapping Cryptography on the Internet.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00021526
Ph.D. Thesis, Primary publication, Publisher's Version

[img] Text
brandt22-bootstrapping.pdf
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (2MB)
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Bootstrapping Cryptography on the Internet
Language: English
Referees: Waidner, Prof. Dr. Michael ; Shulman, Prof. Dr. Haya ; Schinzel, Prof. Dr. Sebastian
Date: 2022
Place of Publication: Darmstadt
Collation: xxx, 164 Seiten
Date of oral examination: 13 June 2022
DOI: 10.26083/tuprints-00021526
Abstract:

This thesis focuses on bootstrapping cryptography, taking it from a theoretical algorithm to something we can use on the Internet. We summarize the requirement and define five pillars that build the foundation of successfully deployed cryptographic algorithms: computational performance, usability, transport, key management, and randomness. While there is a lot of research around the computational performance and usability of cryptographic algorithms, we focus on the other pillars. For transport, we explore two obstacles that interfere with the development of practical, real-world secure computation applications. We show the importance of the selection of suitable transport layers. Our evaluations show how Transmission Control Protocol (TCP) does not fully utilize the bandwidth for Two Party Computation (2PC) implementations. We evaluate three transport layers protocols for different applications and show that no protocol is suited for every scenario. In our evaluations, we use various protocols and network conditions in multiple regions to highlight the effects on the performance of 2PC applications. We propose an extendable framework that integrates the (initially) three transport layer protocols: User Datagram Protocol (UDP), TCP, and UDP-based Data Transfer Protocol (UDT). The framework's task is to identify the most suitable transport layer protocol depending on the current TCP application and the network conditions. For key management, we show how to manipulate a domain validation mechanism. We developed a BGP simulator to evaluate BGP paths on the Internet. Our simulator is high performant and respects relationships between CAs. In combination with our simulator, we analyze the resilience of the domains ecosystem to attacks against domain validation. Our measurements show that the domains ecosystem is not resilient to prefix hijacks and reveal that only a few ASes own most domains. We discuss possible mitigations and propose the distributed domain validation as a drop-in replacement for the standard domain validation. It allows strong resistance against MitM attackers. Additionally, we show that many IPs are anycast which is beneficial for distributed domain validation. We also analyze the validations agents' placement on the Internet and demonstrate a method to determine good ASes for agent placement. For randomness, we propose an alternative approach for generating pseudorandom strings, using the distributed nature of the Internet for collecting randomness from public services on the Internet. We develop our Distributed Pseudorandom Generator (DPRG) and demonstrate how it guarantees security against strong practical attackers and how it addresses the main shortcomings in existing PRGs. It uses AES encryption in CBC mode and an HDKF to extract randomness and inputs for handshakes. We analyze the distribution of different randomness sources like HTTP, SMTPS, SSH, and TOR and present an implementation of DPRG using the TOR network. We analyze the quality of randomness and performance of our DPRG and show that we can achieve highly secure randomness only from user space.

Alternative Abstract:
Alternative AbstractLanguage

Diese Arbeit befasst sich mit dem Hochziehen (engl. bootstrapping) der Kryptografie, so dass ein theoretischer Algorithmus praktisch im Internet eingesetzt werden kann. Wir fassen die Anforderungen zusammen und definieren fünf Säulen, die die Grundlage für erfolgreich einsetzbare kryptografische Algorithmen bilden: Rechenleistung, Benutzerfreundlichkeit, Transport, Schlüsselverwaltung und Zufälligkeit. Wir konzentrieren und nur auf die drei letzten Säulen. Für den Transport untersuchen wir zwei Hürden, die die Entwicklung praktischer, sicherer kryptographischen Anwendungen erschweren. Wir zeigen, wie wichtig die Auswahl von geeigneten Transportschichten ist. Unsere Auswertungen zeigen, dass das Transmission Control Protocol (TCP) die Bandbreite für Two Party Computation (2PC) Implementierungen nicht vollständig ausnutzt. Unsere Evaluation von drei Transportschichtprotokollen zeigt, dass kein Protokoll für jedes Szenario geeignet ist. Wir verwenden verschiedene Protokolle und Netzwerkbedingungen in mehreren geographischen Regionen, um die Auswirkungen auf die Leistung von 2PC Anwendungen zu verdeutlichen. Wir schlagen ein erweiterbares Framework vor, welches (zunächst) drei Transportschichtprotokolle integriert: User Datagram Protocol (UDP), TCP, und UDP-based Data Transfer Protocol (UDT). Die Aufgabe des Frameworks ist es, das am besten geeignete Transportschichtenprotokoll in Abhängigkeit von der aktuellen 2PC Anwendung und den Netzwerkbedingungen zu wählen. Für die Schlüsselverwaltung zeigen wir, wie man einen Domänenvalidierungsmechanismus manipulieren kann. Wir haben einen optimierten BGP-Simulator entwickelt, um BGP-Pfade im Internet zu berechnen. Zusätzlich berücksichtigt unser Simulator die Beziehungen zwischen CAs in der Suche und vermeidet ungültige Pfade. In Kombination mit unserem Simulator analysieren wir die Widerstandsfähigkeit des Domänen-Ökosystems gegenüber Angriffen auf die Domänenvalidierung. Unsere Evaluation zeigt, dass das Domänen-Ökosystem nicht widerstandsfähig gegen Präfix-Hijacks ist und dass nur wenige Autonome Systeme die meisten Domänen besitzen. Wir stellen mögliche Gegenmaßnahmen vor und schlagen die verteilte Domainvalidierung als Ersatz für die Standard-Domainvalidierung vor, welche einen starken Schutz gegen MitM-Angreifer bietet. Außerdem zeigen wir, dass viele IP-Adressen anycast sind, was für die verteilte Domainvalidierung von Vorteil ist. Wir analysieren die Platzierung der Validierungsagenten im Internet und demonstrieren eine Methode zur Bestimmung guter Autonome Systeme für die Agentenplatzierung.

German
Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-215263
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Security in Information Technology
Date Deposited: 19 Jul 2022 10:06
Last Modified: 16 Aug 2022 09:58
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/21526
PPN: 497909456
Export:
Actions (login required)
View Item View Item