hello friends! new(ish)!

Signal

From InstallGentoo Wiki v2
Revision as of 18:01, 21 February 2020 by >Mostly new (Signal is a cross-platform encrypted messaging service developed by the Signal Foundation and Signal Messenger LLC.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Short description Template:Infobox software

Signal is a cross-platform encrypted messaging service developed by the Signal Foundation and Signal Messenger LLC. It uses the Internet to send one-to-one and group messages, which can include files, voice notes, images and videos.<ref name="arbitrary-file-types"/> Its mobile apps can also make one-to-one voice and video calls,<ref name="Mott-2017-03-14"/> and the Android version can optionally function as an SMS app.<ref name="Frosch 2016"/>

Signal uses standard cellular telephone numbers as identifiers and uses end-to-end encryption to secure all communications to other Signal users. The apps include mechanisms by which users can independently verify the identity of their contacts and the integrity of the data channel.<ref name="Frosch 2016"/><ref name="Schröder-2016"/>

All Signal software is free and open-source. The clients are published under the GPLv3 license,<ref name="signal-ios-github" /><ref name="signal-android-github" /><ref name="signal-desktop-github"/> while the server code is published under the AGPLv3 license.<ref name="Signal-Server" /> The non-profit Signal Foundation was launched in February 2018 with an initial funding of $50 million.<ref name="Greenberg-2018-02-21"/>

History

Template:Signal timeline

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,<ref name="whispersystems-2010-05-25">Template:Cite web</ref> a startup company co-founded by security researcher Moxie Marlinspike and roboticist Stuart Anderson.<ref name="Garling-2011-12-20" /><ref>Template:Cite web</ref> Whisper Systems also produced a firewall and tools for encrypting other forms of data.<ref name="Garling-2011-12-20" /><ref name="Greenberg-2010-05-25" /> 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. The financial terms of the deal were not disclosed by either company.<ref name="Cheredar-2011-11-28" /> The acquisition was done "primarily so that Mr. Marlinspike could help the then-startup improve its security".<ref name="Yadron-2015">Template:Cite news</ref> Shortly after the acquisition, Whisper Systems' RedPhone service was made unavailable.<ref name="Greenberg-2011-11-28" /> 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 2011 Egyptian revolution.<ref name="Garling-2011-11-28" />

Twitter released TextSecure as free and open-source software under the GPLv3 license in December 2011.<ref name="Garling-2011-12-20"/><ref name="Aniszczyk-2011-12-20" /><ref name="whispersystems-2011-12-20">Template:Cite web</ref><ref name="Pachal-2011-12-20" /> RedPhone was also released under the same license in July 2012.<ref name="whispersystems-2012-07-18">Template:Cite web</ref> Marlinspike later left Twitter and founded Open Whisper Systems as a collaborative Open Source project for the continued development of TextSecure and RedPhone.<ref name="Greenberg-2014-07-29" /><ref name="welcome" />

2013–2018: Open Whisper Systems

Open Whisper Systems' website was launched in January 2013.<ref name="welcome" />

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.<ref name="Donohue-2014">Template:Cite web</ref> Toward the end of July 2014, they announced plans to unify the RedPhone and TextSecure applications as Signal.<ref name="Mimoso-2014-07-29" /> 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.<ref name="Mimoso-2014-07-29" /> Signal was the first iOS app to enable easy, strongly encrypted voice calls for free.<ref name="Greenberg-2014-07-29" /><ref name="Evans-2014-07-29" /> TextSecure compatibility was added to the iOS application in March 2015.<ref name="Lee-2015-03-02" /><ref name="Geuss-2015-03-03" />

File:TextSecure Blue Icon.png
The Android client's logo from February 2015 to March 2017.

From its launch in May 2010<ref name="whispersystems-2010-05-25" /> until March 2015, the Android version of Signal (then called TextSecure) included support for encrypted SMS/MMS messaging.<ref>Template:Cite web</ref> From version 2.7.0 onward, the Android application only supported sending and receiving encrypted messages via the data channel.<ref name="Rottermanner-2015-p3"/> Reasons for this included security flaws of SMS/MMS and problems with the key exchange.<ref name="Rottermanner-2015-p3">Template:Harvnb</ref> Open Whisper Systems' abandonment of SMS/MMS encryption prompted some users to create a fork named Silence (initially called SMSSecure<ref name="github383">Template:Cite web</ref>) that is meant solely for the exchange of encrypted SMS and MMS messages.<ref name="Heise-April-2015">Template:Cite web</ref><ref name="derstandard">Template:Cite web</ref>

In November 2015, the TextSecure and RedPhone applications on Android were merged to become Signal for Android.<ref name="Greenberg-2015-11-2">Template:Cite journal</ref> A month later, Open Whisper Systems announced Signal Desktop, a Chrome app that could link with a Signal mobile client.<ref name="Motherboard-2015-12-02">Template:Cite web</ref> At launch, the app could only be linked with the Android version of Signal.<ref name="Coldewey-2016-04-07">Template:Cite web</ref> On September 26, 2016, Open Whisper Systems announced that Signal Desktop could now be linked with the iOS version of Signal as well.<ref name="signal-desktop-ios">Template:Cite web</ref> On October 31, 2017, Open Whisper Systems announced that the Chrome app was deprecated.<ref name="standalone-signal-desktop"/> At the same time, they announced the release of a standalone desktop client (based on the Electron framework<ref name="signal-desktop-github" />) for Windows, MacOS and certain Linux distributions.<ref name="standalone-signal-desktop"/><ref>Template:Cite web</ref>

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.<ref name="Perlroth-2016-10-04">Template:Cite web</ref><ref name="Kaufman-2016-10-04">Template:Cite web</ref><ref name="OWS-2016-10-04">Template:Cite web</ref> 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".<ref name="Kaufman-2016-10-04"/><ref name="Perlroth-2016-10-04"/> Along with the subpoena, OWS received a gag order requiring OWS not to tell anyone about the subpoena for one year.<ref name="Perlroth-2016-10-04"/> OWS approached the ACLU, and they were able to lift part of the gag order after challenging it in court.<ref name="Perlroth-2016-10-04"/> 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".<ref name="OWS-2016-10-04"/>

In March 2017, Open Whisper Systems transitioned Signal's calling system from RedPhone to WebRTC, also adding the ability to make video calls.<ref name="signal-video-calls-beta"/><ref name="signal-video-calls">Template:Cite web</ref><ref name="Mott-2017-03-14"/>

2018–present: Signal Messenger

On February 21, 2018, Moxie Marlinspike and WhatsApp co-founder Brian Acton announced the formation of the Signal 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."<ref name="signal-foundation">Template:Cite web</ref><ref name="Greenberg-2018-02-21"/> The foundation was started with an initial $50 million in funding from Acton, who had left WhatsApp's parent company Facebook in September 2017.<ref name="Greenberg-2018-02-21">Template:Cite journal</ref> According to the announcement, Acton is the foundation's Executive Chairman and Marlinspike continues as the CEO of Signal Messenger.<ref name="signal-foundation"/>

Between November 2019 and February 2020, Signal added support for iPads, view-once images and videos, stickers, and reactions.<ref name="Greenberg-2020"/> They also announced plans for a new group messaging system and an "experimental method for storing encrypted contacts in the cloud."<ref name="Greenberg-2020">Template:Cite news</ref>

Features

Signal allows users to make voice and video<ref name="Mott-2017-03-14">Template:Cite web</ref> calls to other Signal users on iOS and Android. 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.<ref name="Evans-2014-07-29" /> Signal also allows users to send text messages, files,<ref name="arbitrary-file-types">Template:Cite tweet</ref> voice notes, pictures, GIFs,<ref name="giphy-update">Template:Cite web</ref> and video messages over a Wi-Fi or data connection to other Signal users on iOS, Android and a desktop app. The app also supports group messaging.

All communications to other Signal users are automatically end-to-end encrypted. The keys that are used to encrypt the user's communications are generated and stored at the endpoints (i.e. by users, not by servers).<ref name="eff-2014-11-04" /> 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.<ref name="Rottermanner-2015-p5"/> The app employs a trust-on-first-use mechanism in order to notify the user if a correspondent's key changes.<ref name="Rottermanner-2015-p5"/>

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.<ref name="Donohue-2014"/> Users can then use the same application to communicate with contacts who do not have Signal.<ref name="Donohue-2014"/> Sending a message unencrypted is also available as an override between Signal users.<ref>https://support.signal.org/hc/en-us/articles/212535548-How-do-I-send-an-insecure-SMS-</ref>

TextSecure allowed the user to set a passphrase that encrypted the local message database and the user's encryption keys.<ref name="Rottermanner-2015-p9">Template:Harvnb</ref> This did not encrypt the user's contact database or message timestamps.<ref name="Rottermanner-2015-p9"/> The Signal applications on Android and iOS can be locked with the phone's pin, passphrase, or biometric authentication.<ref name="screen-lock">Template:Cite web</ref> The user can define a "screen lock timeout" interval, providing an additional protection mechanism in case the phone is lost or stolen.<ref name="Rottermanner-2015-p5">Template:Harvnb</ref><ref name="screen-lock"/>

Signal also allows users to set timers to messages.<ref name="Greenberg-2016-10-11"/> After a specified time interval, the messages will be deleted from both the sender's and the receivers' devices.<ref name="Greenberg-2016-10-11">Template:Cite journal</ref> The time interval can be between five seconds and one week long,<ref name="Greenberg-2016-10-11"/> and the timer begins for each recipient once they have read their copy of the message.<ref name="disappearing-messages">Template:Cite web</ref> 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".<ref name="Greenberg-2016-10-11"/><ref name="disappearing-messages"/>

Signal excludes users' messages from non-encrypted cloud backups by default.<ref name="Lee-2016-06-22"/>

Signal has support for read receipts and typing indicators, both of which can be disabled.<ref>Template:Cite web</ref><ref>Template:Cite web</ref>

Limitations

Signal requires that the user provides a phone number for verification,<ref name="phone-number">Template:Cite web</ref> eliminating the need for user names or passwords and facilitating contact discovery (see below).<ref name=":0">Template:Cite web</ref> The number does not have to be the same as on the device's SIM card; it can also be a VoIP number<ref name="phone-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.<ref name="multiple-devices"/>

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.<ref name=":0" /> A workaround is to use a secondary phone number.<ref name=":0" /> The option to register with an email address instead of a phone number is a widely requested feature, which as of early 2018 has not yet been implemented.<ref name=":0" /><ref>Template:Cite web</ref>

Using phone numbers as identifiers may also create security risks that arise from the possibility of an attacker taking over a phone number.<ref name=":0" /> This can be mitigated by enabling an optional Registration Lock PIN in Signal's privacy settings.<ref>Template:Cite web</ref>

Android-specific

From February 2014<ref name="Donohue-2014"/> to February 2017,<ref name="commit-16697313">Template:Cite web</ref> Signal's official Android client required the proprietary Google Play Services because the app was dependent on Google's GCM push-messaging framework.<ref name="Google-Play-Services">Template:Cite web</ref><ref name="commit-16697313"/> In March 2015, Signal moved to a model of handling the app's message delivery themselves and only using GCM for a wakeup event.<ref name="goodbye-encrypted-sms">Template:Cite web</ref> In February 2017, Signal's developers implemented WebSocket support into the client, making it possible for it to be used without Google Play Services.<ref name="commit-16697313"/>

Desktop-specific

Setting up Signal's desktop app requires that the user first install Signal on an Android or iOS based smartphone with an Internet connection.<ref name="Installing-Signal" /> Once the desktop app has been linked to the user's account, it will function as an independent client; the mobile app does not need to be present or online.<ref name="SMS-support">Template:Cite web</ref> Users can link up to 5 desktop apps to their account.<ref name="multiple-devices">Template:Cite web</ref> Template:As of, Signal's desktop app does not include support for voice or video calling.<ref>Template:Cite web</ref> The Signal desktop app does not work wellTemplate:Explain in an IPv6 only environment, even when NAT64/DNS64 is present.Template:Cn Despite an announcement in 2016 that GIF support would be added "soon", the desktop app does not allow sending animated GIFs.

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.<ref name="Schröder-2016">Template:Harvnb</ref> 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.<ref name="Schröder-2016"/> Four months later, Signal's user interface was updated to make verifying the identity of other Signal users simpler.<ref name="safety-number-updates">Template:Cite web</ref>

Before version 4.17,<ref name="Restoring-Android"/> the Signal Android client could only make plain text-only backups of the message history, i.e. without media messages.<ref>Template:Cite web</ref><ref>Template:Cite web</ref> On February 26, 2018, Signal added support for "full backup/restore to SD card",<ref>Template:Cite web</ref> and as of version 4.17, users are able to restore their entire message history when switching to a new Android phone.<ref name="Restoring-Android">Template:Cite web</ref> The Signal iOS client does not support exporting or importing the user's messaging history.<ref>Template:Cite web</ref>

Architecture

Encryption protocols

Template:Main

Signal messages are encrypted with the Signal Protocol (formerly known as the TextSecure Protocol). The protocol combines the Double Ratchet Algorithm, prekeys, and a Triple Diffie-Hellman (3XDH) handshake.<ref>Template:Harvnb</ref> It uses Curve25519, AES-256, and HMAC-SHA256 as primitives.<ref name="Frosch 2016">Template:Harvnb</ref> The protocol provides confidentiality, integrity, authentication, participant consistency, destination validation, forward secrecy, backward secrecy (aka future secrecy), causality preservation, message unlinkability, message repudiation, participation repudiation, and asynchronicity.<ref name="Unger-2015-p239"/> It does not provide anonymity preservation, and requires servers for the relaying of messages and storing of public key material.<ref name="Unger-2015-p239">Template:Harvnb</ref>

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.<ref name="Unger-2015-p239"/> 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.<ref name="Unger-2015-p239"/>

In October 2014, researchers from Ruhr University Bochum published an analysis of the Signal Protocol.<ref name="Frosch 2016"/> Among other findings, they presented an unknown key-share attack on the protocol, but in general, they found that it was secure.<ref name="Pauli-2014-11-03" /> 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.<ref name="Brook-2016-11-10"/><ref name="Cohn-Gordon-2016"/> They concluded that the protocol was cryptographically sound.<ref name="Brook-2016-11-10">Template:Cite web</ref><ref name="Cohn-Gordon-2016">Template:Harvnb</ref> 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 has only little practical impact.<ref>Template:Cite journal</ref>

Template:As of, the Signal Protocol has been implemented into WhatsApp, Facebook Messenger, Skype,<ref name="skype">Template:Cite web</ref> and Google Allo,<ref name="allo">Template:Cite web</ref> making it possible for the conversations of "more than a billion people worldwide" to be end-to-end encrypted.<ref>Template:Cite web</ref> 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.<ref name="Lee-2016-06-22"/><ref name="facebook-messenger">Template:Cite web</ref><ref name="skype" /><ref>Template:Cite web</ref>

Up until March 2017, Signal's voice calls were encrypted with SRTP and the ZRTP key-agreement protocol, which was developed by Phil Zimmermann.<ref name="Greenberg-2014-07-29" /><ref name="RedPhone-Encryption-Protocols"/> Template:As of, Signal's voice and video calling functionalities use the app's Signal Protocol channel for authentication instead of ZRTP.<ref name="Greenberg-2017-02-14">Template:Cite journal</ref><ref name="signal-video-calls-beta">Template:Cite web</ref><ref name="Mott-2017-03-14"/>

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.<ref name="Rottermanner-2015-p5"/> The app employs a trust on first use mechanism in order to notify the user if a correspondent's key changes.<ref name="Rottermanner-2015-p5"/>

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.<ref name="Mott-2017-03-14"/> 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.<ref name="Mott-2017-03-14"/>

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.<ref name="privacy-policy">Template:Cite web</ref> In order to determine which contacts are also Signal users, cryptographic hashes of the user's contact numbers are periodically transmitted to the server.<ref name="contact-discovery" /> 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.<ref name="contact-discovery" /> The hashed numbers are thereafter discarded from the server.<ref name="privacy-policy"/> 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."<ref name="Rottermanner-2015-p4">Template:Harvnb</ref><ref name="contact-discovery">Template:Cite web</ref> 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."<ref name="private-contact-discovery">Template:Cite web</ref><ref>Template:Cite journal</ref>

Metadata

All client-server communications are protected by TLS.<ref name="RedPhone-Encryption-Protocols">Template:Cite web</ref><ref>Template:Harvnb</ref> In October 2018, Signal deployed a "Sealed Sender" feature which encrypts the sender's information using the sender and recipient identity keys, and includes it inside the message. With this feature Signal's servers can no longer see who is sending messages to whom.<ref>Template:Cite web</ref> Signal's privacy policy states that any identifiers are only kept on the servers as long as necessary in order to place each call or transmit each message.<ref name="privacy-policy"/> Signal's developers have asserted that their servers do not keep logs about who called whom and when.<ref name="Brandom-2014-07-29" /> 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".<ref name="Lee-2016-06-22">Template:Cite web</ref>

The group messaging mechanism is designed so that the servers do not have access to the membership list, group title, or group icon.<ref name="Rottermanner-2015-p3"/> 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.<ref name="private-groups">Template:Cite web</ref><ref name="the-new-textsecure">Template:Cite web</ref>

Federation

Signal's server architecture was federated between December 2013 and February 2016. In December 2013, it was announced that the messaging protocol that is used in Signal had successfully been integrated into the Android-based open-source operating system CyanogenMod.<ref>Template:Cite news</ref><ref>Template:Cite news</ref><ref name="cyanogen-integration" /> 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.<ref name="cyanogen-integration">Template:Cite news</ref> The WhisperPush source code was available under the GPLv3 license.<ref>Template:Cite web</ref> In February 2016, the CyanogenMod team discontinued WhisperPush and recommended that its users switch to Signal.<ref>Template:Cite web</ref> 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.<ref name="Edge-2016-05-18"/>

In May 2016, Moxie Marlinspike requested that a third-party client called LibreSignal not use the Signal service or the Signal name.<ref name="Edge-2016-05-18">Template:Cite web</ref> As a result, on 24 May 2016 the LibreSignal project posted that the project was "abandoned".<ref>Template:Cite web</ref> The functionality provided by LibreSignal was subsequently incorporated into Signal by Marlinspike.<ref>Template:Cite web</ref>

Licensing

The complete source code of the Signal clients for Android, iOS and desktop is available on GitHub under a free software license.<ref name="signal-ios-github" /><ref name="signal-android-github" /><ref name="signal-desktop-github" /> 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.<ref>Template:Cite web</ref> Signal's servers are also open source.<ref name="Signal-Server" />

Distribution

Signal is officially distributed through the Google Play store, Apple's App Store, and the official website. Applications distributed via Google Play are signed by the developer of the application, and the Android operating system checks that updates are signed with the same key, preventing others from distributing updates that the developer themselves did not sign.<ref name="moxie-127-1">Template:Cite web</ref><ref>Template:Cite web</ref> The same applies to iOS applications that are distributed via Apple's App Store.<ref>Template:Cite web</ref> As of March 2017, the Android version of Signal can also be downloaded as a separate APK package binary from Signal Messenger's website.<ref>Template:Cite web</ref>

Reception

In October 2014, the Electronic Frontier Foundation (EFF) included Signal in their updated surveillance self-defense guide.<ref name="eff-2014-10-23" /> In November 2014, Signal received a perfect score on the EFF's secure messaging scorecard;<ref name="eff-2014-11-04" /> it received points for having communications encrypted in transit, having communications encrypted with keys the provider doesn't 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.<ref name="eff-2014-11-04" /> 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.<ref name="eff-2014-11-04" />

On December 28, 2014, Der Spiegel published 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, and when used in conjunction with other privacy tools such as Cspace, Tor, Tails, and TrueCrypt was ranked as "catastrophic", leading to a "near-total loss/lack of insight to target communications, presence..."<ref name="spiegel-staff-2014-12-28" /><ref name="spiegel-media-2014-12-28" />

Former NSA contractor Edward Snowden has endorsed Signal on multiple occasions.<ref name="Motherboard-2015-12-02"/> In his keynote speech at SXSW in March 2014, he praised Signal's predecessors (TextSecure and RedPhone) for their ease of use.<ref name="Eddy-2014-03-11" /> During an interview with The New Yorker in October 2014, he recommended using "anything from Moxie Marlinspike and Open Whisper Systems".<ref name="thenewyorker-2014-10-11" /> During a remote appearance at an event hosted by Ryerson University and Canadian Journalists for Free Expression in March 2015, Snowden said that Signal is "very good" and that he knew the security model.<ref name="Cameron-2015-03-06" /> Asked about encrypted messaging apps during a Reddit AMA in May 2015, he recommended Signal.<ref name="Yuhas-2015-05-21"/><ref name="Beauchamp-2015-05-21" /> In November 2015, Snowden tweeted that he used Signal "every day".<ref name="Greenberg-2015-11-2"/><ref name="Barrett-2016-02-25">Template:Cite journal</ref>

In September 2015, the American Civil Liberties Union called on officials at the U.S. Capitol to ensure that lawmakers and staff members have secure communications technology.<ref>Template:Cite news</ref> One of the applications that the ACLU recommended in their letter to the Senate Sergeant at Arms and to the House Sergeant at Arms was Signal, writing: Template:Quote

In March 2017, Signal was approved by the Sergeant at Arms of the U.S. Senate for use by senators and their staff.<ref>Template:Cite web</ref><ref>Template:Cite web</ref>

Following the 2016 Democratic National Committee email leak, Vanity Fair reported that Marc Elias, the general counsel for Hillary Clinton's presidential campaign, had instructed DNC staffers to exclusively use Signal when saying anything "remotely contentious or disparaging" about Republican presidential nominee Donald Trump.<ref name="Bilton-2016-08-26">Template:Cite web</ref><ref name="Blake-2016-08-27">Template:Cite web</ref>

In February 2020, the European Commission has recommended that its staff use Signal<ref name="Politico-European-Commission-Signal-2020-02-20">Template:Cite web</ref>

Blocking


In December 2016, Egypt blocked access to Signal.<ref>Template:Cite web</ref> In response, Signal's developers added domain fronting to their service.<ref name="doodles-stickers-censorship"/> 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.<ref name="doodles-stickers-censorship">Template:Cite web</ref><ref name="Greenberg-2016-12-21">Template:Cite journal</ref> Template:As of, Signal's domain fronting is enabled by default in Egypt, the United Arab Emirates, Oman and Qatar.<ref>Template:Cite web</ref>

Template:As of, Signal is blocked in Iran.<ref name="Frenkel-2018-1-2">Template:Cite web</ref><ref name="issue-7311">Template:Cite web</ref> Signal's domain fronting feature relies on the Google App Engine service.<ref name="issue-7311"/><ref name="Frenkel-2018-1-2"/> This does not work in Iran because Google has blocked Iranian access to GAE in order to comply with U.S. sanctions.<ref name="Frenkel-2018-1-2"/><ref>Template:Cite web</ref>

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.<ref>Template:Cite web</ref><ref>Template:Cite web</ref> Signal switched from AWS back to Google in April 2019.<ref>Template:Cite web</ref>

Developers and funding

Template:Main Signal is developed by Signal Messenger LLC, a software organization founded by Moxie Marlinspike and Brian Acton in 2018 to take over the role of the Open Whisper Systems project that Marlinspike founded in 2013. A non-profit entity called the Signal Foundation was also created in 2018 with an initial funding of $50 million from Acton, "to support, accelerate, and broaden Signal’s mission of making private communication accessible and ubiquitous."<ref name="signal-foundation" /><ref name="Greenberg-2018-02-21"/> Before the Signal Foundation was founded, Signal's development was funded by a combination of donations and grants.<ref name="ONeill-2017-01-03">Template:Cite web</ref> Between 2013 and 2016, the project received grants from the Knight Foundation,<ref name="knightfoundation" /> the Shuttleworth Foundation,<ref name="shuttleworthfoundation" /> and the Open Technology Fund.<ref name="opentechfund" /> The Freedom of the Press Foundation had previously acted as Signal's fiscal sponsor and agreed to continue accepting donations on their behalf while the Signal Foundation's non-profit status was pending.<ref name="signal-foundation" /><ref>Template:Cite web</ref><ref name="pressfreedomfoundation" /> The Signal Foundation is officially tax-exempt as of February 2019.<ref name="propublica">Template:Cite web</ref> All of the organization's products are published as free and open-source software.

See also

Template:Portal

Template:Clear

References

Template:Reflist

Bibliography

Template:Refbegin

Template:Refend

External links

Template:Commons category

  • {{#invoke:Official website|main}}{{#invoke:Check for unknown parameters|check|showblankpositional=1|unknown={{#switch:
 {{#if: 
 | {{{demospace}}}    
 | {{#ifeq:|
   | main
   | other
   }} 
 }}

| main = | other | #default = }}|preview=Page using Template:Official website with unknown parameter "_VALUE_"|1|2|URL|url|mobile|name|format}}

Template:Cryptographic software Template:Instant messaging