rainloop-webmail icon indicating copy to clipboard operation
rainloop-webmail copied to clipboard

PGP Keys gone after restart

Open hermann88 opened this issue 11 years ago • 66 comments

Hello, when i restart my server all PGP Keys what have been saved before are gone, private as well as public, i need to copy the key each time again to be able to decrypt/encrypt/sign messages.

Please fix, its annoying! Thanks!

hermann88 avatar Oct 10 '14 17:10 hermann88

PGP Keys are not stored in the server. They are stored in your browser local storage.

RainLoop avatar Oct 10 '14 17:10 RainLoop

How can i store them in the server, browser local storage get cleared every day. Server is in private network, doesnt make sense to me to store it in unsafe browser. Need to copy it than always in clipboard (whats also not safe) to be able to encrypt/decrypt/sign messages.

hermann88 avatar Oct 10 '14 17:10 hermann88

I think the same thing should be an option that let you store it on the server, and allows you to use more of a private key in the event that someone has different identities with the same e-mail account.

programacion-web avatar Feb 23 '15 15:02 programacion-web

Bump. I think this should be added too!

ConnorMcF avatar Apr 02 '15 21:04 ConnorMcF

Yup, I'm running into this too. My personal server is meant to be trusted with the keys. Honestly, I'd be very happy with server side key management and not Javascript.

cluelessperson avatar May 12 '15 05:05 cluelessperson

So you're not adding it then..

ConnorMcF avatar Sep 28 '15 19:09 ConnorMcF

Rainloop PGP is unusable then.

cluelessperson avatar Oct 13 '15 22:10 cluelessperson

true!

hermann88 avatar Oct 15 '15 17:10 hermann88

Very unpolite behavior, just closing all requests while not giving an definite answer..

janxb avatar Nov 05 '15 16:11 janxb

true true

hermann88 avatar Nov 26 '15 17:11 hermann88

lol just closing without appropriate reason...

My1 avatar Nov 30 '15 09:11 My1

This feature is really missing. Currently as it is implemented it is not in any way better than Mailvelope that does it in your browser as an addon, but Mailvelope at least has some good options to manage my keys at least. And it supports encrypted HTML mails as well, something Rainloop misses as well.

Anyway, if the key is password protected, then storing the keys on my own server would be in some way safe. That way I could use Rainloop for PGP encryption on different devices without screwing around with addons on every machine (maybe not even available) and copying around keys.

e-alfred avatar Feb 08 '16 13:02 e-alfred

Bump! As others have said, I trust my own server with the keys (far more than another PC's clipboard). As it stands, I'm encrypting my public / private key pairs and carrying them round on a USB, or SSH-ing back to my home PC to check mail - server-side keys would give us a solution for easily sending / opening PGP email via any web browser or mobile device on the fly which would be very useful indeed

sumptum avatar Mar 10 '16 12:03 sumptum

I agree with @sumptum on a self-managed server, server-side keys are a nice Idea, but the user needs to know whether the key is stored server or client side.

also a benefit of serverside keys is that you dont need some stupid javascript for encryption making this work better with bad connections, because if CSS breaks, it's ugly but it works, but if js breaks, it usually doesnt work and the user cannot even realize that beforehand (you dont even want to know how often I got a broken submit button in forums on my phone just because the js didnt load properly).

My1 avatar Mar 11 '16 14:03 My1

im running a puplic mailserver with rainloop and im not sure if its a good solution to put the privat PGP key of every user onto the server ! what if the server gets hacked! well the private keys are encrypted but stil..... BUT there must be a better way ! i just lost my pgp key because (forgot to backup ) my PC crached!

maderluc avatar May 04 '16 12:05 maderluc

Roundcube in its newest version has exactly this feature. Here is a link to it: https://kolabian.wordpress.com/2015/10/13/enigma-plugin-pgp-encryption/

e-alfred avatar May 24 '16 07:05 e-alfred

I think server side encryption needs a lot of work and is very far from the client-side-js current take in RainLoop. However there could be a third way using remoteStorage.js (they already have a module for pgp).

In that way, the client side javascript would connect to the remote storage server and retrieve the keys to use in the front-end. If you only trust your own server, then you still could install a remoteStorage service in it alongside with RainLoop. It might seem a lot of overhead, but the truth is that it would require minimal changes in the current RainLoop source.

@RainLoop what do you think about this possibility? I'd be interested in coding it for myself.

esroyo avatar May 24 '16 09:05 esroyo

I am running it inside Owncloud as a plugin and it already integrates some things, maybe this could be an approach?

Link here:

https://apps.owncloud.com/content/show.php/RainLoop+Webmail?content=165254

Anyway, the Roundcube plugin relies on GnuPG to do the encryption stuff, which is proven and reliable. If you trust a server to store your keys, you probably can install stuff on it as well. If somebody else manages it, client side encryption using Openpgp.js/Mailvelope is probably a better choice.

e-alfred avatar May 24 '16 09:05 e-alfred

@e-alfred Seems ownCloud doesn't provide support for remoteStorage anymore. Installing as separate service is recommended instead. So it wouldn't make any diff to a regular RainLoop install.

I don't see any excitement around the remoteStorage idea, but still considering it for myself :stuck_out_tongue_closed_eyes:

esroyo avatar May 28 '16 09:05 esroyo

This is the one big downside in my mind of rainloop compared to roundcube. I don't understand why this would be implemented client side. Private keys can be protected with symmetric encryption. Have all encryption and decryption happen on the client side and save encrypted private keys on the server. The server can never know your private key if it is only decrypted by the client. This is hardly a security risk and would make this feature actually useable, which it currently is not.

dnut avatar Jun 25 '16 21:06 dnut

@dnut has hit the nail on the head here, rather than store these keys on the browser there is absolutley no reason these keys can't be encrypted and stored on the server. As it stands, Roundcube now has a better PGP implementation and I'm almost tempted to go back - but its user interface is still stuck in 2006.

goregrish avatar Jul 19 '16 06:07 goregrish

I agree that for most users storing keys (password protected) on the server will be better than in the browser storage. The expected behaviour when you "import keys" is that they will persist between browsers. Also, it should be explicit that the current mechanism is a risk on a public computer (eg. internet cafe).

zeigerpuppy avatar Jul 25 '16 06:07 zeigerpuppy

This is really important, although the issue should be renamed ^^

jcgruenhage avatar Dec 02 '16 11:12 jcgruenhage

The keys should be stored on server side while keeping the operations on client side. I don't wan't to keep importing them as I delete my cache or switch to a new computer/device.

PoGo606 avatar Jan 03 '17 22:01 PoGo606

There are trade-offs here. If you store the keys server-side then you need to trust that the server is secure and that they won't hand over your keys to a third party. Really, I wouldn't call that end-to-end encryption any more (more like server-to-end encryption!). But I agree that for a lot of users having the option of "trust the server" may make workflows easier and perhaps even more secure (is local key storage more secure for most users?). So I think the default behaviour is good but needs to be documented better and an option should be allowed for server-side storage too. By the way, the main devs have been very quiet lately, do you think this project may be dead?

zeigerpuppy avatar Jan 03 '17 23:01 zeigerpuppy

@zeigerpuppy If keys are encrypted client side before being sent to the server, you don't have to trust the server any more than with the current behavior. Sure, you have to trust that the javascript being run locally doesn't expose your unencrypted key, but that's equally true for any key managing web app, including the current version of RainLoop.

dnut avatar Jan 03 '17 23:01 dnut

I see your point, I guess whenever keys cross the browser divide and are decrypted they could be exfiltrated by rogue javascript. I agree storing the keys encrypted server-side would be a reasonable compromise as long as decryption happens client side.

zeigerpuppy avatar Jan 04 '17 00:01 zeigerpuppy

Server side keys are essential for this feature to be of any use at all. Other webmail clients do it and from a security point of view I fail to see any reason why Rainloop shouldn't either.

madpsy avatar Jan 12 '17 22:01 madpsy

@madpsy I'm sure you mean RainLoop and not Roundcube, right? ^^ I totally agree, it is a must have, firefox frequently deletes cookies and then I need to reimport everything, that is not user friendly at all.

jcgruenhage avatar Jan 13 '17 01:01 jcgruenhage

Indeed (corrected). The private key is encrypted by a passphrase so I don't see any implication of storing it server side except of course the chunk of time needed to write the code.

madpsy avatar Jan 13 '17 08:01 madpsy