Honestly if your security model involves hiding from the FBI/NSA, you should not be using a cell phone to do your encryption/decryption. That device runs closed-source blobs and can be remotely configured, accessed, and updated by (at least) your carrier and the device manufacturer.
Have each phone generate a public/private key pair, and upload the public key to an anonymous repository.
To escrow a key the client app uses a secret sharing system to generate 10000 key shares, with any 500 key shares being sufficient to reconstruct the escrow key. It encrypts each share with a randomly chosen public key from the anonymous repository. It sends these encrypted shares to the government.
If the government wants to recover the escrow key, it has to make a public request for help in which it publishes the 10000 encrypted key shares. Have an app on the phone that can receive notification of such requests, and if it sees that your public key was used for one of the shares it asks you if you approve the government's request to recover the escrow key, and presents the government's argument in favor of this.
If you approve, the app on your phone decrypts the share, encrypts it with a government key, and uploads it anonymously to the government.
In effect, this system provides a jury of 10000 randomly chosen anonymous phone users to review the access request, and 500 of them have to approve in order for access to be granted.
Not saying this is a good idea, but big tech seems to have figured out how to keep a number secret. This argument may not be very strong as a result.
ASUS did actually deliver a malicious update: https://www.vice.com/en_us/article/pan9wn/hackers-hijacked-a...
See the FBI vs Apple case from a few years ago for an analysis of that.
> Why couldn't they use an escrow key secured in the same ways as update signing keys?
I would expect a key escrow service implemented to the same standards as current large PKI deployments (CPUs, mobile devices, CAs, large software distributions, etc) to be reasonably secure.
However!
* It further enables "turnkey authoritarianism" if and when an abusive regime comes to power.
* It introduces a single point of failure where there isn't one currently.
* It introduces complicated legal compliance issues where there aren't any currently.
* It isn't at all clear how it would relate to decentralized services. (It isn't even clear to me how GDPR is supposed to interact with things like Mastodon and Matrix.)
* It wouldn't actually be useful, because non-escrowed encryption (and stenography in case such is entirely outlawed) are both _readily available_ to actual criminals.
tl;dr: I don't live in China. Let's keep it that way.
What am I missing?
Consider that right now to intercept end2end encrypted messages (and lets just assume facebook has that) a malicious actor has to get physical possession of your device, which implies that you have to be specifically targeted. With a backdoor malicious actors would then be able to target many other things, including for example facebook's servers, to access those messages (and all of them at once). I think simply avoiding the bad PR of "hackers downloaded everyone's messages between 2017 and now" is most of why they want this stuff end to end encrypted.
If Facebook implements a switch in the app that would send your decrypted messages back to them, then a malicious actor would have to compromise Facebook to obtain those message. Right now, a malicious actor can obtain your messages by compromising Facebook and implementing that switch themselves. From a security standpoint that seems identical to me.
The app can bundle the message telemetry with the rest of the encrypted app telemetry when it phones home and even the best security researchers would not detect it. It can also process it locally for profiling and other advertising means.
By examining only the network traffic, sure, but what about by examining the code?
That hasn't necessarily stopped people from learning something about how it works, though.
And that' not even taking into account that it might be possible to push something different to each user.
The point of end-to-end encryption is that this is not supposed to be true
Do you know WhatsApp encrypts your messages? Or do you just believe it because Facebook said so? How would you tell if the app was modified to disable it? Do you decompile and audit every binary sent to you by the Play Store? What abut the binaries your peers were sent? And what if their key directory served you a wrong key?
E2E encryption isn't useless, but I see a whole lot of technical people confused about why it's useful. Namely, it's a legal/political hack. The law says the government can make you hand over data you have. It doesn't say the government can force you to make arbitrary changes to your life or business to enable them to have whatever data they want. Obviously this would be two very different laws with very different impact: specifically, it would be a law enabling law enforcement to compel arbitrary action. Such laws are extremely rare and usually tightly limited.
But if such a law were to be passed, the technical infrastructure becomes useless. FB could just be forced to switch it off.
But you still have to trust the application that does all this behind the screen to not leak your decrypted keychain or personal credentials. Facebook's messenger app is closed source so who knows that's happening there.
Facebook “can” read messages in the former sense, but apparently not the latter.
I think the distinction is a meaningful one, legally.
But the courts can’t force me to do that.
They can force me to turn over lettuce that’s already in the ground.
In both cases I “can” deliver a hundred pounds of lettuce to the courts. But the courts can only demand things I already possess. Not “whatever I am capable of collecting”.
However, one thing I'd be curious to learn more about from this community...
Facebook Messenger isn't encrypted now. What are the biggest examples where that has hurt users. I'm sure it happens, maybe frequently, but one thing that's impossible to get a sense of is the SIZE of the tradeoffs here. What's the biggest thing that's happened that we know about?
Listening to the tech lawyers today at the Senate hearing, the pro-privacy side hasn't made a clear argument about just how bad it is now in FB's case, and just how bad it was before several years ago in Apple's case.
(For FB you can understand why they wouldn't want to say their current system is a nightmare for users. Also, I understand a backdoor is different from the status quo or previous setups... not asking about a backdoor here.)
While I don't like or use Facebook. I can't agree more with this sentiment.