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

46
Freenet The technical part of the solution for freedom of the press in the internet Arne Babenhauserheide | 21. September 2014 Freenet Project www.freenetproject.org

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.

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

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

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

Freenet Project

www.freenetproject.org

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

Outline

1 Why?

2 About

3 Applications

4 Funding

5 Tech

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 2/46

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Applications

File HostingSite hostingConfidential MessagingDVCS

EmailMicrobloggingSpam resistanceForums

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 12/46

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

File Hosting

decentralized pastebin, decentralized file hoster.

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 13/46

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

Site Hosting

we call them freesites.Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 14/46

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

Site creation

jSite (GUI) freesitemgr (pyFreenet)

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 15/46

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

Easier sites: Sharewiki

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 16/46

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

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

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

Email with hidden metadata

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 18/46

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

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

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

Blogging: Flog Helper

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 20/46

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

Microblogging: Sone

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 21/46

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

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

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

Web of Trust

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 23/46

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

Forums: FMS

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 24/46

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

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

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

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

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

Application Summary

Do you miss anything?

Join us and create it!

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 27/46

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

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

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

Funding

Goal

What we need

2 year vision

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 29/46

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

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

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

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

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

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

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

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

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

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

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

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

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

Tech

capabilities

routing

simulation

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 36/46

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tech Summary

Small World Structure

Measured fits simulated

It scales

Why? About Applications Funding Tech

Arne Babenhauserheide – Freenet 21. September 2014 44/46

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

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

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

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