BitcoinAuthenticator / CloudBackup

Authenticator wallet cloud backup for the wallet's metadata
0 stars 1 forks source link

Usability and Security #1

Open cpacia opened 9 years ago

cpacia commented 9 years ago

I'm not sure we need manual intervention from the user to create (and remember) a username and PW. We could probably derive an account ID from seed. Maybe a public key derived from the seed?

Instead of logging in to the server to restore the wallet, we could do this automatically by providing a signature on a challenge string.

This would also prevent just anyone who learns of (or guesses) the username and pw from downloading the encrypted wallet and trying to crack it. In practice it should be impossible to decrypt since (unlike BC.I) the wallet is encrypted with a 256 bit pseudo random key. But still we don't want to serve the encrypted wallet file to just anyone. Requiring a signature before serving the wallet is probably the most secure.

Also, wouldn't it be better to just store the .wallet and .config files on the server rather than just the hierarchy? This would store everything (transaction metadata, contacts, preferences, wallet state, etc.) And restoring would just be a matter of replacing the local .wallet and .config files with those on the server.

This would mean any change to those files would have to trigger a new upload to the server.

alonmuroch commented 9 years ago

Thats a cool idea, replacing the password with a pubkey and then requesting you to verify a challenge by signing it is pretty cool. Will definitely worth doing !