Pages:
Author

Topic: Creating a real wallet for bitcoins (Read 2466 times)

legendary
Activity: 2408
Merit: 1121
August 05, 2011, 01:29:59 PM
#27
Closest thing to secure remote storage is IronKey. You still have to handle the transfer steps yourself, of course.
member
Activity: 98
Merit: 10
firstbits: 1nathana
August 05, 2011, 07:01:05 AM
#25
I thought something like this was already in development?  Called BitPay or BitWallet or something along those lines... but it was a dedicated device to act as a bitcoin wallet.
Yes, this was mine, bitclip. It would, in all common sense, be more secure then an Android device, as it would be ONLY for the bitcoin wallet, and be running not much more then the linux kernel, networking services, x, and the bitcoin client itself. Not much on the inside to own. I am also aiming for low hardware costs by making it unsuitable to run anything else.
member
Activity: 98
Merit: 10
August 04, 2011, 04:48:35 PM
#24
I haven't fully thought this through, so there are probably holes in it. I have a mental picture of what a lightweight wallet client for a smartphone might look like. For the sake of argument, let's say that this client has some way to not require a full time connection to stay in sync with the full block chain. That in itself is a substantial problem to solve, but I'll gloss over it because it's not central to the point I'll make in a moment. Let's further stipulate that this lightweight client has its own wallet in order to carry around a small amount of spending money. Most of the user's savings are in a separate wallet, probably secured back at home, and possibly implemented as we are discussing here.

It seems to me that barcodes such as QR codes would be a natural way to transfer numbers between two devices in person. If you and I both have these hypothetical smart phone apps, and I want to give some BTC to you, then you could display your receiving address as a QR code, I scan it with my phone's camera, and then my client initiates a new BTC transaction using whatever method it has to do that. I like the idea of exchanging addresses via barcodes better than NFC, bluetooth, wifi, etc. because it requires deliberate user action, and it is easy to see that it is going on. In contrast, an attack over Bluetooth could go on silently without the user's knowledge. There may be a potential shoulder surfing problem... Needs more thought. A vendor might display their receiving address on a poster or display, depending on whether they want to use a different address for each transaction.

So, if a standard is developed for using QR codes to communicate between mobile clients, then maybe the same mechanism could be used to interface with a dedicated wallet device? I do like the idea of a purpose-built device that handles a wallet and does nothing else. While an existing device like an off the shelf Android device could be reprogrammed to serve this purpose, I'd feel safer with a device that has no network connectivity at all (not even hardware that normally is not turned on), in order to reduce potential remote attack vectors. There may be some security flaw that lets the device get owned by showing it malicious barcodes, but it would be hard to invoke if the device has a physical cover over its camera and it is locked in a drawer or safe.
member
Activity: 65
Merit: 10
August 04, 2011, 04:32:18 PM
#23
Another option for people with NFC on their phone Grin


The wallet.dat would be stored in the SheevaPlug with backup over internet or by hardware.
You would use the SheevaPlug as a bank and your phone as a wallet.
The token(s) would be used to transfer money between the two with the help of a program capable of securely transferring private keys as well as creating and importing them.

With your phone you send a request code (could include desired amout), only readable by the SheevaPlug, to the token. The SheevaPlug then reads the token and generates a new response which has everything the phone needs to be able to import the private key(s) to the phones wallet. It could also go the other way around.

Im not a programmer so I have no idea how hard it is to create a program like that.
legendary
Activity: 1400
Merit: 1005
August 04, 2011, 04:01:19 PM
#22
I thought something like this was already in development?  Called BitPay or BitWallet or something along those lines... but it was a dedicated device to act as a bitcoin wallet.
member
Activity: 65
Merit: 10
August 04, 2011, 03:50:58 PM
#21
I think I have an excessive level of paranoia, because I rejected all general purpose computers (like phones, tablets, etc) because they are too connected.  I want something that ONLY knows bitcoin JSON over serial.

Whispercore will save your ass if someone physically steals your phone, but I don't think it'll help if the phone gets owned from the inside.

Yes, there will always be dangers like malware and wire(less) intrusion. Usually one can afford to lose money that is in a wallet, especially if it is you have it on your person.
I think buying a cheap android device dedicated to the bitcoin wallet app could be a fairly good wallet. If you make sure everything is encrypted, enable 3G (or WIFI/Bluethooth/NFC) on demand, all other radios disabled and with a secure screenlock it would be pretty safe. A data self destruct mechanism could also be implemented.
kjj
legendary
Activity: 1302
Merit: 1026
August 04, 2011, 01:50:51 PM
#20
I think I have an excessive level of paranoia, because I rejected all general purpose computers (like phones, tablets, etc) because they are too connected.  I want something that ONLY knows bitcoin JSON over serial.

Whispercore will save your ass if someone physically steals your phone, but I don't think it'll help if the phone gets owned from the inside.
member
Activity: 65
Merit: 10
August 04, 2011, 01:43:16 PM
#19
I have a Nexus S running WhisperCore (a ROM with built in encryption) with the bitcoin wallet app.
WhisperCore comes with a backup program called Flashback that will encrypt and upload data to Amazon S3 storage.
Titanium Media Sync is also a good alternative as it will enable you to select files individually (+you dont have to pay for Amazon S3).

I think this is a good and safe enough solution (for me) when it comes to a "real wallet".
Obviously there are still risks and most of them are solved by having a "bank", containing all the bitcoins I can't afford to lose, where the wallet.dat is encrypted in a TrueCrypt container hidden in Wuala, Dropbox, locally on my computer and on a physical medium.
kjj
legendary
Activity: 1302
Merit: 1026
August 04, 2011, 12:01:29 PM
#18
Read this.

I describe a way to incrementally detach the wallet from the client.

Read the rest of that thread too.  It describes my notion of a hardware client, and as an added bonus, Gavin describes a service that would provide a lot of security for regular folks.  Actually, the thread was Gavin's, and all of my stuff was off-topic, but whatever.

Also, read this thread.

And while you are at it, read natman3400's posts, particularly on his project, BitClip.  We don't always agree on the details, but his project looks pretty good.
full member
Activity: 156
Merit: 102
August 04, 2011, 11:13:53 AM
#17
Ideally it would be the size of a credit card. But I don't think the technology is quite there yet.
If it is only thin client (private key storage and signing only, no blockchain/network) I'm sure you could fit the logic on a credit card-sized device.

Ideally it would have a small display to show the amount and a confirmation code, with confirm/reject buttons and communicate wirelessly.

This would be safer than using a smartphone...


You know that's actually an interesting idea. For some reason it never occurred to me that it would only actually have to store the private keys. You would presumably subscribe to a service to actually serve as your bitcoin client... or have a bitcoin client on your home computer that your little credit card communicates with. This actually probably is possible with present technology after all. It would need to be able to 1) Store private keys. 2) Sign transactions. 3) Communicate wirelessly with a bitcoin node to broadcast transactions and read the present balances of addresses.
member
Activity: 98
Merit: 10
firstbits: 1nathana
August 04, 2011, 08:42:36 AM
#16


The problem here is that your wallet becomes vulnerable as soon as you open it. Of course that the card will be "offline" most of the time, but if you use it in a windows computer (or any other, but windows is more dangerous) your money is at risk.

My approach was to create a self contained device that could open your wallet and make transactions with it (so you could use it at a shop for example). You wouldn't have to put it in a computer and we could harden the security of that device.


This is what I'm working on. A self-contained, portable, cheap device that runs a modified bitcoin client. I'm also working on making a secure way to back up the device, and an emergency "send all coins" function that would send all the coins on the device's wallet to a per-deteremined address (possibly hard-coded into the device, and the private key given to the owner of the device?).
member
Activity: 98
Merit: 10
August 04, 2011, 08:31:52 AM
#15
If I understand correctly, on that OpenPGP smartcard the private keys never leave the smartcard. Instead, any signing with the private key happens on the smartcard. If the same idea was used for a Bitcoin wallet, then the private keys of the wallet would never get uploaded to the computer. Malicious code might still be able to use the smartcard to send out bitcoins from the victim's account while the card is plugged in, but it shouldn't be able to steal the private keys for later use.

The OpenPGP smartcard needs to receive a passcode before it'll do stuff. If the card reader has it's own keypad for entering the passcode (some readers do have such a keypad), that can help reduce exposure to malicious software since the passcode never passes through the potentially compromised computer.

I'll poke around for other threads on this topic, too...
hero member
Activity: 602
Merit: 502
August 03, 2011, 11:38:30 PM
#14
And there it is....perhaps?

I am not technical, and cannot program. I am a good theorist though. Maybe someone can develop a short code that loads that into your bitcoin client and swaps info back and forth.

I think the wallet file needs to be secure, but if it's left on a technical device that can malfunction, which would be necessary to run the client, then it can be lost or corrupted, but if the file is saved on a piece plastic and encrypted, then the back and forth loading is all that would be needed, I would imagine.

The problem here is that your wallet becomes vulnerable as soon as you open it. Of course that the card will be "offline" most of the time, but if you use it in a windows computer (or any other, but windows is more dangerous) your money is at risk.

My approach was to create a self contained device that could open your wallet and make transactions with it (so you could use it at a shop for example). You wouldn't have to put it in a computer and we could harden the security of that device.

There are people working on these devices, and hundreds of threads on the subject.  Anyone interested in the idea should search, because this thread is almost word for word identical to many of them.

Thanks for the info. I will do a little search through the forums Wink
member
Activity: 98
Merit: 10
firstbits: 1nathana
August 03, 2011, 11:37:26 PM
#13
Im personally working on one that uses a stripped down pengauchu (or however that is spelt) at its core, which should make for a sub $25 price range. If you want to look into it the link is in my sub, I just currently have a lot of stuff going on right now and can't keep up with it.
kjj
legendary
Activity: 1302
Merit: 1026
August 03, 2011, 11:34:06 PM
#12
There are people working on these devices, and hundreds of threads on the subject.  Anyone interested in the idea should search, because this thread is almost word for word identical to many of them.
sr. member
Activity: 364
Merit: 251
August 03, 2011, 11:03:06 PM
#11
How about a Special Credit Card that keeps the wallet.dat file, then when inserted into your computer card reader device, loads it up into the bitcoin client for you to spend or add to?

I think that is technically feasible. There is a similar smart card for use with PGP encryption. I fact, it doesn't even need to be as big as a credit card. It could be the same size as a SIM card, and the PGP smart card is available in both sizes.

http://en.wikipedia.org/wiki/OpenPGP_card



And there it is....perhaps?

I am not technical, and cannot program. I am a good theorist though. Maybe someone can develop a short code that loads that into your bitcoin client and swaps info back and forth.

I think the wallet file needs to be secure, but if it's left on a technical device that can malfunction, which would be necessary to run the client, then it can be lost or corrupted, but if the file is saved on a piece plastic and encrypted, then the back and forth loading is all that would be needed, I would imagine.

member
Activity: 98
Merit: 10
August 03, 2011, 10:57:38 PM
#10
How about a Special Credit Card that keeps the wallet.dat file, then when inserted into your computer card reader device, loads it up into the bitcoin client for you to spend or add to?

I think that is technically feasible. There is a similar smart card for use with PGP encryption. I fact, it doesn't even need to be as big as a credit card. It could be the same size as a SIM card, and the PGP smart card is available in both sizes.

http://en.wikipedia.org/wiki/OpenPGP_card

sr. member
Activity: 364
Merit: 251
August 03, 2011, 10:47:34 PM
#9
How about a Special Credit Card that keeps the wallet.dat file, then when inserted into your computer card reader device, loads it up into the bitcoin client for you to spend or add to?

hero member
Activity: 812
Merit: 1022
No Maps for These Territories
August 03, 2011, 10:36:25 PM
#8
Ideally it would be the size of a credit card. But I don't think the technology is quite there yet.
If it is only thin client (private key storage and signing only, no blockchain/network) I'm sure you could fit the logic on a credit card-sized device.

Ideally it would have a small display to show the amount and a confirmation code, with confirm/reject buttons and communicate wirelessly.

This would be safer than using a smartphone...
Pages:
Jump to: