rfk
IIUC your question here boils down to "what is the point of a hash tree?" as opposed to e.g. a list of individual chunk hashes. The answer is that a hash tree lets you verify an individual chunk by looking at the hashes of O(log(N)) chunks rather than having to look at the hash of every chunk.
It's certainly a trade-off that not everyone is comfortable with, but we're confident it's the right one for the majority of our users. You can read some previous discussions on the topic in these bugs (and additional suggestions/feedback therein is definitely welcome):
* https://bugzilla.mozilla.org/show_bug.cgi?id=1034526
* https://bugzilla.mozilla.org/show_bug.cgi?id=1447656(article author here)
To add to @callahad's excellent points: unmaintained critical infrastructure on your security perimeter is even worse, and a service like Persona is about as security-critical as you can get!
Persona was (and will remain until the end of November) covered by Mozilla's bug bounty program, meaning that it has been getting regular security bugs filed against it. Most have been spurious, some have not, but each of them has been a fire-drill because Persona gates access to so many of Mozilla's internal services.
We have been able to respond effectively so far, because there's a core of ex-Persona developers kicking around other projects at Mozilla, who we've been able to pull back in for these critical maintenance tasks. But that's not sustainable indefinitely.
The only responsible choices for a security-sensitive service like this are (a) staff it properly, or (b) tear it down gracefully. I'm personally quite disappointed that we couldn't find a path to success for Persona at Mozilla, but I'm grateful we've at least found the resources to do (b).
https://mail.mozilla.org/pipermail/gofaster/2015-November/00...
> We may be able to reintroduce a notion of federated identity into FxA at some point in the future
As a member of the team working on Firefox Accounts, here's one (hypothetical!) way that might play out in practice:
* grow FxA userbase to significant size, integration with Firefox to significant quality
* allow websites to add "log in with Firefox" via OpenID Connect and get a really slick experience for Firefox users
* influence OpenID Connect ecosystem to be more of a level playing field for smaller IdPs (e.g. increasing adoption of IdP discovery and dynamic registration)
* a win for openness on the web!
Not as big a win as widespread adoption of Persona would be, but a win nonetheless.
This sort of thing isn't exactly on our concrete roadmap, our short-term focus remains on supporting Mozilla's own service ecosystem. But be assured that it's on our minds.
https://github.com/mozilla/firefox-iosGood for the site because they get better advice; good for the user because they get more privacy and control.
(I've nothing to do with the team behind this at Mozilla, and have no idea what their roadmap actually is. But it's pretty clear that this is just a first step in a broader version of re-inventing advertising on the web, not a stand-alone attempt to generate a bit more revenue).
This is still possible with the new system, although I'll admit the ease and usability of such a setup needs work (and IIRC there are some changes required before android devices can properly use a third-party server; it may take a few releases before this become as easy as it was with the old system).
> As it is, it's possible the new sync has a backdoor, > even one many people at Mozilla don't know.
Both the client and server are open-source, and you can verify that the client follows the protocol [1] and doesn't leak anything more than a PBKDF2-stretched password derivative to the server. It's about as backdoor-proof as any client/server system is likely to get.
But yes, it is more dependent on the strength of your password than the previous sync system.
[1] https://github.com/mozilla/fxa-auth-server/wiki/onepw-protoc...
This is possible with the new version, but it's not (yet) as simple as it was with the previous one:
https://docs.services.mozilla.com/howtos/run-fxa.html
https://docs.services.mozilla.com/howtos/run-sync-1.5.html
(edit: actually IIRC there's an open bug around allowing android devices to use a custom sync server; desktop devices definitely work fine with it via some about:config settings)(This may have been tried in the past; in the post "10 years of PyPy" it's mentioned that there was once a JavaScript backend but it was removed because it was a horrible idea: http://morepypy.blogspot.com.au/2013/02/10-years-of-pypy.htm...)
I agree that 139M is pretty ridiculous for any practical purpose! I'm going to work on lazily loading just the files that are needed, which should make a big difference.
PyPy.js: First Steps
https://www.rfk.id.au/blog/entry/persona-identity-provider/
There are some things to be mindful of w.r.t. security in this approach, but it seems to work very nicely for me.(Source: I work for Mozilla, on the Services team)
https://github.com/mozilla/browserid-bigtent