Thoughts on British ICT, energy & environment, cloud computing and security from Memset's MD
WhatsApp looks great on face value and it’s underlying technology is awesome. However, there are some things about it which don’t add up for me, eg. it’s apparently non-existent business model and lack of open sourcey-ness. Further, our faith in it relies too heavily on one person, Moxie Marlinspike, who chooses to remain largely anonymous; a choice I completely respect, but believe is incompatible with collective trust long-term. Overall this makes me nervous about trusting WhatsApp’s privacy. Use Signal instead; same outstanding privacy technology, fully open source and just as easy-to-use.
I used to shun WhatsApp, despite so many friends using it, partly because of Facebook’s purchase (for an insane $19bn in Feb 2014 – $22bn in the end; I don’t trust Facebook) and partly because of their dodgy security at the time. In November 2014 they employed Open Whisper Systems‘ (OWS) technology to provide “end-to-end” encryption; in other words, what we say to each other is OTR (Off The Record) meaning that even WhatsApp can’t intercept the traffic (and, thus, neither can GCHQ, the NSA et al). Last month (April 2016) they took the impressive steps of a) enabling end-to-end encryption on all communication by default and b) enabling users to verify each others’ keys in person (ref). This piqued my interest.
I want to be able to communicate securely with my friends. I used to use Telegram but the only close friends who also do are those I’ve bullied into into it. Among my 1,700 personal and business contacts (in Google) there has been varying uptake of the various main-stream secure messaging systems:
I include Facebook merely as a comparison; I don’t consider it secure. One thing of note is that the 17 using OWS’ Signal are among those who I would consider my most “clueful” contacts (hackers, security experts, renowned privacy advocates, etc). Signal is also my first choice at face value – it is open source and the tech is awesome. However, 1% is a disappointing uptake .
WhatsApp is easy to use, popular and the security technology sounds amazing, so it should be my first choice, but can it really be trusted? I still have a number of concerns:
On point 2, a little-known alternative business model is to make your security impenetrable but build in back doors to enable amassing of massive data sets on citizens which government agencies then desire. Being unable to crack it themselves and being inherently resilient to traditional wiretap orders said agencies are then forced to buy the data. Some believe this is Google’s approach to dealing with the NSA et al (they reputedly have some of the best security in the world). With my tinfoilhat on, WhatsApp could just be the mother of all government honeypots.
While I could talk about the intricacies of TextSecure’s & Signal’s (OWS) protocols (the best I’ve ever seen), many much smarter & more clueful people than me have already done this. I will only highlight that OWS’ software is conspicuously absent from WhatApp’s Open Source list of “key projects” to which they contribute. In fact, none of the projects they contribute to are security-related.
Regardless, as any fan of Mr Robot should know: Information security vulnerability is more often about people than technology. In this instance trust in WhatsApp’s security and privacy really boils down to placing trust in one person: Moxie Marlinspike.
Moxie Marlinspike has undisputedly been a positive contributor both to open source cryptographic/hacking software and the cryptoanarchy movement. He is a god in the world of (white hat) hacking. I like him and we share some common values (not just a love of sailing!). I am a minarchist, passionately believe in the right to personal privacy and believe that technology – not law – holds the keys.
I use open source encryption tools (including his) and privacy-enabling systems; I mess with Tails, Tor, I2P, Signal, cryptocoins/tumblers, TrueCrypt and sometimes use them in earnest. There are times when I want to say things to friends or business colleagues that I do not want anyone – be they a hacker, competitor or government agency – to be able to intercept, even in the event I am forced to reveal keys and hand over hardware.
I also respect Moxie’s choice to remain to partially-anonymous (he refuses to divulge his true identity, though does appear on stage now and then). However, it is very dangerous to place significant collective trust in an anonymous individual. My ventures into the land of cryptosecurities taught me this; many people got ripped off because they allowed others to build up trust under anonymous identities and were ultimately scammed. This happened because those individuals operated without oversight and without threat of sanctions. With open source software you can get around this problem with third-party verifiability – collective trust in an [anonymous] collective.
When talking about financial systems (eg. cryptosecurities) you really do need the individual(s) to be identifiable and accountable. This is admittedly little different. Moxie is hardly asking people to ask people to hand over their cash and is not the principal in any event; he is just the main guy behind helping make privacy easy for a billion people on an otherwise untrusted platform. Regardless, there are parallels; we are handing over a valuable asset (our information) based primarily on trust in one person.
To demonstrate why collective trust should not rely on an individual, let’s crank up the paranoia for a moment. At first glance I might question whether Moxie has really remained engaged in the WhatsApp project. With my tinfoilhat on I might even ask whether he could have been murdered by the evil megacorp who were then just were using his good name.
He has not been especially visible to the general public in recent years other than on his Twitter feed, which could arguably be some clueful marketing goon. He has only made one post on his blog in nearly 2.5 years and that was a critique of GPG over a year ago (very interesting btw, but why not related to OWS/WhatsApp). I can imagine him losing control of his Twitter account (many people in the public eye allow assistants access to post), but not his site/blog, hence why I bring it up.
The most recent video appearance I could find of him was from Oct 2015, so not all that long ago, and he does talk about implementing end-to-end encryption for WhatsApp. However, while I might suspect that in absentia another could have taken control of his Twitter account, I very much doubt he would leave his Github password lying around. He has been very active on Github lately.
What I’m hoping to demonstrate here is that trust in a child of cipherspace – in an online identity – has it’s own security risks. How do you know you’re reading something written by Kate Craig-Wood right now? Thanks to cryptography and ubiquitous connectivity we have better identification mechanisms that our parents’ easily-forged state-issued paper documentation, but many more ways to fake another’s identity too.
Anyway, the conclusion of my paranoid pokings about is that I do believe that Moxie has contributed to WhatsApp’s encryption software, that he hasn’t been bumped off, and that right now the E2E privacy implementation is probably reliable. However, I have insufficient evidence that Moxie continues to remains sufficiently engaged to police WhatsApp’s implementation of his technology; by merely knowing that OWS tech was used we still have no assurance that WhatsApp will not pervert it in the future.
As mentioned, I passionately believe in the right to privacy and also the right to anonymity – even though I do not choose the latter myself. I do not believe we should ask Moxie to de-anonymise nor do I feel it is right that burden of trust should fall on an individual. Ideally OWS should not have to police their users’ implementations for us to be able to trust those implementations.
In some instances trust can be achieved technologically, but I don’t think that is possible here. Such systems or networks usually rely on “consensus” between nodes (eg. cryptocoins, PGP) or shared key verification. Yes, WhatsApp does allow you to compare keys, and that does give you assurance that an individual device has not been compromised, but it provides no assurance that WhatsApp themselves have not changed the app in their latest mass-update to allow snooping of private keys (for example).
We do not wish to trust governments nor corporations therefore we need a self-policing, intelligent collective to provide oversight. One motivated by altruism, interest in technology and personal kudos rather than money. Basically, the open source community. There is only one solution: WhatsApp should open source their app. If they do not then we should ask, “Why not?”.
There is, of course, another elephant in the room. Mobile platforms can hardly be considered secure; by relying on WhatsApp you are also trusting not just Apple/iOS or Google/Android and the hardware manufacturers that contributed to your smartphone, but potentially also every other app you have on your phone. Even if WhatsApp haven’t put in a backdoor, what’s to say another app that you’ve given permissions to without paying attention is compromised, or whether the OS/hardware is gathering your key strokes.
As usual with security there is a compromise between usability and functionality. Like I said, I’ve messed with Tails (The Amnesic Incognito Live System – basically Debian rebuilt ground-up for max-security), but it is such a PITA I can’t be bothered to actually use it much. I used to use CyanogenMod on my phone but reverted to a default install on my Google Nexus 5x because I want all the Google shinies to work (oh how cheaply I give away my personal information!). I’m about to try CopperheadOS on a second-hand Nexus 5 and it does look like a great solution, but that’s another blog post!
For talking probably-privately to my less geeky friends, WhatsApp is the only viable choice for now (they love it and are resistant to change). I also really like it’s Web client (whether that is secure is a whole other article!). I do strongly suggest you don’t share links over WhatsApp, however. I noticed that it creates thumbnails when you do, which even if not being collated will certainly break the secrecy (two phones accessing the same URL at the same time, etc).
I do trust OWS’ Signal; it is open source and thus it’s (Moxie’s) pant-wettingly awesome encryption implementation is verifiable. That’s what I use when I want to have an almost-certainly-private conversation on my phone.
If I want to have a truly-private conversation though, do it in meatspace, and ideally without any network-connected devices that have microphones present. Oh, and don’t forget your tinfoilhat! 😉