Skip to content
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

Security consideration #5

Open
yuanqili opened this issue Apr 19, 2017 · 3 comments
Open

Security consideration #5

yuanqili opened this issue Apr 19, 2017 · 3 comments
Assignees

Comments

@yuanqili
Copy link
Owner

Goal: Messages are encrypted and then transmitted through the server (stored in server's database), but the server doesn't know anything about the message. It just passes the message to the target client.

Idea: Using public/private key pair.

Detail:

  • PA, VA: public and private key of Alice, PB, VB: public and private key of Bob.
  • Server will store all users' public keys.
  • For a message msg, Alice sends PA(msg) and PB(msg), i.e., the message encrypted using Alice's public key and Bob's public key.
  • Server will sends PB(msg) to Bob. Bob is able to view the message by VB(PB(msg)) using his private key.
  • If Alice wants to view her message history, she can acquire PA(msg) from the server, and decrypt using her private key VA.
@yuanqili yuanqili self-assigned this Apr 19, 2017
@yuanqili
Copy link
Owner Author

Instead of sending PA(msg) and PB(msg) to server, only send VA(msg). The server will automatically encrypts it again using PA. It also makes Bob able to verify Alice's signature.

@yuanqili
Copy link
Owner Author

See PKI

@yuanqili
Copy link
Owner Author

Probably using SSL connects to the server (and buy a cert)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant