25
7
While this question is similar to others about securing wallets, I think it merits a question of it's own.
One thing that has dissuaded me in the past from running an online wallet service of some kind is the worry that I could be compromised (rubber hose, extortion, intimidation etc) and by extension permit full access to a large collection of bitcoins that I don't own. If I'm running an operation with potentially millions of dollars worth of bitcoins and my contact details become known (not that hard to find really) then I'm naturally a risk to my clients.
I've heard of multi-key encryption so that no one person has complete access (client PIN etc), but I'm not sure if that would solve the problem.
So my question becomes how can a single person operation ensure that they are unable to compromise the wallets under their care? Ideally the answer would not require any technical knowledge on behalf of the client beyond a passphrase.
(If such an approach became commonplace then it could act as a deterrent because attackers would simply see that the website uses that approach and slink away.)
I've decided to go with @Fellow Traveler for the accepted answer in light of the work s/he has done in the area. I thought I'd add some of my thinking to the answers under a community wiki to allow others to help grow the solution. Once I'm happy with the first draft, I'll post it up (should be in a day or so). I'd like to thank everyone for their efforts with this tricky question. – Gary Rowe – 2011-09-12T17:27:51.553
This draft is much harder than it first appears, so I've appealed for help from the crypto exchange folks: http://crypto.stackexchange.com/q/746/812
– Gary Rowe – 2011-09-22T21:28:12.577It would appear that there is a way, involving shared secrets, OpenID and a bunch of co-operating nodes. Work is ongoing to solve this problem. – Gary Rowe – 2011-10-15T00:39:13.360
Couldn't this be done with client side encryption? You could create a software to access your service that encrypts/decrypt client side. You would have no way to access the client's coins without knowing the passphrase. Wuala uses something like this for encrypted online storage. You must launch a Java applet from the browser to access your files.
– nmat – 2011-09-04T14:22:15.070@nmat I was hoping to avoid the need for this kind of requirement by the client. – Gary Rowe – 2011-09-05T10:32:38.060
Been reading around this subject over on the Security SE blog and found this entry: http://security.blogoverflow.com/2011/08/12/qotw5-defending-your-website/
– Gary Rowe – 2011-09-06T22:17:27.253And another one: http://security.stackexchange.com/questions/3584/how-do-you-compare-risks-from-your-websites-physical-perimeter-staff-etc
– Gary Rowe – 2011-09-06T22:22:51.180Interesting approach by @Plato – Gary Rowe – 2011-09-08T06:22:25.447