thefoundationhttp://www.thefoundation.de2010-08-23T01:30:22Z(c) 2010 Michael Kurze, Aachen, GermanyDiaspora — Can the Social Graph be Our Web of Trust?2010-08-23T01:30:22ZMichael Kurzehttp://www.thefoundation.de/about/michaeldiaspora-and-the-web-of-trust<p>On Friday we had Max, Ilya and Raphael from <a href="http://www.joindiaspora.com" title="Diaspora Project Site">Diaspora</a> over at Mozilla. They <a href="http://tieguy.org/blog/2010/08/20/notes-on-diaspora-talk/" title="Luis Villa’s Notes on the Diaspora Talk">talked</a> about their effort in creating a distributed social network. Where I think they are on the right track, and where they should think even bigger.</p><h3>Why we need Diaspora</h3>
<p>
Personally, I see three major challenges that everyone passionate about the <a href="http://www.mozilla.org/about/manifesto.en.html" title="Principles of the Open Web, as outlined by the Mozilla Manifesto">open internet</a> needs to make up their mind about:
</p>
<ul style="margin-bottom:0.5em; margin-top:0.3em; padding-top: 0;">
<li><em>The <a href="http://googlepublicpolicy.blogspot.com/2010/08/joint-policy-proposal-for-open-internet.html" title="Google Public Policy on the Verizon deal">erosion</a> of <a href="http://dig.csail.mit.edu/2006/06/neutralnet.html" title="Daniel Weitzner: The neutral internet">Net Neutrality</a></em></li>
<li><em>Participants <a href="http://futureoftheinternet.org/" title="The Future of the Internet and How to Stop it by Jonathan Zittrain">switching to closed</a> environments of apps and appliances, becoming mere consumers (*)</em> </li>
<li><em>People entrusting their personal data and social activity to Facebook, forced to <a href="http://www.geekymomblog.com/2010/05/18/the-facebook-dilemma/" title="Geeky Mom on the Facebook dilemma">choose</a> between control and connectedness</em></li>
</ul>
<p>In the context of the Diaspora talk, I’ll focus on the third issue.</p>
<p>We need Diaspora because people need to be in control over with whom they share personal information. Every time Facebook <a href="http://www.aclunc.org/issues/technology/blog/facebook_places_check_this_out_before_you_check_in.shtml" title="http://arstechnica.com/web/news/2010/08/privacy-groups-facebook-already-facing-off-over-places.ars">sneaks in</a> a new default that breaks privacy, we grudgingly change the settings again — and stay, not wanting to lose our friends. Or we just don’t know about it and leave it as it is. Combined with the social monopoly that Facebook has established, this makes privacy and security optional features, subject to change like any other.</p>
<h3>How Diaspora can help already</h3>
<p>
The main distinguishing factor of Diaspora compared to Facebook et al. is in that it decouples your social graph from the network provider, bringing back real competition to the social space. Like with E-Mail, there can be lots of network providers, loosely connected over push-interfaces. Whenever a pod (the equivalent to an e-mail-provider in Diaspora) should violate your trust, you can just switch to another one, or set up your own pod.
</p>
<h3>What could be done better</h3>
<p>
On the downside, this means that you have to trust your pod as well as all your friend’s pods. <em>No big deal?</em> Well, where the same server software is used on a distributed network, it is very prone to exploit of <a href="http://en.wikipedia.org/wiki/Sendmail#History_of_vulnerabilities" title="History of Vulnerabilities in the popular mail server sendmail">vulnerabilities</a> due to patch delay and misconfiguration (correctly setting up <abbr title="Transport Layer Security">TLS</abbr> is still a big challenge, <a href="http://www.theinquirer.net/inquirer/news/1727426/us-government-fails-secure-websites" title="The Inquirer: DHS fails to secure its website">not only</a> for regular people).
</p>
<p>
<a href="http://en.wikipedia.org/wiki/HTTP_Secure" title="Wikipedia on HTTPS">Secure HTTP</a> is great when a large, anonymous group of people needs to trust a central service. It allows us to do online banking and purchases, free from eavesdropping and man-in-the-middle attacks. However, it is not peer-to-peer: When you fetch your mail over a secure IMAP connection, you might be sure that your password is protected, but you do not know who actually sent you that e-mail (think about it: that is the reason why phishing works). When you get it from Google Mail, you might be using TLS, but Google is still able to read your every conversation.
</p>
<h3>How PGP can solve this</h3>
<p>
I propose that Diaspora pods should be dumb post boxes that <em>are not able</em> to actually look into status updates, private messages, friend lists and so on. <em>How?</em> The technology for that has been available for quite some time and is called <a href="http://www.pgpi.org/doc/pgpintro/" title="Introduction to PGP">PGP</a>.
</p>
<p>
Basically, PGP allows you to send and receive messages that cannot be decrypted by the servers that route them. So, if you were to encrypt your message inside your browser, you would establish secure end-to-end communication. No need to trust the shady pods that some of your friends decided to use, not knowing any better. <em>But encryption in a web client? That sounds awfully slow!</em> Well, <a href="https://addons.mozilla.org/z/en-US/firefox/addon/10868/privacy/" title="Firefox Sync (aka Weave)">Firefox Sync</a> does it already with your entire browsing history (the pass phrase to your key is never sent to the server), and I would imagine that JavaScript interpreters have become fast enough to emulate the cryptographic capabilities of a PC from 1991.
</p>
<p>I do have ideas on how to approach search and incremental profile updates with this, and on the new security considerations that apply here (Can you always trust your browser? Could a pod not make you use an insecure web client that transmits your passphrase?). However, that is rather technical, possibly material for a follow up post.
</p>
<h3>The social network is a key signing party</h3>
<p>
The problem with PGP has always been that people have been unable to exchange public keys in a manner that is both trustworthy and extensive. Because a <a href="http://en.wikipedia.org/wiki/Web_of_trust" title="Wikipedia on the Web of Trust">web of trust</a> can often not be established, people refrain from using encrypted e-mail. Turns out that social networks come with a mechanism that is just made for this: <em>Friending</em>. In the secure social network, accepting a friend request would be equivalent to exchanging keys. Usually you are referred to friends from people you already know, so there already is a basic level of trust.
</p>
<p>
This means that online social networks can be transformed from a jeopardy to our security to a vehicle of the same. This idea is of course also <a href="http://serendipity.ruwenzori.net/index.php/2009/03/18/pgp-web-of-trust-meets-modern-social-networking" title="PGP web of trust meets modern social networking by Jean-Marc Liotier">not entirely new</a>. What might be new is the idea of building the social web entirely on top of PGP rather than just integrating that as an optional feature.
</p>
<h3>Any Comments?</h3>
<p>I have not gotten around to add Commenting or Pingback to this blog, but I would love to incorporate any (links to) comments in a follow up post, please write to michael at this domain.</p>
<h3>Update:</h3>
<p>
If I understand correctly, the diaspora guys are already planning to use GPG for cryptography <a href="http://www.joindiaspora.com/2010/04/21/a-little-more-about-the-project.html" title="Diaspora Blog: A little more about the project">somewhere</a>. This is a pretty good start. If they really already plan on generating keys for everyone, then they would only need to pull the actual encryption into the web client.
</p>
<p style="font-size: 85%;"><em>(*) Like any intern at Mozilla I had the opportunity to to talk to John Lilly, and I got the impression that Mozilla takes this development very seriously.</em></p>Die Klimaschützer2009-07-06T17:28:16ZDaniel Beckerhttp://www.thefoundation.de/about/danieldie-klimaschutzer<p>Start using green energy – install the <a href="http://apps.facebook.com/dieklimaschuetzer/">Carbon Clock</a> on your Facebook-Profile or homepage!</p><p>Finally the <a href="http://apps.facebook.com/dieklimaschuetzer/">Carbon Clock</a> is online! The Layout was created by <a href="http://www.widjet.de/">widjet</a>, my task was the Flash and programming stuff. It is my first <a href="http://facebook.com">Facebook</a>-Application! After some struggle with the <a href="http://developers.facebook.com/">API</a> the application works fine – needless to say, I am a bit proud!<br />Depending on the installs of this application, the Carbon Clock shows how many carbon dioxide is prevented from emitting by users of green energy.</p>
<div style="width:184px;height:250px;text-align:center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="184" height="225" id="CarbonClock" align="middle"> <param name="allowScriptAccess" value="always" /> <param name="allowFullScreen" value="false" /> <param name="movie" value="http://klima.stromauskunft.de/application/media/main.swf?wid=4a4dfaa1d1b04826&pid=4a5214a7bd60dc6b" /> <param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <param name="flashvars" value="wid=4a4dfaa1d1b04826&pid=4a5214a7bd60dc6b&getAppUrl=http://www.clearspring.com/widgets/4a4dfaa1d1b04826" /> <embed src="http://klima.stromauskunft.de/application/media/main.swf?wid=4a4dfaa1d1b04826&pid=4a5214a7bd60dc6b" flashvars="wid=4a4dfaa1d1b04826&pid=4a5214a7bd60dc6b&getAppUrl=http://www.clearspring.com/widgets/4a4dfaa1d1b04826" quality="high" bgcolor="#ffffff" width="184" height="225" name="CarbonClock" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object><a href="http://www.stromauskunft.de/de/html/oekostrom/klimaschuetzer.html" style="font-size:12px;color:#6198C2;font-family:Helvetica,Arial,sans;display:block;padding-top:4px">Mach mit! Werde Klimaschützer!</a></div>
<p>Click the <q>Wer macht mit?</q>-Button to <a href="http://www.clearspring.com/widgets/4a4dfaa1d1b04826">install the widget</a> on your homepage or go to <a href="http://apps.facebook.com/dieklimaschuetzer/">the Facebook-Application</a> and install <q>Die Klimaschützer</q> to your profile!</p>
<p>Since I felt lost sometimes during the development, I soon will write down my experiences and techniques in a short article.</p>
<p>
<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US"></script>
<script type="text/javascript">FB.init("590725159c942c465f24ecb1efdc2d2d");</script>
<fb:fan profile_id="69907595492" stream="" connections="" width="400"></fb:fan>
</p>