Architecture for a GNU INTERNET


The summer of 2013 will remain the moment we finally realized how broken the Internet was, and how much this had been abused. At first #youbroketheinternet was a cry of anger, but also a call to code the missing pieces for a new Internet architecture which doesn't fall to pieces like a house of cards.

If deployed on top of technologies that were not designed for it, end-to-end encryption has proven to be "damn near unusable," as Edward Snowden himself put it, let alone forward secure. But there are actually many new tools that have that feature at their foundation. Antiquated protocols like DNS, SMTP, XMPP and X.509 leak so-called metadata, that is the information of who is talking to whom. Also they put user data on servers out of the reach of their owners.

X.509, the certification system behind HTTPS and S/MIME, is broken and allows most governments and even many companies to run man in the middle attacks on you. The trust chain between the cryptography and the domain names is broken. Even if DNSSEC and DANE try to improve the security of DNS, they still expose your interest for certain resources. SMTP is so broken, you shouldn't even use it with PGP and XMPP fundamentally has the same problems: as long as all involved servers know all about who is talking to whom, it is already by far too much exposed knowledge — even if the link-level encryption, which again depends on X.509, hasn't been broken by a man in the middle, which is hard to find out if there is no human intervention and no reporting to the actual users.

This is not the way it has to be. We believe a completely new stack of Internet protocols is not only feasible, it already exists to a large extent. It merely needs better attention. Currently 99% of technology people are focused on improving the above mentioned protocols, even though they are broken by design - and can only be improved in some partial aspects. Vastly insufficient compared to what humanity deserves. This project is for those who want to look into a future of an Internet, which actually respects constitutional principles.

It seems like there is no functional business model for privacy, that's why we cannot entrust companies or standards organisations to pull this off.

A video presentation of the #youbroketheinternet project was given at the ThinkTwice conference 2014. For German viewers gibt es die Videoaufzeichnung unserer Projektpräsentation beim Easterhegg 2014.


Here's a map of projects working in some architectural layer of a possible GNU Internet. As you can see, none covers all required layers, so there is some work left to be done:

Yellow is for projects in development while green is for those that are available. Red illustrates brands that lose their monopoly condition once the respective layers are fully operational whereas light red indicates faulty technologies that we must replace. See the map page for elaboration on that.

Proposal for LEGISLATION


We are working on an EU law proposal to require obfuscated and end-to-end encrypted communications in all telephony and computer appliances sold after 2014. The law shall include ways to ensure its correct implementation and a transition path from the existing unencrypted systems. You can preview the draft legislation here. The summary of the 30c3 YBTI sessions includes a discussion on the proposal. Video: (webm, mp4)

Videos from the YBTI Sessions at 30c3


Next generation apps

The next generation on privacy and crypto apps all satellite around public-key based routing. We'll discuss e-mail replacements, secure telephony and DHT-based storage systems.
  • Jacob Appelbaum - Pond, a Tor-based mail system (webm, mp4)
  • Leif Ryge - Tahoe-LAFS, a distributed file system storage (sorry, no video)
  • Simon Levermann - Tox, a peer-to-peer telephony tool (webm, mp4)
  • Bart Polot - Telephony over GNUnet (webm, mp4)


How can we make our technologies grandpartent compatible and the exchange of cryptographic keys and shared secrets a natural everyday transation?
  • Aleclm (SNAKE) - A friendship handshake evolving the Socialist Millionaire (webm, mp4)
  • vonlynX (secushare) - Usability horror lessons to learn from e-mail, PGP, RetroShare and more (webm, mp4)
  • Jan Borchardt (unhosted) - Open Source Design (webm, mp4)
  • Brennan Novak (mailpile) (webm, mp4)

Futures of Public-Key based Routing

How can something like onion routing become a basic function of the Internet? How can end-to-end authenticity be the default?
  • Florian Dold - GNUnet's new cryptography (sorry, no video)
  • cjd (cjdns) - The edge of dystopia (webm, mp4)
  • Panel feat. I2P, cjdns, GNUnet and more (webm, mp4)

Scalability of Distributed Systems

Why is it so hard to do a distributed Twitter that actually works?
  • Gabor Toth - secushare multicasting over GNUnet (webm, mp4)
  • Moritz Bartl - Scaling the Tor network (sorry, no video)
  • von lynX - Distributed social networking over Onion Routing (sorry, no video)

Additional in-depth presentations

  • Aleclm - Snake: a privacy-aware social service providing anonymity of data at rest (webm, mp4)
  • Forthy - net2o reinvents the Internet: Secure, reliable, fast and lightweight (sorry, no video)
  • infinity0 - Terraforming Arrakis: development practice recommendations for a long-term architecture of a new Internet (sorry, no video)

Secure Name Systems

The great shoot out panel of the name resolution titans. Does it make sense to patch the Domain Name System? Which strategy should we pick for a safer new Internet stack? Should we require cryptographic privacy of name resolution?
  • Haya Shulman (DNSSEC/DANE)
  • Dan J. Bernstein (DNSCurve)
  • Levin Keller (Namecoin)
  • Christian Grothoff (GNS, the GNU Name System)
Tragically, there are no recordings of this excellent panel. There is a biased summary in the summary video below.

Operating Systems

From safer use of cryptography over kernel magic to reproducible compilation of to a vision of a full security redesign of the OS.
  • Jon Solworth - EthOS: an Operating System to make it far easier to write applications that withstand attack (webm, mp4)
  • Tanja Lange & Dan J Bernstein - NaCl: a Networking and Cryptography library improving security, usability and speed (webm, mp4)
  • Lunar - Reproducible Compilation: Challenges of building a deterministic Debian. Roughly same talk as presented at FOSDEM (webm)
  • Julian Kirsch - Knock: a Linux kernel patch for operating stealthy TCP servers (webm, mp4) (see also below for the more recent "Knocking down the Hacienda" presentation).

Mesh Networking

We need more infrastructure that is run independently of nation states or for-profit corporations. Who owns all the wi-fi gear in our homes? Is it them or us? How can we as a society operate networks for the common good?
  • cjd - cjdns, Hyperboria & the Project Meshnet (webm, mp4)
  • Bart Polot - GNUnet Mesh Networking (webm, mp4)
  • Panel feat. Elektra (BATMAN, Freifunk) (webm, mp4)

Libre Hardware

If the hardware we are running our systems on is intrinsically insecure, we may be building a fortress on top of a house of cards. What is required on the lowest levels to obtain reasonable endpoint security?
Very interesting panel featuring illustre guests:
  • Rop Gonggrijp (Founder of
  • Dominik (Byterazor)
  • Bunnie & Xobs (novena laptop)
  • Karsten Becker (PSHDL on FPGAs)
  • Peter Stuge (coreboot)
  • Dan & vonlynX (youbroketheinternet)
Video recording: (webm, mp4)

Summary of the 30c3 YBTI Sessions

Summary + discussion on the legislation proposal for obligatory obfuscated and end-to-end encrypted communication: (webm, mp4)

Options for a Secure Mail System


We have published our revised version of the comparison report on Options for a Secure Mail System which discusses also all the legacy protocols and proposals and why they cannot solve the issues at stake.

Video: Knocking down the HACIENDA


This is "Knocking down the HACIENDA," the talk from the GNU Hackers Meeting 2014 that caused some mayhem for making the GCHQ HACIENDA program generally known to the public. The talk details how the five eyes agencies have been collaborating to systematically obtain control over computers on the entire planet, and how the new TCP Stealth technology developed by the presenter provides obstacles to the massive port scanning. GNU Internet technologies should support this new advanced TCP port knocking technique.

Workshop for a GNU CONSENSUS


On the week-end of August 24-25, 2013, we gathered at Berlin's CCC headquarters to develop a rough consensus on what the criteria should be for a GNU internet and to prepare for the upcoming sessions at 30C3.

Video: Talks for a GNU INTERNET

  This is the video from the talks given in Berlin on August 1st. Over 100.000 people have watched it already — so should you. The talks are in English, even though the welcoming words are in German.

... featuring:

Christian Grothoff's talk summarized the recent revelations about PRISM and their implications for non-American citizens, industries and governments. It then presented technical solutions towards a secure and fully decentralized future Internet, which would address key challenges for self-determined life created by the world-wide police state. Interesting details on this:
  • A new cryptographic method for a privacy-capable DNS/DNSSEC placement, called GADS (it was later renamed into GNS as in GNU Naming System).
  • A faster and smarter extensible messaging syntax than XML and JSON, called PSYC.
  • A strategy for distributed and liberated Internet search, called RegEx.

Carlo von lynX gave a presentation on how secushare intends to provide messaging and Facebook-like functionality on top of GNUnet. Keywords:

  • Scalability thanks to a new multicast pubsub layer for P2P;
  • Social graph vs. Onion routing;
  • Unsafety of your own server in an XKeyscore world.

Richard Stallman and Jacob Appelbaum reminded the audience of the relevance of free software, free hardware and the pervasive use of cryptography and responded to questions. Denis and Torsten spoke introductory and closing words.

This event was kindly hosted by the Piratenpartei Berlin.


How long will the employed cryptography last?
All of the platforms are apparently migrating to a healthy variant of elliptic curve crypto (ECC), so that is likely to be fine for years. Even if a way to break it is discovered, it will be an extra effort to decrypt anything, so it is a good idea to hide your private messages in a large body of cover traffic. The aim of #youbroketheinternet is to impede mass surveillance, not targeted operations, therefore this type of architecture is sufficient from our point of view. If you need more security, the safest choice is to not use the Internet or to not use a computing device.
Can I trust private cloud technology?
That is currently a gamble. As a rule of thumb, the cheaper the hosting, the easier for governments and other attackers to have automated access to server memory and cryptographic keys. Location of the servers may be of relevance. Manufacturer also. Hiding the services behind Tor, I2P or other technologies may be helpful. In all cases servers tend to become honeypots, so we recommend technologies that do not depend upon them.
How scalable should messaging systems be?
For asynchronous one-on-one communications it may not be essential. Pond is an architecture that should work fine if you limit the number of people you use it with. As soon as you expect to have a buddy list indicating the online presence of your friends in order to have a synchronous chat, that's when scalability strikes. If you also consider mailing lists or microblogging as use cases, then it is a big factor. In that case the question is, why deploy a not so scalable messaging technology if there is hope we will be able to provide a scalable one based on distributed multicast trees? Also, would it make sense these days to deploy a messaging technology that isn't integrated into a social networking experience?
Can this technology also provide network backup solutions?
This can currently be done using Tahoe-LAFS, but you will have to run the necessary nodes yourself or together with friends. Freenet may work, too, but it has no social modeling, so it cannot know whether you deserve the service. Suboptimal service may result. With a social-graph enhanced pubsub and relay architecture such as secushare's we expect this to be realistic and easy to deploy for everyone who has a sufficiently benevolent social neighborhood. Tribler probably has a similar plan.
Does a tool to synchronize devices have to be scalable?
If it is just for you, you can do as said before. If we want to offer this for everyone, then it needs the social neighborhood to function, or you may be able to trade relaying services, the way GNUnet and Tribler do. Under these circumstances massive scalability may not be a requirement.
Now that asymmetry is no longer a requirement in modern DSL technology, does it make sense to push for its reduction?
Absolutely yes. The less we depend on relay nodes, the better a GNU Internet works.
Why GNU and not new?
GNU stands for the civic freedoms provided by free software. Richard Stallman explains it nicely in the video mentioned above. The privacy requirements that we have for the new Internet cannot be guaranteed by non-free software.
Does the GNU Internet need a custom software license?
We currently recommend the Affero GPL, because of all the good reasons Mr Stallman explained to you. In particular we expect that companies would try to offer gatewaying services once these technologies become more popular, so it is important that these services, at least legally, cannot be running rogue versions of the software that disrespect their user's rights. A harsher free software license than AGPL may be a good idea, but it may require revisiting also the definition of "open source."