World Library  
Flag as Inappropriate
Email this Article

TextSecure

Article Id: WHEBN0042057646
Reproduction Date:

Title: TextSecure  
Author: World Heritage Encyclopedia
Language: English
Subject: Instant messaging, WhatsApp, BAND (application), Slack (software), Fire (instant messaging client)
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

TextSecure

TextSecure
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 2.28.1Android (September 29, 2015 (2015-09-29))
Development status Discontinued (merged with RedPhone to become Signal)[2]
Written in Java (client and server)
Operating system Android
Size 11 MB
Available in 34 languages[3]
Type Encrypted instant messaging
License GPLv3 (client),[4]
AGPLv3 (server)[5]
Website .orgwhispersystems

TextSecure is an advanced end-to-end encryption protocol as well as a discontinued free and open-source encrypted instant messaging application for Android which used that protocol. TextSecure enabled the secure transmission of instant messages, group messages, attachments and media messages to other TextSecure users. Users could independently verify the identity of their correspondents by comparing key fingerprints out-of-band or by scanning QR codes in person. The Android application could function as a drop-in replacement for Android's native messaging application as it could also fall back to sending unencrypted SMS and MMS messages. The local message database could also be encrypted with a passphrase. The application was merged with an encrypted voice calling app to become a cross-platform encrypted communications application called Signal.

Both the TextSecure encryption protocol and Signal are developed by Open Whisper Systems and are published under the GPLv3 license.

History

Whisper Systems and Twitter (2010–2011)

TextSecure started as an application for sending and receiving encrypted SMS messages.[6] Its beta version was first launched in May 2010 by Whisper Systems,[7] a startup company co-founded by security researcher Moxie Marlinspike and roboticist Stuart Anderson.[8][9] 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][8] 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.[10] The acquisition was done "primarily so that Mr. Marlinspike could help the then-startup improve its security".[11] Shortly after the acquisition, Whisper Systems' RedPhone service was made unavailable.[12] 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.[13]

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

Open Whisper Systems (2013–present)

Open Whisper Systems' website was launched in January 2013.[19] Open Whisper Systems started working to bring TextSecure to iOS in March 2013.[20][21]

In February 2014, Open Whisper Systems updated their protocol to version 2, adding group chat and push messaging capabilities.[20][22] Toward the end of July 2014, Open Whisper Systems announced plans to unify its RedPhone and TextSecure applications as Signal.[23] 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.[24] Signal was the first iOS app to enable easy, strongly encrypted voice calls for free.[18][25]

In March 2015, Open Whisper Systems released Signal 2.0 with support for TextSecure private messaging on iOS.[26][27] Later that month, Open Whisper Systems ended support for sending and receiving encrypted SMS/MMS messages on Android. As of version 2.7.0, TextSecure only supports sending and receiving encrypted messages via the data channel. Reasons for this included:[6]

  • Complications with the SMS encryption procedure: Users needed to manually initiate a "key exchange", which required a full round trip before any messages could be exchanged. In addition to this, users could not always be sure whether the receiver could receive encrypted SMS/MMS messages or not.
  • Compatibility issues with iOS: Not possible to send or receive encrypted SMS/MMS messages on iOS due to the lack of APIs.
  • The large amounts of metadata that inevitably arise and are uncontrollable when using SMS/MMS for the transportation of messages.
  • Focus on software development: Maintaining SMS/MMS encryption and dealing with edge cases took up valuable resources and inhibited the development of the software.

Open Whisper Systems' abandonment of SMS/MMS encryption,[28] added to the dependency on Google Cloud Messaging (GCM) and the unavailability from F-Droid,[28] prompted some users to create a fork which is named SMSSecure and is meant solely for the encryption of SMS and MMS messages.[28][29]

In November 2015, the TextSecure application was merged with RedPhone to become Signal for Android.[2]

Reception

Former NSA contractor Edward Snowden has endorsed Open Whisper Systems' applications on multiple occasions. In his keynote speech at SXSW in March 2014, he praised TextSecure and RedPhone for their ease-of-use.[30][31] During an interview with The New Yorker in October 2014, he recommended using "anything from Moxie Marlinspike and Open Whisper Systems".[32] 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.[33] Asked about encrypted messaging apps during a Reddit AMA in May 2015, he recommended “Signal for iOS, Redphone/TextSecure for Android”.[34][35]

In October 2014, the Electronic Frontier Foundation (EFF) included TextSecure in their updated surveillance self-defense guide.[36] In November 2014, TextSecure received a perfect score on the EFF's secure messaging scorecard;[37][38] it 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.[37] As of 6 July 2015, "ChatSecure + Orbot", Cryptocat, "Signal / RedPhone", Pidgin, Silent Phone, Silent Text, and Telegram's secret chats also have seven out of seven points on the scorecard.[37]

Features

The application prevented screenshots of conversations by default.

TextSecure allowed 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. TextSecure also allowed users to exchange unencrypted SMS and MMS messages with people who did not have TextSecure.[22]

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

TextSecure had a built-in function for verifying that the user was communicating with the right person and that no man-in-the-middle attack had occurred. This verification could be done by comparing key fingerprints out-of-band.[37] Users could also scan each other's personal QR codes.

TextSecure allowed users to chat with more than one person at a time.[39] Group chats were automatically end-to-end encrypted and held over an available data connection if all participants were registered TextSecure users. Users could create groups with a title and avatar icon, add their friends, join or leave groups, and exchange messages/media, all with the same encryption properties pairwise TextSecure chats provided. The servers did not have access to group metadata such as lists of group members, the group title, or the group avatar icon.[22][40]

Optional features
Feature Description Default
TextSecure messages Used the data channel for communication with TextSecure users.[22] On
Passphrase Enabled local encryption of the message database and the keys that were used to encrypt the user's messages.[1] Off
Passphrase timeout Forgot the passphrase from memory after a specified time interval. Off
Screen security Blocked screenshots in the recents list and inside the app. On
Old message deletion Automatically deleted older messages once a conversation thread exceeded a specified length. Off
SMS delivery reports Requested a delivery report for each SMS message the user sent. Off
Outgoing SMS/MMS To people who did not have TextSecure. These messages were not encrypted. Off

Architecture

Encryption protocol

The TextSecure encryption protocol is an end-to-end encrypted messaging protocol with deniability guarantees[41] and message-level forward secrecy, similar to the Off-the-Record Messaging (OTR) protocol.[42] It uses Curve25519, AES-256, and HMAC-SHA256 as primitives.[43][42]

The TextSecure protocol is derivative of OTR. The major difference is that the TextSecure protocol uses elliptic curve cryptography (ECC) keys, whereas the OTR protocol uses DSA keys. The TextSecure protocol also compresses some data structure formats[44] and allows the ephemeral key negotiation to work asynchronously.[39][45][42]

There have been two major releases of the TextSecure protocol. Version 1 used the OTR ratchet and custom binary structures. Version 2 uses the no header keys variation of the Axolotl ratchet and protobuf records.[42]

Key management

Key management is handled by Axolotl, a cryptographic ratchet that was developed by Moxie Marlinspike and Trevor Perrin.[46] Its stated goals are to:[47]

  • Combine the forward secrecy of symmetric-key updating with the "future secrecy" of an OTR-like Diffie-Hellman ratchet.
    • Forward secrecy means that messages are encrypted with temporary per-message cryptographic keys. The compromise of any long-term keys does not compromise any previous conversations, even if an attacker is in possession of ciphertexts.
    • By "future secrecy", the developers mean that even if a currently used shared key is compromised, future sessions will remain secure.[48] A leak of keys to a passive eavesdropper will be healed by introducing new DH ratchet keys.[46]
  • Improve on OTR's future-secrecy with a "2-step" DH ratchet instead of "3-step".
    • In other words, DH ratchet keys are used in a "send/receive" pattern, instead of "advertise/receive/send".
  • Detect replay / reorder / deletion of messages.
  • Allow decryption of out-of-order messages with minimal reduction in forward secrecy.
  • Not leak metadata in cleartext (such as identities or sequence numbers).

Axolotl ensures that new AES keys are used for every single message, and it provides the application with both forward secrecy and future secrecy properties.[47] The Axolotl specification is in the public domain.[47]

Implementations

The TextSecure protocol is open and federated,[22][42] making it possible for third parties to independently 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.[49][50][51] 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".[51] The WhisperPush source code is available under the GPLv3 license.[52]

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.[53] 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.[54] 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.[55]

In September 2015, G Data launched a new messaging app which uses the Axolotl key management protocol.[56] Silent Circle also began using Axolotl to encrypt text messages in September 2015.[57]

Servers

Client-server communication was protected by TLS.[43] Communication was handled by a REST API and push messaging (both GCM and APN).[5]

The contact discovery mechanism that was used in the TextSecure application, and which is now used in Signal, was designed so that the server does not have direct access to the user's contact list.[58][59] In order to determine which contacts were also TextSecure users, cryptographic hashes of the user's contact numbers were periodically transmitted to the server.[58] The server then checked to see if those matched any of the SHA256 hashes of registered users and told the client if any matches were found.[58]

The group messaging mechanism that was used in the TextSecure application, and which is now used in Signal, was designed so that the servers did not have access to any group metadata such as the membership list, group title, or group icon.[40] Instead, the creation, updating, joining, and leaving of groups was done by the clients, which delivered pairwise messages to the participants in exactly the same way that group conversation messages were delivered.[4][22][40]

Licensing

The complete source code of TextSecure is available on GitHub under a free software license.[4] The same is true of the software that handled message routing for the TextSecure data channel.[5]

Distribution

Open Whisper Systems distributed TextSecure through Google Play. Following an incident in August 2012, they declined requests to distribute the application through third party distribution platforms, such as F-Droid.[60][61][62] Open Whisper Systems acknowledged that this was an important issue for some of TextSecure's users, and assured that they are working on it. They chose, however, to focus on serving the users who have Google Cloud Messaging (GCM) capabilities first.[60] In October 2015, TextSecure had been installed over 1 000 000 times through Google Play.[63]

Until March 2015, TextSecure used GCM as the transport for message delivery over the data channel. In March 2015, Open Whisper Systems moved to a model of handling message delivery themselves and relied on GCM only for a wakeup event.[6]

Audits

In October 2013, iSEC Partners published a blog post in which they said that they had audited several of the projects supported by the Open Technology Fund over the past year, including TextSecure.[64]

In October 2014, researchers from Ruhr University Bochum published a protocol analysis of TextSecure.[43] 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.[65]

Developers

TextSecure was developed by Open Whisper Systems, a nonprofit software group[66] that develops collaborative Open Source projects with a mission to "make private communication simple".[67] The group consists of a large community of volunteer Open Source contributors, as well as a small team of dedicated grant-funded developers.[67] Open Whisper Systems is funded by a combination of donations and grants, and all of its products are published as free and open-source software under the terms of the GNU General Public License (GPL) version 3.

Open Whisper Systems has received financial support from, among others, the Freedom of the Press Foundation,[68] the Knight Foundation,[69] the Shuttleworth Foundation,[70] and the Open Technology Fund,[71] 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

References

  1. ^ a b c
  2. ^ a b
  3. ^
  4. ^ a b c
  5. ^ a b c
  6. ^ a b c
  7. ^
  8. ^ a b c
  9. ^
  10. ^
  11. ^
  12. ^
  13. ^
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^ a b
  19. ^ a b
  20. ^ a b
  21. ^
  22. ^ a b c d e f
  23. ^
  24. ^
  25. ^
  26. ^
  27. ^
  28. ^ a b c
  29. ^
  30. ^
  31. ^
  32. ^
  33. ^
  34. ^
  35. ^
  36. ^
  37. ^ a b c d e
  38. ^
  39. ^ a b
  40. ^ a b c
  41. ^
  42. ^ a b c d e
  43. ^ a b c
  44. ^
  45. ^
  46. ^ a b
  47. ^ a b c
  48. ^
  49. ^
  50. ^
  51. ^ a b
  52. ^
  53. ^
  54. ^
  55. ^
  56. ^
  57. ^
  58. ^ a b c
  59. ^
  60. ^ a b
  61. ^
  62. ^
  63. ^
  64. ^
  65. ^
  66. ^
  67. ^ a b
  68. ^
  69. ^
  70. ^
  71. ^

External links

  • TextSecure on GitHub
  • Open Whisper Systems. The developers' homepage.
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.