Freenet: The technical part of the solution for Freedom of the Press in the Internet

Preview:

DESCRIPTION

In 2000 we said that the internet is at a crossroad between surveillance and freedom. Freenet started to fight for ensuring freedom of the press. Then 9/11 happened. In 2013 Edward Snowden made the general public realize that we are already far past that crossroad. He gave us precious time to turn back the wheel and take the road towards freedom.

Citation preview

FreenetThe technical part of the solution for freedom of the press in the internetArne Babenhauserheide | 21. September 2014

Freenet Project

www.freenetproject.org

Outline

1 Why?

2 About

3 Applications

4 Funding

5 Tech

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 2/46

Why Freenet?

I worry about my child and the Internet all the time, even thoughshe’s too young to have logged on yet. Here’s what I worryabout. I worry that 10 or 15 years from now, she will come to meand say ’Daddy, where were you when they took freedom of thepress away from the Internet?’ –Mike Godwin, ElectronicFrontier Foundation, “Fear of Freedom” (1995)

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 3/46

Why now? Dark Times

“There is now no shield from forced exposure. . . The foundationof Groklaw is over. . . the Internet is over” –Groklaw, ForcedExposure (2013-08-20)

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 4/46

Why now? A New Hope

In 2000 we said that the internet is at a crossroad betweensurveillance and freedom. Freenet started to fight for ensuringfreedom of the press. Then 9/11 happened. In 2013 EdwardSnowden made the general public realize that we are already farpast that crossroad. He gave us precious time to turn back thewheel and take the road towards freedom.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 5/46

What is Freenet?

Freenet is the technical part of the solution for freedom of thepress in the internet.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 6/46

THE technical part? Other projectsPure Transporte.g. tor, i2p

No offline hostingvulnerable to DoScorrelation attacks

This killed the Black Goblin Market

Hosting with coste.g. TAHOE-LAFS, MaidSafe

Fixed storage: When it isfull, it is fullDoS-resistance?Spam-resistance? Cost?

Good content often comes fromsmall publishers.

Pure messaginge.g. bitmessage, invisible.im

No publishingNo offline hosting

Server-basede.g. SecureDrop

Requires powerfulinfrastructureDoS-ableTiming attacks (correlation)

GNUnet?Good, but more filesharing thanpublishing.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 7/46

THE technical part? Freenet

Communicationpersistent pseudonymsspam resistance via WoTmultiple applications (Sone,FMS, Freemail, FlogHelper,. . . )

Publishingoffline hostingJoin, drop content, leave.decaying storagelifetime depends on userdemand

Proven track record of providing censorship resistant publishing andcommunication since 2000.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 8/46

The TECHNICAL part?

Tech alone is not enoughComplete blocking andsurveillance is possible.

Politics alone is not enoughIf surveillance and censorshipare trivial, they will be done.

Tech and PoliticsPrivacy technology provides the background on which politics can work:Making surveillance and censorship expensive and hard enough that wecan win the political battle.

The NSA surveillance doesn’t scale.– Constanze Kurz (EuroPython 2014)

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 9/46

Who are we?

2 donation-funded part timedevelopers: toad and xor.About a dozen free time developers.Some anonymous contributors.Communication mostly over IRC(#freenet @ irc.freenode.net)and FMS (in Freenet).

Abbildung : Some Freenetdevelopers at CTS4. Fromleft to right: ArneBab, toad,leuchtkaefer and digger3.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 10/46

Project Summary

Freenet provides essential features for freedom of press.

Tech creates the background needed to win the political battle.

Freenet was created 14 years ago and improved constantly.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 11/46

Applications

File HostingSite hostingConfidential MessagingDVCS

EmailMicrobloggingSpam resistanceForums

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 12/46

File Hosting

decentralized pastebin, decentralized file hoster.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 13/46

Site Hosting

we call them freesites.Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 14/46

Site creation

jSite (GUI) freesitemgr (pyFreenet)

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 15/46

Easier sites: Sharewiki

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 16/46

Confidential Messaging

Darknet messagingTalk to friends who runFreenetHide metadata in Freenettraffic

with file hostingconfidential pastebininvisible and encryptedlike all file uploadsbefore sharing the key

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 17/46

Email with hidden metadata

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 18/46

DVCS$ cd /tmp$ hg clone freenet://USK@j2Mfv0b81MNSslh3Qg9gs1vgQj36whsuosP8ydZq158,Xb~vh8XEXmdwGFca4HAx-ILOZD6AWPVuRzIuLerl4PU,AQACAAE/infocalypse-repo.R1/17Current USK version: 17Fetching bundles......Pulled bundle: (-1, 0, 1)...Pulled bundle: (0, 9, 0)...Pulled bundle: (9, 16, 0)

As basic protection, infocalypse automatically set the username’anonymous’ for commits in this repo, changed the commands‘commit‘ and ‘ci‘ to fake UTC time and added ‘clt‘ which commitsin the local timezone. To change this, edit/tmp/freenet-funding/.hg/hgrc

MercurialinfocalypsepyFreenetHg (old)

Gitegit-freenet

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 19/46

Blogging: Flog Helper

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 20/46

Microblogging: Sone

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 21/46

Spam resistance

Web of TrustPropagating trustGeneralizedUsed by plugins (i.e. Sone)

FMSExplicit Trust ListsOne Shot IDs

Shared PropertiesCAPTCHAs for introductionTake a while to find existing People

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 22/46

Web of Trust

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 23/46

Forums: FMS

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 24/46

Comments on the Clearweb

See draketo.de/proj/freecom anddraketo.de/english/freenet/spam-resistant-decentral-comments

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 25/46

Language Bindings

Java - in corehttps://github.com/freenet/fredPlugin Writing:wiki.freenetproject.org/Plugin_development_tutorialFreenet Client Protocol:wiki.freenetproject.org/FCPv2

Python - pyFreenethttps://github.com/freenet/lib-pyFreenet

Perl*: https://github.com/freenet/lib-perlFreenet

Ruby*: https://github.com/freenet/lib-rubyFreenet

Ada*: https://github.com/freenet/lib-AdaFN/

*: I did not test these, yet. I don’t know whether they actually work.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 26/46

Application Summary

Do you miss anything?

Join us and create it!

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 27/46

Why not as big as tor?

Focus

Hard problems solved, butnot polishedLots of low hanging fruit

MoneyFreenet: 2 part timedevelopersTor: 20 full time developers

Tor is military funded. Freenetdoes not help hack foreignservers. Do the math :)

FundingWe try to get more focus and money.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 28/46

Funding

Goal

What we need

2 year vision

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 29/46

Goal: Journalists and Whistleblowers

maintain journalist site

contact a journalist via the site

traceless persistent pseudonym (QR or written key)

Freenet-stick, preseeded

invisible darknet (steganography)

grow the darknet over mobile

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 30/46

What we need

Minimal2 codersone part time1 outreach1 coordinatorand coder2 years620k Euro

Good2 coders1 UX1 outreach1 coordinator3 years1.5M Euro

Ideal3 coders2 UX2 outreach1 coordinator5 years3.8M Euro

If you are in contact with human rights groups who might want to fund us,please get in touch!

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 31/46

2 year vision

Nick, JournalistRepublish on FreenetEmail from JaniceAsk to verify the leakHelp her keep out of troubleRun the story

Janice, WhistleblowerUse Freenet in cafésSelect Nick by siteSend leaked documentsReply to questionsLie LowLeak again

All already possible, but not easy.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 32/46

Going further

publication and collaboration:platform for politicalbloggerssocial network with privacyby designprogramming platform

backend for the web:comment system forwebsitesexchanging files with friends

harder to detect and block:hide data in VoIP streamhiding data in email attachmentspre-filled USB-sticks to exchange with collegues and friends. . . and many more - see Steganography

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 33/46

What is in it for me?

Secure EnvironmentIf it’s safe enough forwhistleblowers, it’s safe enoughto give you privacy.

Hide in the ForestThe more people use Freenet,the safer it gets for everyone.Bigger anonymity set.

Privacy by DefaultEasy enough for everyday communication. Journalists need that.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 34/46

Funding Summary

Freenet for Journalists and Whistleblowers

Already possible but not easy

Finance a group of full time Freenet hackers

3-8 people, 2-5 years

620k Euro to 3.8M Euro

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 35/46

Tech

capabilities

routing

simulation

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 36/46

About the tech

Datastoredecentralizedon the computers of usersencrypted chunks of fileskey (URL) to assemble,decrypt and identifyanonymous pseudonymspublic/private key publishinglifetime by demand

Routingsmall world: scale freeoptional friend-to-friend(Darknet)location: [0..1) for each filechunk and nodefind route: from node to filechunkforward data: travels alongthe route

Applicationssubscribe to keys: 30s to 30 min round trip time.base for applications: Websites, Forums, Microblogging, Chat.spam resistance: Web of Trust (2 implementations).

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 37/46

Small World Routing

Abbildung : Finding the route to a chunk ofdata. Greedy Routing on Scale Free structure.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 38/46

Network structure optimization

OpennetOptimize peer-connectionsvia success-metricDistance Constraintmaximum number of longconnections

Darknet (friend-to-friend)Assume small worldconnections to peopleknown in real lifeReconstructthe structure by swappinglocations

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 39/46

Routing Simulation

Random Routing

Abbildung : 10 paths betweenlocations on a random network with1000 nodes. Average path length:105.

Small World Routing

Abbildung : 10 paths betweenlocations on a small world networkwith 1000 nodes. Average pathlength: 5.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 40/46

Link lengths in the Simulations

Abbildung : Link length distribution in the simulated small world and randomnetworks.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 41/46

Measured Network Structure

Abbildung : Link length distribution in Freenet. The green line would be an idealnetwork. Blue would be a random network. Red is the measured distribution.Randomization from local requests, churn and inhomogenity in the network skewthe distribution.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 42/46

Additional notes

PerformanceUpload 150 MiB in 1 dayDownload 1 GiB in 1 day

With max bandwidth set to80kBps and average bandwidthat 50-60kBps.

OptimizationsFOAF routingCaching. . .

Missing in the simulation.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 43/46

Tech Summary

Small World Structure

Measured fits simulated

It scales

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 44/46

Summary

Freenet is the technical part of the solution for freedom of thepress in the internet.

Decentral, anonymous datastore.

Many applications.

Started in 2000.

Scales.

FundraisingWe want to raise money to make Freenet perfect for Journalists.Info: draketo.de/proj/freenet-funding

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 45/46

Get Freenet!

freenetproject.orgThis presentation: github.com/ArneBab/freenet-fundraising

Donate: freenetproject.org/donate.htmlBitcoin: 1966U1pjj15tLxPXZ19U48c99EJDkdXeqb

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 46/46

Recommended