Author

Topic: Wallet Security ideas ("escape" address, and physical key based "vault") (Read 3301 times)

sr. member
Activity: 350
Merit: 251
Idea 1: Just keep a backup of the wallet that is on the phone.
As soon as it is stolen, mount the backup in your desktop client and transfer the funds somewhere else.

Idea 2: This can only be done when contracts are implemented in the mainline client otherwise the transaction will never be stored in the blockchain.

Regarding 2, Gmaxwell mentioned that it can be done if the client can be programmed to create yet another private key (wallet file) encrypted on the USB key, and move funds to that. So, it's already possible, but don't know how well it will work.
I know there are better and more secure ways of doing this, but I'm thinking about how to make it easy enough for grandma to do it.

I think you can already do this with the bitcoind.exe, I never used the android app , but if you could force it to use the local daemon you would only be using the wallet on the local computer rather than on the phone. as far as i know that would work, but for grandma you would need to make the process easy, you push a button in the client and it pops a box open with a QR code and manual information box, and a test button on both the phone and the client to ensure everything was typed in correctly. all it would do is list username/password ip:port and some random characters for testing.
legendary
Activity: 1680
Merit: 1035
Idea 1: Just keep a backup of the wallet that is on the phone.
As soon as it is stolen, mount the backup in your desktop client and transfer the funds somewhere else.

Idea 2: This can only be done when contracts are implemented in the mainline client otherwise the transaction will never be stored in the blockchain.

Regarding 2, Gmaxwell mentioned that it can be done if the client can be programmed to create yet another private key (wallet file) encrypted on the USB key, and move funds to that. So, it's already possible, but don't know how well it will work.
I know there are better and more secure ways of doing this, but I'm thinking about how to make it easy enough for grandma to do it.
jr. member
Activity: 56
Merit: 1
Idea 1: Just keep a backup of the wallet that is on the phone.
As soon as it is stolen, mount the backup in your desktop client and transfer the funds somewhere else.

Idea 2: This can only be done when contracts are implemented in the mainline client otherwise the transaction will never be stored in the blockchain.
legendary
Activity: 1680
Merit: 1035
Sorry for cross-posting these two, but since you guys are working on alternative clients, maybe you could have some ideas of how to implement this too.

Idea 1:
Not sure if this was mentioned before, but it would work like this:
Phone wallet software would ask to configure a PIN number, number of incorrect attempts to allow, and a Bitcoin address to dump money to. Let's say the # of attempts is 3, and the bitcoin address is MyBitcoin, some other online storage, or my home wallet address.
To use the wallet at a store or with a friend, I just type the PIN number and have quick access to my money.
If my phone is stolen, and the thief tries to guess the pin, after 3 tries the phone quietly sends the coins to the pre-configured address, but keeps requesting a pin number, not letting the thief know the money is gone already. This way, the money will be returned instead of being lost. Likewise, an option can be made that if the wallet isn't accessed for some period of time (say, 24 hours), the money will be sent out as well. This will help prevent lost bitcoin due to lost phones.
Now, I know someone could backup the phone's entire file data, take the phone offline, and keep trying then restoring the data, but if you're just storing maybe $20 to $50 of walking around cash, hopefully that will be too little for that much work to be worth it. Not sure if something similar can be implemented in the PC-based Bitcoin software, too (doubt it).


Idea 2:
I was reading through Bitcoin Wiki, and came across https://en.bitcoin.it/wiki/Contracts, which is essentially a built-in escrow/contract system that can be used to require two keys, one direct and one of a third party, to release bitcoin that was sent to an address. How difficult would it be implement the second escrow key on a USB stick? Example would be, say I'm a high-roller (early adopter) with thousands of bitcoins, and I want to secure a few of them in a "vault." I would use the Bitcoin software to send some bitcoin to my own address, and the software would configure and encrypt a key to the plugged-in USB stick that contains the second "escrow" address. I then take out the USB stick and store it securely somewhere. If someone manages to steal my wallet.dat file later, they will still not be able to access the money in my "vault" without this physical USB stick.

Thoughts?
Jump to: