-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Group Communication #83
Comments
Do you already have a concrete use case for this? |
Nope. Just a wild idea so far. :) |
Is WebRTC group communication something that's already being done? |
For something like a video conversation, you will have to establish a peer-to-peer connection to every other participant (or use a server that bundles the streams, but that would basically be MITM as a service). SaltyRTC is a little bit painful for that at the moment as you will have to create n WebSocket connections with TLS, the full handshake, etc. This is where group communication would kick in. I have a broad concept in my head where the participants have to exchange a secret key beforehand. They'd use the secret key for authentication towards the server and then ephemeral key pairs would be established as for 1-to-1 communication. The difference is that there's no initiator/responder relationship but everyone can communicate with everyone else on a path. |
I think that's definitely something for a future version, not something we should worry about for the 1.0 version :) I think first we'd need some more real world users before adding more complexity. |
I completely agree. (The only reason I've mentioned it in #112 is because I want to change the path slightly.) |
But do we really need that in the path right now? All peers need to agree on the used path anyways, so they can just as well agree to use a new URL schema instead of the old one once we need it. I think it would confuse people more than it helps if we already put the communication mode in the URL even if no other modes than 1to1 are supported. |
I think you're forgetting the server here. The server needs to know which mode clients operate in. And a change later might be a lot harder than doing it now. Even now, we can only provide compatibility in case administrators update the server before the clients are updated (if we do it the way it's suggested in #84). |
Here's my current idea (I'll update this posting from time to time). KeysGroups have a secret key all group members need to know. Removing group members will require changing the secret key of that group. Therefore, we should recommend that group keys are always short-term. However, key management will be entirely up to the application (as it currently is). As in initiator/responder mode, group members will establish session keys with one another. PathGroups will use Client-to-Server
Client-to-Client
Changes to Initiator/Responder modeThe path should be changed to ProtocolThe protocol version should probably be |
Currently, the spec provides 1-to-1 client communication only. There might be use cases for group communication with a shared secret key or multiple responders communicating with an initiator.
The text was updated successfully, but these errors were encountered: