alnf / toxcore

The future of online communications.
https://tox.im
GNU General Public License v3.0
7 stars 0 forks source link

Option to use real PK #23

Closed subliun closed 9 years ago

subliun commented 9 years ago

In Skype you can see your friends in groupchats, so that you can easily start chatting with them from within the groupchat and identify them as your friend. Because new groupchats don't expose your real PK, clients will be unable to identify a peer in the groupchat as someone in their friendslist. This will confuse many users. To solve this, there should be an option to expose your real PK in a groupchat, so that peers in the group can tell if they are friends with you.

alnf commented 9 years ago

Adding my comment. There are two possible options. First, we still go for some kind of "expose" message and exchange the real keys. In this case the client should deal with it and highlight some chat members as your friends if the real keys match. Second, we can still generate sign key, but instead of generation enc key we can use real pk. In this case we must not use announcing but invite friends only with direct invite requests, cause if we use - we sill expose real pk+ip to random dht nodes.

alnf commented 9 years ago

The same as #8

aaannndddyyy commented 9 years ago

advantage of the expose message is, that it works also in bigger chats with only selected peers and without publishing pk to the dht. Disadvantage is to have yet another packet type and complexity.

Advantage of optional use of real pk is that it might be easier and you need not decide to which peers you send an expose message. If you go for the former maybe some synergy from the add GC member as friend ticket can be used. If you go for the latter you'd get two different types of gc. One public and one for friends. Not announcing friends chat to dht, i.e. making them hidden is OK. But why does a peer need two private keys?

zetok commented 9 years ago

@subliun [06:25:51] <zetok> what about introducing something that could be used as identifier (opt-in/out?), without being a real PK?

I.e. similar to the way there "announce"[1] things in new groupchats, there should be an "announce" packet that people could opt-in/out(?) to be able to recognise their friends as friends in groupchats.

Distinction: "Announce" thing would send you identifier[2] as friend info outside of groupchat, preferably before groupchat has been joined.

Then.. muh crypto → you know who is your friend, based on them sending you earlier something that could confirm who they are.

Basically, instead of using real PK, send (if you want) to your friends temporary one, and let them use it to recognise you in groupchat.

[1] Not related to one used in groupchat. [2] Something like temporary PK/SK key pair used only for "announce"

alnf commented 9 years ago

@JFreegman I think we are not going to use real pk, aren't we?

JFreegman commented 9 years ago

@alnf We do not. I want to keep group identities as separate as possible.