Author

Topic: Brainwallet & Deterministic wallet (Read 3433 times)

staff
Activity: 4214
Merit: 1203
I support freedom of choice
March 02, 2014, 12:21:52 PM
#15
hero member
Activity: 708
Merit: 506
I support freedom of choice
December 08, 2013, 06:49:39 PM
#14
Come scritto qui:  https://en.bitcoin.it/wiki/Brainwallet
il brainwallet è molto difficile da proteggere ma mi voglio soffermare sull'esempio usato nello stesso wiki articolo.

"Man made it to the moon,, and decided it stinked like yellow cheeeese."

Faccio una premessa. Un dizionario normale contiene sulle 20 mila parole, se si aggiungono tutte le probabili storpiature alle parole possiamo ipotizzare un dizionario doppio (40 mila vocaboli) ma il dizionario corrente è di soli 2000 parole.

Nella frase scelta nell'esempio ci sono 13 parole contenute nel dizionario da 40 mila parole più tre caratteri contenuti nel set di caratteri speciali (facciamo una ventina di caratteri come |!"£$%&/()=?^\'[],.-;:_).

Quante combinazioni sono?

Facciamo due conti:
(40*10^3)^13*20^3 circa uguale a 10^63 cioè 1 seguito da 63 zeri.

Quanto tempo impiega una macchina di mining per calcolare 10^63 hash?

Qui vedo una macchina da 600 GH/s: http://www.butterflylabs.com/ e quindi una di questi ASIC impiegherà:

10^63/(600*10^9) che sono tanti miliardi di miliardi di miliardi di anni.

Il ragionamento si ferma qui? No può proseguire considerando una cosa che tutti i minatori sanno ovvero il costo energetico:

1 terahash costa circa 0.3 centesimi di euro in corrente elettrica quindi 10^63 hash costano 10^50 euro.

In soldoni per cracckare il brainwallet dell'esempio qui sopra servono 1 seguito da 50 zeri di euro in corrente elettrica.

Come descritto nel mio articolo che fa ragionamenti sulla sicurezza di una password:

http://www.kensan.it/articoli/Password_sicurezza.php

la password deve essere commisurata a ciò che protegge in termini economici, quindi anche una sequenza casuale di parole scelte dal dizionario italiano di 2 mila parole è sufficiente per proteggere molti contenuti di wallet. Per esempio:

loro otranto certo argo locale serena trapani arrivo remo tra

può proteggere un wallet da 10^20 euro ovvero 1000000 000000 000000 00 euro

(2000^10/10^12*0.3)

Ovviamente se le parole non sono casuali il ragionamento non vale.
staff
Activity: 4214
Merit: 1203
I support freedom of choice
December 03, 2013, 10:59:35 AM
#13
Ancora meglio consiglio questa per Android:
https://play.google.com/store/apps/details?id=ru.valle.btc

Questa permette in più di criptarle in BIP38 direttamente sul proprio smartphone Smiley
legendary
Activity: 1946
Merit: 1009
SELL bitcoinmarket.net | bitcoinitalia.com SELL
October 28, 2013, 03:05:32 AM
#12
Aggiungo che la voce "Paper Backup" può essere usato per gestire il proprio backup su
hero member
Activity: 980
Merit: 1002
October 27, 2013, 06:50:58 PM
#11
mettila così, nello stesso modo in cui non devi usare "Napoleone" come password, allo stesso modo non devi usare "this is my brain wallet generation string" come composizione. Ad esempio "Genova mArtello scUdiero parOlaio 1nt3rm3zz0 parolaiO scudieRo marteLlo genOva" potrebbe essere una soluzione valida, nota che devi ricordare solo cinque parole, la sequenza, la logica di uppercase. questa è una composizione sicura, puoi associarla a parole un po' più familiari e meno comuni.

calcola comunque di dover ragionare in una logica di anti brute force, sei tu che fai il livello di sicurezza.
newbie
Activity: 46
Merit: 0
October 27, 2013, 06:31:50 PM
#10
Ma se ho capito bene, forse è il caso di evitare di usare strofe e citazioni troppo comuni.
Se io uso un pezzo della mia canzone preferita c'è il rischio (anche se piccolo) che qualcun'altro la usi.

In questo caso non è come condividere la stessa password.... è proprio condividere gli stessi bitcoin.
O sbaglio?


e se un hacker si mettesse a provare tutte le citazioni più comuni ? non mi sembra molto sicuro
legendary
Activity: 1022
Merit: 1000
October 27, 2013, 02:31:26 PM
#9

La sto usando da un bel po' ormai ed è fatta veramente bene, ha tutto quello che serve insomma!
staff
Activity: 4214
Merit: 1203
I support freedom of choice
October 27, 2013, 01:14:48 PM
#8
staff
Activity: 4214
Merit: 1203
I support freedom of choice
January 28, 2013, 05:00:15 AM
#7
Si, offrirai l'accesso completo ai tuoi Bitcoin.
Nella discussione che ho linkato e relativo messaggio sul blog ci sono molti suggerimenti su come rendere più sicuri questi brainwallet.
Se ho tempo nelle prossime sere magari faccio una lista di questi suggerimenti.
newbie
Activity: 45
Merit: 0
January 28, 2013, 04:14:15 AM
#6
Ma se ho capito bene, forse è il caso di evitare di usare strofe e citazioni troppo comuni.
Se io uso un pezzo della mia canzone preferita c'è il rischio (anche se piccolo) che qualcun'altro la usi.

In questo caso non è come condividere la stessa password.... è proprio condividere gli stessi bitcoin.
O sbaglio?
staff
Activity: 4214
Merit: 1203
I support freedom of choice
January 28, 2013, 03:05:33 AM
#5
full member
Activity: 210
Merit: 100
January 06, 2013, 02:34:28 PM
#4
Tutto chiaro, thank you!
staff
Activity: 4214
Merit: 1203
I support freedom of choice
January 06, 2013, 12:43:50 PM
#3
Molto interessante, non ero a conoscenza di questi Brainwallet.. (Anche se non vedo l'utilità di ricordare le chiavi private...)
L'utilità principale è che può essere un buon backup Wink
Nel caso imprevisto che ogni vostro altro backup del wallet vada perso.

Oppure, nel caso vi troviate in situazioni "estreme", da poter usare Bitcoin solo su applicativi avviati in RAM.
In modo da poter anche spegnere all'improvviso il computer senza preoccuparsi di perdere niente.
full member
Activity: 210
Merit: 100
January 06, 2013, 10:22:45 AM
#2
Molto interessante, non ero a conoscenza di questi Brainwallet.. (Anche se non vedo l'utilità di ricordare le chiavi private...)

Per quanto riguarda la sicurezza, uhm...

Quote from: HostFat
PS: nel caso vogliate usare questo sistema per creare ulteriori vostri Brainwallet, vi consiglio di scaricare il codice sorgente ed eseguirlo poi su macchine sicure e scollegate da Internet.

Caldamente consigliato...
staff
Activity: 4214
Merit: 1203
I support freedom of choice
January 02, 2013, 05:11:58 AM
#1
Apro discussione per cercare di sviscerare un pò l'argomento con la comunità italiana.

Non andrò molto a toccare gli aspetti tecnici e matematici di questa cosa, un po perchè non penso che sia molto importante per il fine ultimo dell'uso, e un po perchè non ho conoscenze cosi avanzate nel campo per andare cosi nel dettaglio Wink

I Brainwallet sono quei wallet (ma anche indirizzi singoli) che vengono creati a partire da testi indicati dall'utente (parole, frasi, poesie ...)

Ad esempio si potrebbe creare un wallet partendo da questa stessa frase, e poi imparandosela a memoria

1) Andate su http://brainwallet.org (codice sorgente)
2) Cliccate in alto su Chains
3) Scegliete Electrum
4) Cliccate sulla freccia circolare a fianco di Chain Code
5) Inserite poi Paper Backup la frase sopra: Ad esempio si potrebbe creare un wallet partendo da questa stessa frase, e poi imparandosela a memoria

Vi verranno generati esattamente questi 6 indirizzi:
Quote
1, "1LjNAjVSY83K7KByGWzRYVx69DTXinUcz", "5K4EjVsbp2USAs7CNMfr1m82LtMiQLiq6Lik6r9R4tumTQLVgiA"
2, "1JM1PXHiVMYzf96VrW1Cc1RzXztnmcCVxW", "5JTfhyXKHQmugp78Hq26wb7hxKfXivgQCFK2r2wdbYsZjkpQAnY"
3, "13sA3nQaNoUbziTGAVaMtUy8qJ5C9axbJL", "5JVMFQS41oswzg6QJ9aaBDYZiAqsVBiULnQaf5SJg51FppoPNyk"
4, "1GvMjumf3Tij2SrAdv3ZWJAt7F7kDZ4qrZ", "5Jj2EHWnVLjuyYDTJCLB4jUVaejPMAkkZGRyCGPNAam9tnWRCRu"
5, "1FTBXAKJZzmqJQsSaV4RLPudMS9Xj975NP", "5K2FzWxWGHugD2d3DmCjBV6D9AuLrAAxks1HBiQxZwGfMQWhWk3"
6, "1NuybMn4dmNiRHvnugLwmRma1FgRNAAZSb", "5JukCGPe3QyzwmxuFMEybwtntpMYTTneWE5smFAKjS9kqWCDPdA"
PS: nel caso vogliate usare questo sistema per creare ulteriori vostri Brainwallet, vi consiglio di scaricare il codice sorgente ed eseguirlo poi su macchine sicure e scollegate da Internet.
Per quanto Brainwallet.org sia comodo non è comunque automaticamente da considerarsi sicuro.

Sono anche deterministic wallet perchè ogni successivo indirizzo viene generato comunque dallo stesso seed (seme)
La nostra frase quindi viene codificata in un seme, e poi da questo vengono generati tutti i prossimi indirizzi.

Vengono chiamati Brainwallet perchè appunto una frase è facile da ricordare.
Questo vuol dire che se creerete un wallet tramite questo sistema (una lista di indirizzi), la vostra copia di backup delle vostre chiavi private sarà facile da ricordare.
Tutto parte solo dalla frase che avete dato all'inizio, e dovrete ricordarvi solo quella.
Da notare che il numero di indirizzi non è limitato, è possibile creare nuovi indirizzi sempre partendo dalla vostra frase.

Fatta questa premessa attualmente sono 2 i client Bitcoin che offrono questa possibilità, l'Armory e l'Electrum client.

Oltre al seed per la creazione delle chiavi private, e possibile ottenere anche quello dedicato alle chiavi pubbliche (gli indirizzi bitcoin)
Questo vuol dire che sarà possibile generare tutti i prossimi indirizzi bitcoin del vostro wallet senza dover conoscere le rispettive chiavi private.
Per cosa può essere utile una cosa simile?
Esempio: http://acceptbit.com (codice sorgente)
(è un sistema per aggiungere Bitcoin come mezzo di pagamento sul proprio sito)

Questo servizio vi chiederà la vostra master public key (il seed delle chiavi pubbliche, indirizzi), e tramite quello potrà generare tutti i vostri indirizzi pubblici da disporre ai clienti.
Quindi pur potendo generare nuovi indirizzi, non avendo accesso alle vostre chiavi private non avrà alcun modo di potervi rubare i Bitcoin.

Tutto il sistema (come lo stesso codice sorgente di AcceptBit) è pubblico ed è usabile a piacere.
Questo è un grosso punto a favore alla creazione di servizi dinamici/online funzionanti tenendo comunque offline e sicuri i propri wallet (l'insieme di chiavi private)
Jump to: