<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Links</title>
	
	<link>http://www.links.org</link>
	<description>Ben Laurie blathering</description>
	<lastBuildDate>Sat, 28 Apr 2012 17:07:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/links/ZvUZ" /><feedburner:info uri="links/zvuz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Using Capsicum For Sandboxing</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/YWjYhkzPGDg/</link>
		<comments>http://www.links.org/?p=1242#comments</comments>
		<pubDate>Sat, 28 Apr 2012 17:07:09 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Capabilities]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1242</guid>
		<description><![CDATA[FreeBSD 9.0, released in January 2012, has experimental Capsicum support in the kernel, disabled by default. In FreeBSD 10, Capsicum will be enabled by default.
But unless code uses it, we get no benefit. So far, very little code uses Capsicum, mostly just experiments we did for our paper. I figured it was time to start [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freebsd.org/releases/9.0R/announce.html">FreeBSD 9.0</a>, released in January 2012, has experimental <a href="http://www.cl.cam.ac.uk/research/security/capsicum/">Capsicum</a> support in the kernel, disabled by default. In FreeBSD 10, Capsicum will be enabled by default.</p>
<p>But unless code uses it, we get no benefit. So far, very little code uses Capsicum, mostly just experiments we did for our paper. I figured it was time to start changing that. Today, I&#8217;ll describe my first venture &#8211; sandboxing <a href="http://www.bzip.org/">bzip2</a>. I chose bzip2 partly because <a href="https://github.com/kibab">Ilya Bakulin</a> had already <a href="https://github.com/kibab/capsicum/blob/00546c31c6f9681bf045d31219c10a7d8e9e45e9/contrib/bzip2/bzip2.c">done some of the work</a> for me, but mostly because a common failure mode in modern software is mistakes made in complicated bit twiddling code, such as decompressors and ASN.1 decoders.</p>
<p>These can often lead to buffer overflows or integer over/underflows &#8211; and these often lead to remote code execution. Which is bad. bzip2 is no stranger to this problem: <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0405">CVE-2010-0405</a> describes an integer overflow that could lead to remote code execution. The question is: would Capsicum have helped &#8211; and if it would, how practical is it to convert bzip2 to use Capsicum?</p>
<p>The answers are, respectively, &#8220;yes&#8221; and &#8220;fairly practical&#8221;.</p>
<p>First of all, how does Capsicum mitigate this problem? The obvious way to defend a decompressor is to run the decompression engine in a separate process with no privilege beyond that needed to get its job done &#8211; which is the ability to read the input and write the output. In Capsicum, this is easy to achieve: once the appropriate files are open, fork the process and enter capability mode in the child. Discard all permissions except the ability to read the input and write the output (in Capsicum, this means close all other file descriptors and limit those two to read and write), and then go ahead and decompress. Should there be a bug in the decompressor, what does the attacker get? Well, pretty much what he had already: the ability to read the input file (he supplied it, so no news there!) and the ability to write arbitrary content to the output file (he already had that, since he could have chosen arbitrary input and compressed it). He also gets to burn CPU and consume memory. But that&#8217;s it &#8211; no access to your files, the network, any other running process, or anything else interesting.</p>
<p>I think that&#8217;s pretty neat.</p>
<p>But how hard is it to do? I answer that question in a series of diffs on GitHub, showing a step-by-step transformation of bzip2 into the desired form. I used a technique I like to call <strong>error-driven development</strong>; the idea is you attempt to make changes that will cause compilation to fail until you have completely accomplished your goal. This is a useful way to reassure yourself that you have made all necessary updates and there&#8217;s nothing hiding away you didn&#8217;t take care of. If you follow along by building the various stages, you&#8217;ll see how it works.</p>
<p>It turns out that in bzip2 this matters &#8211; it isn&#8217;t very beautifully written, and the code that looks like it might cleanly just take an input file and an output file and do the work in isolation, actually interacts with the rest of the code through various function calls and globals. This causes a problem: once you&#8217;ve forked, those globals and functions are now in the wrong process (i.e. the child) and so it is necessary to use RPC to bridge any such things back to the parent process. Error-driven development assures us that we have caught and dealt with all such cases.</p>
<p>So how did this work out in practice? Firstly, it turns out we have to give the compressor a little more privilege: it writes to <code>stderr</code> if there are problems, so we need to also grant write on <code>stderr</code> (note that we could constrain what it writes with a bit more effort). The callbacks we have to provide do not, I think, let it do anything interesting: cause the program to exit, make the output file&#8217;s permissions match the input file&#8217;s, and remove the input or output files (ok, removing the input file is slightly interesting &#8211; but note that bzip2 does this anyway).</p>
<p>Secondly, because we have not yet decided on an RPC mechanism, this particular conversion involves quite a bit of boilerplate: wrapping and unwrapping arguments for RPCs, wiring them up and all that, all of which would be vastly reduced by a proper RPC generator. Try not to let it put you off <img src='http://www.links.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Finally, the system has (at least) one global, <code>errno</code>. I did not deal with that so far, which means some errors will report the wrong error &#8211; but it is not particularly hard to do so.</p>
<p>So, on to the diffs. This is something of an experimental way to present a piece of development, so I&#8217;d be interested in feedback. Here they are, in order:</p>
<ul>
<li><a href="https://github.com/benlaurie/freebsd/commit/922ce661a8555910d5234a87dcb376851848d130">Step 1: move functions to be wrapped.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/499e5452213602c9311a22fb5065bb20f2db601d">Step 2: add header for wrapped functions.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/9960df3575231e3a580dd4032868929dd8239933">Step 3: wrap a function requiring authority.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/12efce8d2ef5f7032c9a8e95900f8e82adb16e5b">Step 4: move functions that do not require authority.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/21cbf9122dcbfdf0c9fafa1a98c3e88fa0009364">Step 5: rename and invoke wrapped functions.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/493fbb46501ce3876861d5cc4e3183affdbe4ae0">Step 6: build other files.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/95166e7e820fa96b7c7bc322487db534bbe62731">Step 7: wrap a global.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/098d103768ad2b63c90f801e12c03597ecea718d">Step 8: fix similar problems.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/33c12a242c84f68dfd54fd25234ebe2fd67d7ee1">Step 9: wrap a function in the parent.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/81b0c3c00d0a7111dd282428b314aaa8de5cefa2">Step 10: wrap a 2-way global.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/1df47b5c640bf0db2c3ba18190bb3f89ec159ea5">Step 11: continue to apply the methodology.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/df1203313bc05160cb1fbdaddfc886fd398c2b1d">Step 12: get back on track with error-driven development.</a></li>
<li><a href="https://github.com/benlaurie/freebsd/commit/5c5ef33fa97e678a89bb9777e9e7695574d72706">Step 13: define unwrappers.</a></li>
</ul>
<p>And there you are: bzip2 is now rendered safe from decompressor exploits, and it was only a few hours work. As we refine the support infrastructure, it will be even less work.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1242&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1242" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/YWjYhkzPGDg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1242</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1242</feedburner:origLink></item>
		<item>
		<title>Persian Pulled Lamb</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/LEna7O_nlZ0/</link>
		<comments>http://www.links.org/?p=1238#comments</comments>
		<pubDate>Fri, 20 Apr 2012 09:37:57 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Recipes]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1238</guid>
		<description><![CDATA[I don&#8217;t usually link to existing recipes, but this was so good, I had to: http://uktv.co.uk/food/recipe/aid/647703. We only let it marinade for one day, which seemed to work fine.
Share This
]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t usually link to existing recipes, but this was so good, I had to: <a href="http://uktv.co.uk/food/recipe/aid/647703">http://uktv.co.uk/food/recipe/aid/647703</a>. We only let it marinade for one day, which seemed to work fine.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1238&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1238" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/LEna7O_nlZ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1238</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1238</feedburner:origLink></item>
		<item>
		<title>Salmon and Peas in a Saffron Cream Sauce</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/WUyir4Jkuxo/</link>
		<comments>http://www.links.org/?p=1235#comments</comments>
		<pubDate>Thu, 05 Apr 2012 18:42:28 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Recipes]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1235</guid>
		<description><![CDATA[An impromptu and fast recipe that worked really well.
saffron
butter
olive oil
salt
pepper
mixed herbs
salmon steak fillets
frozen peas
cream
Put the saffron in a small amount of hot water. Get the butter and oil hot enough to bubble, add salt, pepper, mixed herbs. Shortly after, add the salmon, skin side down. Fry until the skin is crispy, then turn onto a [...]]]></description>
			<content:encoded><![CDATA[<p>An impromptu and fast recipe that worked really well.</p>
<p>saffron<br />
butter<br />
olive oil<br />
salt<br />
pepper<br />
mixed herbs<br />
salmon steak fillets<br />
frozen peas<br />
cream</p>
<p>Put the saffron in a small amount of hot water. Get the butter and oil hot enough to bubble, add salt, pepper, mixed herbs. Shortly after, add the salmon, skin side down. Fry until the skin is crispy, then turn onto a side. Fry for a couple of minutes, turn again until all four sides are done. Throw in the frozen peas and mix with the fat. Add the saffron (and water, of course). Bring to the boil, then add cream. Bring to the boil again, season and serve. Try to keep one side of the salmon above the waterline throughout.</p>
<p>We had it with pasta. Start the pasta before the salmon, it really is that quick!</p>
<p class="akst_link"><a href="http://www.links.org/?p=1235&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1235" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/WUyir4Jkuxo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1235</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1235</feedburner:origLink></item>
		<item>
		<title>EFF Finally Notice 0day Market</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/92h00XiIj2s/</link>
		<comments>http://www.links.org/?p=1232#comments</comments>
		<pubDate>Tue, 03 Apr 2012 12:37:11 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1232</guid>
		<description><![CDATA[Six years after I first blogged about it, the EFF have decided that selling 0days may not be so great.
Maybe they should be reading my blog?  
Share This
]]></description>
			<content:encoded><![CDATA[<p>Six years after <a href="http://www.links.org/?p=46">I first blogged about it</a>, the EFF have decided that <a href="https://www.eff.org/deeplinks/2012/03/zero-day-exploit-sales-should-be-key-point-cybersecurity-debate">selling 0days may not be so great</a>.</p>
<p>Maybe they should be reading my blog? <img src='http://www.links.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p class="akst_link"><a href="http://www.links.org/?p=1232&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1232" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/92h00XiIj2s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1232</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1232</feedburner:origLink></item>
		<item>
		<title>Certificate Transparency: Spec and Working Code</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/kgPaAtDUeZQ/</link>
		<comments>http://www.links.org/?p=1226#comments</comments>
		<pubDate>Thu, 01 Mar 2012 16:29:26 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Certificate Transparency]]></category>
		<category><![CDATA[Crypto]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1226</guid>
		<description><![CDATA[Quite a few people have said to me that Certificate Transparency (CT) sounds like a good idea, but they&#8217;d like to see a proper spec.
Well, there&#8217;s been one of those for quite a while, you can find the latest version in the code repository, or for your viewing convenience, I just made an HTML version.
Today, [...]]]></description>
			<content:encoded><![CDATA[<p>Quite a few people have said to me that Certificate Transparency (CT) sounds like a good idea, but they&#8217;d like to see a proper spec.</p>
<p>Well, there&#8217;s been one of those for quite a while, you can find <a href="http://code.google.com/p/certificate-transparency/source/browse/doc/sunlight.xml">the latest version in the code repository</a>, or for your viewing convenience, I just made <a href="http://www.links.org/files/sunlight.html">an HTML version</a>.</p>
<p>Today, though, to go with that spec, I&#8217;m happy to announce <a href="http://code.google.com/p/certificate-transparency/">working code</a> for a subset of the protocol. This covers the trickiest part &#8211; a fully backwards compatible SSL handshake between servers and clients. The rest of the protocol will necessarily all be new code for interacting with the log server and other new components, and so should not have these issues.</p>
<p>If you build the code according to the <a href="http://code.google.com/p/certificate-transparency/source/browse/src/README">README</a>, then you will find instructions in <a href="http://code.google.com/p/certificate-transparency/source/browse/src/test/README">test/README</a> for the demo.</p>
<p>What this does, in short, is the following:</p>
<ul>
<li>Run a CT log server. Currently this has no persistence across runs, but does keep a full log in memory.</li>
<li>Issue a self-signed server certificate. A CA issued certificate would also be fine, but not so easy to automate for a demo.</li>
<li>Use the CT client to register that certificate with the log server and to obtain a log proof for it.</li>
<li>Use the CT client to convert that proof into a fake &#8220;certificate&#8221; which can be included in the certificate chain in the TLS handshake.</li>
<li>Run an Apache 2.2 instance to serve the self-signed certificate and the log proof certificate. Note that Apache is unmodified, all that is needed is appropriate configuration.</li>
<li>Use the CT client to connect to the Apache instance and verify the presented log proof.</li>
<li>You can also connect to Apache with an existing browser to check that you can still access the site despite the presence of the log proof.</li>
</ul>
<p>There&#8217;s plenty more to be done, but this is the part that needs the earliest scrutiny, since we are bending the rules to get back compatibility and avoid the need to change server software. Client software has to change anyway to provide any benefit to users, so that&#8217;s less of a worry.</p>
<p>We welcome discussion, suggestions and questions on <a href="https://groups.google.com/group/certificate-transparency">the mailing list</a>.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1226&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1226" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/kgPaAtDUeZQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1226</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1226</feedburner:origLink></item>
		<item>
		<title>How “Free” Leads to Closed</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/P_tN4j_k854/</link>
		<comments>http://www.links.org/?p=1223#comments</comments>
		<pubDate>Thu, 01 Mar 2012 10:48:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1223</guid>
		<description><![CDATA[The FSF is fond of banging on about how the GPL is more &#8220;free&#8221; than other open source licences, even though it is actually a more restrictive licence than many others (for example, the Apache Licence).
So I find it ironic that the much anticipated Raspberry Pi is about as un-free as it is possible to [...]]]></description>
			<content:encoded><![CDATA[<p>The FSF is fond of banging on about how <a href="http://www.gnu.org/philosophy/open-source-misses-the-point.html">the GPL is more &#8220;free&#8221; than other open source licences</a>, even though it is actually a more restrictive licence than many others (for example, the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Licence</a>).</p>
<p>So I find it ironic that the much anticipated <a href="http://www.raspberrypi.org/">Raspberry Pi</a> is about as un-free as it is possible to be. Yes, it runs Linux. Can you run anything else? No, because the chipset is not documented, it is impossible to write drivers for any other OS. Its hard to imagine what would have happened if the dominant open OS was BSD or Apache licensed, but it is interesting to speculate: would this have happened in that world? Possibly not &#8211; one of the reasons the <a href="http://www.apache.org/">ASF</a> adopted a more free licence was precisely because it is business-friendly. Would chipmakers obsessively protect their chip specs in that world? Who knows, but I like to think not.</p>
<p>In any case, if I were building a device like the Pi, I would not be using undocumented chips.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1223&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1223" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/P_tN4j_k854" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1223</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1223</feedburner:origLink></item>
		<item>
		<title>Certificate Transparency Sites</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/g-_JHLKRdYU/</link>
		<comments>http://www.links.org/?p=1219#comments</comments>
		<pubDate>Sat, 04 Feb 2012 21:50:54 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Crypto]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1219</guid>
		<description><![CDATA[I may not have said much more about Certificate Transparency, but we&#8217;ve been working on it. So, those interested in following along (or joining in) are welcome to look at&#8230;
Website.
Mailing list.
Code repository.
The code repository also includes the spec, in xml2rfc format.
Share This
]]></description>
			<content:encoded><![CDATA[<p>I may not have said much more about <a href="http://www.links.org/?p=1212">Certificate Transparency</a>, but we&#8217;ve been working on it. So, those interested in following along (or joining in) are welcome to look at&#8230;</p>
<p><a href="http://www.certificate-transparency.org/">Website</a>.</p>
<p><a href="http://groups.google.com/group/certificate-transparency">Mailing list</a>.</p>
<p><a href="http://code.google.com/p/certificate-transparency/">Code repository</a>.</p>
<p>The code repository also includes the spec, in xml2rfc format.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1219&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1219" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/g-_JHLKRdYU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1219</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1219</feedburner:origLink></item>
		<item>
		<title>Fixing CAs</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/WM-VVcmjTy0/</link>
		<comments>http://www.links.org/?p=1212#comments</comments>
		<pubDate>Tue, 29 Nov 2011 11:58:52 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1212</guid>
		<description><![CDATA[Adam Langley and I have a proposal to bolster up the rather fragile Certificate Authority infrastructure.
TL;DNR: certificates are registered in a public audit log. Servers present proofs that their certificate is registered, along with the certificate itself. Clients check these proofs and domain owners monitor the logs. If a CA mis-issues a certificate then either

There [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.imperialviolet.org/">Adam Langley</a> and I have a proposal to <a href="http://www.links.org/files/CertificateAuthorityTransparencyandAuditability.pdf">bolster up the rather fragile Certificate Authority infrastructure</a>.</p>
<p>TL;DNR: certificates are registered in a public audit log. Servers present proofs that their certificate is registered, along with the certificate itself. Clients check these proofs and domain owners monitor the logs. If a CA mis-issues a certificate then either</p>
<ul>
<li>There is no proof of registration, so the browser rejects the certificate, or</li>
<li>There is a proof of registration and the certificate is published in the log, in which case the domain owner notices and complains, or</li>
<li>There is a proof of registration but the certificate does <em>not</em> appear in the log, in which case the proof is now proof that the log misbehaved and should be struck off.</li>
</ul>
<p>And that, as they say, is that.</p>
<p><em>Update:</em> <a href="http://www.imperialviolet.org/2011/11/29/certtransparency.html">Adam has blogged, exploring the design space</a>.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1212&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1212" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/WM-VVcmjTy0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1212</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1212</feedburner:origLink></item>
		<item>
		<title>Open Source Transcription Software Developer</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/D8Mol8giKkU/</link>
		<comments>http://www.links.org/?p=1204#comments</comments>
		<pubDate>Sat, 01 Oct 2011 17:06:46 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Open Data]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1204</guid>
		<description><![CDATA[Since we set up FreeBMD, FreeREG and FreeCEN things have come a long way, and so we&#8217;re revisiting how we do transcription. Those great guys at Zooniverse have released their Scribe transcription software, which they developed to use with Old Weather and Ancient Lives (and more to come), as open source.
We are working with them [...]]]></description>
			<content:encoded><![CDATA[<p>Since we set up <a href="http://www.freebmd.org.uk/">FreeBMD</a>, <a href="http://www.freereg.org.uk/">FreeREG</a> and <a href="http://www.freecen.org.uk/">FreeCEN</a> things have come a long way, and so we&#8217;re revisiting how we do transcription. Those great guys at <a href="http://www.zooniverse.org/">Zooniverse</a> have released their <a href="https://github.com/zooniverse/Scribe">Scribe</a> transcription software, which they developed to use with <a href="http://www.oldweather.org/">Old Weather</a> and <a href="http://ancientlives.org/">Ancient Lives</a> (and more to come), as open source.</p>
<p>We are working with them to develop a new transcription platform for genealogical records, based on Scribe, and we want to hire a developer to help us with it. Scribe itself is written in Ruby, so some familiarity with that would help. We also use Python and EC2, so knowing about those would be good, too. And the front-end is sure to be using Javascript, so there&#8217;s another tickbox to tick.</p>
<p>Finally, we intend to open source everything, and so a developer used to working in an open source community would be helpful.</p>
<p>Everything is negotiable. FreeBMD does not have offices, so this would be &#8220;work from home&#8221; (or the beach, or whatever suits you).</p>
<p>If you&#8217;re interested, send email to <a href="mailto:freebmd-sd@links.org">freebmd-sd@links.org</a>. Feel free to forward this post, of course.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1204&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1204" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/D8Mol8giKkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1204</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1204</feedburner:origLink></item>
		<item>
		<title>Lessons Not Learned</title>
		<link>http://feedproxy.google.com/~r/links/ZvUZ/~3/_tuek0Xir3o/</link>
		<comments>http://www.links.org/?p=1196#comments</comments>
		<pubDate>Mon, 19 Sep 2011 14:50:51 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Identity Management]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.links.org/?p=1196</guid>
		<description><![CDATA[Anyone who has not had their head under a rock knows about the DigiNotar fiasco.
And those who&#8217;ve been paying attention will also know that DigiNotar&#8217;s failure is only the most recent in a long series of proofs of what we&#8217;ve known for a long time: Certificate Authorities are nothing but a money-making scam. They provide [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone who has not had their head under a rock knows about the <a href="http://en.wikipedia.org/wiki/DigiNotar#Issuance_of_fraudulent_certificates">DigiNotar fiasco</a>.</p>
<p>And those who&#8217;ve been paying attention will also know that DigiNotar&#8217;s failure is only the most recent in a long series of proofs of what we&#8217;ve known for a long time: Certificate Authorities are nothing but a money-making scam. They provide us with no protection whatsoever.</p>
<p>So imagine how delighted I am that we&#8217;ve learnt the lessons here (not!) and are now proceeding with <a href="http://www.nytimes.com/2011/09/18/business/online-id-verification-plan-carries-risks.html">an even less-likely-to-succeed plan using OpenID</a>. Well, the US is.</p>
<blockquote><p>If the plan works, consumers who opt in might soon be able to choose among trusted third parties — such as banks, technology companies or cellphone service providers — that could verify certain personal information about them and issue them secure credentials to use in online transactions.</p></blockquote>
<p>Does this sound familiar? Rather like &#8220;websites that opt in can choose among trusted third parties &#8211; Certificate Authorities &#8211; that can verify certain information about them and issue them secure credentials to use in online transactions&#8221;, perhaps? We&#8217;ve seen how well that works. And this time there&#8217;s not even a small number of vendors (i.e. the browser vendors) who can remove a &#8220;trusted third party&#8221; who turns out not to be trustworthy. This time you have to persuade everyone in the world who might rely on the untrusted third party to remove them from their list. Good luck with that (good luck with even finding out who they are).</p>
<p>What is particularly poignant about this article is that even though it&#8217;s title is &#8220;Online ID Verification Plan Carries Risks&#8221; the risks we are supposed to be concerned about are mostly privacy risks, for example </p>
<blockquote><p>people may not want the banks they might use as their authenticators to know which government sites they visit</p></blockquote>
<p>and</p>
<blockquote><p>the government would need new privacy laws or regulations to prohibit identity verifiers from selling user data or sharing it with law enforcement officials without a warrant.</p></blockquote>
<p>Towards the end, if anyone gets there, is a small mention of some security risk</p>
<blockquote><p>Carrying around cyber IDs seems even riskier than Social Security cards, Mr. Titus says, because they could let people complete even bigger transactions, like buying a house online. “What happens when you leave your phone at a bar?” he asks. “Could someone take it and use it to commit a form of hyper identity theft?”</p></blockquote>
<p>Dude! If only the risk were that easy to manage! The <strong>real</strong> problem comes when someone sets up an account as you with one of these &#8220;banks, technology companies or cellphone service providers&#8221; (note that CAs are technology companies). Then you are going to get your ass kicked, and you won&#8217;t even know who issued the faulty credential or how to stop it.</p>
<p>And, by the way, don&#8217;t be fooled by the favourite get-out-of-jail-free clause beloved by policymakers and spammers alike, &#8220;opt in&#8221;. It won&#8217;t matter whether you opt in or not, because the proof you&#8217;ve opted in will be down to these &#8220;trusted&#8221; third parties. And the guy stealing your identity will have no compunction about that particular claim.</p>
<p class="akst_link"><a href="http://www.links.org/?p=1196&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_1196" class="akst_share_link" rel="nofollow">Share This</a>
</p><img src="http://feeds.feedburner.com/~r/links/ZvUZ/~4/_tuek0Xir3o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.links.org/?feed=rss2&amp;p=1196</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.links.org/?p=1196</feedburner:origLink></item>
	</channel>
</rss>

