Technische Universität München Lehrstuhl für Netzarchitekturen und Netzdienste Thesis f Free Secure Network Systems Group (B.Sc. / SEP)

P2P NAT Traversal with SMTP and IMAP

GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or Motivation otherwise trusted services. Robustness and availability are two of GNUnet's main design goals and GNUnet tries to ensure connectivity by encapsulating traffic in common network protocols.

GNUnet is one of the few peer-to-peer networking frameworks providing more than one way of f exchanging data between peers. GNUnet is currently able to use TCP, UDP, HTTP and HTTPS to transfer data between peers.

Many users on the Internet only have limited network connectivity, restricted by firewalls or filtering appliances in company networks or NAT boxes at home. These users are limited in establishing outbound connections using certain protocols or unable to accept inbound connections from the Internet. We want to provide communication for users in such environments.

E-Mail is a service available for most users even in Your Task restricted networks. When normal network traffic is filtered, GNUnet could use SMTP and IMAP to transmit data through firewalls by redirecting the data as a normal e-mail over an outside mailbox. Restricted peers can receive data via the mailbox and reply by sending an e-mail even when located behind a firewall or NAT box.

Your task is to implement this approach using established e-mail protocols, existing libraries and the GNUnet framework. Performance will be the key challenge for this work since SMTP and IMAP typically have high latencies + and are rather verbose. For the thesis, you will have to evaluate your implementation and characterize bottlenecks. + We offer you the possibility to work in a creative environment with motivated supervision. You will Your Benefits learn a lot about development processes in a team, e-mail protocols like SMTP(S) and IMAP(S), performance, networking and the GNUnet peer-to-peer framework and significantly improve your software development skills.

And since we are an official GNU package you have the chance to participate actively in the development of !

To succeed in this challenge you should have: Requirements • Knowledge in Linux • C/C++ programming skills and experience with related development tools • Interest in network technologies

Matthias Wachs [email protected] Contact: http://www.net.in.tum.de/en/members/ http://gnunet.org/fsnsg/