Guida a configurazione e utilizzo di BTChip, wallet hardware da 10€ (20€ per due pezzi, promo).
BTChip:
www.hardwarewallet.comGreenAddress:
www.greenaddress.comDisclaimer sulla sicurezza dal sito BTChip:
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
Ieri, dopo aver ordinato BTChip giovedì scorso, ho ricevuto il pacchetto: totale 5 giorni sabato e domenica compresi.
Oggi finalmente ho trovato tempo di provarlo, ma se avessi saputo da subito quanto era semplice, immagino che avrei trovato il tempo anche ieri…
BTChip, per quanto l’aspetto possa indurre a pensare si tratti di una smartcard, è invece un dispositivo USB, delle dimensioni di un connettore, che si occupa di salvare, crittografare e custodire la propria mnemonic passphrase, e di firmare le transazioni affinché vengano autenticate ed emesse dai wallet compatibili.
La procedura di installazione è abbastanza semplice, ed indicata qui, sul sito del produttore. Per quel che riguarda il mio sistema operativo, Linux, è stato sufficiente dire al kernel quali sono gli ID USB del device, per sistemi debian-based (e quindi anche Ubuntu) è stato preparato uno script dal produttore, che effettua la procedura senza bisogno di conoscenze specifiche:
wget https://hardwarewallet.com/zip/add_btchip_driver.sh
chmod a+rx add_btchip_driver.sh
./add_btchip_driver.sh
In realtà lo script si limita, appunto a settare gli ID. Non c’è installazione di software aggiunto e può tranquillamente essere eseguito su una distribuzione Live, per i più paranoici :-)
Dopo aver inizializzato il dispositivo ho aperto il wallet GreenAddress, installato da GitHub (
https://www.youtube.com/watch?v=zF3Xar5hJ_0 - ma puo’ essere installato anche da Chrome Web Store), e effettuato i passaggi che seguono:
A fronte della scherma di login, ho cliccato su “Create new wallet”, generando così una nuova chiave mnemonica, chiave d’accesso al mio wallet deterministico.
Alla creazione della chiave mnemonica, il wallet GreenAddress, da qualche tempo, ha aggiunto il pulsante “Write to a hardware wallet”, che è quello che ci interessa in questo caso.
Premendolo (dopo aver installato BTChip) il risultato è quello che segue:
Il wallet ha rilevato il BTChip non inizializzato in precedenza. Se, al contrario, fosse stato già inizializzato, avrebbe offerto la possibilità di resettarlo.
Cliccando il pulsante “Save to BTChip”, viene chiesto all’utente l’inserimento di un PIN di verifica, il PIN verrà richiesto in futuro ogni volta che si vorrà usare il BTChip, e a fronte di tre tentativi errati, il dispositivo verrà resettato.
Dopo aver inserito il PIN, vengono finalmente crittografate e salvate sul dispositivo le credenziali d’accesso al wallet GreenAddress.
Gli step successivi sono quelli di accoppiare queste credenziali d’accesso ad un account GreenAddress, e l’impostazione dell’autenticazione a due fattori:
L’autenticazione a due fattori, unita al BTChip, permette di fare login sul proprio wallet GreenAddress anche da postazioni considerate non sicure, come il computer di qualcun’altro, o un Internet Cafè, senza rischiare assolutamente di compromettere le proprie credenziali d’accesso (o meglio, potrebbe essere compromesso il PIN d'accesso a BTChip, senza cui non è possibile far nulla in assenza del chip stesso).
Dopo aver configurato il 2FA ed al primo login, effettuato in fase di sottoscrizione, GreenAddress segnala che non è stata effettuata la verifica della mnemonic passphrase, e dunque l’account non è considerato affidabile.
Cosa significa, visto che le credenziali le abbiamo salvate sul nostro BTChip, ci aspettiamo di non dover avere più a che fare con chiavi mnemoniche, dunque perché ?
Presto detto, BTChip è un device elettronico, e come tutti i device elettronici può guastarsi, quindi è raccomandabile comunque effettuare un backup della propria chiave mnemonica.
Senza questo backup, qualora BTChip dovesse rompersi, non esisterà possibilità di riassumere il controllo dei propri fondi. Infatti GreenAddress è un wallet multisignature, il che vuol dire che, seppure parte delle credenziali sia ospitata presso i server GreenAddress, la parte “cliente” è esclusivamente, appunto, nelle mani del cliente.
In assenza delle credenziali, non sarà possibile nemmeno per GreenAddress recuperare accesso ai fondi, e questo è indubbiamente uno dei punti di forza del servizio: se anche, ipoteticamente, GreenAddress venisse compromesso, l’attaccante non avrebbe il controllo dei fondi.
Questo è quanto, i login successivi si effettuano con BTChip ed il PIN accoppiato in fase di iscrizione.
Note:
- Al momento non è possibile effettuare la generazione di una mnemonica offline e poi la procedura di iscrizione a GreenAddress online. Lawrence ha fatto sapere che questa opzione sarà presto implementata.
- Come già detto, BTChip non è solo un dispositivo di autenticazione, ma anche di firma delle transazioni (del resto, la stessa autenticazione a GreenAddress in full-control è effettuata tramite una firma). Questo vuol dire che una volta terminata la procedura di iscrizione e memorizzazione della mnemonica sul BTChip, le credenziali d’accesso non verranno mai esposte online (a meno che, ovviamente, non si effettui il backup della mnemonica in formato elettronico, e la si tenga sul computer connesso).
- Pur essendo estremamente comodo, BTChip dovrebbe essere utilizzato per fare login nel proprio wallet GreenAddress solo quando si ha davvero esigenza di avere controllo sui coins. Per gestire transazioni in ingresso, o per avere una panoramica dei propri fondi, è comunque consigliato il watch-only mode.
- Come già detto, BTChip è riscrivibile, quindi potete fare tutti i tentativi che volete.
- Non è necessario creare un nuovo wallet, per accoppiare BTChip, è possibile eseguire una procedura simile a quella indicata attraverso la finestra impostazioni del wallet, dopo avervi fatto login in full control, con PIN o mnemonic passphrase.
Questo è quanto, da questo momento la mia mnemonic passphrase (per me che la backuppo su carta) non sarà mai esposta online, BTChip firmerà le transazioni al posto mio e io starò un tantinello più tranquillo nella gestione dei Bitcoin.
Ad oggi l'accoppiata BTChip+GreenAddress sembraessere la soluzione più avanzata esistente, per la gestione dei Bitcoin.
Thanks for reading :-)