{"id":4004,"date":"2013-12-11T00:17:26","date_gmt":"2013-12-10T16:17:26","guid":{"rendered":"https:\/\/www.icocean.com\/wp\/?p=4004"},"modified":"2013-12-11T00:25:14","modified_gmt":"2013-12-10T16:25:14","slug":"textsecure-now-with-10-million-more-users","status":"publish","type":"post","link":"https:\/\/www.icocean.com\/blog\/?p=4004","title":{"rendered":"TextSecure, Now With 10 Million More Users"},"content":{"rendered":"<p>At Open WhisperSystems, we\u2019re working to both advance the state of the art for secure communication and also reduce the friction required for ordinary people to make use of it. We want everyone to have access to advanced secure communication methods that are as easy and reliable to use as making a normal phone call or sending a normal text message.<br \/>\n\u5728 Open WhisperSystem\uff0c\u6211\u4eec\u6b63\u5728\u4e3a\u52a0\u5bc6\u6280\u672f\u7684\u4f18\u5316\u63d0\u5347\u548c\u666e\u901a\u7528\u6237\u4f7f\u7528\u65f6\u7684\u4fbf\u6377\u6027\u800c\u52aa\u529b\u3002\u6211\u4eec\u5e0c\u671b\u6bcf\u4e2a\u4eba\u90fd\u80fd\u83b7\u5f97\u5148\u8fdb\u7684\u52a0\u5bc6\u901a\u8baf\u65b9\u5f0f\uff0c\u5c31\u50cf\u6211\u4eec\u5e73\u65f6\u6253\u7535\u8bdd\u6216\u53d1\u77ed\u4fe1\u90a3\u6837\uff0c\u65e2\u7b80\u5355\u53c8\u53ef\u9760\u3002<\/p>\n<p>With these goals in mind, we\u2019ve been working with\u00a0<a href=\"http:\/\/www.cyanogenmod.org\/\">CyanogenMod<\/a>\u00a0over the past few months. CyanogenMod is an open source aftermarket Android firmware distribution with\u00a0<a href=\"http:\/\/stats.cyanogenmod.com\/\">ten million users<\/a>\u00a0and ~20k installs a day. Their rapid growth is beginning to rival Microsoft for the third largest smartphone OS distribution.<\/p>\n<p>\u5e26\u7740\u8fd9\u4e9b\u76ee\u6807\uff0c\u6211\u4eec\u5728\u8fc7\u53bb\u51e0\u4e2a\u6708\u91cc\u4e0eCyanogenMod\u56e2\u961f\u4e00\u8d77\u5408\u4f5c\u3002CM\u662f\u4e00\u5bb6\u5f00\u6e90\u7684Android\u7cfb\u7edf\u56fa\u4ef6\u5f00\u53d1\u5546\uff0c\u76ee\u524d\u5df2\u6709\u5343\u4e07\u7ea7\u7684\u7528\u6237\uff0c\u4e14\u6bcf\u5929\u90fd\u6709\u7ea62\u4e07\u65b0\u589e\u5b89\u88c5\u7528\u6237\u3002CM\u7684\u5feb\u901f\u6210\u957f\uff0c\u90fd\u5df2\u7ecf\u5feb\u8d76\u4e0a\u5fae\u8f6f\u8fd9\u4e2a\u7b2c3\u5927\u667a\u80fd\u7cfb\u7edf\u5f00\u53d1\u5546\u4e86\u3002<\/p>\n<p>As of today, the TextSecure protocol will begin shipping as part of the CyanogenMod OS-level SMS provider, in an effort to provide completely transparent end-to-end text message encryption between all of their users.<\/p>\n<p>\u4eca\u5929\uff0cTextSecure\u534f\u8bae\u5c06\u4f5c\u4e3aCM\u7cfb\u7edf\u7ea7SMS\u5e94\u7528\u7684\u4e00\u90e8\u5206\uff0c\u5411\u6240\u6709CM\u7528\u6237\u63d0\u4f9b\u5b8c\u5168\u900f\u660e\u7684\uff0c\u7aef\u5230\u7aef\u7684SMS\u4fe1\u606f\u52a0\u5bc6\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"integration\">Integration<\/h2>\n<p>We\u2019ve modified the Cyanogen SMS\/MMS provider to speak the\u00a0<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=org.thoughtcrime.securesms\">TextSecure<\/a>\u00a0protocol. If an outgoing SMS message is addressed to another CyanogenMod or TextSecure user, it will be transparently encrypted and sent over the data channel as a push message to the receiving device. That device will then decrypt the message and deliver it to the system as a normal incoming SMS.<!--more--><\/p>\n<p>The result is a system where a CyanogenMod user can choose to use any SMS app they\u2019d like, and their communication with other CyanogenMod or TextSecure users will be transparently encrypted end-to-end over the data channel without requiring them to modify their work flow at all.<\/p>\n<p>Here\u2019s how an encrypted conversation looks:<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/whispersystems.org\/blog\/images\/cyanogenmod-screenshot.png\" \/><\/p>\n<p>There\u2019s no visible difference. Nothing at all changes for the user, and the entire process is completely transparent. The user doesn\u2019t have to initiate a key exchange and wait for a round trip to complete, or know that the recipient is \u201conline.\u201d They simply send a message, and it\u2019s sent immediately. Everything works just like the normal asynchronous SMS experience, even if the recipient doesn\u2019t have their device on.<\/p>\n<p>The demo above uses the stock Messaging app, but users could choose to install any other SMS app instead, with the same effect. We will also be adding some minimal visual feedback to the stock CyanogenMod Messaging app to indicate when the user has an expectation of privacy and when they don\u2019t, but the base experience won\u2019t change at all.<\/p>\n<p>Technical users have the option to verify identity keys, and all users are notified if an identity key changes.<\/p>\n<h2 id=\"technical_details\">Technical Details<\/h2>\n<p>This project incorporates all of the TextSecure protocol features. The encryption layer is the\u00a0<a href=\"https:\/\/github.com\/WhisperSystems\/TextSecure\/wiki\/ProtocolV2\">TextSecure V2<\/a>\u00a0protocol, which employs the\u00a0<a href=\"https:\/\/www.whispersystems.org\/blog\/advanced-ratcheting\/\">Axolotl forward secrecy ratchet<\/a>\u00a0for forward secrecy and the\u00a0<a href=\"https:\/\/whispersystems.org\/blog\/simplifying-otr-deniability\">3DHE agreement<\/a>\u00a0for deniable messages.<\/p>\n<p>The TextSecure V2 cryptographic primitives are Curve25519, AES-256, and HmacSHA256.<\/p>\n<p>The transport protocol is the\u00a0<a href=\"https:\/\/github.com\/WhisperSystems\/TextSecure-Server\/wiki\/API-Protocol\">TextSecure Push API<\/a>, which makes use of a\u00a0<a href=\"https:\/\/whispersystems.org\/blog\/asynchronous-security\">prekey system<\/a>\u00a0to obtain forward secrecy in an asynchronous messaging environment.<\/p>\n<p>The client logic is contained in a CyanogenMod system app called\u00a0<a href=\"https:\/\/github.com\/CyanogenMod\/android_external_whispersystems_WhisperPush\">WhisperPush<\/a>, which the system hands outgoing SMS messages to for optional delivery. The Cyanogen team runs their own TextSecure server for WhisperPush clients, which federates with the Open WhisperSystems\u00a0<a href=\"https:\/\/github.com\/WhisperSystems\/TextSecure-Server\">TextSecure server<\/a>, so that both clients can exchange messages with each-other seamlessly. All of the code involved throughout the entire stack is fully Open Source.<\/p>\n<h2 id=\"the_future\">The Future<\/h2>\n<p>This effort marks the beginning of our transition to the data channel as a TextSecure transport, which should hopefully open up a host of ongoing opportunities. With the\u00a0<a href=\"https:\/\/github.com\/whispersystems\/TextSecure-iOS\">TextSecure iOS client<\/a>\u00a0nearing completion and a TextSecure browser extension about to get underway, soon we will have a truly cross platform seamless asynchronous messaging system built on open protocols and open source software, with an already massive user base.<\/p>\n<p>Cyanogen deserves enormous praise for their substantial commitment of time and resources to this development effort. Their genuine resolve to protect their users from large-scale dragnet surveillance is truly remarkable in a world where most companies are instead angling to collect as much information about their users as possible. They\u2019ve set the bar high for themselves, but I think we can expect more great things from them in the future.<\/p>\n<p>Want to help support Open WhisperSystems? The Freedom Of The Press Foundation is\u00a0<a href=\"https:\/\/pressfreedomfoundation.org\/bundle\/encryption-tools-journalists\">accepting tax-deductable donations<\/a>\u00a0for us and other important projects in this space.<\/p>\n<p>\u2013\u00a0<a href=\"https:\/\/twitter.com\/moxie\">Moxie Marlinspike<\/a>, 09 December 2013<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At Open WhisperSystems, we\u2019re working to both advance t <a href='https:\/\/www.icocean.com\/blog\/?p=4004' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[3907,3910,3909,3908],"class_list":["post-4004","post","type-post","status-publish","format-standard","hentry","category---android","tag-cyanogenmod","tag-open-whisper","tag-textsecure","tag-3908","category-29-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/4004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4004"}],"version-history":[{"count":2,"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/4004\/revisions"}],"predecessor-version":[{"id":4006,"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/4004\/revisions\/4006"}],"wp:attachment":[{"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.icocean.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}