Why not Signal?
- Why not Signal?
- The Problem
- Enter Signal
- What’s wrong with Signal?
- What makes a good messaging platform?
- Bad Alternatives
- Good Alternatives
Why not Signal?
About me: While I’m no cryptography expert, I’m a software developer with 10+ years of experience, both in the professional and open source world. Currently I’m a lead developer for a popular open source federated software called Lemmy. My perspective and recommendations here come from being an active participant in open source communities.
After the global surveillance disclosures of 2013, finding a secure messaging platform to replace text messages became an imperative for all activists. It was found that US, Canadian, UK, Australian, and New Zealand intelligence agencies (the “Five Eyes”), along with US tech giants like Facebook, Apple, Google, and Microsoft, were collecting and forwarding email, text, voice, and video chats to governments, without any warrant required.
Western governments created a worldwide system of surveillance that even their own citizens and allies could seemingly not escape from.
It was also long known that communications within walled gardens like Facebook or Gmail were not secure, so many players around this time began to develop secure messaging alternatives.
Signal became one of the first platforms to develop and use an end-to-end-encryption (E2EE) system and open standard, which many other platforms adopted or modified for their own use.
It also became widely popular for integrating seemlessly with your existing contact list and message history. Its features include voice calls and messages, attachments, replies, and group chats.
Over the years, it’s been increasingly used by activists, journalists, and politicians alike, and endorsed by western privacy advocates like Edward Snowden, and Bruce Schneier. It also has several questionable endorsements and users, such as Jack Dorsey (Twitter’s founder), and Elon Musk.
Until a few years ago, it was seen as an underdog, and the best secure alternative to the “Big Five” US tech giants. Its history and deficiencies, which were always out in the open, and which I’ll get into below, were overlooked due to its underdog status in the tech world, its courting of the open source community, and its colorful anarchist founder, Moxie Marlinspike.
In January 2021, after WhatsApp, the most popular messaging app in the world, became acquired by Facebook, and announced its sharing of data with its new parent, Signal became the top downloaded app in > 70 countries.
Signal’s exploding popularity among messaging apps, has lead many activists to re-open signal’s case, and consider why a “secure” yet popular platform has garnered little to no response from US government officials.
As it turns out, the US government was (and possibly remains) itself a primary funder of Signal.
What’s wrong with Signal?
CIA → RFA → OTF → Signal
While this article by Yasha Levine gets into the details, it is no secret that the original funder of Open Whisper Systems (the previous name for signal’s development team), was the Open Technology Fund: itself publicly listed as a subsidiary of Radio Free Asia, a US state-run organization whose main goal (along with the other “Radio Free” incarnations such as Radio Free Europe, or Free Cuba Radio) is regime change for those Asian governments who don’t align with the US’s foreign policy interests.
The Radio Free agencies underwent a public re-branding in the early 1990s, but they are in effect the same CIA misinformation organizations from the 1950s:
Radio Free Asia began broadcasting to mainland China in 1951 from an elaborate set of transmitters in Manila. It was an arm of the Committee for Free Asia, and the C.I.A. thought of it as the beginning of an operation in the Far East that would rival Radio Free Europe and Radio Liberty.
It was only after Radio Free Asia’s transmitters were operating, according to sources familiar with the case, that the C.I.A. realized that there were almost no radio receivers in private hands in mainland China. An emergency plan was drawn up. Balloons, holding small radios tuned to Radio Free Asia’s frequency, were lofted toward the mainland from the island of Taiwan, where the Chinese Nationalists had fled after the Communist takeover of the mainland in 1949. The plan was abandoned when the balloons were blown back to Taiwan across the Formosa Strait.
What Allen Weinstein, one of the founders of the National Endowment for Democracy (NED), another US “human rights” regime change org said of his organization applies equally to the Open Technology fund: “A lot of what we do today was done covertly 25 years ago by the CIA.”
The fund is designated to: “support open technologies and communities that increase free expression, circumvent censorship, and obstruct repressive surveillance as a way to promote human rights and open societies.”
One should question the commitment of a fund that dedicates itself to “obstructing surveillance”, while being created by a government who runs the most expansive surveillance system in world history. And how the US might define the terms “human rights”, and “open society” differently from those who know the US’s history in those areas.
Its a clear case of US government funding projects with the goal of either co-opting them, as in Signal’s case, or absorbing them entirely; in essence, subverting the goals of privacy advocates and developers, by offering them the funding that no one else will provide: as long as they play ball with US interests.
Signal could very well be another Crypto AG-style honeypot: the Swiss company which provided secure communications services to ~120 governments throughout the 20th century, and was secretly ran by the CIA and West German Intelligence.
Signal’s use luckily never caught on by the general public of China (or the Hong Kong Administrative region), whose government prefers autonomy, rather than letting US tech control its communication platforms, as most of the rest of the world naively allows. (For example, India’s most popular social media apps, are Facebook and Youtube, meaning that US surveillance giants own and control the everyday communications of a country much larger than their own). Signal instead became used by US and western activists, and due to the contradictions of surveillance capitalism, also now its general populace.
However this is no case of blowback, Marlinspike’s confused and useful idiot politics aside; Signal’s other deficiencies mean that there are less impediments to US government surveillance over it than previously thought, and make its claims to being “secure”, questionable.
As the above article states, after Yasha Levine wrote an article exposing Signal’s funding sources, the RFA tried to do damage control on Signal’s behalf, in the hope that Signal would maintain good relations with its open source supporters, and remain a viable “privacy-oriented” alternative. Libby Liu, president of Radio Free Asia stated:
Our primary interest is to make sure the extended OTF network and the Internet Freedom community are not spooked by the [Yasha Levine’s] article (no pun intended). Fortunately all the major players in the community are together in Valencia this week - and report out from there indicates they remain comfortable with OTF/RFA.
Clearly the US government was interested in Signal’s continued use and expansion.
The reason the US government hasn’t tried to block or hinder Signal, is because it’s satisfied with the amount of information Signal can provide to it.
A Single, Centralized, US-based service
National Security Letters (NSLs)
The US has an interesting law that applies to any US company operating within its borders: it is illegal to tell your users that the the US government has asked your company to spy on their behalf. This is called a key disclosure law, and the US’s version of it, called National Security Letters, underwent an expansion with the PATRIOT act.
Companies that don’t comply with this law, such as Lavabit, are forced to shut themselves down in protest, in order to avoid prison time, or remain open, and funnel user communications to the US government. The Signal foundation is a US domiciled company, and must comply with this law.
Signal also notably isn’t self-hostable: there’s no way to run your own signal server, and control your data. Marlinspike ruthlessly shuts down anyone attempting to build alternate clients or servers that could communicate with the main one. 2
This means that all of Signal’s data is centralized and controlled by a single entity: a giant and easy target for US surveillance.
The centralization of Signal’s data, means that it most likely has been issued an NSL letter, along with every other centralized messaging company domiciled in the US. While it’s impossible for us to know for certain, its also illegal for the founders to disclose that. For a threat analysis, we should assume the worst, especially for such a popular app.
This could account for many Signal developers’ characterization of Marlinspike as being paranoid, and a control-freak when it comes to some of Signal’s administration. Marlinspike could face real prison time if this information were even accidentally made public.
In a time where nearly all new messaging platforms are using the self-hosted+federation model, Marlinspike came out staunchly in favor of centralization, and refused to consider federation when asked by the developers of Matrix, a federated messaging protocol, on the grounds that it would slow down feature development. Their response is here.
Like many of Apple’s adherents who were utterly convinced of Apple’s commitment to privacy, and “felt” that privacy in their gut (until evidence was made public showing the contrary long after the fact), Signal adherents base their “trust” in Signal on completely unrelated factors, such as Signal’s clean UI, or Marlinspike himself: factors which have nothing to do with privacy, and aren’t falsifiable or testable.
The evidence for or against the “privacy” of centralized services is always circumstantial, because ultimately we can never know what code the server is actually running, or if it’s been compromised by a malicious actor. The server is a black box we can’t see into.
Self-hosted solutions on the other hand, have much harder reproducibility requirements to pass, because the people using and running them know what code the server is running: they can build it from scratch using the open source code (like a recipe). They can test the server to be sure of its security. As Drew Devault said in his criticism of Signal: Truly secure systems don’t require trust.
Phone # Identifiers
If you were building a secure platform, and wanted to use an identifier, what would be the worst thing to use? Phone numbers.
Phone numbers in nearly every country, including the US, are directly linked to your identity: including your full name, social security number, and even current address. A simple reverse phone number lookup, doable even by non law enforcement actors, can reveal this information.
This is also why it’s impossible for anonymous or Internet-only activists to use Signal: by giving others their phone number, they give away their full name and address.
Privacy advocates stress that services need to minimize “linkability”: the less identifiers that link to your real identity, the better. Signal forgoes this requirement in favor of easy onboarding, and connecting to your existing contacts and message history. That might be acceptable for an Apple or Whatsapp, but shouldn’t be for one marketing itself to activists as “secure”.
Signal also allows you to be discoverable via your phone number, without your consent. Law enforcement officials frequently add the phone numbers of suspects, or groups of suspects to their own signal app, and signal will happily tell them which of their suspects are using signal.
Social network graphs
Signal’s E2EE protocol means that, most likely, message content between persons is secure. But third parties often care more about metadata, than actual content, since they don’t have time to manually read through the messages anyway to construct meaning.
Signals database, which we must assume is compromised due to its centralized and US domiciled nature, has a few important pieces of data;
- Message dates and times
- Message senders and recipients (via phone number identifiers)
From these 2 pieces of information, its possible to build social graphs: who talked to who, and when they did it. Also, who’s in a group chat with who else.
It may not matter to the US government what was said, when they know that 4 activists in the same city, and one from outside sent each other messages frequently on the day of a protest. They now have a list of suspects.
Pair that with cell-phone location data, and you have a timeline profile about a group of connected suspects.
Some Signal advocates have pointed out that signal implements sealed sender in a beta version of the program. Anyone who’s worked with centralized databases can tell you that with recipient information, and message timestamps, it would be trivial to find the real sender of a message.
Abandonment of Open source
While Signal’s apps and server source code purport to be open source, in reality signal has been slow to update them. In April 2021, signal outraged the open-source community by going a whole year without publishing their server code updates. After the outcry, signal finally updated their server code to appease the open source community, but it left a sour taste in everyone’s mouths.
Bundling a Cryptocurrency
Recently, Signal has been attempting to integrate a cryptocurrency called MobileCoin, into the app itself. What a messaging platform has to do with an obscure cryptocurrency is a little vague; but there is probably some money driving this. This “feature” caused outrage among users.
What makes a good messaging platform?
The communication between persons or groups of persons should be encrypted in such a way that only the senders and recipients can read the messages. For an explanation of how this works, watch this video on public key cryptography.
The source code for both the server, and client applications should be out in the open, so that the community can contribute: to fix bugs, find security flaws, and suggest features. It should also allow 3rd party clients and server implementations, and be based on an open standard.
A messaging platform should be able to be run in an entirely private manner, controlled only by the person who has downloaded its software. That person should also be able to build the project from its original source code, ensuring that nothing nefarious was inserted.
Having full control over your data is extremely important, especially for activists who want to avoid malicious 3rd parties.
The best way to describe federation, is to think of email. Many people can sign up on different email services (Gmail, hotmail, etc), yet can still email each other. In the same way, a communications platform should be able to talk with other people running the same software elsewhere.
Peer-to-peer (P2P, or distributed) is a subset of federated, where instead of anyone being able to run a server, the server is as small as an app. These apps communicate not through servers, but directly with each other.
No required linkable identifiers
The less identifiers a database has, such as your real name, email, and phone number, the better. These are linkable attributes that only the sender and recipient should know, not the server or any intermediaries.
The obvious offenders are those companies that have already signed up to the NSA’s PRISM program. Their applications include Facebook and its messenger, Whatsapp, Instagram, Skype, Microsoft teams, Gmail, Youtube, Apple messages, and cell carrier text and voice calling.
Other disqualified alternatives include US domiciled companies or those with centralized servers, including Signal, Discord, Slack, Zoom, Telegram, Threema, Snapchat, Viber, Line, Twitter, and Reddit.
Email is an archaic protocol that was not designed with encryption or security in mind. Even supposedly “secure” email providers have been found time and again to be insecure.
Of the criteria for messaging apps above, signal only scores a 1.5 / 5. Most of the apps in this list score a 0 / 5.
The platforms below are my recommendations, and this is by no means exhaustive. These applications tick all the boxes for what makes a good messaging platform above.
Matrix is a self-hostable, federated messaging platform, that within the past few years has come into maturity. Due to its open standard, multiple clients, support for large group chats, and encryption-first design, many are hailing it as the successor to email, and the future of secure communication.
Its main client, Element, has a web app, and full-featured android and iOS apps.
It has many features, including voice / video calls, voice messages, reactions, replies, and spaces (similar to discord’s or slack’s collection of rooms).
As a testament to its reliability and long-term support, Matrix is even being adopted by some large organizations, and even the French government; It turns out even European governments want to escape the tentacles of US surveillance, and control their data.
Caveats of federation: Metadata leaking
When using federation, Matrix’s room states (containing a lot of Metadata) get replicated and stored indefinitely on every homeserver any user connects with or connects to. While this is a feature for enabling distributed chat rooms, it comes at a serious privacy cost.
To avoid this, you can either disable federation, or make sure that your users signed up with no linkable identifiers other than their user names.
XMPP unfortunately suffers from fragmentation, as not all of its clients implement its extension proposals (called XEPs), or its E2EE extensions equally.
Briar is an extremely secure P2P chat application, that requires no server: apps communicate directly with each other over the TOR network on the Internet, the same wifi, or through bluetooth.
This makes Briar ideal for the most sensitive communications, such as for sharing personal information, or usage at protests, since it can work during Internet blackouts via bluetooth.
Briar is newer, and lacks too many features to be usable for large organizations at the moment. There are no voice calls, reactions, permissions systems, or web or iOS clients: its android only at the moment.
Jitsi is a self-hostable, open source, video-conferencing solution, that can work as an alternative to Zoom. It has a web app, and native apps for desktop, iOS, and android. Matrix currently bundles in Jitsi for use for its video group calls.
SimpleX is a privacy-first messaging protocol and platform. It is open source, anonymous (no identifiers assigned to users), and end-to-end encrypted. The server is fully self-hostable, and the CLI client, iOS client, and Android client can change from the default set of servers run by the SimpleX project in a menu. The Android app is available on F-Droid.
- The iOS client from v3.0 supports instant push notifications - it requires that users opt-in to using a central push notifications server. The project plans to add support for users to self-host a part of notifications server functionality.
- The Android client supports fully private notification by running an optional always-on background service.
- There is no web-based client because of additional attack vectors.
- SimpleX messaging servers can see users IP addresses; the project plans to embed access via Tor into the apps.
I’ve outlined here why it’s imperative that activist communities migrate away from Signal. We shouldn’t be daunted by the inertia that seems to plague general adoption of new chat applications; if our organizations are disciplined enough, and care enough about secure communications, moving to them should be made a priority.
We must be adaptable and versatile: If in the future, new, more secure alternatives can be found, they should be investigated and considered as alternatives.
We need to take control of our communications, and stop letting US tech companies handle it for us.