TextSecure
| Company type | Software application |
|---|---|
| Industry | Mobile security, Encrypted messaging |
| Predecessor | Whisper Systems |
| Founded | May 25, 2010 |
| Founder | Moxie Marlinspike, Stuart Anderson |
| Defunct | 2015 |
| Fate | Merged into Signal for Android |
Area served | Worldwide |
Key people | Moxie Marlinspike, Stuart Anderson |
| Products | Encrypted messaging application for Android |
| Owner | Whisper Systems (2010–2011), Twitter (2011–2013), Open Whisper Systems (2013–2015) |
TextSecure was an encrypted messaging application designed for Android devices, developed between 2010 and 2015. It pioneered the use of the Signal Protocol, which is now adopted by platforms such as WhatsApp. TextSecure provided end-to-end encryption for individual texts, group conversations, attachments, and multimedia content.
The app was initially created by Whisper Systems, a company co-founded by security expert Moxie Marlinspike and roboticist Stuart Anderson. Its beta version was released on May 25, 2010. Whisper Systems also produced other proprietary mobile security solutions, including RedPhone, which enabled encrypted voice calls.
In November 2011, Twitter acquired Whisper Systems with the goal of strengthening its security infrastructure through Marlinspike’s expertise. Following this acquisition, RedPhone was discontinued, a move that drew criticism for removing a critical secure communication tool used especially in authoritarian environments during events like the 2011 Egyptian revolution.
Subsequently, Twitter made TextSecure available as free and open-source software under the GPLv3 license in December 2011; RedPhone was similarly released in July 2012. Marlinspike later departed from Twitter to launch Open Whisper Systems, an open-source initiative dedicated to continuing the development of both TextSecure and RedPhone.
Whisper Systems and Twitter (2010–2011)
TextSecure originated as an encrypted SMS messaging app. Its beta was launched on May 25, 2010 by Whisper Systems, a startup founded by Moxie Marlinspike and Stuart Anderson. Alongside TextSecure, Whisper Systems developed enterprise-grade mobile security tools including RedPhone.
Twitter acquired Whisper Systems in November 2011 to enhance its security capabilities with Marlinspike’s involvement. Soon after this acquisition, RedPhone was discontinued, sparking concerns over the loss of secure communication options for users operating under oppressive regimes.
In December 2011, Twitter released TextSecure as free and open-source software under the GPLv3 license, with RedPhone following suit in July 2012. Marlinspike exited Twitter to establish Open Whisper Systems for ongoing open-source maintenance and advancement of both applications.
Open Whisper Systems (2013–2015)
Open Whisper Systems launched its website in January 2013 and began iOS development for TextSecure in March of that year. In February 2014, they introduced the second iteration of the TextSecure Protocol (now known as the Signal Protocol), which incorporated group chat functionality and push messaging capabilities. By July 2014, plans were announced to consolidate RedPhone and TextSecure into one application named Signal. This coincided with Signal’s debut on iOS as a counterpart to RedPhone. The roadmap included merging both apps on Android, adding TextSecure messaging support on iOS, and releasing a web client. Signal became the first iOS application offering free voice calls secured with strong encryption.
Support for TextSecure on iOS was added in March 2015. Later that month, Open Whisper Systems discontinued encrypted SMS/MMS support on Android; starting from version 2.7.0, TextSecure exclusively handled encrypted messages over data connections. This decision was influenced by multiple factors:
- The complexity of encrypting SMS requiring manual key exchanges and uncertain recipient compatibility.
- Lack of necessary APIs on iOS making SMS encryption unfeasible.
- The unavoidable exposure of metadata inherent to SMS/MMS transmission.
- A strategic focus on advancing software encryption rather than sustaining SMS/MMS encryption features.
Following this transition, a fork called Silence (originally SMSSecure) emerged to maintain exclusive support for SMS/MMS encryption.
In November 2015, RedPhone was fully integrated into TextSecure, which was then renamed Signal for Android.
Features
TextSecure allowed users to transmit encrypted texts, audio files, images, videos, contacts, and emoticons over data networks such as Wi-Fi, 3G, and 4G to other Android devices. It also supported sending unencrypted SMS and MMS messages to contacts not using TextSecure.
Communications between TextSecure users were protected by end-to-end encryption, ensuring that only the intended recipients could read the messages. Encryption keys remained exclusively on the user’s device. Encrypted messages were indicated by a lock symbol within the app interface.
Users had the option to secure their local message database and encryption keys with a passphrase, providing additional protection if the device was lost or stolen. The application enabled configuring a timeout period after which the passphrase would be cleared from memory. Contact information and message timestamps were not encrypted.
To guard against man-in-the-middle attacks, TextSecure offered identity verification of communication partners by comparing key fingerprints through QR code scanning. Users received alerts if a contact’s encryption key was altered.
Group conversations supported multiple participants with automatic end-to-end encryption over data connections for registered users. Groups could have custom names and avatars, and members were free to join or leave at will. Servers did not have access to group metadata such as member lists or group details.
The app could serve as a replacement for Android’s default messaging system by reverting to unencrypted SMS and MMS when necessary.
Limitations
Phone number verification was mandatory for TextSecure registration; this number could be a mobile, VoIP, or landline capable of receiving verification codes on another device. Each phone number was limited to registering one device at any given time.
The official client relied on Google Play Services for Google's Cloud Messaging (GCM) infrastructure. From February 2014 until March 2015, message delivery was handled via GCM; after that period, Open Whisper Systems took over direct message delivery while still using GCM solely for wakeup notifications.
Encryption protocol
TextSecure was the first to implement what is now known as the Signal Protocol (initially called the TextSecure Protocol), which is currently adopted by major platforms like WhatsApp, Facebook Messenger, and Google Allo, protecting conversations of over a billion users globally. This protocol combines the Double Ratchet Algorithm, prekeys, and a triple Diffie-Hellman handshake, utilizing cryptographic primitives such as Curve25519, AES-256, and HMAC-SHA256.
It provides guarantees for confidentiality, integrity, authentication, participant consistency, destination verification, forward and backward secrecy, causality preservation, message unlinkability, repudiation resistance, and asynchronous communication. However, it does not ensure anonymity and depends on servers to relay messages and store public key information.
For group chats, the protocol merges pairwise double ratchet encryption with multicast encryption, incorporating speaker consistency checks, robustness against out-of-order or lost messages, equal computational load and trust among participants, support for subgroup messaging, and adaptable membership control.
Servers
Communications between clients and servers were protected using TLS. After server decryption, messages contained sender or recipient phone numbers in plaintext form, which could reveal metadata about communications; nonetheless, Open Whisper Systems maintained that servers did not retain this metadata.
To detect which contacts used TextSecure, cryptographic hashes of users' phone numbers were periodically transmitted to servers to identify matches with registered users. Moxie Marlinspike pointed out that reversing these hashes is possible due to the limited range of phone numbers, underscoring difficulties in maintaining privacy during contact discovery.
Group messaging was architected so that servers had no access to membership rosters, group names, or icons; instead, clients managed group creation and updates by sending encrypted pairwise messages directly to participants.
Between December 2013 and February 2016, the server infrastructure was partially decentralized. The TextSecure protocol was incorporated into the Android-based open-source operating system CyanogenMod through a system application named WhisperPush. CyanogenMod operated its own TextSecure server federated with Open Whisper Systems’ server to enable seamless message exchange. WhisperPush was discontinued in February 2016 with users encouraged to migrate to Signal.
Licensing
The entire source code for TextSecure was accessible on GitHub under a free software license. Additionally, the application responsible for handling message routing within the TextSecure data channel was released as open source.
Distribution
Officially, TextSecure was distributed solely via Google Play, achieving over 1,000,000 downloads by October 2015. Although briefly available on F-Droid in 2012, it was removed at the developer’s request due to outdated versions and lack of proper verification. Open Whisper Systems opted against ongoing distribution through F-Droid because it could not guarantee prompt updates, depended on centralized trust mechanisms, and necessitated enabling installations from unknown sources—raising security concerns for typical Android users.
Audits
In October 2013, iSEC Partners conducted an audit of multiple projects funded by the Open Technology Fund, including TextSecure. A year later, in October 2014, researchers from Ruhr University Bochum examined TextSecure’s encryption protocol, uncovering an unknown key-share attack vulnerability but ultimately determining that the client maintained a strong overall security posture.
Reception
TextSecure received repeated endorsements from former NSA contractor Edward Snowden. At SXSW 2014, he highlighted its user-friendly design, and during interviews and a 2015 Reddit AMA, he recommended TextSecure alongside other offerings from Moxie Marlinspike and Open Whisper Systems.
The Electronic Frontier Foundation (EFF) featured TextSecure in their 2014 Surveillance Self-Defense guide and awarded it a flawless rating on their Secure Messaging Scorecard. It scored points for encrypting communications in transit, providing end-to-end encryption without provider access to keys, enabling user identity verification, supporting forward secrecy, offering open-source code, documenting security design principles, and undergoing recent independent audits. Other applications achieving perfect scores included "ChatSecure + Orbot", Cryptocat, Signal / RedPhone, Pidgin (with OTR), Silent Phone/Text, and Telegram’s optional secret chats.
Developers and funding
TextSecure was created by Open Whisper Systems, a nonprofit software organization funded through donations and grants. All software products released by the group are free and open source.
By October 2016, Open Whisper Systems obtained funding through donations managed by the Freedom of the Press Foundation as well as grants from entities such as the Knight Foundation, Shuttleworth Foundation, and the U.S. government-backed Open Technology Fund—which also supports privacy initiatives including Tor and Cryptocat.
See also
Literature
External links
- TextSecure on GitHub
- Open Whisper Systems – Official developer site
- 2010 software
- Products and services discontinued in 2015
- Cryptographic software
- Free and open-source Android software
- Free security software
- Internet privacy software
- Free software programmed in Java (programming language)
- Free instant messaging clients
- Instant messaging clients programmed in Java
- Software using the GNU Affero General Public License
- Software using the GNU General Public License
- Formerly proprietary software