Caddy Webserver and MOSS

The team behind the Caddy secure-by-default webserver have written a blog post on their experience with MOSS:

The MOSS program kickstarted a new era for Caddy: turning it from a fairly casual (but promising!) open source project into something that is growing more than we would have hoped otherwise. Caddy is seeing more contributions, community engagement, and development than it ever has before! Our experience with MOSS was positive, and we believe in Mozilla’s mission. If you do too, consider submitting your project to MOSS and help make the Internet a better place.

Always nice to find out one’s work makes a difference. :-)

Eurovision Bingo (chorus)

Some people say that all Eurovision songs are the same. (And some say all blog posts on this topic are the same…) That’s probably not quite true, but there is perhaps a hint of truth in the suggestion that some themes tend to recur from year to year. Hence, I thought, Eurovision Bingo.

I wrote some code to analyse a directory full of lyrics, normally those from the previous year of the competition, and work out the frequency of occurrence of each word. It will then generate Bingo cards, with sets of words of different levels of commonness. You can then use them to play Bingo while watching this year’s competition (which is on Saturday).

There’s a Github repo, or if you want to go straight to pre-generated cards for this year, they are here.

Here’s a sample card from the 2014 lyrics:

fell cause rising gonna rain
world believe dancing hold once
every mean LOVE something chance
hey show or passed say
because light hard home heart

Have fun :-)

Thunderbird’s Future Home Decided

Here’s the announcement. Rather than moving to live somewhere else like The Document Foundation or the Software Freedom Conservancy, Thunderbird will stay with the Mozilla Foundation as its fiscal home, but will disentangle itself from Mozilla Corporation infrastructure. As someone who has been helping steward this exploration process, I’m glad to see it come to a successful outcome.

Also in the world of Thunderbird, the community is discussing the future of the product, in the face of significant upcoming changes to the Gecko platform. On the table is a “Thunderbird++” rewrite/transformation using web technologies. Interesting times…

Everything’s A Cut

In UK politics, at least, the language of “cuts” is common (most often preceded by the word “Tory”). There are to be cuts to this budget, and cuts to that service, and cuts to the other program. Cuts are almost universally seen as bad. But almost any change in any funding arrangement can be portrayed as a cut of some sort.

Let’s say the budget for activity X is £100,000 in 2015. In 2016, it’s £90,000. Is that a cut? Clearly. But what if it’s £100,000? Well, that’s a “real-terms cut” because of course inflation means that money this year is worth a bit less than money last year. OK, so let’s make it £102,000, to account for inflation. But the Retail Prices Index has gone up by more than that, so it’s still a “cut”. £105,000? Well, in fact, the costs of doing X have gone up significantly this year because of reasons, so that’s also an “effective cut”. More people using a service? An increase can be portrayed as a cut. More expensive and better treatment option becomes available? Even an increase can be portrayed as a “cut to that service”.

If you move resources from activity X to activity Y, then your opponents can focus on “cuts to activity X”. If you want to start doing a new activity Z, and don’t want to increase your budget, them something somewhere has to be “cut”. There’s always a cut somewhere you can find to complain about if you look hard enough.

If the previous administration was massively mis-spending their money and you have a big rearrangement of priorities, lots of things are going to be “cut”. If a particular client group such as the elderly has been doing extremely well for the past N years (triple lock, anyone?), and you change things to be more equitable, that’s a “cut”. And if that group is particularly photogenic or sympathy-worthy, no matter how much they were getting before, they can get the public on their side by objecting to the cruel “cuts”. Once a set of people has got access to a pot of government money, entitlement sets in extraordinarily quickly.

The difficulty for politicians, of course, is that it’s very difficult to say something like “well, pensioners have been coining it for the past 10 years, and it’s time we had a bit more equity”, because the press can always find a frail-looking pensioner who will be outraged on camera that they now apparently have to choose between food and heating.

The only way to avoid anything which seems like a cut is always to increase budgets for everything. And that normally means tax increases to pay for it (or, via borrowing, putting the bill on our children who can’t object, which is a sadly all-too-common move for politicians to avoid having to pay for what they are doing). But there are limits to how much you can increase tax, because taxation changes behaviour. It’s generally accepted when talking about carbon emissions, or cigarette smoking, or sugar consumption, that taxing something means you get less of it. But people shy away from applying this logic when it’s applied to incomes, or sales, or company profits (which are, absent a monopoly or criminal activity, the reward for hard work and entrepreneurship). Taxing those things means you get less of them too – less economic activity, smaller economy, poorer people.

So when someone tries to engender outrage by simply saying “something is being cut!”, remind them that pretty much everything’s a cut, and point them at this article. Just because something qualifies as a cut, and the group or activity receiving less money is deemed worthy of support, doesn’t make the change necessarily wrong.

Don’t Pin To A Single CA

If you do certificate pinning, either via HPKP, or in your mobile app, or your IoT device, or your desktop software, or anywhere… do not pin solely to a single certificate, whether it’s a leaf certificate, intermediate or root certificate, and do not pin solely to certificates from a single CA. This is the height of self-imposed Single Point of Failure foolishness, and has the potential to bite you in the ass. If your CA goes away or becomes untrusted and it causes you problems, no-one will be sympathetic.

This Has Been A Public Service Announcement.

Buzzword Bingo

This is a genuine question from a European Union public consultation:

Do you see the need for the definition of a reference architecture recommending a standardised high-level framework identifying interoperability interfaces and specific technical standards for facilitating seamless exchanges across data platforms?

Words fail me.

Root Store Policy 2.4.1 Published

Version 2.4.1 of Mozilla’s CA Policy has now been published. This document incorporates by reference the Common CCADB Policy 1.0 and the Mozilla CCADB Policy 1.0. Neither of these latter two documents has changed in this revision cycle.

This version has no new normative provisions; it is a rearrangement and reordering of the existing policy 2.4. Diffs against 2.4 are not provided because they are not useful; everything appears to have changed textually, even if nothing has changed normatively.

It’s on days like this that one remembers that making the Internet a better, safer and more secure place often involves doing things which are very mundane. :-) The next job will be to work on version 2.5, of which more later.

The Only Cure For Shame

Tim Chevalier reposted this Tumblr post from Peter Brunton, which has been rattling around inside my head for a few weeks. It makes me really sad, because Peter says he grew up in a “genuinely loving, caring, utterly wonderful” church, but it seems like they didn’t tell him (or he didn’t hear) how to deal with the shame that he rightly felt. I say rightly, because the Bible tells us that sexual sin should cause us to feel shame (Romans 1:26-27). The key piece that’s missing is that the right way to deal with this is not to hide or deny the shame, but to repent and believe the gospel.

The same book of Romans which calls sexual sin shameful tells us:

As it is written: ‘See, I lay in Zion a stone that causes people to stumble and a rock that makes them fall, and the one who believes in Him will never be put to shame.’

Trusting in Christ leads us to not have to feel ashamed any more. And in Hebrews 12 we read:

Therefore, since we are surrounded by such a great cloud of witnesses, let us throw off everything that hinders and the sin that so easily entangles. And let us run with perseverance the race marked out for us, fixing our eyes on Jesus, the pioneer and perfecter of faith. For the joy that was set before Him He endured the cross, scorning its shame, and sat down at the right hand of the throne of God.

The victory won by Jesus at the cross deals with our shame just as it dealt with the supposed shamefulness of what happened to him. Whatever we may have done, he wipes the slate clean, allowing us to throw off our sin and “run the race” of faith and obedience.

It is true that he calls people who are same-sex attracted to do something that is not easy, but if God truly works all things for our good (Romans 8:28) then following him is always by far our best choice. Our sexual preferences are not who we are – they don’t define us. If we are following Jesus, that is our identity, and it subsumes everything else. And if our church is truly loving and caring, its members will help us in that journey. I don’t know if Peter will ever read this, but I pray he will one day come to see that, as many others have.

Firefox Secure Travel Addon

In these troubled times, business travellers occasionally have to cross borders where the border guards have significant powers to seize your electronic devices, and even compel you to unlock them or provide passwords. You have the difficult choice between refusing, and perhaps not getting into the country, or complying, and having sensitive data put at risk.

It is possible to avoid storing confidential data on your device if it’s all in the cloud, but then your browser is logged into (or has stored passwords for) various important systems which have lots of sensitive data, so anyone who has access to your machine has access to that data. And simply deleting all these passwords and cookies is a) a pain, and b) hard to recover from.

What might be very cool is a Firefox Secure Travel addon where you press a “Travelling Now” button and it:

  • Disconnects you from Sync
  • Deletes all cookies for a defined list of domains
  • Deletes all stored passwords for the same defined list of domains

Then when you arrive, you can log back in to Sync and get your passwords back (assuming it doesn’t propagate the deletions!), and log back in to the services.

I guess the border authorities can always ask for your Sync password but there’s a good chance they might not think to do that. A super-paranoid version of the above would also:

  • Generate a random password
  • Submit it securely to a company-run web service
  • On receiving acknowledgement of receipt, change your Sync password to
    the random password

Then, on arrival, you just need to call your IT department (who would ID you e.g. by voice or in person) to get the random password from them, and you are up and running. In the mean time, your data is genuinely out of your reach. You can unlock your device and tell them any passwords you know, and they won’t get your data.

Worth doing?

Mozilla CA Policy 2.4 Published

Version 2.4 of Mozilla’s CA Policy has now been published. This document incorporates by reference the Common CCADB Policy 1.0 and the Mozilla CCADB Policy 1.0, two new documents which govern our use of the Common CA Database which we hope several root programs will use to ease the administration burden.

This seems pretty super-geeky, but having clear, current, enforceable policies regarding the CAs and root certificates in our root program is important for us to continue to be open and transparent about how we run it, and to enable us to continue to drive the security of the web (which depends on the certificate system) in a positive direction.

The policy had not changed for a long time before this update, so this update addressed issues which were uncontroversial and/or urgent. The next job is to rearrange it into a more logical order and then, after that, for version 2.5, we will be looking at some of the more difficult and longer-term policy challenges we face in this space. Here’s the issue tracker if you want to get some idea of what those are. :-)

Overheard at Google CT Policy Day…

Jacob Hoffman-Andrews (of Let’s Encrypt): “I tried signing up for certspotter alerts for a domain and got a timeout on the signup page.”
Andrew Ayer (of CertSpotter): “Oh, dear. Which domain?”
Jacob Hoffman-Andrews: “hoffman-andrews.com
Andrew Ayer: “Do you have a lot of certs for that domain?”
Jacob Hoffman-Andrews: “Oh yeah, I totally do!”
Andrew Ayer: “How many?”
Jacob Hoffman-Andrews: “A couple of hundred thousand.”
Andrew Ayer: “Yeah, that would do it…”