<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>log.illsley.org</title>
	<atom:link href="http://log.illsley.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.illsley.org</link>
	<description>There are a limited number of profound statements in this world</description>
	<lastBuildDate>Sat, 18 May 2013 05:47:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='log.illsley.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>log.illsley.org</title>
		<link>http://log.illsley.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://log.illsley.org/osd.xml" title="log.illsley.org" />
	<atom:link rel='hub' href='http://log.illsley.org/?pushpress=hub'/>
		<item>
		<title>tent.io</title>
		<link>http://log.illsley.org/2012/08/23/tent-io/</link>
		<comments>http://log.illsley.org/2012/08/23/tent-io/#comments</comments>
		<pubDate>Thu, 23 Aug 2012 10:14:13 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=735</guid>
		<description><![CDATA[Unlike Dave Winer, I&#8217;m happy to opine on the decentralised social network du jour &#8211; tent.io At first glance, what&#8217;s not to like &#8211; a thought through JSON api which uses HTTP PATCH &#8211; see that proves they&#8217;ve been thinking. Unfortunately it repeats what I believe is the big mistake in OpenID &#8211; assuming that [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=735&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://scripting.com/stories/2012/08/22/protocolsDontMeanMuch.html">Unlike Dave Winer</a>, I&#8217;m happy to opine on the decentralised social network du jour &#8211; <a href="http://tent.io">tent.io</a></p>
<p>At first glance, what&#8217;s not to like &#8211; a thought through JSON api which uses HTTP PATCH &#8211; see that <em>proves</em> they&#8217;ve been thinking.</p>
<p>Unfortunately it repeats what I believe is the big mistake in OpenID &#8211; assuming that HTTP URLs (and in the end DNS) is the right place to root the decentralisation.</p>
<p>OpenID proved that most people won&#8217;t register a domain and set up a service on it just to have an identity on-line (and arguably that they just don&#8217;t think of themselves as URLs). And if you don&#8217;t do that, you&#8217;re still tied to whichever host you initially choose. You might have data portability, but you don&#8217;t have identity/graph portability. Even with e-mail (one of the 2 obviously successful internet-scale decentralised systems), most people only have data portability and not identity portability because they don&#8217;t own the domain they&#8217;re sitting on. That massively increases the costs of moving, and I&#8217;d argue moving e-mail providers is easier that moving social graphs because of the variety of relationships and associated data you have with people in your social graph.</p>
<p>So can/how do we do a social network/graph/identity system where everything isn&#8217;t tied to URLs/DNS?</p>
<p>Having given it a full couple of hours though, I think it&#8217;s possible with judicious use of crypto, really good UX, and probably some help from the smart devices everyone carries around.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/735/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=735&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2012/08/23/tent-io/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>Maps and Dictionaries</title>
		<link>http://log.illsley.org/2012/07/15/maps-and-dictionaries/</link>
		<comments>http://log.illsley.org/2012/07/15/maps-and-dictionaries/#comments</comments>
		<pubDate>Sun, 15 Jul 2012 08:36:50 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=733</guid>
		<description><![CDATA[Nope, not musty books, but programming constructs. When you learn to program in C, you&#8217;re exposed to data structures which map easily to underlying hardware. Basic data types are of a fixed size, and locating information within them is based on indexing a number of bytes into them. If you want a variable size data [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=733&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Nope, not musty books, but programming constructs.</p>
<p>When you learn to program in C, you&#8217;re exposed to data structures which map easily to underlying hardware. Basic data types are of a fixed size, and locating information within them is based on indexing a number of bytes into them. If you want a variable size data structure, or to find information within a structure based on something other than a count then you need to either build something complex or find a library to use.</p>
<p>Of course keeping mappings between data, and dealing with unpredictable and variable sized collections of data are incredibly common.</p>
<p>When Java came along in the mid 90&#8242;s, it dealt with this by modelling the language in the same way on the workings of the machine, but provided a bunch of high quality variable and associative data structures as part of the standard library. These have evolved over the years, and we now have some incredibly capable and flexible data structure available.</p>
<p>However, in 2012, the way they&#8217;re available feels increasingly archaic.</p>
<p>Other languages which eschew the direct mapping to the underlying hardware for developer productivity make these structures available as &#8216;part of the language&#8217;. Sometimes these implementations aren&#8217;t as fully-functional, but they make simple things simple, and allow leave options open for the more complex cases.</p>
<p>Javascript objects are all dictionaries (maps from string to something). Ruby arrays are variable length. In Scala lists and maps feel like they&#8217;re part of the language.</p>
<p>While I have sympathy with the idea of designing a language which maps cleanly to the underlying system, I don&#8217;t think it&#8217;s a decision which makes sense any more. Good developers will learn/understand how these feature work, and when it&#8217;s (in)appropriate to use them. And they won&#8217;t adopt/stick with your language when it makes simple things difficult.</p>
<p>Yes, Java 9, I&#8217;m pointing at you.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/733/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=733&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2012/07/15/maps-and-dictionaries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>BrowserID</title>
		<link>http://log.illsley.org/2012/04/01/browserid/</link>
		<comments>http://log.illsley.org/2012/04/01/browserid/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 09:48:51 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BrowserID]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=731</guid>
		<description><![CDATA[Facebook, Google, twitter, aside from all being social networks, all allow you to log in to third party websites with your account with them. This is convenient for users as they have fewer logins to remember, and don&#8217;t have to repeatedly enter the same information every time they want to use a new web site. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=731&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Facebook, Google, twitter, aside from all being social networks, all allow you to log in to third party websites with your account with them.</p>
<p>This is convenient for users as they have fewer logins to remember, and don&#8217;t have to repeatedly enter the same information every time they want to use a new web site. </p>
<p>It&#8217;s good for third party sites because it&#8217;s fast and easy for the users, and also because they often gain easy access to extended data about the user in the form of their social network. </p>
<p>It&#8217;s good for the social network because they get more information about what their users do when they&#8217;re not active on the network directly. This is valuable both to improve the network, but more significantly is valuable for ad targeting which allows them to make money.</p>
<p>There are some downsides though. For the user, a loss of privacy, and for the third party site, having to share the usage data with the identifying party.</p>
<p>There are a number of alternatives, but none have yet taken off.</p>
<p>Mozilla BrowserID/Persona is a recent attempt I&#8217;ve been experimenting with over the last couple of months. </p>
<p>The two core design decisions which differentiate it from other attempts are:<br />
1. Use of am email address to identify users rather than a URI as users are used to thinking of themselves in terms of email addresses.<br />
2. Designed to be natively implemented by browsers. This is good for preventing phishing and protecting privacy.</p>
<p>Like OpenID, it&#8217;s decentralised, allowing domain owners to vouch for users at that domain. One of the challenges that brings is in bootstrap. Most people don&#8217;t run their own domains, so for people to opt-in, they&#8217;d have to wait until their e-mail provider adds support. In order to work round this, Mozilla has set up a fallback system which verifies ownership of e-mail in the traditional way, with the intention that over time, fewer and fewer people will use this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/731/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=731&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2012/04/01/browserid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>Java on the web&#8230;</title>
		<link>http://log.illsley.org/2012/03/15/java-on-the-web/</link>
		<comments>http://log.illsley.org/2012/03/15/java-on-the-web/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 22:36:33 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://davidillsley.wordpress.com/?p=729</guid>
		<description><![CDATA[It is time. As a Java developer, this probably should be difficult to say, but it&#8217;s not. Now is the time to disable the Java browser plugin by default. In the past year I&#8217;ve only consciously used it on one site, and in that time there have been a whole bunch of security vulnerabilities in [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=729&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>It is time.</p>
<p>As a Java developer, this probably should be difficult to say, but it&#8217;s not. Now is the time to disable the Java browser plugin by default. In the past year I&#8217;ve only consciously used it on one site, and in that time there have been a whole bunch of security vulnerabilities in it.</p>
<p>The era of native plugins is nearly over, Java included. There are still a few sites out there which need it, but those are so few and far between that I&#8217;d recommend keeping it installed and disabling the plugin and re-enabling only when absolutely required.</p>
<p>This is trivial to do in Firefox, and I&#8217;m sure must be in other browsers as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/729/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=729&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2012/03/15/java-on-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>Mozilla Popcorn (JS)</title>
		<link>http://log.illsley.org/2011/11/06/mozilla-popcorn-js/</link>
		<comments>http://log.illsley.org/2011/11/06/mozilla-popcorn-js/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 12:40:21 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[#mozfest]]></category>
		<category><![CDATA[mozfest mozilla popcorn]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=722</guid>
		<description><![CDATA[I&#8217;ll confess that I&#8217;ve been a little sceptical about the Mozilla Popcorn.js effort over the last year or so. Putting twitter feeds beside a video doesn&#8217;t feel particularly interesting. The mozillapopcorn.org site says &#8220;Popcorn makes video work like the web&#8221;, but I haven&#8217;t understood what that means until now. It means 2 things. Firstly, a [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=722&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ll confess that I&#8217;ve been a little sceptical about the Mozilla Popcorn.js effort over the last year or so. Putting twitter feeds beside a video doesn&#8217;t feel particularly interesting. The <a href="http://mozillapopcorn.org">mozillapopcorn.org</a> site says &#8220;Popcorn makes video work like the web&#8221;, but I haven&#8217;t understood what that means until now. It means 2 things. Firstly, a radially different video-on-the-web experience, where content and video are interleaved. Where video insn&#8217;t relegated to being a box on the page with a set of controls. Even simple things like being able to add a ticker to the bottom of the video which contains other &#8216;page&#8217; content allows the video to be given much greater prominence. And secondly, it&#8217;s about the &#8216;view-source&#8217; nature of the web, and extending this to video effects. Popcorn.js isn&#8217;t &#8216;editing&#8217; the video, but applying effects and overlays in a non-destructive way. This makes it possible for people to come along and discover and learn how things were done. It&#8217;s early days for much of this, but I now at least understand why there&#8217;s so much excitement as it might have a profound impact on the future web.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/722/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/722/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=722&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2011/11/06/mozilla-popcorn-js/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>BarCampLondon 9</title>
		<link>http://log.illsley.org/2011/11/01/barcamplondon-9/</link>
		<comments>http://log.illsley.org/2011/11/01/barcamplondon-9/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 08:16:39 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[barcamplondon]]></category>
		<category><![CDATA[bcl9]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=717</guid>
		<description><![CDATA[Just a brief post to thank all the organisers and sponsors of BarCampLondon9 this past weekend. It was a 2 day marathon of interesting talks, discussions, tech-humour, and werewolf. It really sparked off a number of interesting thoughts which I&#8217;ll have to dig into sometime soon. I did a quick talk on building Firefox addons [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=717&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Just a brief post to thank all the organisers and sponsors of <a href="http://nine.barcamplondon.org">BarCampLondon9</a> this past weekend. It was a 2 day marathon of interesting talks, discussions, tech-humour, and werewolf. It really sparked off a number of interesting thoughts which I&#8217;ll have to dig into sometime soon. I did a quick talk on building Firefox addons using <a href="http://builder.addons.mozilla.org">http://builder.addons.mozilla.org</a> which seemed to go down ok. No slides. No fear.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/717/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/717/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=717&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2011/11/01/barcamplondon-9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>Distracting Planets&#8230;.</title>
		<link>http://log.illsley.org/2011/10/23/distracting-planets/</link>
		<comments>http://log.illsley.org/2011/10/23/distracting-planets/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 21:33:50 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=711</guid>
		<description><![CDATA[Today I got a little distracted by a simple tweet&#8230; These planets look pretty cool, so I decided to try to create one. I jumped to Pixelmator which I bought a while ago. Uh. It doesn&#8217;t have a &#8216;Polar Coordinates&#8217; filter. Oh well, I thought. How hard can it be to implement in Quartz Composer? [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=711&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Today I got a little distracted by a <a href="https://twitter.com/rooreynolds/status/127880510864232448">simple tweet</a>&#8230; These planets look pretty cool, so I decided to try to create one. I jumped to Pixelmator which I bought a while ago. Uh. It doesn&#8217;t have a &#8216;Polar Coordinates&#8217; filter. Oh well, I thought. How hard can it be to implement in Quartz Composer? Answer: Most of a day.</p>
<p>Was interesting to dig out basic trig knowledge, and I&#8217;m sure my solution isn&#8217;t optimal, but it was a fun way to spend an afternoon.</p>
<p>I got there in the end, but unfortunately a little late to actually spend the time to make a decent planet&#8230; maybe something for the train tomorrow.<br />
Anyway, I&#8217;ve uploaded the .qtz file to <a href="http://downloads.illsley.org/Planetize.qtz">downloads.illsley.org</a>. Feel free to grab it and drop it in <code>~/Library/Compositions/</code> if you want to play with planets on the Mac.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/711/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=711&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2011/10/23/distracting-planets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>HSTS, CAs, and pinning</title>
		<link>http://log.illsley.org/2011/09/19/713/</link>
		<comments>http://log.illsley.org/2011/09/19/713/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 22:22:11 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=713</guid>
		<description><![CDATA[The DigiNotar, Comodo, and other recent CA incidents has made it clear that the current CA/SSL model requires at least some reinforcement. An enhanced form of HSTS has been under discussion for a while, and this week an initial submission was made to the IETF&#8217;s websec group. It would work by allowing an HSTS response [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=713&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The DigiNotar, Comodo, and other recent CA incidents has made it clear that the current CA/SSL model requires at least some reinforcement. An enhanced form of HSTS has been under discussion for a while, and this week an initial submission was made to the IETF&#8217;s <a href="https://www.ietf.org/mail-archive/web/websec/">websec group</a>. It would work by allowing an HSTS response to &#8216;pin&#8217; an HSTS enabled domain to a list of root certificates, end entity certificates, or public keys used from end entity certificates. This allows, for example gmail.com to say that for the next 6 months, only certificates from a set of CAs should be trusted by a browser. While it&#8217;s not a panacea, it would help detect and prevent SSL MITMing like that detected in the DigiNotar case. There is a bootstrap problem (the first time someone visits a site, the browser can be fooled), but incremental improvement and defence in depth is the order of business here. If you&#8217;re not careful, pinning could have negative consequences, and the spec is careful to minimise these &#8211; notably that if you limit yourself to a single CA, you can effectively be extorted when your existing certificate expires, as you have no choice but to pay for a new certificate from the pinned CA.</p>
<p>It&#8217;s this flexibility which introduces what I think is a difficult to solve problem. If you&#8217;re running a non-SSL site, and an attacker can gain access to your DNS (as recently happened to theregister.co.uk and others), they can &#8216;pin&#8217; your users to a public key which you don&#8217;t have the private key to, and which isn&#8217;t revocable. At that point, you either rely on the browser vendors to somehow decide that you really do own your site, and push some kind of special unpin message to all browsers, or you pay up to the attacker to buy the private key, from which you can have a cert issued, and which you can then use to serve your site, and probably downgrade from pinning and HSTS.</p>
<p>In this case, we&#8217;ve essentially shifted trust from CAs to DNS registrars, who inevitably have less security expertise. Without HSTS+pinning, theregister.co.uk just had to wait for the registrar to correct the whois records, and for the DNS to propagate. With pinning, a similar registrar failure could have a much longer lasting impact. There are variants to this attack which simply require acting as a MITM, but in those cases, gaining a CA cert for a target domin is considered much harder.</p>
<p>This attack essentially targets the bootstrap phase which we already knew wasn&#8217;t secure. After a few days pondering solutions to the problem, the solutions I can come up with essentially further weaken the bootstrap phase, but enable pinning over the long-term without these problems for non-secured sites.</p>
<p>My proposal is to soften the effect of the &#8216;pin&#8217; for 72 hours from when a domain is first pinned. If, in that period, a certificate which doesn&#8217;t correspond to the pin is encountered, the browser must apply heuristics to determine what to do. This may include user input or communication with white/blacklist services. It must not blindly obey the pin.</p>
<p>Why is it important to put this into the spec? If I think about the costs of setting up a truly secure and trustworthy blacklist/unpin service, the task is as complex as running a CA. I think it&#8217;s unreasonable to expect that browser vendors will want to get into that business. And even if they did, the time it might take for them to correctly identify the domain owner and correct pinning status would likely be lengthy. Any site owner setting a pin would be rightly upset if their site was incorrectly unpinned. Providing a short window (at the already weak boostrap phase) where a lower set of expectations is codified would provide cover to implement sensible heuristics and low-bureaucracy services to mitigate the worst of the problem, without implying that those same services would be appropriate for a general pin revocation scenario.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/713/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=713&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2011/09/19/713/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>A new OSGi tool&#8230; kindof&#8230;</title>
		<link>http://log.illsley.org/2011/06/26/a-new-osgi-tool-kindof/</link>
		<comments>http://log.illsley.org/2011/06/26/a-new-osgi-tool-kindof/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 19:31:15 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[osgitool]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=707</guid>
		<description><![CDATA[After watching the #osgitool session the other day which covered some pretty advanced OSGi tooling, it occurred to me that given the learning and migration curve to use OSGi, there are people a long way from using it, but who could benefit from the OSGi metadata everyone is spending time on. How so? Well, Eclipse [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=707&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>After watching the #osgitool session the other day which covered some pretty advanced OSGi tooling, it occurred to me that given the learning and migration curve to use OSGi, there are people a long way from using it, but who could benefit from the OSGi metadata everyone is spending time on.</p>
<p>How so? Well, <a href="http://www.eclipse.org">Eclipse</a> supports &#8216;Access Rules&#8217; on dependency libraries which essentially mimic the Export-Package property in OSGi. A tool which allows you to easily set up this configuration based on the manifest would allow you to respect the (normally carefully crafted) Export-Package restrictions without going all the way to OSGi. Hopefully this means that you&#8217;re less likely to use APIs which are considered internal, and so when you&#8217;re upgrading the version of your dependency, there&#8217;s less likelihood of accidental incompatibilities.</p>
<p>The source to this (very simple) plugin is on <a href="https://github.com/davidillsley/manifestexcludes">github</a>, and along with a built <a href="http://downloads.illsley.org/manifestexcludes_1.0.0.201106262012.jar">jar</a> which you can drop in the dropins folder.</p>
<p>Then, to use it, simply right-click on a Java project and select &#8220;Refresh OSGi export restrictions&#8221;. This will then scan the dependent jars and their manifests, and for OSGi bundles, update the Access Rules to explicitly allow use of exported packages, and forbid use of all other packages (this is visible in the Java Build Path/Libraries tab).</p>
<p>If it&#8217;s useful and you have feedback, please use the tracker on github.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/707/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/707/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=707&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2011/06/26/a-new-osgi-tool-kindof/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
		<item>
		<title>Leaving IBM&#8230;</title>
		<link>http://log.illsley.org/2011/03/22/leaving-ibm/</link>
		<comments>http://log.illsley.org/2011/03/22/leaving-ibm/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 11:01:12 +0000</pubDate>
		<dc:creator>davidillsley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://log.illsley.org/?p=701</guid>
		<description><![CDATA[After more than five years working in the IBM Hursley Software Lab, I&#8217;ve decided that it&#8217;s time to move on. I&#8217;ve enjoyed my time in Hursley greatly and learned a lot, but in order to further grow my career, I&#8217;ve decided to leave the connectivity middleware space. I&#8217;ve worked with a lot of talented developers [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=701&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>After more than five years working in the IBM  Hursley Software Lab, I&#8217;ve decided that it&#8217;s time to move on. I&#8217;ve  enjoyed my time in Hursley greatly and learned a lot, but in order to  further grow my career, I&#8217;ve decided to leave the connectivity  middleware space. I&#8217;ve worked with a lot of talented developers and  architects in Hursley and around the globe on a variety of interesting  projects and products, and I hope I cross paths with many of them in the  future, and wish them all the best.</p>
<p>So what does the future hold? Well, a move away from a software  product vendor to a company which uses technology and software in  support of (and to drive) its business. Also a move from the leafy  Hampshire countryside to Canary Wharf. On a date TBC in the not too  distant future, I&#8217;ll start work as a software engineer at Morgan  Stanley.</p>
<p>I&#8217;m really excited and looking forward to working with a new team on  new challenges and learning a lot more about the finance industry.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidillsley.wordpress.com/701/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidillsley.wordpress.com/701/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=log.illsley.org&#038;blog=499578&#038;post=701&#038;subd=davidillsley&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://log.illsley.org/2011/03/22/leaving-ibm/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2be75bac5b5a73a268078d9d912e9124?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidillsley</media:title>
		</media:content>
	</item>
	</channel>
</rss>
