Open holmesworcester opened 3 years ago
Here's a concrete first proposal. Given the assumption that the admin is honest and the invitee is online, this achieves a few important things:
Here's how it would work:
Once we release this system, we can make this system more secure and flexible progressively on a few different axes.
A less strict version would be:
Another proposal is:
Advantages over above approaches:
Disadvantages over above approaches:
We can pin the public keys for community names (admins) in the app so that an invitee is not trusting a central server to contact the correct admin. But the admin would still trusting the central registration service to decide who they let in, unless they verify keys out of band.
If the admin can confirm out-of-band that the intended invitee joined, they know there was not a MITM. It would still be possible for the centralized registry to impersonate an invitee, receive an invitation, and retrieve group messages, so this still trusts the privacy of the group to the centralized registry.
Few comments
Creation of community:
Kicking a member out:
Process of inviting user:
Registry of users:
Validation of user certificate:
Signing individual messages:
pki.js
doesn't have a method for this, so we should just add pubkey.Note from discussion:
Here we want to have a left sidebar that lets you create new isolated waggle networks with their own family of users, channels, private channels, and DMs that are isolated from each other in every way we can imagine.
We want to make it pretty much impossible for anyone outside a team to DoS a team, or for anyone to be able to infer who is in that team. We can use Tor encryption to protect the privacy of public channels. There are some proposals in the comments on how to do access control.
Removing users gets complicated, but the simplest version is probably to keep a list of all known users and their keys (necessary for orbitdb dm'ing) and to DM each user except the removed user a new key, signed by the admin.
As part of this, we should write up how Tor and Waggle work, for outside review, and circulate it on the tor list for feedback, and in the orbitdb / ipfs communities.
For the security requirements, have a look at the threat model and feedback. We should finalize the details of the threat model but the main pieces are there: https://forum.zcashcommunity.com/t/zbay-threat-model-request-for-feedback/38685?u=holmesworcester
Sidebar mockup: