Nodes in a social network

Cryptography and the Black or White Fallacy

Cryptography is the topic du jour in many areas of the Internet. Not the analysis of algorithms or the ongoing quest to find some reasonably strong kind of crypto people without a degree in computer science and black magic are able and willing to use but in the form of the hashtag #cryptowars.

The first crypto wars were fought when the government tried to outlaw certain encryption technologies or at least implementations thereof with a certain strength. Hackers and coders found ways to circumvent the regulation and got the technology out of the US and into the hands of the open source community. Since these days cryptography has been widely adopted to secure websites, business transactions and – for about 7 people on this planet and Harvey the invisible bunny –  emails.

But there is a storm coming:

Governments are publicly wondering whether maybe asking platform providers to keep encryption keys around so that the police can access certain communication given proper authorization (that idea is usually called key escrow). Now obviously that is not something everyone will like or support. And that’s cool, we call it democracy. It’s people debating, presenting ideas, evaluating options and finally coming up with a democratically legitimized consensus or at least a resolution.

There are very good arguments for that kind of potential access (for example enforcement of the social contract/law, consistency with the application of norms in the physical world) as well as against it (for example the right to communicate without interference or the technical difficulty and danger of a key escrow system). For the proponents of such a regulation the argument is simple: Security, Anti-terror, Protection. Bob’s your uncle. For the opposition it’s harder.

I read many texts in the last few days about how key escrow would “ban encryption”. Which we can just discard as somewhat dishonest given the way the proposed legislation is roughly described. The other train of thought seems to be that key escrow would “break” encryption. And I also find that argument somewhat strange.

If you are a purist, the argument is true: If encryption has to perfectly protect something against everyone, key escrow would “break” it. But I wonder what kind of hardware these purists run their encryption on, what kind of operating systems. How could anyone every be sure that the processors and millions of lines of code making up the software that we use to run our computers can be trusted? How easy would it be for Intel or AMD or whatever Chip manufacturer you can think of to implement backdoors? And we know how buggy operating systems are. Even if we consider them to be written in the best of faith.

Encryption that has left the wonderful and perfect world of theory and pure algorithms is always about pragmatism. Key lengths for example are always a trade-off between the performance penalty they cause and the security they provide given a certain technological default. In a few years computers have gotten faster, which would make your keys short enough to be broken but since computers have gotten faster, you can use longer keys and maybe even more complex encryption algorithms.

So why, if deploying encryption is always about compromise, is key escrow automatically considered to “break” all encryption. Why wouldn’t people trust the web anymore? Why would they suddenly be the target of criminals and theft as some disciples of the church of crypto are preaching?

In most cases not the whole world is your enemy. At least I hope so, for your sake. Every situation, every facet of life has different threat models. How do threat models work? When I ride my bike to work I could fall due to a bad road, ice, some driver could hit me with their car. I address those threats in the way I drive or prepare: I always have my bike’s light on to be seen, I avoid certain roads and I keep an eye on the car traffic around me. I don’t consider the dangers of a whale falling down on me, aliens abducting me or the CIA trying to kill me. Some people might (and might have to given they annoyed the CIA or aliens), but for me, those are no threats I spend any mental capacities on.

My laptop’s harddrive is encrypted. The reason is not that it would protect its data against the CIA/NSA/AlienSecurityAgency. Because they’d just lock me up till I give them the key. Or punch me till I do. Or make me listen to Nickelback. No, I encrypt my drive so that in case my laptop gets stolen the thief might have gotten decent hardware but no access to my accounts and certain pieces of information. Actually, in my personal digital threat modeling, governments really didn’t influence my decision much.

In many cases we use encryption not to hide anything from the government. HTTPS makes sense for online stores not because the government could see what I buy (because given reasonable ground for suspicion they could get a court order and check my mail before I get it which no encryption helps against) but because sending around your credit card data in the clear is not a great idea(tm) if you want to be the only person using that credit card to buy stuff.

There are reasonable situations where encryption is used as defense against governments and their agencies. But in those cases it’s some form of open source end-to-end cryptography anyways, something you cannot outlaw (as the crypto wars of old have proven). On the other hands, in many situations encryption is mostly used to protect us from certain asshats who would love to change our Facebook profile picture to a penis or a frog or a frog’s penis1 or who’d like us to pay for their new laptop and Xbox. And they wouldn’t get access to any reasonably secure implementation of key escrow.

The idea that any “impurity”, any interference into cryptography is a typical black or white fallacy. Two options are presented for people to choose from: A) Cryptography deployed perfectly as it is in its ideal form and B) Cryptography is “broken”. But we know from our everyday life that that is – excuse my language – bullshit. Because every form of encryption we use is a compromise in some way, shape or form.

I have to extend trust to the makers of my hardware and software, to the people who might have physical access to my laptop at some point and to the fact that nobody sneaks into my home at night to install weird keyloggers on my machine. All that trust I extend does not “break” the encryption on my harddrive. You could argue that it weakens it against certain adversaries (for example a potentially evil Intel having a backdoor in my machine) but for my personal threat model those aspects are mostly irrelevant or without options. I don’t have to option to completely build my own computer and all the required software on it. Because I’ve got shit to do, pictures of monkeys to look at etc.

Personally I haven’t fully come to a conclusion on whether key escrow is a reasonable, good way to deal with the problem of enforcement of certain laws. And if it is, which situations it should apply to, who that burden should be placed on. But one thing is obvious: All those articles of the “death of crypto” or the “destruction of crypto” or the “war against crypto” seem to be blown massively out of proportion forfeiting the chance to make the case for certain liberties or against certain regulation for a style of communication reminding me of right-wing politicians using terrorist attacks to legitimize massive violations of human rights. Which is ironically exactly the kind of argument that those writing all these “crypto is under fire!!11” articles usually complain about.

Photo by Origami48616

Liked it? Take a second to support tante on Patreon!
  1. I don’t know if frogs have penises []

2 thoughts on “Cryptography and the Black or White Fallacy

  1. Please tell me if I misunderstand.

    You don’t see a problem in adding official government backdoors to encryption systems because cryptography will always be inherently vulnerable due to bugs in operating systems and possible hardware backdoors. We just add yet another hole in a swiss cheese full of holes.

    One of the problems I have with your line of argument is that you seem to apply your own standards to everyone else. I for one am an average guy that neither police nor secret agencies are interested in, but I see the need for strong encryption for certain people like lawyers, journalists and political activists.

    Another problem I see is this: The difference between operating system bugs and hardware backdoors on one side and key escrow and government backdoors on the other side is that one is either unintentional or illegal and the other is both intentional and legal. Encryption systems are designed to run on platforms that are not trustworthy. It makes a difference if the encryption system itself is no longer trustworthy. But if both platforms and crypto are no longer trustworthy, you must ask to what extent you’re able to trust our authorities and the democratic process you praise. Also, there is no way to make sure that this backdoor will not be found and be misused by criminals.

    If privacy intruding government backdoors are implemented there must be a law to make sure people will use approved crypto only. Otherwise, this doesn’t make sense at all. But even if there is no such law, everyone using something other than approved crypto will draw suspicion.

    I’ve got the feeling that while your original intention was to criticize the martial and maybe hyperbolic rhetoric of crypto puritans, you end up casting doubts on their concerns. Unfortunately, you are using a bit of a tricky rhetoric yourself. You’re trying to make a serious point with this odd comical touch. You draw conclusions from your own experience and leave aside the fact that other people may have needs that are different from yours.

    In my opinion we should all be very concerned about politicians trying to shape the narrative in a way that cryptography is more and more discredited and looked upon by the majority of the population as a tool that only criminals use.

    1. I don’t think the term “backdoor” applies here. We don’t consider the way the police can under certain conditions access a person’s mail as a “backdoor” in the stricter meaning of the word.

      The point is this:
      I think there is a reasonable argument to be made to force platform providers to store keys for access by authorized parties later (similar as we do it with mail). That does not “ban” strong encryption for individuals and will not punish its use (you can also write your letters in code which screws the police even when they have a search warrant).
      The argument that key escrow would “break” or “ban” encryption is – for many if not most usecases – a hyperbole if not just wrong. OpSec has to do with contexts and tradeoffs (as I illustrated) and the same applies here. For certain people the government is their opponent, fine, there’s OTR, PGP, S/MIME etc for that. But in certain conditions it might make sense for platform providers to be forced to open up a piece of communication. Not for “terrorism” mind you, there it wouldn’t work. Let’s look at an example.

      We want platform providers (Faceboogle etc) to encrypt traffic for their user’s security. Now a user is being threatened credibly and maybe even attacked (physically in the worst place). In order to punish the respective aggressors we might want to offer police a way into their communication (with a judge’s permit obviously) to prove their crime. Key escrow would be a reasonable approach here – at least theoretically.

      Where the implementation and the risks it creates would be reasonable as a trade-off is a different and even harder discussion, one I don’t have a perfect answer to. But the whole 1/0 argument around crypto is bogus. We do have a social contract and laws for a reason. Crypto isn’t above the law, it’s not a super-right that needs protection no matter what. Just as everything else we might decide to limit certain applications under certain conditions.

Comments are closed.