Skip to main content
11 events
when toggle format what by license comment
Mar 27, 2015 at 21:37 comment added user3363866 Formally, this should be possible if you use a sufficiently secure cipher (e.g CPA secure). Intuitively, uploading the secret key is not a good idea. If you prefer, you can find other possibilities, like for example deriving a key directly from a password (see key derivation functions).
Mar 27, 2015 at 19:41 comment added Alex Last question. If I encrypt the private key with a key derived from a password, can I store it on a server for the user to be able to log in on other devices - securely that is?
Mar 27, 2015 at 19:17 vote accept Alex
Mar 27, 2015 at 19:17 comment added Alex Now I understand it. Thank you for the clear explanation. I obviously have some reading up to do before I continue on - which in turn is what I want - to educate myself on this topic! The answer is accepted for the main answer as well as the comments above.
Mar 27, 2015 at 19:14 comment added user3363866 Scenario 2: msg server is malicious. Then A encrypts for B. The msg server sees the ciphertext but can not decrypt/read since it does not have the secret key. So using 2 independent servers means 2 instead of 1 need to be evil to break the secrecy =)
Mar 27, 2015 at 19:12 comment added user3363866 Two different servers only help if they are independent. If they collude, you ' re lost again. But if only one is malicious, it does nit break secrecy. Scenario 1: key server is malicious. If A asks for the public key of B, the server responds with a wrong one, potentielly its own. A will encrypt the message with a wrong key which the key server could read, but uploads the msg to the message server which is assumed to be honestly and therefore the key server can not read the msg. On the other hand, B can not read the message, so this can be seen as a denial of service.
Mar 27, 2015 at 19:06 comment added Alex How would using two different servers help? In the worst case mitm could still be used to switch keys, right? How would I use two servers practically to ensure secure usage? Thank you for taking your time to help me grasp the problems with this sort of security.
Mar 27, 2015 at 17:58 comment added user3363866 Hm i think you already meantioned the solution yourself. Store the private key locally and encrypt it using password-based encryption. So euch user can only access the keys/accounts he has the password for. But the mitm is still a problem. Think of how A gets the key for B: it asks the server for the pub key of B. The server can still lie, provide its own key, decrypt it and encrypt and send it to B (remember that the server also has the original Pub key of B). I am pretty sure you can not solve this if the key server and the message server are the same.
Mar 27, 2015 at 14:09 comment added Alex Now that you mention it that is obvious. So generate the key pair client-side and then sending the public key to the server is the obvious way to go. If the server only has the public key, it cannot decrypt messages meant for anyone else, only encrypt them - right? I want to do as much client-side as possible and trust the server as little as possible. Storing the private key using local storage is only feasible if it gets encrypted with a key derived from the password - correct? My final question is, how could multiple log-ins be handled? Since the private keys would be stored on one device.
Mar 27, 2015 at 12:24 review First posts
Mar 27, 2015 at 12:25
Mar 27, 2015 at 12:20 history answered user3363866 CC BY-SA 3.0