Oh, for sure Moxie has a threat model that makes sense to him, but I dispute that it makes any sense in the real world. Google's certificate system is TOFU, so whatever certificate Google pushes to a users' device is what that device trusts updates from thenceforth. And, there's no obvious way for an Android user to verify a certificate *even if they were so inclined*. For my part, as an Android user with a knowledge of and interest in crypto, I have *never* checked a signed APK. Ever. So, if even the more technical end of Moxie's customer base don't check APK signatures, and if most people simply take what Google Play offers them, what's to stop Google pushing a malicious TextSecure? Nothing. Nothing, at all, ever. And all the machinations and air-gaps Moxie and co implement are meaningless, because the TOFU scheme makes Google the root of all trust on the Google Play market. If it were merely about certificates, Moxie would offer up-to-date APKs through his own website and F-Droid repository, allowing him to have utter control over timely updates without an intermediate trusted agent. But he doesn't, and when I asked I finally got an answer: It's because F-Droid doesn't offer metrics, debugging, and analytics. Essentially, he wants Google play so he can get silent feedback on what the Apps are doing in the wild. I don't object to this as long as it's opt-in for users, but I do object that it's being presented as something (threat model) rather than developer convenience. I love TextSecure, and I'm grateful to Moxie and co for creating it. It lets me layer security on a legacy platform that everyone uses in a way that's transparent and extremely user-friendly, while offering security granularity for those so inclined (cert checks). But the delivery is through an intermediary that are essentially a public-facing wing of the NSA, and they have total control over the trust/threat model for 95% of the user-base. So..I don't even. On 13/11/14 17:51, Eric Mill wrote:
Moxie's laid out very clear reasons for why he uses Google Play and discourages other people from building it. You may not agree with him, but he at least has what I think is a coherent security model that he's sticking to.
Really great discussion on it here:
https://github.com/whispersystems/textsecure/issues/53 https://github.com/whispersystems/textsecure/issues/127
Namely, he trusts apps signed with his signature (a process he manages using his own airgapped system) and that's it. *You* may not hinge your trust of the application on his signature, but he does, and he wants ideally every TextSecure install to have it.
Both threads above are from before the CyanogenMod deal. To make that happen, Moxie's team built a secure self-update path for the app, which removed most of the barriers to requiring Google Play.
The other main barrier is push delivery, which right now uses Google Cloud Messaging. High quality push delivery to a kabillion devices is very hard, and not easy to replace. However, Moxie has encouraged people to take advantage of the server's WebSockets support, and to build an option for that into the client if they want to remove the last barrier to Google support -- while warning that WebSockets delivery will not be nearly as good as GCM-based delivery.
I was talking with a friend about this over the weekend, and I think that the push that's happening for fully reproducible builds -- where every build produces an identical binary with an identical hash -- would resolve some of the issues Moxie has.
Then, Moxie can sign the hash of the binary, and others who build the source code or get binaries from other places can verify that hash. That still requires some tooling or verification UX, and for builds to be reproducible by other people than Moxie, but it could make a difference.
-- Eric
On Thu, Nov 13, 2014 at 6:12 AM, Cathal Garvey <cathalgarvey@cathalgarvey.me <mailto:cathalgarvey@cathalgarvey.me>> wrote:
Nope, I haven't had to install Play for Textsecure at all, and I don't use or have a personal Google account. When it offers to set up data channel, just skip it, and TS reverts to encrypting over SMS instead.
Redphone also has a "no google" mode where it announces incoming calls to other RP users with a simultaneous SMS, but I've found it to be very buggy in my builds; calls connect but no sound transmitted, etc.
As far as "where to get it", here's a copy: https://ngrok.com:61924/__owncloud/public.php?service=__files&t=__264659e23e8733b528386eaa6f52d5__ef <https://ngrok.com:61924/owncloud/public.php?service=files&t=264659e23e8733b528386eaa6f52d5ef>
Cert is self-signed: SHA1: 63:9B:E2:FA:D8:A9:66:DE:46:B7:__E4:C2:18:47:73:04:C0:12:FE:1F SHA256: CF:D2:82:0D:C8:65:CE:EB:2E:3F:__36:EC:DA:9E:82:4E:2E:BD:51:19:__6A:7E:11:65:50:40:57:9E:B8:79:__8D:A2
This is an older build by now. Frankly I'm holding out for a JS build of Textsecure and I'll probably try FFOS, then. FDroid and Textsecure are my "killer apps" tying me to Android. I just wish Moxie would let them play nice together.
On 12/11/14 23:13, Seth wrote:
On Wed, 12 Nov 2014 14:29:04 -0800, <bluelotus@openmailbox.org <mailto:bluelotus@openmailbox.org>> wrote:
Where can TextSecure be downloaded?
Best workaround I've found so far if you want to download Google Play APKs on your computer and then transfer them to your phone manually is Raccoon:
http://www.onyxbits.de/raccoon
Requires java along with a 'dummy' Google account, but gets the job done with the least amount of hassle.
Unfortunately, it appears that TextSecure still requires the Google Services framework to be installed and running on the Android device. Haven't figured out yet how to do this manually this without installing Google Play.
Also, FWIW, you can (or at least you used to be able to) manually remove a Google account from an Android phone without having to factory reset the device.
http://www.sleetherz.com/__android-news/how-to-change-__gmail-account-on-and... <http://www.sleetherz.com/android-news/how-to-change-gmail-account-on-android-market-without-factory-reset/2511/>
-- konklone.com <https://konklone.com> | @konklone <https://twitter.com/konklone>