Rabble on Nostr: I agree we need real private messages and groups. I’ve looked at lots of ways to do ...
I agree we need real private messages and groups.
I’ve looked at lots of ways to do this and I believe this is most promising.
https://p2panda.org/specification/encryption
We’ll need to figure out how for clients to store a set of keys for the groups they’re in. We can do it by encrypting a key collection in an event for the client itself.
MLS is a pretty well thought out of way of doing encrypted groups. In particular p2panda has found a way to do it in a decentralized architecture where the servers simply are dumb data stores like exists with nostr.
From the notes:
Private groups with Sender Ratchet Secrets
Ephemeral AEAD secrets, derived from MLS Secret Tree of current group epoch, used on a per-message base, gives Forward Secrecy (FS) and Post-Compromise Security (PCS).
Advantages:
* Provides strong security for any size of group, even very large groups
* Every message is encrypted with an individual key, attackers will not be able to read past data or future data when a key got compromised
Disadvantages:
* Members joining a group later will not be able to decrypt past data
* Clients have to store decrypted messages somewhere on their end as keys get useless soon
I’ve looked at lots of ways to do this and I believe this is most promising.
https://p2panda.org/specification/encryption
We’ll need to figure out how for clients to store a set of keys for the groups they’re in. We can do it by encrypting a key collection in an event for the client itself.
MLS is a pretty well thought out of way of doing encrypted groups. In particular p2panda has found a way to do it in a decentralized architecture where the servers simply are dumb data stores like exists with nostr.
From the notes:
Private groups with Sender Ratchet Secrets
Ephemeral AEAD secrets, derived from MLS Secret Tree of current group epoch, used on a per-message base, gives Forward Secrecy (FS) and Post-Compromise Security (PCS).
Advantages:
* Provides strong security for any size of group, even very large groups
* Every message is encrypted with an individual key, attackers will not be able to read past data or future data when a key got compromised
Disadvantages:
* Members joining a group later will not be able to decrypt past data
* Clients have to store decrypted messages somewhere on their end as keys get useless soon