TextSecure

From Wikipedia, the free encyclopedia
Jump to: navigation, search
TextSecure
TextSecure Blue Icon.png
TextSecure authentication.pngTextSecure conversation list.pngTextSecure conversation.png
Screenshots of TextSecure
Original author(s) Moxie Marlinspike
and Stuart Anderson
(Whisper Systems)
Developer(s) Open Whisper Systems
Initial release May 2010 (2010-05)[1]
Stable release Android 2.8.0 (March 23, 2015; 7 days ago (2015-03-23)) [±]
Development status Active
Written in Java (client and server)
Operating system Android
Size 9.2 MB
Available in 34 languages[2]
Type Encrypted instant messaging and unencrypted text messaging
License GPLv3 (client),[3]
AGPLv3 (server)[4]
Website whispersystems.org

TextSecure is a free and open-source encrypted messaging application for Android. It uses end-to-end encryption with forward secrecy to secure all instant messages to other TextSecure users. TextSecure can be used to send and receive encrypted group messages, attachments and media messages. Users can encrypt the local message database with a passphrase and independently verify their correspondent's identities by comparing key fingerprints out-of-band. TextSecure can also be used to send and receive unencrypted SMS and MMS messages.

TextSecure messages are compatible with Signal messages on iOS. TextSecure and Signal are developed by Open Whisper Systems and are published under the GPLv3 license.

History[edit]

TextSecure's icon from May 2010 to February 2014 and from February 2014 to February 2015.

Whisper Systems and Twitter (2010–2011)[edit]

The beta version of TextSecure was first launched in May 2010 by Whisper Systems,[5] a startup company co-founded by security researcher Moxie Marlinspike and roboticist Stuart Anderson.[6][7] In addition to launching TextSecure, Whisper Systems produced a firewall, tools for encrypting other forms of data, and RedPhone, an application that provides encrypted voice calls.[1][6] All of these were proprietary enterprise mobile security software.

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.[8] Shortly after the acquisition, Whisper Systems' RedPhone service was made unavailable.[9] 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.[10]

Twitter released TextSecure as free and open-source software under the GPLv3 license in December 2011.[11][12][6][13] RedPhone was also released under the same license in July 2012.[14] These were subsequently adopted by the user community and the collaborative open source project for their continued development later named itself Open Whisper Systems.[15]

Open Whisper Systems (2013–present)[edit]

Open Whisper Systems' website was launched in January 2013.[15] Open Whisper Systems started working to bring TextSecure to iOS in March 2013.[16][17]

In February 2014, Open Whisper Systems updated their protocol to version 2, adding group chat and push messaging capabilities.[18][16] Toward the end of July 2014, Open Whisper Systems announced plans to unify its RedPhone and TextSecure applications as Signal.[19] This announcement coincided with the initial release of Signal as a RedPhone counterpart for iOS.

In October 2014, researchers published a protocol analysis of TextSecure.[20] Among other findings, they presented an unknown key-share attack on the protocol, but in general, they found that the encrypted chat client is secure.[21]

In March 2015, Open Whisper Systems released Signal 2.0 with support for TextSecure private messaging on iOS.[22][23] Later that month, Open Whisper Systems ended support for sending and receiving encrypted SMS and MMS messages on Android. Reasons for this included:[24]

  • Complications with the SMS encryption procedure (manual key exchange; check whether the receiver could receive encrypted messages).
  • Compatibility issues with iOS: Not possible to send or receive encrypted SMS/MMS messages.
  • The large amounts of metadata that inevitably arise and are uncontrollable when using SMS and MMS.
  • Focus on software development: Maintaining SMS and MMS encryption and dealing with edge cases took up valuable resources and inhibited the development of the software.

Reception[edit]

In his keynote speech at SXSW 2014, NSA leaker Edward Snowden praised Open Whisper Systems' applications for their ease-of-use.[25][26]

In October 2014, the Electronic Frontier Foundation (EFF) included TextSecure in their updated surveillance self-defense guide.[27] In November 2014, TextSecure received a top score on the EFF's secure messaging scorecard, along with "ChatSecure + Orbot", Cryptocat, "Signal / RedPhone", Silent Phone, and Silent Text.[28][29] They received points for having communications encrypted in transit, having communications encrypted with keys the providers don't have access to (end-to-end encryption), making it possible for users to independently verify their correspondent's identities, having past communications secure if the keys are stolen (forward secrecy), having their code open to independent review (open source), having their security designs well-documented, and having recent independent security audits.[28]

Features[edit]

The application prevents screenshots of conversations by default. This is a privacy feature.

TextSecure allows users to send encrypted text messages, audio messages, photos, videos, contact information, and a wide selection of emoticons over a data connection (e.g. Wi-Fi, 3G or 4G) to other TextSecure users with smartphones running Android and to Signal users on iOS. TextSecure also allows users to exchange unencrypted SMS and MMS messages with people who do not have TextSecure or Signal.[18]

Messages sent with TextSecure to other TextSecure users and to Signal users are automatically end-to-end encrypted, which means that they can only be read by the intended recipients. The keys that are used to encrypt the user's messages are stored on the device alone,[28] and they are protected by an additional layer of encryption if the user has a passphrase enabled. In the user interface, encrypted messages are denoted by a lock icon.

Messages that have been sent via SMS/MMS and messages that have been sent via the user's data connection can be distinguished by color. Green text bubbles indicate SMS-based communication and blue text bubbles indicate communication over a data connection.

TextSecure and Signal have a built-in function for verifying that the user is communicating with the right person and that no man-in-the-middle attack has occurred. This is done with key fingerprints that can be verified out-of-band.[28]

TextSecure and Signal allow users to chat with more than one person at a time.[30] Group chats are automatically encrypted and held over an available data connection if all participants are registered TextSecure or Signal users.[18][31]

Optional features
Feature Description Default
TextSecure messages Uses the data channel for communication with TextSecure and Signal users.[18] On
Passphrase Enables local encryption of the message database and the keys that are used to encrypt the user's messages.[1] Off
Passphrase timeout Forgets the passphrase from memory after a specified time interval. Off
Screen security Blocks screenshots in the recents list and inside the app. On
Old message deletion Automatically deletes older messages once a conversation thread exceeds a specified length. Off
SMS delivery reports Requests a delivery report for each SMS message the user sends. Off
Outgoing SMS/MMS To people who do not have TextSecure or Signal. These messages are not encrypted. On

Architecture[edit]

Protocol[edit]

For the encryption of messages sent to other TextSecure users on Android and to Signal users on iOS, Open Whisper Systems took the Off-the-Record Messaging (OTR) protocol and made some improvements to the deniability and forward secrecy aspects, and added a mechanism to allow the ephemeral key negotiation to work asynchronously.[30][32][33]

The TextSecure protocol uses Curve25519, AES-256, and HMAC-SHA256 as primitives.[20][33]

TextSecure uses a key management protocol called Axolotl.[33] This ensures that new AES keys are used for every single message, and it provides the application with both forward secrecy and future secrecy properties.[34] Forward secrecy means that session keys derived from a set of long-term keys remain secure even if one of the long-term keys is compromised in the future. Coined by Moxie Marlinspike and Trevor Perrin, future secrecy means that even if a currently used shared key is compromised, future sessions will remain secure.[35][36]

The TextSecure protocol also features enhanced deniability properties that improve on those provided by OTR.[37] In cryptography, deniable authentication refers to authentication between a set of participants where the participants themselves can be confident in the authenticity of the messages, but it cannot be proved to a third party after the event.[38]

Implementations[edit]

The TextSecure protocol is open and federated,[33][18] making it possible for third parties to examine it and to implement it in their systems.

In December 2013, it was announced that the TextSecure protocol had successfully been integrated into the Android-based open-source operating system CyanogenMod.[39][40][41] As of CyanogenMod 11.0, the client logic is contained in a system app called WhisperPush. According to Open Whisper Systems, "the Cyanogen team runs their own TextSecure server for WhisperPush clients, which federates with [Open Whisper Systems'] TextSecure server, so that both clients can exchange messages with each-other seamlessly".[41] The WhisperPush source code is available under the GPLv3 license.[42]

On November 18, 2014, Open Whisper Systems announced a partnership with WhatsApp to provide end-to-end encryption by incorporating the protocol used in TextSecure into each WhatsApp client platform.[43] Open Whisper Systems asserted that they have already incorporated the protocol into the latest WhatsApp client for Android and that support for other clients, group/media messages, and key verification would be coming soon.[44] WhatsApp confirmed the partnership to reporters, but there was no announcement or documentation about the encryption feature on the official website, and further requests for comment were declined.[45]

Servers[edit]

Client-server communication is protected by TLS.[20] Communication is handled by a REST API and push messaging (both GCM and APN).[4] Support for WebSocket has been added.[46]

In order to determine which contacts are also TextSecure users, hashed contact numbers are periodically transmitted to the servers. The contact discovery mechanism is designed so that the servers do not need to store this information, and Moxie Marlinspike has asserted that Open Whisper Systems' servers do not.[47][48][4]

The group messaging mechanism is designed so that the servers do not have access to any group metadata such as 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 exact same way that group conversation messages are delivered.[18][31][4]

Open Whisper Systems' server infrastructure is funded through grants and donations they receive. The server-side architecture is federated. The developers hope this will help spread the cost over time. The developers of CyanogenMod already host the servers that handle the traffic for their users. As Open Whisper Systems will launch more clients, their hope is that other stakeholders will take on hosting as well.[49]

Licensing[edit]

The complete source code of TextSecure 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 copy of the application and compare it with the version that is distributed by Open Whisper Systems.[3] The same is true of the software that handles message routing for the TextSecure data channel.[4]

Distribution[edit]

TextSecure is distributed through Google Play. Following an incident in August 2012, Open Whisper Systems has declined requests to distribute the application through 3rd party sources, such as F-Droid.[46][50][51]

Open Whisper Systems has acknowledged that this is an important issue for some of TextSecure's users, and have assured that they are working on it. They have, however, chosen to focus on serving the millions of users who have Google Cloud Messaging capabilities first. They have invited the community to help them add WebSocket support to TextSecure for Android.[46]

Developers[edit]

Main article: Open Whisper Systems

TextSecure is developed by Open Whisper Systems, a nonprofit software group[52] that develops collaborative open source projects with a mission to "make private communication simple".[53] The group was established in 2013 and consists of "a large community of open source contributors, as well as a small team of dedicated developers".[53] The group is funded by a combination of donations and grants, and all of its products are licensed under free software licenses.

The project has received financial support from, among others, the Freedom of the Press Foundation,[54] the Knight Foundation,[55] the Shuttleworth Foundation,[56] and the Open Technology Fund,[57] a U.S. government program that has also funded other privacy projects like the anonymity software Tor and the encrypted instant messaging website Cryptocat.

See also[edit]


References[edit]

  1. ^ a b c Andy Greenberg (2010-05-25). "Android App Aims to Allow Wiretap-Proof Cell Phone Calls". Forbes. Retrieved 2014-02-28. 
  2. ^ Open Whisper Systems. "List of languages supported by TextSecure". GitHub. Retrieved 15 March 2014. 
  3. ^ a b Open Whisper Systems. "TextSecure". GitHub. Retrieved 26 February 2014. 
  4. ^ a b c d e Open Whisper Systems. "TextSecure-Server". GitHub. Retrieved 2 March 2014. 
  5. ^ "Announcing the public beta". Whisper Systems. 25 May 2010. Archived from the original on 30 May 2010. Retrieved 22 January 2015. 
  6. ^ a b c Garling, Caleb (2011-12-20). "Twitter Open Sources Its Android Moxie | Wired Enterprise". Wired. Retrieved 2011-12-21. 
  7. ^ "Company Overview of Whisper Systems Inc.". Bloomberg Businessweek. Retrieved 2014-03-04. 
  8. ^ Tom Cheredar (November 28, 2011). "Twitter acquires Android security startup Whisper Systems". VentureBeat. Retrieved 2011-12-21. 
  9. ^ Andy Greenberg (2011-11-28). "Twitter Acquires Moxie Marlinspike's Encryption Startup Whisper Systems". Forbes. Retrieved 2011-12-21. 
  10. ^ Garling, Caleb (2011-11-28). "Twitter Buys Some Middle East Moxie | Wired Enterprise". Wired. Retrieved 2011-12-21. 
  11. ^ Chris Aniszczyk (20 December 2011). "The Whispers Are True". The Twitter Developer Blog. Twitter. Archived from the original on 24 October 2014. Retrieved 22 January 2015. 
  12. ^ "TextSecure is now Open Source!". Whisper Systems. 20 December 2011. Archived from the original on 6 January 2012. Retrieved 22 January 2015. 
  13. ^ Pete Pachal (2011-12-20). "Twitter Takes TextSecure, Texting App for Dissidents, Open Source". Mashable. Retrieved 2014-03-01. 
  14. ^ "RedPhone is now Open Source!". Whisper Systems. 18 July 2012. Archived from the original on 31 July 2012. Retrieved 22 January 2015. 
  15. ^ a b "A New Home". Open Whisper Systems. 21 January 2013. Retrieved 23 January 2015. 
  16. ^ a b Brian Donohue (Feb 24, 2014). "TextSecure Sheds SMS in Latest Version". Threatpost. Retrieved 2014-03-01. 
  17. ^ Christine Corbett (27 March 2013). "Sure!". Open Whisper Systems. Retrieved 2014-03-16. 
  18. ^ a b c d e f Moxie Marlinspike (24 February 2014). "The New TextSecure: Privacy Beyond SMS". Open Whisper Systems. Retrieved 26 February 2014. 
  19. ^ "Free, Worldwide, Encrypted Phone Calls for iPhone". Open Whisper Systems. 29 July 2014. 
  20. ^ a b c Frosch, Tilman; Mainka, Christian; Bader, Christoph; Bergsma, Florian; Schwenk, Jörg; Holz, Thorsten. "How Secure is TextSecure?" (PDF). Horst Görtz Institute for IT Security, Ruhr University Bochum. Retrieved 4 November 2014. 
  21. ^ Pauli, Darren. "Auditors find encrypted chat client TextSecure is secure". The Register. Retrieved 4 November 2014. 
  22. ^ Micah Lee (2015-03-02). "You Should Really Consider Installing Signal, an Encrypted Messaging App for iPhone". The Intercept. Retrieved 2015-03-03. 
  23. ^ Megan Geuss (2015-03-03). "Now you can easily send (free!) encrypted messages between Android, iOS". Ars Technica. Retrieved 2015-03-03. 
  24. ^ Open Whisper Systems (6 March 2015). "Saying goodbye to encrypted SMS/MMS". Retrieved 22 March 2015. 
  25. ^ Max Eddy (Mar 11, 2014). "Snowden to SXSW: Here's How To Keep The NSA Out Of Your Stuff". PC Magazine: SecurityWatch. Retrieved 2014-03-16. 
  26. ^ Hanno Böck (Mar 11, 2014). "Snowden empfiehlt Textsecure und Redphone" (in German). Golem.de. Retrieved 2014-03-16. 
  27. ^ "Surveillance Self-Defense. Communicating with Others". Electronic Frontier Foundation. 2014-10-23. 
  28. ^ a b c d "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. 2014-11-04. 
  29. ^ Stephanie Mlot (2014-11-18). "WhatsApp Rolling Out End-to-End Encryption". PC Magazine. Retrieved 2014-11-24. 
  30. ^ a b DJ Pangburn (3 March 2014). "TextSecure Is the Easiest Encryption App To Use (So Far)". Motherboard. Retrieved 14 March 2014. 
  31. ^ a b Moxie Marlinspike (5 May 2014). "Private Group Messaging". Open Whisper Systems. Retrieved 2014-07-09. 
  32. ^ Moxie Marlinspike (22 August 2013). "Forward Secrecy for Asynchronous Messages". Open Whisper Systems. Retrieved 2014-03-01. 
  33. ^ a b c d Open Whisper Systems. "ProtocolV2". GitHub. Retrieved 21 January 2015. 
  34. ^ Trevor Perrin. "Axolotl ratchet". GitHub. Retrieved 2014-03-14. 
  35. ^ Sarkar, Pratik Guha (31 August 2014). "Perfect Forward Security; An Extra Layer of Security and Privacy" (PDF). iSEC Partners. Retrieved 20 January 2015. 
  36. ^ Moxie Marlinspike (Nov 26, 2013). "Advanced Cryptographic Ratcheting". Open Whisper Systems. Retrieved 2014-03-01. 
  37. ^ Moxie Marlinspike (27 July 2013). "Simplifying OTR Deniability". Open Whisper Systems. Retrieved 2014-03-01. 
  38. ^ Wei-Bin Lee, Chia-Chun Wu, Woei-Jiunn Tsaur (17 April 2006). "A novel deniable authentication protocol using generalized ElGamal signature scheme". Information Sciences 177 (6): 1376–1381. doi:10.1016/j.ins.2006.09.020. Retrieved 21 January 2015. 
  39. ^ Andy Greenberg (2013-12-09). "Ten Million More Android Users' Text Messages Will Soon Be Encrypted By Default". Forbes. Retrieved 2014-02-28. 
  40. ^ Seth Schoen (2013-12-28). "2013 in Review: Encrypting the Web Takes A Huge Leap Forward". Electronic Frontier Foundation. Retrieved 2014-03-01. 
  41. ^ a b Moxie Marlinspike (2013-12-09). "TextSecure, Now With 10 Million More Users". Open Whisper Systems. Retrieved 2014-02-28. 
  42. ^ CyanogenMod (Jan 7, 2014). "android_external_whispersystems_WhisperPush". GitHub. Retrieved Mar 26, 2015. 
  43. ^ Jon Evans (2014-11-18). "WhatsApp Partners With Open Whisper Systems To End-To-End Encrypt Billions Of Messages A Day". TechCrunch. Retrieved 2014-11-19. 
  44. ^ "Open Whisper Systems partners with WhatsApp to provide end-to-end encryption". Open Whisper Systems. November 18, 2014. Retrieved November 18, 2014. 
  45. ^ "Facebook’s messaging service WhatsApp gets a security boost". Forbes. 18 Nov 2014. Retrieved 21 Nov 2014. 
  46. ^ a b c Open Whisper Systems (18 March 2014). "Why do I need Google Play installed to use TextSecure on Android?". Retrieved 13 March 2014. 
  47. ^ http://support.whispersystems.org/customer/portal/questions/5869808-is-contact-information-stored-on-textsecure-servers-
  48. ^ Moxie Marlinspike (3 January 2013). "The Difficulty Of Private Contact Discovery". Open Whisper Systems. Retrieved 25 March 2014. 
  49. ^ Moxie Marlinspike (11 March 2014). "How is openwhispersystems paying for the its server costs?". Open Whisper Systems. Retrieved 16 March 2014. 
  50. ^ "SMS Plain text leak via LogCat". GitHub. 23 August 2012. Retrieved 23 January 2015. 
  51. ^ "Request: Google Play signed download alternative". GitHub. 9 February 2013. Retrieved 23 January 2015. 
  52. ^ Franceschi-Bicchierai, Lorenzo (18 November 2014). "WhatsApp messages now have Snowden-approved encryption on Android". Mashable. Retrieved 23 January 2015. 
  53. ^ a b Open Whisper Systems. "About us". Retrieved 2015-01-18. 
  54. ^ "Open Whisper Systems". Freedom of the Press Foundation. Retrieved 18 January 2015. 
  55. ^ "TextSecure". Knight Foundation. Retrieved 5 January 2015. 
  56. ^ "Moxie Marlinspike". Shuttleworth Foundation. Retrieved 14 January 2015. 
  57. ^ "Projects". Open Technology Fund. Retrieved 14 January 2015. 

External links[edit]