Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: TooCasual on February 26, 2013, 07:04:42 PM



Title: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: TooCasual on February 26, 2013, 07:04:42 PM
Hello Everyone,

Wallet security is paramount on most everyone's mind.  I'm not talking about the wallets you use on your phones/tablets etc... they usually have small amounts of Bitcoin.  I'm talking about your "main bank", the whole enchilada, or your Bitcoin en mass... etc. :) ...and having it portable! (for storage in a safe or safety deposit box etc.)

Downloading and using a wallet for the average user on a Windows machine seems very risky with all the key loggers, trojans, viri etc.  Mac OS and Linux are not as vulnerable (except for password theft, laptop theft, and general lack of portability).  An online wallet certainly has its risks too! (hackers, servers down, loss or no internet connection)  So a portable standalone secure USB stick/key that is bootable on any computer (via POST not OS) is really what is required. 

I think its time the big guys who manufacture USB memory sticks (San Disk, Kingston, Verbatim, Lexar, Trancend, Patriot, Corsiar... etc.) should build a secure bootable usb wallet.  It would consist of: (bootable ROM (Linux encrypted OS and wallet files) with a large amount of RAM for the .dat files including the wallet.dat files (64G+ or bigger).   

Starting your machine with this USB stick inserted (after POST) it would prompt you for your password (and/or fingerprint) then boot into the software.  Following that, access to the wallet on the USB stick, including a different password for the transferring of any Bitcoins.  Using the current built of  (Bitcoin-Qt / bitcoind) as the industry standard.

Now, plugging the USB stick into an operating system (Windows, Mac OS, Linux) would display a locked drive, and all the .dat files including a further encrypted wallet.dat file.  This would allow users to back up their wallet.dat file elsewhere - in the case of USB stick damage or failure.

These big companies already have this implemented on most of their USB sticks (with hard coded (ROM) software etc.)  It's small work for any of them to produce a USB hard-wallet.

Some people already do similar to what I've described (without the ROM feature).  But, we need something for the mass majority.  Wallets in general being weakest link are a large concern to current Bitcoin users and new users too.  (How do I keep my BTC safe?? - without taking a computer course)

So lets solve the issue of our permanent wallet security.

The first company that gets the Bitcoin consortium (Gavin Andersen and group) stamp of approval on their product would make a ton-o-BTC... or that old fiat stuff :P

TC.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: buybtc on February 26, 2013, 08:51:07 PM
Have you seen the Paper USB drives?


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: TooCasual on February 26, 2013, 09:08:13 PM
Hmm, no I haven't.  Cool.  Wouldn't want to spill yer coffee on it and lose yer bitties in the process.  Hehe.

Nice to go green though.  They have to be large capacity  (64G +) for the .dat files...

TC


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: hazek on February 26, 2013, 10:26:04 PM
Are you aware of this:
https://bitcointalk.org/index.php?topic=127587.0
https://bitcointalk.org/index.php?topic=122438.0


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: deepceleron on February 26, 2013, 11:42:10 PM
This can be done now, you can boot off tinycore linux liveCD (http://distro.ibiblio.org/tinycorelinux/downloads.html) (12MB). For v0.8.0, install qt-4.x-base through "apps", wget http://iweb.dl.sourceforge.net/project/bitcoin/Bitcoin/bitcoin-0.8.0/bitcoin-0.8.0-linux.tar.gz, and tar xvf bitcoin-0.8.0-linux.tar.gz.

http://we.lovebitco.in/img/tinyBitcoin.png

It will explode after you use up it's 1GB RAMdisk downloading blockchain though, so you install it (http://distro.ibiblio.org/tinycorelinux/install.html) to a 32GB flash drive, and you can now boot a full OS with full GUI Bitcoin off removable disk. You can encrypt (http://gr8idea.info/os/tutorials/tiny-core/tc1/encrypted-home.html) the home directory so Bitcoin data is unreadable without booting and entering a password.

I could easily make such a thing preloaded with blockchain for sale, the trick would be convincing others it is trustable and that future ones I sell would remain trustable.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: Rodyland on February 26, 2013, 11:50:10 PM
I called it. :D  Well, not quite, but it can't be far off once the ASICs are delivered.

https://bitcointalk.org/index.php?topic=14910.msg201278#msg201278


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: deepceleron on February 26, 2013, 11:58:53 PM
I called it. :D  Well, not quite, but it can't be far off once the ASICs are delivered.

https://bitcointalk.org/index.php?topic=14910.msg201278#msg201278

Mining != anything in this thread. There is BAMT (https://bitcointalk.org/index.php?topic=65915.0) for that.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: nwbitcoin on February 27, 2013, 12:21:54 AM
If you placed your virtualised tiny linux wallet in a trucrypt hidden volume, it doesn't need to go on any fancy usb stick - as long as its big enough for the blockchain?

http://www.truecrypt.org/hiddenvolume

its going to take longer to write a decent pass phrase than the time needed to set this up ;)

Maybe I should write a tutorial? ;)



Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: deepceleron on February 27, 2013, 12:41:37 AM
If you placed your virtualised tiny linux wallet in a trucrypt hidden volume, it doesn't need to go on any fancy usb stick - as long as its big enough for the blockchain?

http://www.truecrypt.org/hiddenvolume

its going to take longer to write a decent pass phrase than the time needed to set this up ;)

Maybe I should write a tutorial? ;)


If someone PwnD (http://www.f-secure.com/v-descs/backdoor_w32_bifrose.shtml) your computer, they also can have control and access to anything on it and anything you type.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: nwbitcoin on February 27, 2013, 12:43:58 AM
If you placed your virtualised tiny linux wallet in a trucrypt hidden volume, it doesn't need to go on any fancy usb stick - as long as its big enough for the blockchain?

http://www.truecrypt.org/hiddenvolume

its going to take longer to write a decent pass phrase than the time needed to set this up ;)

Maybe I should write a tutorial? ;)


If someone PwnD your computer, they also can have control and access to anything on it and anything you type.

But isn't that a risk with any computer?  Why would this be a bigger risk?


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: TooCasual on February 27, 2013, 12:49:14 AM
Are you aware of this:
https://bitcointalk.org/index.php?topic=127587.0
https://bitcointalk.org/index.php?topic=122438.0

That product does look great though.

Yes, but it's not exactly what I was suggesting.  Much cheaper solution <$60USD  (a permanent safe so to speak for the big load - I wouldn't want to carry it around with 100+BTC off my key-chain! :D )


My only thinking is that the custom built USB-key wallet is something my GF, mother, dad, grandma, everyone one of my friends it seems and other non techy could use.  I have used tiny, puppy, ubuntu to a custom boot USB key my self.  But a simple to use finger print scanner on usb with rom based os (so they cant screw it up lol) and 64Gig+ portion to the .dat files.  

Its gotta be foolproof and very simple to use.  Security is paramount.

With one of the larger manufacturers making it (Sandisk, etc) people would trust it.  


TC


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: scintill on February 27, 2013, 01:02:33 AM
It will explode after you use up it's 1GB RAMdisk downloading blockchain though

I would rather use a lite client like Electrum, personally.  Then the stick is just a segregated place to keep your private keys and a know-clean OS.  Good enough for me.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: deepceleron on February 27, 2013, 01:03:03 AM
If someone PwnD your computer, they also can have control and access to anything on it and anything you type.

But isn't that a risk with any computer?  Why would this be a bigger risk?

Because we assume that you use your normal computer for doing things like clicking links like these (any of which could infect (http://www.informationweek.com/security/attacks/another-java-zero-day-vulnerability-hits/240146416) your  computer (http://www.securelist.com/en/blog/208194112/Adobe_Flash_Player_0_day_and_HackingTeam_s_Remote_Control_System) with no input from you). Any virtual machine or encrypted sub-system that you run on your system is just as vulnerable since the remote attacker will have the same privileges as you on the main OS.

A USB boot drive is a more secure environment, especially one that comes with no web browser. You install it clean off a LiveCD as I describe above, so it is never potentially tainted. You only type it's password directly into the USB boot OS. The data can be made unreadable by anything other than the boot code on the USB. It's kernel can be firewalled to only accept incoming Bitcoin connections and nothing else.


With one of the larger manufacturers making it (Sandisk, etc) people would trust it.  
Assuming that a manufacturer made (http://www.gearslutz.com/board/music-computers/695013-warning-sandisk-usb-drives-install-malware.html) purpose-built Bitcoin device is automatically better is wrong. I wouldn't trust anything with software loaded up (http://www.nbcnews.com/id/23617651/) in a Chinese factory (http://www.cbsnews.com/8301-505124_162-57513878/beware-of-pre-installed-malware-on-your-new-pc/) with my money, especially a device they know will contain my money.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: Vernon715 on February 27, 2013, 01:08:53 AM
If you want to look for manufacturers, look on alibaba.com

It is kind of like a craigslist for outsourcing.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: TooCasual on February 27, 2013, 01:32:37 AM
Assuming that a manufacturer made purpose-built Bitcoin device is automatically better is wrong. I wouldn't trust anything with software loaded up in a Chinese factory with my money, especially a device they know will contain my money.

That is a good point...  (conspiracy back door key... lol)  Makes you wonder...

So... Then how do you (the bitcointalk users) tell people with almost zero tech skills how to make a high security wallet? As they all probably own a Windoze machine anyways.  Also, it has to be easy to use... Haha, think of all those CEO's, CFO, etc. out there... JK  8)



Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: nimda on February 27, 2013, 02:02:31 AM
Assuming that a manufacturer made purpose-built Bitcoin device is automatically better is wrong. I wouldn't trust anything with software loaded up in a Chinese factory with my money, especially a device they know will contain my money.

That is a good point...  (conspiracy back door key... lol)  Makes you wonder...

So... Then how do you (the bitcointalk users) tell people with almost zero tech skills how to make a high security wallet? As they all probably own a Windoze machine anyways.  Also, it has to be easy to use... Haha, think of all those CEO's, CFO, etc. out there... JK  8)


Generate some entropy by throwing darts, then calculate the private and public keys with paper and pencil.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: cypherdoc on February 27, 2013, 05:47:28 AM
If someone PwnD your computer, they also can have control and access to anything on it and anything you type.

But isn't that a risk with any computer?  Why would this be a bigger risk?

Because we assume that you use your normal computer for doing things like clicking links like these (any of which could infect (http://www.informationweek.com/security/attacks/another-java-zero-day-vulnerability-hits/240146416) your  computer (http://www.securelist.com/en/blog/208194112/Adobe_Flash_Player_0_day_and_HackingTeam_s_Remote_Control_System) with no input from you). Any virtual machine or encrypted sub-system that you run on your system is just as vulnerable since the remote attacker will have the same privileges as you on the main OS.

A USB boot drive is a more secure environment, especially one that comes with no web browser. You install it clean off a LiveCD as I describe above, so it is never potentially tainted. You only type it's password directly into the USB boot OS. The data can be made unreadable by anything other than the boot code on the USB. It's kernel can be firewalled to only accept incoming Bitcoin connections and nothing else.


With one of the larger manufacturers making it (Sandisk, etc) people would trust it.  
Assuming that a manufacturer made (http://www.gearslutz.com/board/music-computers/695013-warning-sandisk-usb-drives-install-malware.html) purpose-built Bitcoin device is automatically better is wrong. I wouldn't trust anything with software loaded up (http://www.nbcnews.com/id/23617651/) in a Chinese factory (http://www.cbsnews.com/8301-505124_162-57513878/beware-of-pre-installed-malware-on-your-new-pc/) with my money, especially a device they know will contain my money.

now that MSFT appears to be preventing booting from USB sticks in Windows 8, will your TinyCore USB system still work on those machines?


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: Zangelbert Bingledack on February 27, 2013, 10:09:50 AM
Assuming that a manufacturer made purpose-built Bitcoin device is automatically better is wrong. I wouldn't trust anything with software loaded up in a Chinese factory with my money, especially a device they know will contain my money.

That is a good point...  (conspiracy back door key... lol)  Makes you wonder...

So... Then how do you (the bitcointalk users) tell people with almost zero tech skills how to make a high security wallet? As they all probably own a Windoze machine anyways.  Also, it has to be easy to use... Haha, think of all those CEO's, CFO, etc. out there... JK  8)


Generate some entropy by throwing darts, then calculate the private and public keys with paper and pencil.

Tell me more!


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: nwbitcoin on February 27, 2013, 02:41:06 PM
If someone PwnD your computer, they also can have control and access to anything on it and anything you type.

But isn't that a risk with any computer?  Why would this be a bigger risk?

Because we assume that you use your normal computer for doing things like clicking links like these (any of which could infect (http://www.informationweek.com/security/attacks/another-java-zero-day-vulnerability-hits/240146416) your  computer (http://www.securelist.com/en/blog/208194112/Adobe_Flash_Player_0_day_and_HackingTeam_s_Remote_Control_System) with no input from you). Any virtual machine or encrypted sub-system that you run on your system is just as vulnerable since the remote attacker will have the same privileges as you on the main OS.

A USB boot drive is a more secure environment, especially one that comes with no web browser. You install it clean off a LiveCD as I describe above, so it is never potentially tainted. You only type it's password directly into the USB boot OS. The data can be made unreadable by anything other than the boot code on the USB. It's kernel can be firewalled to only accept incoming Bitcoin connections and nothing else.


Technically speaking there is absolutely no difference in the security of either a virtual or a LiveCD OS - its all about convenience.

However, having thought about the problem again, do we actually need a physical wallet at all?

You have a cloud folder somewhere where your BTC files are stored.  You just need access to it occasionally to see how much the total is.   You don't need access to add to it, and you don't need more than the address to take from it.


If you could find out what the total was without entering the wallet, you would never need to go near your wallet.

Is my understanding of BTC wallets true?


Because on that basis, its going to be far, far safer to leave the data in the capable hands of a data centre, with no access to your private keys!


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: cypherdoc on February 27, 2013, 03:00:18 PM
If someone PwnD your computer, they also can have control and access to anything on it and anything you type.

But isn't that a risk with any computer?  Why would this be a bigger risk?

Because we assume that you use your normal computer for doing things like clicking links like these (any of which could infect (http://www.informationweek.com/security/attacks/another-java-zero-day-vulnerability-hits/240146416) your  computer (http://www.securelist.com/en/blog/208194112/Adobe_Flash_Player_0_day_and_HackingTeam_s_Remote_Control_System) with no input from you). Any virtual machine or encrypted sub-system that you run on your system is just as vulnerable since the remote attacker will have the same privileges as you on the main OS.

A USB boot drive is a more secure environment, especially one that comes with no web browser. You install it clean off a LiveCD as I describe above, so it is never potentially tainted. You only type it's password directly into the USB boot OS. The data can be made unreadable by anything other than the boot code on the USB. It's kernel can be firewalled to only accept incoming Bitcoin connections and nothing else.


Technically speaking there is absolutely no difference in the security of either a virtual or a LiveCD OS - its all about convenience.

However, having thought about the problem again, do we actually need a physical wallet at all?

You have a cloud folder somewhere where your BTC files are stored.  You just need access to it occasionally to see how much the total is.   You don't need access to add to it, and you don't need more than the address to take from it.


If you could find out what the total was without entering the wallet, you would never need to go near your wallet.

Is my understanding of BTC wallets true?


Because on that basis, its going to be far, far safer to leave the data in the capable hands of a data centre, with no access to your private keys!


this is the concept of offline wallets you speak of.  no need to ever connect your private keys to the internet.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: cypherdoc on February 28, 2013, 04:09:45 PM
This can be done now, you can boot off tinycore linux liveCD (http://distro.ibiblio.org/tinycorelinux/downloads.html) (12MB). For v0.8.0, install qt-4.x-base through "apps", wget http://iweb.dl.sourceforge.net/project/bitcoin/Bitcoin/bitcoin-0.8.0/bitcoin-0.8.0-linux.tar.gz, and tar xvf bitcoin-0.8.0-linux.tar.gz.

http://we.lovebitco.in/img/tinyBitcoin.png

It will explode after you use up it's 1GB RAMdisk downloading blockchain though, so you install it (http://distro.ibiblio.org/tinycorelinux/install.html) to a 32GB flash drive, and you can now boot a full OS with full GUI Bitcoin off removable disk. You can encrypt (http://gr8idea.info/os/tutorials/tiny-core/tc1/encrypted-home.html) the home directory so Bitcoin data is unreadable without booting and entering a password.

I could easily make such a thing preloaded with blockchain for sale, the trick would be convincing others it is trustable and that future ones I sell would remain trustable.

ok, got everything installed just like you've described. 

but how do i run Bitcoin-qt?


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: deepceleron on February 28, 2013, 04:40:23 PM
The official bitcoin-0.8.0-linux.tar.gz has a directory structure to the archive. From the directory where you extracted it, you can run Bitcoin by typing ./bitcoin-0.8.0-linux/bin/32/bitcoin-qt & in a terminal.

You can also move the above bitcoin-qt file to another directory by itself, no other files from the archive are needed to run Bitcoin. You can be really fancy and add an icon (http://wiki.tinycorelinux.net/wiki:creating_personal_icons) for it.

Make sure that you successfully created a persistent directory for your data, that you can shut down and reboot and your Bitcoin wallet addresses and the current block count are still there (just booting the live cd will always forget anything you downloaded as it only uses a RAM disk.) Also use UUID, so that partitions will always be found even if you use different USB ports or a different computer:

http://wiki.tinycorelinux.net/wiki:persistent_home

now that MSFT appears to be preventing booting from USB sticks in Windows 8, will your TinyCore USB system still work on those machines?
Newer machines may use UEFI boot instead of BIOS, this requires a 64 bit distro and UEFI bootloader (Ubuntu 12.10 64 bit is one distro that is ready, tinycore liveCD is not). This is not "Microsoft preventing booting", it is pretty standard for it to be enabled on new PCs now that Win8 supports it; old BIOS doesn't support hard drives larger than 2 TB. Macs also use EFI. Only incompetent hardware manufacturers (http://mjg59.dreamwidth.org/22028.html) have a problem.

If "trusted boot" is enabled, a computer will only boot signed code. This (http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/) is being worked on (http://tboot.sourceforge.net/) by kernel devs, but it requires kernel code signed by Microsoft. This is more of a grab by Microsoft that no user wants, under the guise of more security.

Both of these "features" can generally be disabled in BIOS. Windows 8 certified systems are required to permit the user to disable Secure Boot.


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: whitenight639 on March 01, 2013, 02:54:44 AM
A similar alternative to this is to install an OS on a USB drive as a virtual machine, the disadvantage is any PC you connect it to has to have a the virtual machine software on it also.

I can't wait to see an open source hardware wallet based on the Arduino. 


Title: Re: USB Selfbooting Solid State Wallets - Secure - Manufacturer Needed!
Post by: cypherdoc on March 01, 2013, 03:52:33 PM
The official bitcoin-0.8.0-linux.tar.gz has a directory structure to the archive. From the directory where you extracted it, you can run Bitcoin by typing ./bitcoin-0.8.0-linux/bin/32/bitcoin-qt & in a terminal.

You can also move the above bitcoin-qt file to another directory by itself, no other files from the archive are needed to run Bitcoin. You can be really fancy and add an icon (http://wiki.tinycorelinux.net/wiki:creating_personal_icons) for it.

Make sure that you successfully created a persistent directory for your data, that you can shut down and reboot and your Bitcoin wallet addresses and the current block count are still there (just booting the live cd will always forget anything you downloaded as it only uses a RAM disk.) Also use UUID, so that partitions will always be found even if you use different USB ports or a different computer:

http://wiki.tinycorelinux.net/wiki:persistent_home

now that MSFT appears to be preventing booting from USB sticks in Windows 8, will your TinyCore USB system still work on those machines?
Newer machines may use UEFI boot instead of BIOS, this requires a 64 bit distro and UEFI bootloader (Ubuntu 12.10 64 bit is one distro that is ready, tinycore liveCD is not). This is not "Microsoft preventing booting", it is pretty standard for it to be enabled on new PCs now that Win8 supports it; old BIOS doesn't support hard drives larger than 2 TB. Macs also use EFI. Only incompetent hardware manufacturers (http://mjg59.dreamwidth.org/22028.html) have a problem.

If "trusted boot" is enabled, a computer will only boot signed code. This (http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/) is being worked on (http://tboot.sourceforge.net/) by kernel devs, but it requires kernel code signed by Microsoft. This is more of a grab by Microsoft that no user wants, under the guise of more security.

Both of these "features" can generally be disabled in BIOS. Windows 8 certified systems are required to permit the user to disable Secure Boot.

now i'm having trouble booting to TC from USB despite checking boot loading order in bios.  have you ever seen this inconsistency?  this has been reported before.

which installer did you use?  CorePlus, unetbootin?  they recommend CorePlus but now my usb refuses to boot.  funny b/c the one time i got it to boot to TC was after i used unetbootin to install.  now that even won't work.