The Long Tail of Work Left Until ActivityPub Has E2EE
13 points by PuercoPop
13 points by PuercoPop
As someone who uses ActivityPub a lot I certainly encourage this work. I'm not really skilled enough in cryptography to be able to materially contribute to a lot of it. As someone who implements cryptographic solutions in applications but doesn't create new ones, my read of this feels sorta overkill?
Like I understand not trusting the server operator, but could we do some sort of immutable ledger anchoring or multi-witness verification to say "hey this key has changed" and have the client alert you? I understand this wouldn't prevent a situation where multiple servers were compromised, but it seems statistically unlikely given how there's little coordination between server administrators. I understand this would require someone to host the ledger but that seems doable. It wouldn't be a guard against state-level attacks but it would allow for faster implementation of E2EE.
Or could you do something even more simple like "locally sign a statement S = sign_K(userKey, actorURL || pubKey || timestamp), put it on a website you control or automate the publishing to a gist or Keybase or something and then allow the client to check that when they look at the key on your profile"? This requires some effort from the user, but it feels like something you could like mostly automate for people? Like this feels like a perfect usecase for WebAuthn-backed keys.
This is mostly my own curiosity, not an attack on the work this person is doing. I just read this as sorta positioning ActivityPub messaging as a Signal alternative, which is fine, but seems like a very ambitious goal vs the common use-case of these messages which is exchanging text between two people.
Like I understand not trusting the server operator, but could we do some sort of immutable ledger anchoring or multi-witness verification to say "hey this key has changed" and have the client alert you? I understand this wouldn't prevent a situation where multiple servers were compromised, but it seems statistically unlikely given how there's little coordination between server administrators
Yeah, I get the appeal of going lighter: coordinated attacks across unrelated servers do feel unlikely day-to-day. But we've seen governments push broad mandates (think Chat Control stuff), and once that kind of pressure hits a bunch of operators at once, the simpler approaches can fall over in the same way.
The transparency log approach also opens the door for some useful side benefits, like extra data fields that other Fediverse tools could build on.
I just read this as sorta positioning ActivityPub messaging as a Signal alternative, which is fine, but seems like a very ambitious goal vs the common use-case of these messages which is exchanging text between two people.
I can't find the post offhand, but he's mentioned several times that he doesn't view this work as competing with Signal. Rather, just raising the floor.
For sure and again asterisk not an expert on this topic. But I guess if those laws were passed and this encryption was not amendable to the sort of backdooring by "the good guys" wouldn't the servers be forced to either close or turn it off? They're mostly run by solo operators or small teams, like a single threatening letter from the EU or US would effectively terminate their hosting. I'm not sure how the more complex technical implementation gets around a compliance and regulatory problem.
But I guess if those laws were passed and this encryption was not amendable to the sort of backdooring by "the good guys" wouldn't the servers be forced to either close or turn it off?
Yeah, I could see that happening. Better that than silent failures, I suppose?
They're mostly run by solo operators or small teams, like a single threatening letter from the EU or US would effectively terminate their hosting. I'm not sure how the more complex technical implementation gets around a compliance and regulatory problem.
Well, even if all the hosts in the US and EU were shut down by Big Brother, there are many more countries in the world. That's the point of being decentralized, no?
Sounds ambitious, but I don't think this will bear fruit. Could be wrong, but I don't think I am.
SWICG is part of W3C and has the budget to support the MLS work. I'm not worried about that. But the lions share of this blog is about Soatok's own work and he's just one guy. That bus factor is going to be a problem.
I of course encourage people to work on what they find interesting, but as a former very heavy ActivityPub user and someone who still posts a lot of stuff on there in DMs and followers-omly posts, I just don't think this fits my threat model.
I have dozens of friends on perhaps a dozen AP instances. My posts go to all of them, and would even if they were E2EE. Of those instances, all but two are run by people I know personally, and one of those is run by a community organization I used to be part of. To me, that's the point of ActivityPub - not "reach", but the ability to communicate with my friends as a big group, in a way that doesn't get lost quickly (like a group chat) or make individuals feel singled out or pressured to respond.
In this use case, it makes sense for me to trust the servers they use. After all, if I were to post anything the law cared about, they could more easily go after my friends' individual computers. Instances map (roughly) to social groups, so if I stop trusting a whole group I'll simply suspend that server.
Good luck and godspeed, but I personally won't hold my breath. ActivityPub is already private enough for me.