Signal (software)
Signal is a cross-platform centralized encrypted instant messaging service developed by the non-profit Signal Technology Foundation and Signal Messenger LLC. Users can send one-to-one and group messages, which can include files, voice notes, images and videos. It can also be used to make one-to-one and group voice and video calls, and the Android version can optionally function as an SMS app.

Signal uses standard cellular telephone numbers as identifiers and secures all communications to other Signal users with end-to-end encryption. The client software includes mechanisms by which users can independently verify the identity of their contacts and the integrity of the data channel.

Signal's software is free and open-source. Its mobile clients are published under the GPL-3.0-only license, while the desktop client and server are published under the AGPL-3.0-only license. The official Android app generally uses the proprietary Google Play Services (installed on most Android devices), though it is designed to still work without them installed. Signal also has an official client app for iOS and desktop programs for Windows, macOS and Linux (although registration requires an iOS or Android device).

The non-profit Signal Foundation was launched in February 2018 with initial funding of $50 million from Brian Acton. , Signal had more than 105 million total downloads, and the platform had approximately 40 million monthly active users. Signal has been installed on more than 50 million Android devices.

History

2010–2013: Origins
Signal is the successor of the RedPhone encrypted voice calling app and the TextSecure encrypted texting program. The beta versions of RedPhone and TextSecure were first launched in May 2010 by Whisper Systems, a startup company co-founded by security researcher Moxie Marlinspike and roboticist Stuart Anderson. Whisper Systems also produced a firewall and tools for encrypting other forms of data. All of these were proprietary enterprise mobile security software and were only available for Android.

In November 2011, Whisper Systems announced that it had been acquired by Twitter. Neither company disclosed the financial terms of the deal. The acquisition was done "primarily so that Mr. Marlinspike could help the then-startup improve its security". Shortly after the acquisition, Whisper Systems' RedPhone service was made unavailable. Some criticized the removal, arguing that the software was "specifically targeted [to help] people under repressive regimes" and that it left people like the Egyptians in "a dangerous position" during the events of the Egyptian revolution of 2011.

Twitter released TextSecure as free and open-source software under the GPLv3 license in December 2011. RedPhone was also released under the same license in July 2012. Marlinspike later left Twitter and founded Open Whisper Systems as a collaborative Open Source project for the continued development of TextSecure and RedPhone.

2013–2018: Open Whisper Systems

Open Whisper Systems' website was launched in January 2013.

In February 2014, Open Whisper Systems introduced the second version of their TextSecure Protocol (now Signal Protocol), which added end-to-end encrypted group chat and instant messaging capabilities to TextSecure. Toward the end of July 2014, they announced plans to merge the RedPhone and TextSecure applications as Signal. This announcement coincided with the initial release of Signal as a RedPhone counterpart for iOS. The developers said that their next steps would be to provide TextSecure instant messaging capabilities for iOS, unify the RedPhone and TextSecure applications on Android, and launch a web client. Signal was the first iOS app to enable end-to-end encrypted voice calls for free. TextSecure compatibility was added to the iOS application in March 2015.

From its launch in May 2010 until March 2015, the Android version of Signal (then called TextSecure) included support for encrypted SMS/MMS messaging. From version 2.7.0 onward, the Android application only supported sending and receiving encrypted messages via the data channel. Reasons for this included security flaws of SMS/MMS and problems with the key exchange. Open Whisper Systems' abandonment of SMS/MMS encryption prompted some users to create a fork named Silence (initially called SMSSecure) that is meant solely for the exchange of encrypted SMS and MMS messages.

In November 2015, the TextSecure and RedPhone applications on Android were merged to become Signal for Android. A month later, Open Whisper Systems announced Signal Desktop, a Chrome app that could link with a Signal mobile client. At launch, the app could only be linked with the Android version of Signal. On September 26, 2016, Open Whisper Systems announced that Signal Desktop could now be linked with the iOS version of Signal as well. On October 31, 2017, Open Whisper Systems announced that the Chrome app was deprecated. At the same time, they announced the release of a standalone desktop client (based on the Electron framework) for Windows, macOS and certain Linux distributions.

On October 4, 2016, the American Civil Liberties Union (ACLU) and Open Whisper Systems published a series of documents revealing that OWS had received a subpoena requiring them to provide information associated with two phone numbers for a federal grand jury investigation in the first half of 2016. Only one of the two phone numbers was registered on Signal, and because of how the service is designed, OWS was only able to provide "the time the user's account had been created and the last time it had connected to the service". Along with the subpoena, OWS received a gag order requiring OWS not to tell anyone about the subpoena for one year. OWS approached the ACLU, and they were able to lift part of the gag order after challenging it in court. OWS said it was the first time they had received a subpoena, and that they were committed to treat "any future requests the same way".

In March 2017, Open Whisper Systems transitioned Signal's calling system from RedPhone to WebRTC, also adding the ability to make video calls with the mobile apps.

2018–present: Signal Technology Foundation

On 21 February 2018, Moxie Marlinspike and WhatsApp co-founder Brian Acton announced the formation of the Signal Technology Foundation, a 501(c)(3) nonprofit organization whose mission is "to support, accelerate, and broaden Signal's mission of making private communication accessible and ubiquitous". Acton started the foundation with $50 million in funding and became the foundation's executive chairman after leaving WhatsApp's parent company Facebook in September 2017. Marlinspike continued as Signal Messenger's first CEO. , Signal ran entirely on donations, as a nonprofit.

Between November 2019 and February 2020, Signal added iPad support, view-once images and videos, stickers, and reactions. They also announced plans for a new group messaging system and an "experimental method for storing encrypted contacts in the cloud."

Signal was reportedly popularized in the United States during the George Floyd protests. Heightened awareness of police monitoring led protesters to use the platform to communicate. Black Lives Matter organizers had used the platform "for several years". During the first week of June, the encrypted messaging app was downloaded over five times more than it had been during the week prior to the murder of George Floyd. In June 2020, Signal Foundation announced a new feature that enables users to blur faces in photos, in response to increased federal efforts to monitor protesters.

On 7 January 2021, Signal saw a surge in new user registrations, which temporarily overwhelmed Signal's capacity to deliver account verification messages. CNN and MacRumors linked the surge with a WhatsApp privacy policy change and a Signal endorsement by Elon Musk and Edward Snowden via Twitter. International newspapers reported similar trends in the United Arab Emirates. Reuters reported that more than 100,000 people had installed Signal between 7 and 8 January.

Between 12 and 14 January 2021, the number of Signal installations listed on Google Play increased from over 10 million to over 50 million.
On 15 January 2021, due to the surge of new users, Signal was overwhelmed with the new traffic and was down for all users. On the afternoon of 16 January, Signal announced via Twitter that service had been restored.

On January 10, 2022, Moxie Marlinspike announced that he was stepping down from his role as CEO of Signal Messenger. He continues to remain on the Signal Foundation's board of directors and Brian Acton has volunteered to serve as interim CEO during the search for a new CEO.

Usage numbers

Signal's userbase started in May 2010, when its predecessor TextSecure was launched by Whisper Systems. According to App Annie, Signal had approximately 20 million monthly active users at the end of December 2020. In January 2022, the BBC reported that Signal was used by over 40 million people.

Features
Signal allows users to make one-to-one and group voice and video calls with up to 40 people on iOS, Android, and desktop. All calls are made over a Wi-Fi or data connection and (with the exception of data fees) are free of charge, including long distance and international. Signal also allows users to send text messages, files, voice notes, pictures, GIFs, and video messages over a Wi-Fi or data connection to other Signal users on iOS, Android and a desktop program. The platform also supports group messaging.

All communications between Signal users are automatically end-to-end encrypted (the encryption keys are generated and stored on the phones, not on the servers). To verify that a correspondent is really the person that they claim to be, Signal users can compare key fingerprints (or scan QR codes) out-of-band. The platform employs a trust-on-first-use mechanism in order to notify the user if a correspondent's key changes.

On Android, users can opt into making Signal the default SMS/MMS application, allowing them to send and receive unencrypted SMS messages in addition to the standard end-to-end encrypted Signal messages. Users can then use the same application to communicate with contacts who do not have Signal. Sending a message unencrypted is also available as an override between Signal users.

TextSecure allowed the user to set a passphrase that encrypted the local message database and the user's encryption keys. This did not encrypt the user's contact database or message timestamps. The Signal applications on Android and iOS can be locked with the phone's pin, passphrase, or biometric authentication. The user can define a "screen lock timeout" interval, providing an additional protection mechanism in case the phone is lost or stolen.

Signal also allows users to set timers to messages. After a specified time interval, the messages will be deleted from both the sender's and the receivers' devices. The time interval can be between five seconds and one week long, and the timer begins for each recipient once they have read their copy of the message. The developers have stressed that this is meant to be "a collaborative feature for conversations where all participants want to automate minimalist data hygiene, not for situations where your contact is your adversary".

Signal excludes users' messages from non-encrypted cloud backups by default.

Signal allows users to automatically blur faces of people in photos to protect their identities.

Signal also includes a cryptocurrency wallet functionality that allows users to store, send and receive in-app payments. Apart from certain regions and countries, the feature was enabled globally in November 2021. , the only supported payment method is MobileCoin.

Limitations
Signal requires that the user provides a phone number for verification, eliminating the need for user names or passwords and facilitating contact discovery (see below). The number does not have to be the same as on the device's SIM card; it can also be a VoIP number or a landline as long as the user can receive the verification code and have a separate device to set up the software. A number can only be registered on one mobile device at a time. Account registration requires an iOS or Android device.

This mandatory connection to a phone number (a feature Signal shares with WhatsApp, KakaoTalk, and others) has been criticized as a "major issue" for privacy-conscious users who are not comfortable with giving out their private phone number. A workaround is to use a secondary phone number. The ability to choose a public, changeable username instead of sharing one's phone number is a widely-requested feature.

Using phone numbers as identifiers may also create security risks that arise from the possibility of an attacker taking over a phone number.

Usability

In July 2016, the Internet Society published a user study that assessed the ability of Signal users to detect and deter man-in-the-middle attacks. The study concluded that 21 out of 28 participants failed to correctly compare public key fingerprints in order to verify the identity of other Signal users, and that the majority of these users still believed they had succeeded, while in reality they failed. Four months later, Signal's user interface was updated to make verifying the identity of other Signal users simpler.

Architecture

Encryption protocols

Signal messages are encrypted with the Signal Protocol (formerly known as the TextSecure Protocol). The protocol combines the Double Ratchet Algorithm, prekeys, and an Extended Triple Diffie–Hellman (X3DH) handshake. It uses Curve25519, AES-256, and HMAC-SHA256 as primitives. The protocol provides confidentiality, integrity, authentication, participant consistency, destination validation, forward secrecy, backward secrecy ( future secrecy), causality preservation, message unlinkability, message repudiation, participation repudiation, and asynchronicity. It does not provide anonymity preservation, and requires servers for the relaying of messages and storing of public key material.

The Signal Protocol also supports end-to-end encrypted group chats. The group chat protocol is a combination of a pairwise double ratchet and multicast encryption. In addition to the properties provided by the one-to-one protocol, the group chat protocol provides speaker consistency, out-of-order resilience, dropped message resilience, computational equality, trust equality, subgroup messaging, as well as contractible and expandable membership.

In October 2014, researchers from Ruhr University Bochum published an analysis of the Signal Protocol. Among other findings, they presented an unknown key-share attack on the protocol, but in general, they found that it was secure. In October 2016, researchers from UK's University of Oxford, Queensland University of Technology in Australia, and Canada's McMaster University published a formal analysis of the protocol. They concluded that the protocol was cryptographically sound. In July 2017, researchers from Ruhr University Bochum found during another analysis of group messengers a purely theoretic attack against the group protocol of Signal: A user who knows the secret group ID of a group (due to having been a group member previously or stealing it from a member's device) can become a member of the group. Since the group ID cannot be guessed and such member changes are displayed to the remaining members, this attack is likely to be difficult to carry out without being detected.

, the Signal Protocol has been implemented into WhatsApp, Facebook Messenger, Skype, and Google Allo, making it possible for the conversations of "more than a billion people worldwide" to be end-to-end encrypted. In Google Allo, Skype and Facebook Messenger, conversations are not encrypted with the Signal Protocol by default; they only offer end-to-end encryption in an optional mode.

Up until March 2017, Signal's voice calls were encrypted with SRTP and the ZRTP key-agreement protocol, which was developed by Phil Zimmermann. In March 2017, Signal transitioned to a new WebRTC-based calling system that introduced the ability to make video calls. Signal's voice and video calling functionalities use the Signal Protocol channel for authentication instead of ZRTP.

Authentication
To verify that a correspondent is really the person that they claim to be, Signal users can compare key fingerprints (or scan QR codes) out-of-band. The platform employs a trust on first use mechanism in order to notify the user if a correspondent's key changes.

Local storage

Once the messages are received and decrypted on a user's device, they are stored locally in a SQLite database that is encrypted with SQLCipher. The key to decrypt this database is also stored locally on the user's device and can be accessed if the device is unlocked. In December 2020, Cellebrite published a blog post announcing that one of their products could now access this key and use it to "decrypt the Signal app". Technology reporters later published articles about how Cellebrite had claimed to have the ability to "break into the Signal app" and "crack Signal's encryption". This latter interpretation was rejected by several experts, as well as representatives from Signal, who said the original post by Cellebrite had been about accessing data on "an unlocked Android phone in their physical possession" and that they "could have just opened the app to look at the messages". Similar extraction tools also exist for iOS devices and Signal Desktop.

Servers

Signal relies on centralized servers that are maintained by Signal Messenger. In addition to routing Signal's messages, the servers also facilitate the discovery of contacts who are also registered Signal users and the automatic exchange of users' public keys. By default, Signal's voice and video calls are peer-to-peer. If the caller is not in the receiver's address book, the call is routed through a server in order to hide the users' IP addresses.

Contact discovery
The servers store registered users' phone numbers, public key material and push tokens which are necessary for setting up calls and transmitting messages. In order to determine which contacts are also Signal users, cryptographic hashes of the user's contact numbers are periodically transmitted to the server. The server then checks to see if those match any of the SHA256 hashes of registered users and tells the client if any matches are found. The hashed numbers are thereafter discarded from the server. In 2014, Moxie Marlinspike wrote that it is easy to calculate a map of all possible hash inputs to hash outputs and reverse the mapping because of the limited preimage space (the set of all possible hash inputs) of phone numbers, and that a "practical privacy preserving contact discovery remains an unsolved problem." In September 2017, Signal's developers announced that they were working on a way for the Signal client applications to "efficiently and scalably determine whether the contacts in their address book are Signal users without revealing the contacts in their address book to the Signal service."

Metadata
All client-server communications are protected by TLS. Signal's developers have asserted that their servers do not keep logs about who called whom and when. In June 2016, Marlinspike told The Intercept that "the closest piece of information to metadata that the Signal server stores is the last time each user connected to the server, and the precision of this information is reduced to the day, rather than the hour, minute, and second".

The group messaging mechanism is designed so that the servers do not have access to the membership list, group title, or group icon. Instead, the creation, updating, joining, and leaving of groups is done by the clients, which deliver pairwise messages to the participants in the same way that one-to-one messages are delivered.

Federation
Signal's server architecture was federated between December 2013 and February 2016. In December 2013, it was announced that the messaging protocol Signal uses had successfully been integrated into the Android-based open-source operating system CyanogenMod. Since CyanogenMod 11.0, the client logic was contained in a system app called WhisperPush. According to Signal's developers, the Cyanogen team ran their own Signal messaging server for WhisperPush clients, which federated with the main server, so that both clients could exchange messages with each other. The WhisperPush source code was available under the GPLv3 license. In February 2016, the CyanogenMod team discontinued WhisperPush and recommended that its users switch to Signal. In May 2016, Moxie Marlinspike wrote that federation with the CyanogenMod servers had degraded the user experience and held back development, and that their servers will probably not federate with other servers again.

In May 2016, Moxie Marlinspike requested that a third-party client called LibreSignal not use the Signal service or the Signal name. As a result, on 24 May 2016 the LibreSignal project posted that the project was "abandoned". The functionality provided by LibreSignal was subsequently incorporated into Signal by Marlinspike.

Licensing
The complete source code of the Signal clients for Android, iOS and desktop is available on GitHub under a free software license. This enables interested parties to examine the code and help the developers verify that everything is behaving as expected. It also allows advanced users to compile their own copies of the applications and compare them with the versions that are distributed by Signal Messenger. In March 2016, Moxie Marlinspike wrote that, apart from some shared libraries that are not compiled with the project build due to a lack of Gradle NDK support, Signal for Android is reproducible. Signal's servers are partially open source, but the server software's anti-spam component is proprietary and closed source due to security concerns.

Reception

Security
In October 2014, the Electronic Frontier Foundation (EFF) included Signal in their updated surveillance self-defense guide. In November 2014, Signal received a perfect score on the EFF's secure messaging scorecard; it received points for having communications encrypted in transit, having communications encrypted with keys the provider does not have access to (end-to-end encryption), making it possible for users to independently verify their correspondents' identities, having past communications secure if the keys are stolen (forward secrecy), having the code open to independent review (open source), having the security designs well-documented, and having a recent independent security audit. At the time, "ChatSecure + Orbot", Pidgin (with OTR), Silent Phone, and Telegram's optional "secret chats" also received seven out of seven points on the scorecard.

Former NSA contractor Edward Snowden has endorsed Signal on multiple occasions. In his keynote speech at SXSW in March 2014, he praised Signal's predecessors (TextSecure and RedPhone) for their ease of use. In December 2014, Der Spiegel leaked slides from an internal NSA presentation dating to June 2012 in which the NSA deemed Signal's encrypted voice calling component (RedPhone) on its own as a "major threat" to its mission of accessing users' private data, and when used in conjunction with other privacy tools such as Cspace, Tor, Tails, and TrueCrypt was ranked as "catastrophic" and led to a "near-total loss/lack of insight to target communications [and] presence".

Following the 2016 Democratic National Committee email leak, it was reported by Vanity Fair that Marc Elias (the general counsel for Hillary Clinton's presidential campaign) had instructed DNC staffers to exclusively use Signal when saying anything negative about Republican presidential nominee Donald Trump.

In March 2017, Signal was approved by the sergeant at arms of the U.S. Senate for use by senators and their staff.

On the 27 September 2019, Natalie Silvanovich, a security engineer working in Google's vulnerability research team at Project Zero, disclosed how a bug in the Android Signal client could let an attacker spy on a user without their knowledge. The bug allowed an attacker to phone a target device, mute the call, and the call would complete - keeping the audio open but without the owner being aware of that (however they would still be aware of a ring and / or a vibration from the initial call). The bug was fixed the same day that it was reported and patched in release 4.47.7 of the app for Android.

In February 2020, the European Commission recommended that its staff use Signal. Following the George Floyd protests, which began in May 2020, Signal was downloaded 121,000 times in the U.S. between 25 May and 4 June. In July 2020, Signal became the most downloaded app in Hong Kong on both the Apple App Store and the Google Play Store after the passage of the Hong Kong national security law.

, Signal is a contact method for securely providing tips to major news outlets such as The Washington Post, The Guardian, The New York Times, and The Wall Street Journal.

In-app payments

In April 2021, Signal announced the addition of a cryptocurrency wallet feature that would allow users to send and receive payments in MobileCoin. This received criticism from security expert Bruce Schneier, who had previously praised the software. Schneier stated that this would bloat the client and attract unwanted attention from the authorities. The wallet functionality was initially only available in certain countries, but was later enabled globally in November 2021.

Blocking

In December 2016, Egypt blocked access to Signal. In response, Signal's developers added domain fronting to their service. This allows Signal users in a specific country to circumvent censorship by making it look like they are connecting to a different internet-based service. , Signal's domain fronting is enabled by default in Egypt, the United Arab Emirates, Oman, Qatar, and Iran.

, Signal was blocked in Iran. Signal's domain fronting feature relies on the Google App Engine (GAE) service. This does not work in Iran because Google has blocked Iranian access to GAE in order to comply with U.S. sanctions.

In early 2018, Google App Engine made an internal change to stop domain fronting for all countries. Due to this issue, Signal made a public change to use Amazon CloudFront for domain fronting. However, AWS also announced that they would be making changes to their service to prevent domain fronting. As a result, Signal said that they would start investigating new methods/approaches. Signal switched from AWS back to Google in April 2019.

In January 2021, Iran removed the app from app stores, and blocked Signal. Signal was later blocked by China in March 2021.

Audience

Use by activists 
In March 2021, the United Nations recommended Myanmar residents use Signal and ProtonMail to pass and preserve evidence of human rights violations committed during the 2021 coup.

The far right right-wing militias and white nationalists used Signal for organizing their actions including the Unite the Right II rally in 2018.

Use by criminals
By design, Signal is not able to read user messages, which precludes attempts at moderation. This has been confirmed by independent audits of Signal's algorithms. According to CNN, "[t]he same technology that keeps a conversation private between you and a family member also gives a safe haven to a terrorist in Syria and the person in the United States he's trying to recruit to commit an act of mass murder."

In 2016, authorities in India arrested members of a suspected ISIS-affiliated terrorist cell that communicated via Signal and Telegram.

Developers and funding

The development of Signal and its predecessors at Open Whisper Systems was funded by a combination of consulting contracts, donations and grants. The Freedom of the Press Foundation acted as Signal's fiscal sponsor. Between 2013 and 2016, the project received grants from the Knight Foundation, the Shuttleworth Foundation, and almost $3 million from the US government–sponsored Open Technology Fund. Signal is now developed by Signal Messenger LLC, a software company founded by Moxie Marlinspike and Brian Acton in 2018, which is wholly owned by a tax-exempt nonprofit corporation called the Signal Technology Foundation, also created by them in 2018. The Foundation was funded with an initial loan of $50 million from Acton, "to support, accelerate, and broaden Signal's mission of making private communication accessible and ubiquitous". All of the organization's products are published as free and open-source software.

See also 

 Comparison of instant messaging clients
 Comparison of VoIP software
 Internet privacy
 List of video telecommunication services and product brands
 Secure communication

Notes

References

Bibliography

External links

 
 

Cross-platform software
Cryptographic software
Free and open-source Android software
Free instant messaging clients
Free security software
Free software programmed in Java (programming language)
Free VoIP software
Instant messaging clients programmed in Java
Internet privacy software
IOS software
Secure communication