<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Benlog &#187; web</title>
	<atom:link href="http://benlog.com/articles/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://benlog.com</link>
	<description>security, privacy, transparency.</description>
	<lastBuildDate>Thu, 17 May 2012 17:09:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>cookies don&#8217;t track people. people track people.</title>
		<link>http://benlog.com/articles/2012/02/19/cookies-dont-track-people-people-track-people/</link>
		<comments>http://benlog.com/articles/2012/02/19/cookies-dont-track-people-people-track-people/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 00:55:33 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[privacy]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=2098</guid>
		<description><![CDATA[The news shows are in a tizzy: Google violated your privacy again [CBS, CNN] by circumventing Safari&#8217;s built-in tracking protection mechanism. It&#8217;s great to see a renewed public focus on privacy, but, in this case, I think this is the &#8230; <a href="http://benlog.com/articles/2012/02/19/cookies-dont-track-people-people-track-people/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The news shows are in a tizzy: Google violated your privacy again [<a href="http://www.cbsnews.com/8301-18563_162-57380653/google-under-fire-over-secretly-tracking-users/">CBS</a>, <a href="http://www.cnn.com/video/#/video/tech/2012/02/18/jkusa-google-tracking-unknowing-apple-users.cnn">CNN</a>] by circumventing Safari&#8217;s built-in tracking protection mechanism. It&#8217;s great to see a renewed public focus on privacy, but, in this case, I think this is the wrong problem to focus on and the wrong message to send.</p>
<h4>what happened exactly</h4>
<p>(Want a more detailed technical explanation? Read <a href="http://webpolicy.org/2012/02/17/safari-trackers/">Jonathan Mayer&#8217;s post</a>. He&#8217;s the guy who discovered the shenanigans in question.)</p>
<p>Cookies are bits of data with which web sites tag users, so that when users return, the site can recognize them and provide continuity of service. This is mostly good for users, who don&#8217;t want to re-identify themselves every time they visit their favorite social network or e-commerce site. Cookies work mostly with strong compartmentalization: if <tt>cnn.com</tt> tags you, your browser sends that tag back only to <tt>cnn.com</tt>. This is important because users would be surprised (not the good kind of surprise) if one site could tag them once and then cause them to uniquely identify themselves with the same identifier to all other sites across the Web.</p>
<p>Things get complicated when web sites embed content served by third parties, for example ads within a news site. Should this third-party content also be able to tag your browser? Should the tag be sent back to that third party when its content is loaded?</p>
<p>Different browsers do different things. Firefox toyed with the idea of not sending the tag back to third parties, but in beta-testing realized that this would break some features that users have come to depend upon, for example Facebook sharing widgets. Safari chose a fairly unique approach: they mostly disallow third parties from tagging users, though they do allow existing tags to be read, so that things like Facebook widgets can still work.</p>
<p>For some reason (I won&#8217;t speculate why, Google claims it&#8217;s to enable the +1 button), Google used a known technique that tricks Safari into accepting a third-party tag from Google.</p>
<h4>mechanism vs. intent</h4>
<p>So the reason this whole controversy bugs me is that we&#8217;re discussing web privacy based on specific mechanisms, a bit like discussing home privacy by regulating infrared cameras. Sure, an infrared camera can be used to violate my home privacy, but it can be used for many good things, and there are many <em>other</em> ways to invade my home privacy. Cookies, like all technical mechanisms, have both good and evil uses. And browsers don&#8217;t all behave the same way with respect to cookies and other web features, so it&#8217;s typical for developers to find workarounds that effectively give them &#8220;standard behavior&#8221; from all browsers. Sometimes these workarounds are truly meant to help the user accomplish what they want. Sometimes these workarounds are used to evil ends, e.g. to track people without their consent.</p>
<p>Again, I don&#8217;t know what Google&#8217;s intentions were. All I know is that we&#8217;re prosecuting the wrong thing: a technical mechanism instead of the an intent to track. Cookies don&#8217;t track people. People track people. We should be focusing on empowering users to express their preferences on tracking and ensuring web sites are required to comply.</p>
<h4>the tracking arms race</h4>
<p>If we focus on technical mechanisms to protect user privacy, then we&#8217;re dooming users to an un-winnable arms race. There are dozens of ways of tracking users other than classic cookies. Google used a work-around for Safari third-party cookies, but let&#8217;s say they hadn&#8217;t. Let&#8217;s say instead they&#8217;d used Flash cookies, or cache cookies, or device fingerprinting, or a slew of other mechanisms that browsers do not defend against, in large part because it&#8217;s really hard to defend against these tracking mechanisms without also breaking key Web features. Would Google then be in the clear?</p>
<p>I fear that that&#8217;s exactly what we&#8217;re implying when we focus the privacy discussion on mechanisms of tracking. The trackers will move on to the next mechanism, and the browsers will scram to try to defend against these mechanisms without every being able to catch up. <em>Blocking tracking at the technical level is, in my opinion, impossible.</em></p>
<h4>the solution: Do Not Track and More</h4>
<p>The beginning of a solution lies in the judo move that is <a href="http://donottrack.us/">Do Not Track</a>, an idea that came out of a collaboration between <a href="http://dubfire.net">Christopher Soghoian</a>, <a href="http://dankaminsky.com/">Dan Kaminsky</a>, and <a href="http://sidstamm.com/">Sid Stamm</a> (see the <a href="http://paranoia.dubfire.net/2011/01/history-of-do-not-track-header.html">full history of DNT</a>). Do Not Track was first implemented in Firefox last year, and soon thereafter in IE, Opera, and Safari. It&#8217;s being <a href="http://www.w3.org/2011/tracking-protection/">standardized now at the W3C</a>. It simply lets the user express a preference for not being tracked. Is it a strong technical measure? No. It does nothing to directly prevent tracking. Instead, it lets the user express a preference. And, as support for it grows, it will become incredibly difficult for sites to justify tracking behavior, <em>regardless of the mechanism</em>, when the user has clearly expressed and communicated this choice.</p>
<p>We&#8217;ll need more than Do Not Track in the future. But it&#8217;s the right kind of battle. It doesn&#8217;t care about cookies or fingerprinting or who-knows-what.</p>
<p>If you want to get upset at Google, ask why they don&#8217;t provide Do Not Track support in Chrome. Ask why they don&#8217;t respect the Do Not Track flag on Google web properties when they see users waiving it. These are fights worth having. But fighting over cookies? That&#8217;s so last decade.</p>
<p><b>UPDATE</b>: corrected origin credit for DNT header.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2012/02/19/cookies-dont-track-people-people-track-people/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>a simpler, webbier approach to Web Intents (or Activities)</title>
		<link>http://benlog.com/articles/2012/02/09/a-simpler-webbier-approach-to-web-intents-or-activities/</link>
		<comments>http://benlog.com/articles/2012/02/09/a-simpler-webbier-approach-to-web-intents-or-activities/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 15:14:43 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[mozilla]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=2052</guid>
		<description><![CDATA[A few months ago, Mike Hanson and I started meeting with James, Paul, Greg, and others on the Google Chrome team. We had a common goal: how might web developers build applications that talk to each other in a way &#8230; <a href="http://benlog.com/articles/2012/02/09/a-simpler-webbier-approach-to-web-intents-or-activities/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few months ago, <a href="http://www.open-mike.org/">Mike Hanson</a> and I started meeting with James, Paul, Greg, and others on the Google Chrome team. We had a common goal: <em>how might web developers build applications that talk to each other in a way that the user, not the site, decides which application to use?</em> For example, how might a major news site provide a &#8220;share&#8221; button that connects to the user&#8217;s preferred sharing mechanism? Not everyone uses the same top-three social networks, yet users are constantly forced to search for their preferred service within a set of publisher-chosen buttons. That leads to undue centralization and significantly undercuts innovation and user choice. How incredibly inelegant!</p>
<p>We figured that, with a bit more browser smarts, we could do better.</p>
<h4>to the design studio!</h4>
<p>Mike and I proposed <b>Web Activities</b>, and put together <a href="https://mozillalabs.com/blog/2011/07/web-apps-update-experiments-in-web-activities-app-discovery/">a screencast</a>.</p>
<p>The Google team proposed <b>Web Intents</b>, and put together a <a href="http://webintents.org/">far more complete proposal</a>.</p>
<p>Techcrunch <a href="http://techcrunch.com/2011/07/08/mozilla-labs-launches-web-activities-experiment-lets-web-apps-talk-to-each-other/">covered our collaboration</a>.</p>
<p>While all this was happening, the always amazing Tyler Close, of <a href="http://web-send.org/">Web Introducer fame</a> and also from Google, was whispering in our ears &#8220;Guys, I think you&#8217;re doing it wrong. It&#8217;s over-engineered. We can do simpler.&#8221; We all ignored him. I think that was a mistake. Tyler was right. Web Activities was over-engineered. And, I fear, Web Intents is too.</p>
<p>(<a href="http://tantek.com/2011/220/b1/web-actions-a-new-building-block">Tantek</a> also deserves credit for pointing out that <a href="http://tantek.com/2011/220/b1/web-actions-a-new-building-block">we can do simpler</a>.)</p>
<h4>the glaring inconsistency</h4>
<p>Web applications already have a mechanism for communicating with other web applications loaded within the same browser: <a href="https://developer.mozilla.org/en/DOM/window.postMessage"><tt>postMessage</tt></a>. It isn&#8217;t perfect, but it works, and it is flexible enough that much innovation has been built on it. Google, Microsoft, Facebook all use it, oftentimes for embedding widgets within other pages, each in a very different way. At Mozilla, we use <tt>postMessage</tt> extensively for <a href="https://browserid.org">BrowserID</a>, and we&#8217;ve built nice abstractions on top of it, like <a href="https://github.com/lloyd/winchan">winchan</a> to consistently build a message channel to a new popup window (including all IE workarounds).</p>
<p><tt>postMessage</tt> is a very simple, very Webby, and very generative: it&#8217;s easy to build new ideas on top of it. It doesn&#8217;t care about mime types, dialogs, callbacks, etc. It&#8217;s just a simple, authenticated message channel. The only reason <tt>postMessage</tt> isn&#8217;t enough to do what we need is that the sender and receiver are, for the most part, tightly coupled. The sender has to specify its receiver, which means the user can&#8217;t easily step in and substitute the endpoint of her choice. <tt>postMessage</tt> tightly couples the sender and receiver of the channel. We&#8217;d like a loose coupling, where the user gets to mix and match senders and receivers.</p>
<p>So wait, if that&#8217;s the only gap, then why are we proposing a completely different approach to cross-application messaging? Why should tight and loose coupling of messaging channels be implemented in completely different ways? Given that the <tt>postMessage</tt> abstraction has been so successful and useful, the &#8220;right&#8221; way to move forward is to tweak it, minimally, not to redesign a different stack.</p>
<h4>a minimalist way forward</h4>
<p>A minimalist way forward is to use <tt>postMessage</tt> as is, and to provide only the bits necessary to enable loose coupling.</p>
<p>Here, Tyler comes to the rescue again. He proposed, in one of the last chats we had with Google, using custom protocol handlers as the target of <tt>postMessage</tt> channels. So, when a major news site wants to share an article, rather than postMessage&#8217;ing (or linking) to <tt>http://twitter.com/</tt>, it can use the one-indirection-away URL <tt>share://...</tt>. The browser can then jump in and substitute <em>the user&#8217;s preferred implementation</em> of a sharing provider at that custom protocol handler. Everything else, linking or communicating via <tt>postMessage</tt>, is then the same.The only difference is, there&#8217;s one level of indirection to give the user a chance to step in and say &#8220;that service, please.&#8221;</p>
<p>What&#8217;s even more interesting is that we already have basic mechanisms for sites to register themselves as custom protocol handlers: <a href="https://developer.mozilla.org/en/DOM/navigator.registerProtocolHandler"><tt>registerProtocolHandler</tt></a>. The current mechanisms aren&#8217;t quite good enough yet, but the tweaks we would need are far simpler than building a whole new messaging stack. Mozilla&#8217;s own Austin King has <a href="https://github.com/mozilla/repotheweb">prototyped</a> what some of these tweaks might look like using a JavaScript shim, and the results are surprisingly useful with only minor tweaks.</p>
<h4>another minimalist approach</h4>
<p>There&#8217;s also <a href="http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1509.html">Ian Hickson&#8217;s proposal</a>, which is a little bit different than using protocol handlers and has some nice properties. It&#8217;s quite similar to Tyler&#8217;s proposal in one key way: <em>do the smallest amount of work to set up a message channel, and get out of the way</em>. Mark Hammond has <a href="https://github.com/mhammond/hixtents">prototyped</a> Ian&#8217;s proposal, and it looks like it can be nicely shimmed in pure JavaScript (with just one tweak to the API that&#8217;s probably worth considering even for the native implementation.) I like this proposal, too, and I wonder if it could be made to work with custom protocol handlers, which have a nice URL-based architecture.</p>
<h4>so now what?</h4>
<p>I propose that we stop for a second on the Web Intents discussion and ask ourselves: maybe we&#8217;ve been over-engineering this. Maybe we don&#8217;t need mime types and new HTML elements and new DOM properties, etc. Maybe there&#8217;s a much easier, good-enough solution, based on proven technology, with only minor tweaks to well-understood code paths. It won&#8217;t be perfect, we&#8217;ll probably need some JS libraries to make things more convenient for developers, but <em>that&#8217;s okay</em>. That&#8217;s better for the Web. Keep the platform simple, leave the real innovation to the edges.</p>
<p>I believe Web Intents, as currently proposed, are over-engineered. So are Web Activities. But it&#8217;s not too late to correct course. Let&#8217;s figure out the simplest way to involve the user in choosing an application, set up a message channel, and get out of the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2012/02/09/a-simpler-webbier-approach-to-web-intents-or-activities/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>encryption is (mostly) not magic</title>
		<link>http://benlog.com/articles/2011/12/21/encryption-is-mostly-not-magic/</link>
		<comments>http://benlog.com/articles/2011/12/21/encryption-is-mostly-not-magic/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 20:17:08 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[crypto]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1878</guid>
		<description><![CDATA[A few months ago, Sony&#8217;s Playstation Network got hacked. Millions of accounts were breached, leaking physical addresses and passwords. Sony admitted that their data was &#8220;not encrypted.&#8221; Around the same time, researchers discovered that Dropbox stores user files &#8220;unencrypted.&#8221; Dozens &#8230; <a href="http://benlog.com/articles/2011/12/21/encryption-is-mostly-not-magic/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few months ago, <a href="http://en.wikipedia.org/wiki/PlayStation_Network_outage">Sony&#8217;s Playstation Network got hacked</a>. Millions of accounts were breached, leaking physical addresses and passwords. Sony admitted that their data was &#8220;not encrypted.&#8221;</p>
<p>Around the same time, researchers discovered that <a href="http://en.wikipedia.org/wiki/Dropbox_%28service%29#Criticism">Dropbox stores user files &#8220;unencrypted.&#8221;</a> Dozens (hundreds?) closed their accounts in protest. They&#8217;re my confidential files, they cried, why couldn&#8217;t you at least encrypt them?</p>
<p>Many, including some quite tech-savvy folks, were quick to indicate that it would have been so easy to encrypt the data. Not encrypting the data proved Sony and Dropbox&#8217;s incompetence, they said.</p>
<p>In my opinion, it&#8217;s not quite that simple.</p>
<p>Encryption is easy, it&#8217;s true. You can download code that implements military-grade encryption in any programming language in a matter of seconds. So why can&#8217;t companies just encrypt the data they host and protect us from hackers?</p>
<p>The core problem is that, to be consumable by human users, data has to be decrypted. So the decryption key has to live somewhere between the data-store and the user&#8217;s eyeballs. For security purposes, you&#8217;d like the decryption key to be very far from the data-store and very close to the user&#8217;s eyeballs. Heck you&#8217;d like the decryption key to be *inside* the user&#8217;s brain. That&#8217;s not (yet) possible. And, in fact, in most cases, it isn&#8217;t even practical to have the key all that far from the data-store.</p>
<h4>encryption relocates the problem</h4>
<p>Sony needs to be able to charge your credit card, which requires your billing address. They probably need to do that whether or not you&#8217;re online, since you&#8217;re not likely to appreciate being involved in your monthly renewal, each and every month. So, even if they encrypt your credit card number and address, they also need to store the decryption key somewhere on their servers. And since they probably want to serve you an &#8220;update your account&#8221; page with address pre-filled, that decryption key has to be available to decrypt the data as soon as you click &#8220;update my account.&#8221; So, if Sony&#8217;s web servers need to be able to decrypt your data, and hackers break into Sony&#8217;s servers, there&#8217;s only so much protection encryption provides.</p>
<p>Meanwhile, Dropbox wants to give you access to your files everywhere. Maybe they could keep your files encrypted on their servers, with encryption keys stored only on your desktop machine? Yes&#8230; until you want to access your files over the Web using a friend&#8217;s computer. And what if you want to share a file with a friend while they&#8217;re not online? Somehow you have to send them the decryption key. Dropbox must now ask its users to manage the sharing of these decryption keys (good luck explaining that to them), or must hold on to the decryption key and manage who gets the key&#8230;. which means storing the decryption keys on their servers. If you walk down the usability path far enough – in fact not all that far – it becomes clear that Dropbox probably needs to store the decryption key not too far from the encrypted files themselves. Encryption can&#8217;t protect you once you actually mean to decrypt the data.</p>
<p>The features users need often dictate where the decryption key is stored. The more useful the product, the closer the decryption key has to be to the encrypted data. Don&#8217;t think of encryption as a magic shield that miraculously distinguishes between good and bad guys. Instead, think of encryption as a mechanism for shrinking the size of the secret (one small encryption key can secure gigabytes of data), thus allowing the easy relocation of the secret to another location. That&#8217;s still quite useful, but it&#8217;s not nearly as magical as many imply it to be.</p>
<h4>what about Firefox Sync, Apple TimeMachine, SpiderOak, Helios, etc.</h4>
<p>But but but, you might be thinking, there <em>are</em> systems that store encrypted data and don&#8217;t store the decryption key. <a href="http://www.mozilla.org/en-US/mobile/sync/">Firefox Sync</a>. Apple&#8217;s <a href="http://www.apple.com/timecapsule/">TimeMachine backup system</a>. The <a href="http://spideroak.com">SpiderOak</a> online backup system. Heck, even my own <a href="http://heliosvoting.org">Helios Voting System</a> encrypts user votes in the browser with no decryption keys stored anywhere except the trustees&#8217; own machines.</p>
<p>It&#8217;s true, in some very specific cases, you can build systems where the decryption key is stored only on a user&#8217;s desktop machine. Sometimes, you can even build a system where the key is stored nowhere durably; instead it is derived on the fly from the user&#8217;s password, used to encrypt/decrypt, then forgotten.</p>
<p>But all of these systems have significant usability downsides (yes, even my voting system). If you only have one machine connected to Firefox Sync, and you lose it, you cannot get your bookmarks and web history back. If you forget your Time Machine or SpiderOak password, and your main hard drive crashes, you cannot recover your data from backup. If you lose your Helios Voting decryption key, you cannot tally your election.</p>
<p>And when I say &#8220;you cannot get your data back,&#8221; I mean you would need a mathematical breakthrough of significant proportions to get your data back. It&#8217;s not happening. Your data is lost. Keep in mind: that&#8217;s the whole point of not storing the decryption key. It&#8217;s not a bug, it&#8217;s a feature.</p>
<h4>and then there&#8217;s sharing</h4>
<p>I alluded to this issue in the Dropbox description above: what happens when users want to share data with others? If the servers don&#8217;t have the decryption key, that means users have to pass the decryption key to one another. Maybe you&#8217;re thinking you can use public-key encryption, where each user has a keypair, publishes the public encryption key, and keeps secret the private decryption key? Now we&#8217;re back to &#8220;you can&#8217;t get your data back&#8221; if the user loses their private key.</p>
<p>And what about features like Facebook&#8217;s newsfeed, where servers process, massage, aggregate, and filter data for users before they even see it? If the server can&#8217;t decrypt the data, then how can it help you process the data before you see it?</p>
<p>To be clear: if your web site has social features, it&#8217;s very unlikely you can successfully push the decryption keys down to the user. You&#8217;re going to need to read the data on your servers. And if your servers need to read the data, then a hacker who breaks into the servers can read the data, too.</p>
<h4>so the cryptographer is telling me that encryption is useless?</h4>
<p>No, far from it. I&#8217;m only saying that encryption with end-user-controlled keys has far fewer applications than most people think. Those applications need to be well-scoped, and they have to accompanied by big bad disclaimers about what happens when you lose your key.</p>
<p>That said, encryption as a means of partitioning power and access on the server-side remains a very powerful tool. If you have to store credit card numbers, it&#8217;s best if you build a subsystem whose entire role is to store credit-card numbers encrypted, and process transactions from other parts of your system. If your entire system is compromised, then you&#8217;re no better off than if you hadn&#8217;t taken those precautions. But, if only part of your system is compromised, encryption may well stop an attacker from gaining access to the most sensitive parts of the system.</p>
<p>You can take this encryption-as-access-control idea very far. An MIT team just <a href="http://css.csail.mit.edu/cryptdb/">published CryptDB</a>, a modified relational database that uses interesting encryption techniques to strongly enforce access control. Note that, if you have the password to log into the database, this encryption isn&#8217;t going to hide the data from you: the decryption key is on the server. Still, it&#8217;s a very good defense-in-depth approach.</p>
<h4>what about this fully homomorphic encryption thing?</h4>
<p>OK, so I lied a little bit when I talked about pre-processing data. There is a kind of encryption, called homomorphic encryption, that lets you perform operations on data while it remains encrypted. The last few years have seen epic progress in this field, and it&#8217;s quite exciting&#8230;. for a cryptographer. These techniques remain extremely impractical for most use cases today, with an overhead factor in the trillions, both for storage and computation time. And, even when they do become more practical, the central decryption key problem remains: forcing users to manage decryption keys is, for the most part, a usability nightmare.</p>
<p>That said, I must admit: homomorphic encryption <em>is</em> actually almost like magic.</p>
<h4>the special case of passwords</h4>
<p>Passwords are special because, once stored, you never need to read them back out, you only need to check if a password typed by a user matches the one stored on the server. That&#8217;s very different than a credit-card number, which does need to be read after it&#8217;s stored so the card can be charged every month. So for passwords, we have special techniques. It&#8217;s not encryption, because encryption is reversible, and the whole point is that we&#8217;d like the system to strongly disallow extraction of user passwords from the data-store. The special tool is a one-way function, such as <tt>bcrypt</tt>. Take the password, process it using the one-way function, and store only the output. The one-way function is built to be difficult to reverse: you have to try a password to see if it matches. That&#8217;s pretty cool stuff, but really it only applies to passwords.</p>
<p>So, if you&#8217;re storing passwords, you should absolutely be passing them through a one-way function. You could say you&#8217;re &#8220;hashing&#8221; them, that&#8217;s close enough. In fact you probably want to say you&#8217;re salting and hashing them. But whatever you do, you&#8217;re not &#8220;encrypting&#8221; your passwords. That&#8217;s just silly.</p>
<h4>encryption is not a magic bullet</h4>
<p>For the most part, encryption isn&#8217;t magic. Encryption lets you manage secrets more securely, but if users are involved in the key management, that almost certainly comes at the expense of usability and features. Web services should strongly consider encryption where possible to more strictly manage their internal access controls. But think carefully before embarking on a design that forces users to manage their keys. In many cases, users simply don&#8217;t understand that losing the key means losing the data. As my colleague Umesh Shankar says, if you design a car lock so secure that locking yourself out means crushing the car and buying a new one, you&#8217;re probably doing it wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/12/21/encryption-is-mostly-not-magic/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>BrowserID and me</title>
		<link>http://benlog.com/articles/2011/09/21/browserid-and-me/</link>
		<comments>http://benlog.com/articles/2011/09/21/browserid-and-me/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 22:27:54 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[identity]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1769</guid>
		<description><![CDATA[A few weeks ago, I became Tech Lead on Identity and User Data at Mozilla. This is an awesome and challenging responsibility, and I&#8217;ve been busy. When I took on this new responsibility, BrowserID was already well under way, so &#8230; <a href="http://benlog.com/articles/2011/09/21/browserid-and-me/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I became Tech Lead on Identity and User Data at Mozilla. This is an awesome and challenging responsibility, and I&#8217;ve been busy. When I took on this new responsibility, <a href="https://browserid.org">BrowserID</a> was already well under way, so we were able to launch it in my second week on the project (early July). It&#8217;s been a very fun ride.</p>
<p>Here&#8217;s the BrowserID demo at the Mozilla All-Hands last week:</p>
<p><iframe width="640" height="360" src="http://www.youtube-nocookie.com/embed/6x45Nt1fOMM" frameborder="0" allowfullscreen></iframe></p>
<p>Given my prior work on email-based authentication (<a href="http://assets.adida.net/research/w2sp2008-emid.pdf">EmID</a>, <a href="http://assets.adida.net/research/lightweight-signatures-for-email.pdf">Lightweight Email Signatures</a>, <a href="http://assets.adida.net/research/beamauth-ccs2007.pdf">BeamAuth</a>), you might think BrowserID was my brainchild. In fact, it really wasn&#8217;t. And, in a testament to the shrinking impact of academic publication venues, none of the BrowserID team had ever heard of my work on email-based authentication before I arrived at Mozila, even though Mozilla folks are quite well versed in the state of the art. But who cares: when I found out about the ongoing work and how we agreed on just about every design principle, I was incredibly excited. And when I realized the fantastic work the team had already done on defining a scaffolding and adoption path for the technology, I was super impressed.</p>
<p>BrowserID started with the <a href="https://wiki.mozilla.org/Identity/Verified_Email_Protocol">Verified Email Protocol</a>, designed by <a href="http://www.open-mike.org/">Mike Hanson</a> and <a href="http://twitter.com/thunder">Dan Mills</a>, who came up with the approach after extensive exploration of web-based identity approaches over the last two years. It&#8217;s a simple idea: users can prove to web sites that they own a particular email address. That&#8217;s how they register, and that&#8217;s how they log back in the next time they visit the site. BrowserID, the code and site, was initially bootstrapped by <a href="http://lloyd.io/">Lloyd Hilaiel</a> and Mike Hanson. <a href="http://www.shanetomlinson.com/">Shane Tomlinson</a> and I joined the team in June. We now also have an awesome UX design team (Bryan and Andy) and the team continues to grow (yay Austin!)</p>
<p>So, that&#8217;s what I&#8217;m working on these days: BrowserID and other Identity+UserData efforts at Mozilla. I&#8217;m excited to be leading this technical effort. The team is amazing, and we&#8217;ve got big aggressive plans to help you control your identity and data on the Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/09/21/browserid-and-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>and the laws of physics changed</title>
		<link>http://benlog.com/articles/2011/07/03/and-the-laws-of-physics-changed/</link>
		<comments>http://benlog.com/articles/2011/07/03/and-the-laws-of-physics-changed/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 20:39:44 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[identity]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1758</guid>
		<description><![CDATA[Google just introduced Google Plus, their take on social networking. Unsurprisingly, Arvind has one of the first great reviews of its most important feature, Circles. Google Circles effectively let you map all the complexities of real-world privacy into your online &#8230; <a href="http://benlog.com/articles/2011/07/03/and-the-laws-of-physics-changed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Google just introduced <a href="http://plus.google.com">Google Plus</a>, their take on social networking. Unsurprisingly, Arvind has <a href="http://33bits.org/2011/07/03/google-and-privacy-a-roundup/">one of the first great reviews</a> of its most important feature, Circles. Google Circles effectively let you map all the complexities of real-world privacy into your online identity, and that&#8217;s simply awesome.</p>
<p>You can think of Circles as the actual circles of friends you have. The things that are easy to do in real life, like sharing a fun anecdote with the friends you generally go out with on Saturday nights, are easy to do in Circles. The things that are hard to do in real life, like planning your best friend&#8217;s surprise birthday party with all of his close friends but <em>without</em> him, are no easier in Circles: you have to make a new list of &#8220;everyone except Bob.&#8221; That&#8217;s great, because I don&#8217;t think our brains have evolved yet to really feel comfortable with a social model that supports all set operations, e.g. this circle <em>minus</em> this other circle. That&#8217;s usually how we get caught lying. (I mean the lies everyone tells as part of their normal social interactions.)</p>
<p>The most important point is that this feature shatters the previously universally accepted idea that privacy must change dramatically given social networking. For a few years, Facebook has defined the Laws of Physics of social networking. On Facebook, it&#8217;s not possible to show different people a different face. On Facebook, relationships are, for the most part, symmetrical. And so we all believed that this was the inevitable path forward with social networking. We conflated the fact that users wanted to connect online with the constraints that Facebook created, and we assumed users wanted those constraints. We forgot that software engineers define the Laws of Physics of the worlds they create. We weren&#8217;t living in the inherent world of social networking. We were living in Facebook&#8217;s definition of social networking.</p>
<p>We now know it doesn&#8217;t have to be this way. The Laws of Physics in the online world are mutable. Google just busted open a world of possibility. Users will question, now more than ever, why sharing must work the way it does on Facebook, given that Google has shown it can work differently.</p>
<p>It will make Facebook better. Which will make Google better. And so on. We may be witnessing the beginning of a new era of online privacy, a maturation of sorts. This is an incredibly exciting time.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/07/03/and-the-laws-of-physics-changed/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Online Voting is Terrifying and Inevitable</title>
		<link>http://benlog.com/articles/2011/05/25/online-voting-is-terrifying-and-inevitable/</link>
		<comments>http://benlog.com/articles/2011/05/25/online-voting-is-terrifying-and-inevitable/#comments</comments>
		<pubDate>Wed, 25 May 2011 22:21:55 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[voting]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1657</guid>
		<description><![CDATA[Voting online for public office is a terrifying proposition to most security experts. The paths to subversion or failure are many: the server could get overwhelmed by attackers, preventing voting altogether the server could get hacked and the votes changed &#8230; <a href="http://benlog.com/articles/2011/05/25/online-voting-is-terrifying-and-inevitable/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voting online for public office is a terrifying proposition to most security experts. The paths to subversion or failure are many:</p>
<ol>
<li> the server could get overwhelmed by attackers, preventing voting altogether</li>
<li> the server could get hacked and the votes changed surreptitiously</li>
<li> the users&#8217; machines could get compromised by a virus, which would then flip votes as it chooses with little or no trace</li>
<li> even if somehow we secure the entire digital channel, there&#8217;s still the issue of your spouse looking over your shoulder, strongly suggesting you vote a certain way</li>
</ol>
<p>So, terrifying. And yet, I&#8217;m now pretty sure it is inevitable.</p>
<h4>What human activity <em>isn&#8217;t</em> on the Internet?</h4>
<p>Today, we bank online, deposit checks and even pay vendors with our smart phones. We can change our mailing address with the postal service and pay parking tickets with our local governments online. We can shop online, socialize online, and debate with our Presidential candidates online. Newt Gingrich announced his Presidential campaign on Twitter.</p>
<p>Just about everyone now carries an Internet-connected personal device. The Internet is everywhere you want it, and just about everywhere you don&#8217;t. People are starting to experience the world through augmented reality, using online maps and satellite overlays matched with your current location. The Internet is only going to become more omnipresent, faster. Within a few years, it&#8217;s hard to imagine any human activity that doesn&#8217;t involve the Internet.</p>
<p>And yet, somehow, we expect people to still be voting in person, on paper? We can&#8217;t even get users to take SSL certificate warnings seriously, but we&#8217;re going to convince them that voting is so special it has to be done in person? I don&#8217;t think so.</p>
<h4>Don&#8217;t grab your pitchfork yet</h4>
<p>I&#8217;m not arguing that this is how it should be. I&#8217;m <em>definitely</em> not saying that we can secure online voting just like we can secure online banking. In fact I&#8217;ve made many of the original arguments, in my dissertation and <a href="http://benlog.com/articles/2007/03/02/on-voting-banking-and-bad-analogies/">on this blog</a>, shooting down the bogus arguments that go something like &#8220;hey, we can secure online banking, surely we can secure online voting!&#8221; No, we don&#8217;t know how to do that.</p>
<p>What I&#8217;m saying is that, <em>regardless</em> of the state of online voting security, I think it&#8217;s a losing battle to expect voting to remain the only activity we still do in person and on paper. With the Oscars moving to online voting, the Federal Voting Assistance Program making $15M available in grants for activities related to online voting (even if it supposedly doesn&#8217;t involve online vote casting), parts of Canada moving to online voting, France considering online voting for its 2M+ expats (more than the margin of victory in the last Presidential election), what you&#8217;re hearing is the sound of inevitability.</p>
<h4>Enforced Privacy is Dead</h4>
<p>There&#8217;s another interesting issue, when you think about problem (4): even if we keep voting on paper in person, voting requires enforced privacy: we have to make sure it&#8217;s just you in the voting booth, not you plus a coercer. That&#8217;s great. Now, how many ballots do you think we&#8217;re going to see next year published on Instagram?</p>
<p>We have a deeper problem here due to the now omnipresent Internet. Voluntary privacy is <em>not</em> dead, since users can choose to isolate themselves. But enforced privacy, privacy imposed on the voter, the kind needed to prevent coercion, that&#8217;s quite dead. I&#8217;m very concerned about what that means for democracy. But again, this is inevitable.</p>
<h4>Doing the Best We Can</h4>
<p>So, if it&#8217;s inevitable, maybe the best we can do is make online voting as secure as possible. We&#8217;ll probably have a few disasters, maybe even a few thrown elections. So we&#8217;d better start now on the problems we have.</p>
<p>I think we can solve Problem (2) with open-audit, end-to-end voting systems like <a href="http://heliosvoting.org">Helios</a> (but not only Helios, there are others.) I think we can minimize the risk of Problem (1) by moving to a longer voting period (1 week instead of 1 day). I suspect we have to eventually give up on some aspects of (4), whether or not we do online voting, though some technical tricks might make voter coercion a good bit more difficult (it&#8217;s never completely impossible). The hardest problem is (3): we have no way of ensuring that people are using trustworthy software that captures their intent properly.</p>
<p>Again, I&#8217;m not endorsing online voting for public office. I&#8217;m saying it&#8217;s inevitable, and it&#8217;s time to face that inevitability.</p>
<h4>Importance of the User Agent and why I joined Mozilla</h4>
<p>This issue of trustworthy user software is a much larger problem than voting. As human activity increasingly moves online, the central question is: what software is truly on the side of the user? How does the user know for sure that the software they&#8217;re using is their true agent? There&#8217;s only one piece of Internet architecture today that can be the user&#8217;s true agent, and that&#8217;s the Web browser (which technologists call the User Agent, unsurprisingly.) And, among the web browsers, there&#8217;s one that particularly stands out as the ultimate user agent, backed by a company whose mission is focused on the user and only the user.</p>
<p>That&#8217;s why I joined Mozilla. Because for voting and beyond, everything people do is online or soon to be online, and users better have an agent on their side. The best agent users can get today is Firefox, and I hope to contribute to making it an even better user agent in the next few years. </p>
<p>[It's worth noting that Mozilla has no intention of getting into the voting business, that's just my personal interest.]</p>
<p>OK, you may now get out your pitchfork.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/05/25/online-voting-is-terrifying-and-inevitable/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>grab the pitchforks!&#8230; again</title>
		<link>http://benlog.com/articles/2011/04/19/grab-the-pitchforks-again/</link>
		<comments>http://benlog.com/articles/2011/04/19/grab-the-pitchforks-again/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 17:49:30 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[crypto]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1618</guid>
		<description><![CDATA[I&#8217;m fascinated with how quickly people have reached for the pitchforks recently when the slightest whiff of a privacy/security violation occurs. Last week, a few interesting security tidbits came to light regarding Dropbox, the increasingly popular cloud-based file storage and &#8230; <a href="http://benlog.com/articles/2011/04/19/grab-the-pitchforks-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m fascinated with how quickly people have reached for the pitchforks recently when the slightest whiff of a privacy/security violation occurs.</p>
<p>Last week, a few interesting security tidbits came to light regarding <a href="http://dropbox.com">Dropbox</a>, the increasingly popular cloud-based file storage and synchronization service. There&#8217;s some interesting discussion of de-duplication techniques which might lead to Oracle attacks, etc., but the most important issue is that, suddenly, everyone&#8217;s realizing that Dropbox <em>could</em>, if needed, access your files. Miguel de Icaza wonders if Dropbox is pitching <a href="http://tirania.org/blog/archive/2011/Apr-19.html">snake oil</a>.</p>
<p>Yes, Dropbox staff can, if needed, access your files. I don&#8217;t mean to harp on my fellow technologists but&#8230; this has been obvious since day 1, because Dropbox offers a web-based interface to download your files, and even with the latest HTML5 technology, you&#8217;d be very hard-pressed to do in-browser file decryption. Let&#8217;s say you still don&#8217;t buy that, you still think that Dropbox might find a way to encrypt files and decrypt them in your browser. Dropbox also offers a password recovery mechanism, which means they can fully simulate you, the user, including, of course, getting at your files.</p>
<p>In other words, unless you&#8217;re ready to lose the convenience of password resets and web-based UI, Dropbox inherently has access to your files. Just like Facebook has access to your entire account, and Google to all of your docs, spreadsheets, etc. The only question is what kinds of internal safeguards do these companies have to prevent abuse by employees. Unless you&#8217;ve worked there, it&#8217;s hard to know. You could ask Dropbox to do third-party auditing, like Miguel proposes, but in my experience that provides little real security, since you have little way to know what that third-party actually did as part of their auditing (was it just &#8220;logic and accuracy&#8221; testing?)</p>
<p>The other thing we could ask is for the law to finally recognize that my files stored on Dropbox are no different than my files stored on a hard drive in my basement, from a legal perspective. They&#8217;re my property. And accessing them should require the same level of judicial oversight as a warrant to my home. That&#8217;s what a group of young MIT techies (myself included) and Harvard lawyers <a href="http://groups.csail.mit.edu/mac/classes/6.805/student-papers/fall98-papers/trespass/final.html">proposed in 1998</a>.</p>
<p>But back to Dropbox. Did they do something wrong? Yes, they did. They exaggerated their security and privacy claims. <em>Just like almost every other cloud data host today</em>. I wish, instead of picking on whichever startup suddenly succeeds, we picked on the industry as a whole. Stop talking about encryption in transit and encryption at rest in the same breath, as if they were the same thing. Stop using &#8220;encryption&#8221; as a synonym for &#8220;secure.&#8221; Stop saying &#8220;military-grade security.&#8221; Start being honest about who can access what.</p>
<p>And we, technologists, should stop with the drama, and not fall prey to the inflated expectations that marketing-heavy security policies have set. The Dropbox weaknesses should have been obvious to technologists from day one. The problem is that <em>all</em> privacy policies and security statements make exaggerated claims using reassuring keywords. Let&#8217;s harp on that.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/04/19/grab-the-pitchforks-again/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>intelligently designing trust</title>
		<link>http://benlog.com/articles/2011/03/30/intelligently-designing-trust/</link>
		<comments>http://benlog.com/articles/2011/03/30/intelligently-designing-trust/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 05:44:32 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[crypto]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1594</guid>
		<description><![CDATA[For the past week, every security expert&#8217;s been talking about Comodo-Gate. I find it fascinating: Comodo-Gate goes to the core of how we handle trust and how web architecture evolves. And in the end, this crisis provides a rare opportunity. &#8230; <a href="http://benlog.com/articles/2011/03/30/intelligently-designing-trust/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the past week, every security expert&#8217;s been talking about <a href="https://blog.torproject.org/blog/detecting-certificate-authority-compromises-and-web-browser-collusion">Comodo-Gate</a>. I find it fascinating: Comodo-Gate goes to the core of how we handle trust and how web architecture evolves. And in the end, this crisis provides a rare opportunity.</p>
<h4>warning signs</h4>
<p>Last year, Chris Soghoian and Sid Stamm published a paper, Certified Lies [<a href="http://files.cloudprivacy.net/ssl-mitm.pdf">PDF</a>], which identified the very issue that is at the center of this week&#8217;s crisis. Matt Blaze provided, as usual, a <a href="http://www.crypto.com/blog/spycerts/">fantastic explanation</a>:</p>
<blockquote><p>
A decade ago, I observed that commercial certificate authorities protect you from anyone from whom they are unwilling to take money. That turns out to be wrong; they don&#8217;t even do that much.
</p></blockquote>
<p>A <em>Certificate Authority</em> is a company that your web browser trusts to tell it who is who on the Internet. When you go to <tt>https://facebook.com</tt>, a Certificate Authority is vouching that, yes, this is indeed Facebook you&#8217;re talking to directly over a secure channel.</p>
<p>What Chris and Sid highlighted is an interesting detail of how web browsers have chosen to handle trust: any Certificate Authority can certify any web site. That design decision was reasonable in 1994, when there were only two Certificate Authorities and the world was in a rush to secure web transactions. But it&#8217;s not so great now, where a Certificate Authority in Italy can delegate its authority to a small reseller, who can then, in turn, certify any web site, including Facebook and Gmail, using more or less the level of assurance the small reseller sees fit.</p>
<h4>what happened</h4>
<p>It looks like someone from Iran hacked into one of the small resellers three degrees of delegation away from Comodo to issue to some unknown entity (the Iranian government?) certificates for major web sites, including Google and Microsoft. This gave that entity the power to impersonate those web sites, even over secure connections indicated by your browser padlock icon. It&#8217;s important to understand that this is <em>not Google or Microsoft&#8217;s fault</em>. They couldn&#8217;t do anything about it, nor could they detect this kind of attack. When Comodo discovered the situation, they revoked those certificates&#8230; but that didn&#8217;t do much good because the revocation protocol does not fail safely: if your web browser can&#8217;t contact the revocation server, it assumes the certificate is valid.</p>
<h4>a detour via Dawkins, Evolution, and the Giraffe</h4>
<p>Richard Dawkins, the world-famous evolutionary biologist, illustrates the truly contrived effects of evolution on a giraffe. The laryngeal nerve, which runs from the brain to the larynx, takes a detour around the heart. In the giraffe, it&#8217;s a ludicrous detour: down the animal&#8217;s enormous neck, around the heart, and back up the neck again to the larynx, right near where the nerve started to begin with!</p>
<p>If you haven&#8217;t seen this before, you really need to spend the 4 minutes to watch it:</p>
<p><iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/cO1a1Ek-HD0" frameborder="0" allowfullscreen></iframe></p>
<p>In Dawkins&#8217;s words:</p>
<blockquote><p>
Over millions of generations, this nerve gradually lengthened, each small step simpler than a major rewiring to a more direct route.
</p></blockquote>
<h4>and we&#8217;re back</h4>
<p>This evolution is, in my opinion, exactly what happened with certificate authorities. At first, with only two certificate authorities, it made sense to keep certificate issuance as simple as possible. With each added certificate authority, it still made no sense to revamp the whole certification process; it made more sense each time to just add a certificate authority to the list. And now we have a giraffe-scale oddity: hundreds of certificate authorities and all of their delegates can certify anyone, and it makes for a very weak system.</p>
<p>This isn&#8217;t, in my mind, a failure of software design. It&#8217;s just the natural course of evolution, be it biology or software systems. We can and should try to predict how certain designs will evolve, so that we can steer clear of obvious problems. But it&#8217;s very unlikely we can predict even a reasonable fraction of these odd evolutions.</p>
<h4>the opportunity</h4>
<p>So now that we&#8217;ve had a crisis, we have an opportunity to do something that Nature simply cannot do: we can explore radically redesigned mechanisms. <em>We can intelligently design trust</em>. But let&#8217;s not be surprised, in 15 years, when the wonderful design we outline today has evolved once again into something barely viable.</p>
<h4>taking further example from nature?</h4>
<p>Nature deals with this problem of evolutionary dead-ends in an interesting way: there isn&#8217;t just one type of animal. There are thousands. All different, all evolving under slightly different selection pressures, all interacting with one another. Some go extinct, others take over.</p>
<p>Should we apply this approach to software system design? I think so. Having a rich ecosystem of different components is better. We shouldn&#8217;t all use the same web browser. We shouldn&#8217;t all use the same trust model. We should allow for niches of feature evolution in this grand ecosystem we call the Web, because we simply don&#8217;t know how the ecosystem will evolve. How do we design software systems and standards that way? Now that&#8217;s an interesting question&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/03/30/intelligently-designing-trust/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>degrees of trust: software vs. data hosts</title>
		<link>http://benlog.com/articles/2011/03/16/degrees-of-trust-software-vs-data-hosts/</link>
		<comments>http://benlog.com/articles/2011/03/16/degrees-of-trust-software-vs-data-hosts/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 21:14:15 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[privacy]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1584</guid>
		<description><![CDATA[Overjoyed by all the SSL goodness around me (Twitter offers SSL-only as an option, so does Facebook, Google offers 2-factor auth), I started dutifully upgrading my web browsing experience on Firefox, specifically installing the EFF Add-On that turns on HTTPS &#8230; <a href="http://benlog.com/articles/2011/03/16/degrees-of-trust-software-vs-data-hosts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Overjoyed by all the SSL goodness around me (Twitter offers SSL-only as an option, so does Facebook, Google offers 2-factor auth), I started dutifully upgrading my web browsing experience on Firefox, specifically installing the <a href="https://www.eff.org/https-everywhere">EFF Add-On</a> that turns on HTTPS everywhere it can, in particular when using Google (it uses <a href="https://encrypted.google.com">encrypted.google.com</a> by default). I googled myself to test it out, and I found this <a href="http://www.cssquirrel.com/blog/2010/04/22/comic-update-moose-squirrel/">interesting blog post by CSS Squirrel</a> from a few months ago, in regards to the issue I have with Opera Mini.</p>
<p>CSS Squirrel says:</p>
<blockquote><p>
Ben Adida offered the following question as a counter: “Does privacy matter? Cause Opera Mini proxies all of your connections, even SSL, via its servers.” It’s a valid question, especially considering his expertise in the field of privacy and security.
</p></blockquote>
<p>Actually it&#8217;s a valid question regardless of my credentials <img src='http://benlog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>
Not being an expert on how Opera does things, I poked at both Bruce Lawson and Molly Holzschlag, both Opera employees.</p>
<p>Both of them said “If you don’t trust us (Opera), then don’t use the service.”</p>
<p>[...]</p>
<p>So is Opera Mini fast? Yes. Is it secure? Yes.
</p></blockquote>
<p>But that&#8217;s not good enough. Trust is not a simple yes/no concept. I trust my dog walker to come into my home, walk my dog, and not go opening up drawers to find my medical records. But I&#8217;m not going to leave my medical records out in the open either, cause that&#8217;s just asking for trouble. I trust that the Opera browser, installed on my machine, is not phoning home my personal data, because that would be a huge breach of expectation. But if I use Opera Mini and all of my data is being shipped to Opera on every HTTP call, do I trust them never to look at it? Do I trust their security system to be so good that they won&#8217;t ever be hacked?</p>
<p>There are <em>degrees of trust</em>. I trust that most reputable installed software won&#8217;t phone home with my data. I trust that <em>some</em> data hosts won&#8217;t analyze my data too deeply, but certainly many will. And I&#8217;m pretty sure many data hosts will get hacked or will leak data unintentionally. So, it&#8217;s unreasonable to judge your software publishers and data hosts with the same degree of trust. There isn&#8217;t enough of a taboo against data hosts perusing your data. Facebook is mining our data, everyone knows it, and our general reaction is &#8220;oh well, what are you gonna do.&#8221; But if Microsoft Word scanned your hard drive and shipped your personal info back to Redmond, you&#8217;d be looking for a pitchfork right about now.</p>
<p>Opera Mini is misleading because it presents itself as an installable piece of software, when in fact it is almost a data host, and the degree of trust one should consider, when using Opera Mini, is a lot higher than that which is implied by their packaging.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/03/16/degrees-of-trust-software-vs-data-hosts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>the difference between privacy and security</title>
		<link>http://benlog.com/articles/2011/01/26/the-difference-between-privacy-and-security/</link>
		<comments>http://benlog.com/articles/2011/01/26/the-difference-between-privacy-and-security/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 16:51:15 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://benlog.com/?p=1508</guid>
		<description><![CDATA[Facebook today rolled out new security features, both of which are awesome: SSL everywhere, and social re-authentication. True, SSL everywhere should probably be a default, even though I continue to believe that the cost is significantly underestimated by many privacy &#8230; <a href="http://benlog.com/articles/2011/01/26/the-difference-between-privacy-and-security/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Facebook today <a href="https://blog.facebook.com/blog.php?post=486790652130">rolled out new security features</a>, both of which are awesome: SSL everywhere, and social re-authentication. True, SSL everywhere should probably be a default, even though I continue to believe that the cost is significantly underestimated by many privacy advocates. Regardless, this announcement is great news.</p>
<p>The only nitpick I have, and I point it out because I think it&#8217;s significant in Facebook&#8217;s case, is that the announcement confuses privacy and security. The first paragraph mentions Data Privacy Day, then the general concept of controlling your data, then transitions to the new security features. But those are quite different.</p>
<p>Security is about <em>stopping the bad guys from stealing your data</em>. Privacy is about <em>controlling the good guys&#8217; handling of your data</em>. (Ron Rivest is said to have phrased this most eloquently, but I can&#8217;t find his quotation.)</p>
<p>So, SSL and social re-authentication provide security because they prevent bad guys from seeing your network traffic at the coffee shop or stealing your login. That&#8217;s fantastic, but it has little to do with privacy. If Facebook wanted to celebrate Data Privacy Day specifically, they might consider giving users more control over their data <em>on Facebook</em>. Maybe letting users control who gets to tag them in photos (i.e. not my stalker). Or letting users indicate fields by which advertisers cannot target them (i.e. sexual orientation.) Those would be privacy features.</p>
<p>I don&#8217;t mean to knock Facebook&#8217;s announcement: it&#8217;s great. But it&#8217;s about security, not privacy.</p>
]]></content:encoded>
			<wfw:commentRss>http://benlog.com/articles/2011/01/26/the-difference-between-privacy-and-security/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

