One of the things that confuses Brits is that many Americans don’t know the difference between tortoises and turtles, whereas we (who have no species of either type which are native to our shores) seem to no have no problem differentiating them. This is the week when Americans like to bash us Brits over the little revolution they had a couple of centuries ago, so I don’t feel too bad about giving them a little hassle about this.
As it happens, there’s a story about turtles that I want to tell. It’s important to security folks, to the extent that you may hear a security person just say “turtles” to a colleague in criticism of a particular scheme, which will just elicit a nod of agreement: they don’t like it. There are multiple versions of this story: here’s the one I tell:
A learned gentleman is giving a public lecture. He has talked about the main tenets of modern science, such as the atomic model, evolution and cosmology. At the end of the lecture, an elderly lady comes up to him.
“Young man,” she says.
“Yes,” says he.
“That was a very interesting lecture,” she continues.
“I’m glad you enjoyed it,” he replies.
“You are, however, completely wrong.”
“Really?” he says, somewhat taken aback.
“Yes. All that rubbish about the Earth hovering in space, circling the sun. Everybody knows that the Earth sits on the back of a turtle.”
The lecturer, spotting a hole in her logic, replies, “But madam, what does the turtle sit on?”
The elderly lady looks at him with a look of disdain. “What a ridiculous question! It’s turtles all the way down, of course!”
The problem with the elderly lady’s assertion, of course, is one of infinite regression: there has to be something at the bottom. The reason that this is interesting to security folks is that they know that systems need to have a “bottom turtle” at some point. If you are to trust a system, it needs to sit on something: this is typically called the “TCB”, or Trusted Compute Base, and, in most cases, needs to be rooted in hardware. Even saying “rooted in hardware” is not enough: exactly what hardware you trust, and where, depends on a number of factors, including what you know about your hardware supply chain; what you feel about motherboards; what your security posture is; how realistic it is that State Actors might try to attack you; how deeply you want to delve into the hardware stack; and, ultimately, just how paranoid you are.
Principles for chains of trust
When you are building a system which you need to have some trust in, you will typically talk about the chain of trust, from the bottom up. This idea of a chain of trust is very important, and very pervasive, within security. It allows for some important principles:
- there has to be a root of trust somewhere (the “bottom turtle”);
- the chain is only as strong as its weakest link (and attackers will find it);
- be explicit about each of the links in the chain;
- realise that some of the links in the chain may change (e.g. if software is updated);
- be aware that once you have lost trust in a chain, you need to rebuild it from at least the layer below the one in which you have lost trust;
- simple chains (with no “joins” with other chains of trust) are much, much simpler to validate and monitor than more complex ones.
Software/hardware systems are not the only place in which you will encounter chains of trust: in fact, you come across them every time you make a TLS connection to a web site (you know: that green padlock icon in the address bar). In this case, there’s a chain (sometimes short, sometimes long) of certificates from a “root CA” (a trusted party that your browser knows about) down to the organisation (or department or sub-organisation) running the web site to which you’re connecting. Assuming that each link in the chain trusts the next link to be who they say they are, the chain of signatures (turned into a certificate) can be checked, to give an indication, at least, that the site you’re visiting isn’t a spoof one by somebody pretending to be, for example, your bank. In this case, the bottom turtle is the root CA, and its manifestation in the chain of trust is its root certificate.
And chains of trust aren’t restricted to the world of IT, either: supply chains care a lot about chains of trust. Can you be sure that the diamond in the ring you bought from your local jewellery store, who got it from an artisan goldsmith, who got it from a national diamond chain, did not originally come from a “blood diamond” nation? Can you be sure that the replacement part for your car, which you got from your local independent dealership, is an original part, and can the manufacturer be sure of the quality of the materials they used? Blockchains are offering some interesting ways to help track these sorts of supply chains, and can even be applied to supply chains in software.
Chains of trust are everywhere we look. Some are short, and some are long. In most cases, there will be a need to employ transitive trust – I need to believe that whoever created my browser checked the root CA, just as you need to believe that your local dealership verified that the replacement part came from the right place – because the number of links that we can verify ourselves is typically low. This may be due to a variety of factors, including time, expertise and visibility. But the more we are aware of the fact that there is a chain of trust in any particular situation, the more we can make conscious decision about the amount of trust we should put in it, rather than making assumptions about the safety, security or validation of something we are buying or using.
1 – citizens of the US of A,
2 – have a look on a stock photography site like Pixabay if you don’t believe me.
3 – tortoises are land-based, turtles are aquatic, I believe.
4 – Wikipedia has a good article explaining both the concept and the story’s etymology.
5 – the genders of the protagonists are typically as I tell, which tells you a lot about the historical context, I’m afraid.
6 – this used to be “SSL”, but if you’re still using SSL, you’re in trouble: it’s got lots of holes in it!
7 – or is it? You could argue that the HSM that (hopefully) houses the root CA, or the processes that protect it, could be considered the bottom turtle. For the purposes of this discussion, however, the extent of the “system” is the certificate chain and its signers.