ImpactDevelopment / ImpactIssues

Please use this repo to report bugs and request features
https://impactclient.net/
220 stars 36 forks source link

Add IRC messaging (with encryption) #572

Open Thunder33345 opened 6 years ago

Thunder33345 commented 6 years ago

dosent really matter how, idea is for client to have commands:

.encryptedtell username this only work if a passphrase is given

.setencryptedtell username (passphrase) this sets a passphrase for said user which user is suppose to exchange out of band on somewhere safe/verifiable

.listencryptedtell this list users with their passphrase

.exchangeencryptedkey username (optional) starts a process to perform a private key exchange to the user which i doubt it possible since the server can simply man in the middle so this must be perform somehow out of band if it's even possible

.encryptedsay [passphrase] say an encrypted message

.setencryptedsay sets the passphrase which was intended for players to exchange it out of band

zPeanut commented 6 years ago

IRC Flashbacks, not sure if going to add.

Thunder33345 commented 6 years ago

not really related to IRC it will just do /tell ENCRYPTED: client will try to decipher if it sees msg starting with ENCRYPTED if it uses IRC that's still vulnerable

LeafHacker commented 6 years ago

I think the main issue with this is the key. We could have obfuscation by encrypting messages with a shared impact key, or we might be able to work something out with impact API. Alternatively impact API might be able to have a separate chat system that bypasses the MC server entirely, but of course you still have to trust the API server.

Thunder33345 commented 6 years ago

ideally it's end to end, the final key is a shared symmetric key(same key to en/decrypt) the problem is a keyexchange that's truly end to end with no trust needed for now we could just use a symmetric key and expect the user to exchange it "securely" and out of mc(on discord, protonmail or something they trust) example

a: i want to use key "123456" with b
a tells b on some secure channel: we will use key "123456" on that mc server we played on
b now knows a want to use 123456 thus put that as key and now can share things securely
jontyms commented 4 years ago

Public key cryptography?