Hi, I did this review for the
italian section, it's about the new BTChip hardware wallet, the cheapest of the market, and GreenAddress, one of the powerful multisig wallets out there. I guess both products are interesting, so I decided to crosspost to intl section. Sorry for my english :-)
BTChip:
www.hardwarewallet.comGreenAddress:
www.greenaddress.comSecurity disclaimer from HW-1 website:
HW-1 is powered by an ST23YT66 smart card - protected by design against passive and active attacks targeting typical microcontrollers
no JTAG connection
tamper resistant package
cryptographic accelerator offering protection against side channel attacks
Extracting keys from FPGAs... @ 30c3
We do not claim to be unbreakable - just not to be trivially hackable in a few hours / days, like any other highly secure smart card, giving you enough time to transfer your funds should your wallet be stolen or borrowed for some time
Yesterday, after ordering the BTChip last Thursday, I received a package: it took a total of 5 days with Saturday and Sunday in between.
Today when I finally had a chance to try it I found out I didn’t need to find much time in first place as it is quite simple.
BTChip, which looks a lot like a smartcard or even a credit card, is instead a tiny USB device, which handles storing and protecting your mnemonic passphrase as well as sign your outgoing transaction.
The setup procedure is quite simple and you can find it on the HW1 website. For my operating system, Linux, it was sufficient to tell the system about the USB IDs that the device requires. For Debian based distro (therefore including Ubuntu) there’s a premade script from BTChip that handles the entire procedure:
wget https://hardwarewallet.com/zip/add_btchip_driver.sh
chmod a+rx add_btchip_driver.sh
./add_btchip_driver.sh
The script configures the IDs and no extra drivers are necessary and as such it can easily be used on a live distribution, for the extra paranoid :-)
After using the device I opened the GreenAddress wallet, installed from GitHub (but you can install it from the Chrome Web Store) and I took the following steps:
When prompted with a login page I clicked in “Create a new wallet”, thus generating a new mnemonic passphrase, which is used to access and generate my deterministic wallet. Save that mnemonic passphrase in a safe place.
When I created the mnemonic passphrase there was a button “Write to a hardware wallet” which is what we are interested in doing (also NOTE the mnemonic, see later).
Clicking it (after having inserted the BTChip) has the following results:
The wallet has discovered the BTChip as not previously initialized. Later I found out that if the device is already initialized then the interface will have offered the ability to reset it.
Clicking the button “Save to BTChip”, the user is required to insert a PIN, PIN which is then required every time you will use the BTChip. It is to be noted that after 3 incorrect PIN the device is reset.
After inserting the PIN, the device is fully setup and it has all it needs to access the GreenAddress wallet.
The next steps configure the two factor authentication for the multisignature part of the wallet:
The two factor authentication, together with the BTChip, allows to use the GreenAddress wallet even in unsafe environments because all transactions are authenticated against both your device and the two factor authentication.
After configuring the 2FA and after the first login the wallet warns that you should do a mnemonic passphrase verification to make sure you have the passphrase properly backed up.
What does it mean? Since we got the device we should not care about the mnemonic passphrase right?
Nope. Wrong. Btchip is an electronic device and like all devices it may get lost or get broken, so it is highly raccomanded to properly manage a backup of the mnemonic passphrase.
Without this backup, in case you don’t have access to your BTChip, you won’t have any way of ever accessing your account again. That is because your mnemonic passphrase is only yours and not available to GreenAddress: this is a strength point as even if the service is compromised Bitcoin can’t be stolen so easily.
This is all, next logins are done with the BTChip and your PIN (the one you provided during the setup)
Notes: - At this time it is not possible to create the mnemonic passphrase offline and then follow the online setup. Lawrence from GreenAddress has said that this option will be soon available too.
- As previously said, BTChip is not only an authentication device but also does the actual signature. This means that once you’re done with the setup the keys are never exposed outside of the device (as long as you don’t keep your mnemonic passphrase backup on a computer you should be safe)
- Even if the BTChip is quite useful to login it shouldn’t be used when you are just checking your balance or transaction list as the ‘watch-only’ mode doesn’t load any keys and it is more secure. For transacting on the other hand BTChip is a great way to login.
- The device is rewritable so you can try as many times as you like.
- It is not necessary to create a new wallet to use the BTChip, it is instead possible to go to settings (after a full access login) and find a button similar to the one seen during the initial registration.
The button “write to a hardware wallet” writes the mnemonic passphrase on the device
Thanks for reading!