Closed Bug 1012209 Opened 10 years ago Closed 7 years ago

integrate textsecure to text messages

Categories

(Firefox OS Graveyard :: Gaia::SMS, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: praveen, Unassigned)

Details

(Keywords: feature)

User Agent: Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0 (Nightly/Aurora)
Build ID: 20131114004004

Steps to reproduce:

With pervasive monitoring becoming normal, it is only a natural response to use encryption everywhere. With smart phones becoming so common it brings us an opportunity to make encyptipn accessible to common people. Cyanpgen mod has already integrated textsecure in its default installation. It would be natural for Mozilla to follow the lead and integrate this protocol in default text messaging application. It would also be great to share the server load like cyanogen mod did. At the least it should be available via an app like lpqui im.  I have made a request for this to loqui team http://github.com/loqui/im/issues/395 if Mozilla can ask them they would consider it with a higher priority. This is a historic opportunity for Mozilla to reaffirm its commitment to privacy.
Severity: normal → enhancement
With recent announcement of adobe partnership for eme support, a response to this request will show where its royalties really stand, the big media companies or its users.
flagging to put this in the backlog.

Praveen, note that we would be happy to see you contributing on this (once we have appropriate UX and such).
blocking-b2g: --- → 2.0?
Julien, I'd love to help in testing, I'm not a coder (I'm a sys admin and I contribute to debian packaging in my free time). I can also help in promoting firefox os (I wrote an article introducing firefox os in my local language http://swathanthram.in/2014/firefox-os-intro/)
Triage: at this moment it's a bit late to add new feature in 2.0.
ni? wilfred to see if we want this in 2.1.
blocking-b2g: 2.0? → backlog
Flags: needinfo?(wmathanaraj)
2.1 will start focusing in this direction but for 2.1 this wont be  an item. We can look at an upcoming release.

but generally yes these types of features would fall under our topic of trusted and safe initiative and would be of interest; we will also need to talk to the security teams.

leaving NI on me till we have had a chance to talk about this to other teams.
Confirming in the sense that this indeed is a missing feature and it would be good to have this feature.

Note that a JS port of TextSecure is already in development as a Chrome extension (though there's a bit of non-JS code to implement Curve25519):
https://github.com/WhisperSystems/TextSecure-Browser

It's a bit unclear if the code is under GPLv3 or LGPLv3.

Gerv, do we have an anti-GPL policy for the core Gaia apps despite Gonk having GPLed (v2) bits to cater to potential partner discomfort with the GPL? Are Gaia apps allowed to use LGPLed code?

However, if the GPL is not a problem (e.g. if implementing this as a Marketplace app that doesn't need to cater to partner discomfort of the GPL), the technical steps would be:

1) Take the code of the Gaia SMS app (for UI and for insecure messaging with people who don't have TextSecure).
2) Take the protocol code from the Chrome extension.
3) Replace the NaCl implementation of Curve25519 with asm.js or, better yet, support for Curve25519 in our Web Crypto impl.
4) Add UI for distinguishing secure (TextSecure) and insecure (SMS) messages and for managing TextSecure-related data like key fingerprints.
5) Add support for Mozilla's push notification system to the app for getting notified of incoming TextSecure messages.
6) Add support for Mozilla's push notification system to TextSecure-Server.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(gerv)
Policies about Gaia are not as set by years of precedent as policies about core Mozilla code, but my understanding is that the aim is to keep Gaia permissively-licensed, and that this directive comes from Andreas. We should speak to him if we think we have a good reason for doing otherwise, to see how strong his feeling on the subject is. 

A scan shows the Gaia directory of a Flame checkout to be currently almost entirely free of GPL-only code. (There is some dual-licensed stuff, and a few images which are probably false positives.) However, there is quite a lot of MPLed code, although I haven't reviewed it all so I don't know if it actually ships. (Certainly, the first page of results is test code.)

Of course, Marketplace apps have no such restrictions.

Gerv
Flags: needinfo?(gerv)
Flags: needinfo?(wmathanaraj)
We have encouraged the TextSecure folks to port their app to Firefox OS and honestly this probably the best way forward although implementing some of the features and best practices into our messages app would be worthwhile too.
So what is the current status of this topic? Is it now upon TextSecure folks to support Firefox OS? So Mozilla does not think end to end encrypted messaging a priority for itself? If Mozilla can clarify its stand it would make it easier for me to decide if it is worthwhile promoting Firefox OS.
(In reply to Praveen A from comment #9)
> So what is the current status of this topic? Is it now upon TextSecure folks
> to support Firefox OS? So Mozilla does not think end to end encrypted
> messaging a priority for itself? If Mozilla can clarify its stand it would
> make it easier for me to decide if it is worthwhile promoting Firefox OS.

This is not in our roadmap for the near future it is really up to TextSecure to decide if they want to port their app to Firefox OS. We hope that they will choose to do so as they did with Android.
Some work is being done on a Secure Element API (cf [1], bug 879861, [2]), which is necessary to securely keep a private key on the phone.

With this API I believe it could be possible to write such an application. I don't think the SMS application is the right place to do this though.

With the architecture that we'll work on for Firefox OS v3, I believe it could be easier to replace part of the application with another logic.

[1] http://opoto.github.io/secure-element/
[2] https://wiki.mozilla.org/WebAPI/WebNFC#Fifth_iteration:_Secure_Element_and_NFC_Privileged_API_.28Firefox_OS_v2.2.29
blocking-b2g: backlog → ---
I think its worthwhile to spend my energies on Replicant and leave Firefox OS to itself https://poddery.com/posts/1687531
(In reply to Julien Wajsberg [:julienw] from comment #11)
> Some work is being done on a Secure Element API (cf [1], bug 879861, [2]),
> which is necessary to securely keep a private key on the phone.

That's like saying that a TPM or a smart card is necessary to securely keep a private key on a desktop. That's true if the attacker is already reading and writing the file system, but still the common approach is to put private keys on the file system.

A quick look at the code for the Android version of TextSecure suggests that TextSecure uses normal storage with userland encryption to store the private key.

> With this API I believe it could be possible to write such an application.

TextSecure uses a Curve25519 private key. Seems unlikely that you'd find Curve25519 support on a secure element in the near future.
(In reply to Praveen A from comment #12)
> I think its worthwhile to spend my energies on Replicant and leave Firefox
> OS to itself https://poddery.com/posts/1687531

It is TextSecure that prefers to support Android for free FWIW but wanted to charge Mozilla a lot of money to port to Firefox OS. If anything people should be convincing TextSecure to support open platforms at no cost just like they do to closed platforms like Android and iOS.
Mass closing of Gaia::SMS bugs. End of an era :(
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Mass closing of Gaia::SMS bugs. End of an era :(
You need to log in before you can comment on or make changes to this bug.