Bitcoin Forum

Local => Italiano (Italian) => Topic started by: Sandro kensan on February 14, 2016, 11:12:49 PM



Title: brainwallet
Post by: Sandro kensan on February 14, 2016, 11:12:49 PM
In questo testo:

Quote
The new paper on cracking shows a significant increase in efficiency in testing brain-wallet keys—by a factor of 2.5 since last August—and said it's possible to test about 17.9 billion passwords for $1 by using Amazon Web Services' Elastic Computing (EC2) on-demand server offering. He and his co-authors checked a trillion passwords for $55.86 and recovered 18,000 brain wallets. Clever wallet owners had used phrases like "say hello to my little friend" and "dudewheresmycar."

si dice che i brainwallet sono memorizzati nella blockchain e che con pochi dollari si può fare un brute force e sono state trovate le frasi-password per 18 mila brain wallet con una spesa minima di 55 dollari.

Chiedo se Multibit HD che è un brain wallet da quel che ho capito, soffre dello stesso problema. Grazie.


Title: Re: brainwallet
Post by: HostFat on February 14, 2016, 11:34:54 PM
Beh "si", ma li quanto riporti, non c'è scritto la dimensione della password :)

EDIT:
Non avevo letto Multibit.

Serve sapere la lunghezza delle password che hanno provato, e si calcola la velocità e il costo per quanto ci vorrebbe con una passphrase lunga come quelle di Multibit.


Title: Re: brainwallet
Post by: Sandro kensan on February 14, 2016, 11:44:29 PM
Beh "si", ma li quanto riporti, non c'è scritto la dimensione della password :)

EDIT:
Non avevo letto Multibit.

Serve sapere la lunghezza delle password che hanno provato, e si calcola la velocità e il costo per quanto ci vorrebbe con una passphrase lunga come quelle di Multibit.

Mi pare di avere capito che la lunghezza non è poi così importante in quanto non viene usato il salt nella blockchain per cui se la mia frase è "La filosofia non serve a nulla, dirai; ma sappi che proprio perchè priva del legame di servitù é il sapere più nobile." allora ne posso calcolare l'hash e poi la confronto con tutte le password memorizzate nella blockchain come brain wallet.

Così facendo non ha molto importanza la lunghezza della frase in quanto i calcoli li faccio una volta sola per brain-password. Poi spendendo migliaia di euro posso calcolare fare un brute force di migliaia di miliardi di frasi: posso trovare tutte le frasi che ci sono in Internet e provare quelle.

EDIT: rubati $103,000 dai brainwallet:
http://arstechnica.com/security/2016/02/password-cracking-attacks-on-bitcoin-wallets-net-103000/

Quote
For years, brain wallets were promoted as a safer and more user-friendly way to secure Bitcoins and other digital currencies, although Gregory Maxwell, Gavin Andresen, and many other Bitcoin experts had long warned that they were a bad idea.


Title: Re: brainwallet
Post by: Anon39 on February 16, 2016, 02:37:11 AM

Mi pare di avere capito che la lunghezza non è poi così importante in quanto non viene usato il salt nella blockchain per cui se la mia frase è "La filosofia non serve a nulla, dirai; ma sappi che proprio perchè priva del legame di servitù é il sapere più nobile." allora ne posso calcolare l'hash e poi la confronto con tutte le password memorizzate nella blockchain come brain wallet.

Così facendo non ha molto importanza la lunghezza della frase in quanto i calcoli li faccio una volta sola per brain-password. Poi spendendo migliaia di euro posso calcolare fare un brute force di migliaia di miliardi di frasi: posso trovare tutte le frasi che ci sono in Internet e provare quelle.

Quote
For years, brain wallets were promoted as a safer and more user-friendly way to secure Bitcoins and other digital currencies, although Gregory Maxwell, Gavin Andresen, and many other Bitcoin experts had long warned that they were a bad idea.
usare una frase pubblica come password non mi sembra una buona idea in ogni caso. il problema non si pone con password arbitrarie in parte casuali lunghe no?


Title: Re: brainwallet
Post by: Sandro kensan on February 16, 2016, 12:58:00 PM
usare una frase pubblica come password non mi sembra una buona idea in ogni caso. il problema non si pone con password arbitrarie in parte casuali lunghe no?

Il problema è che quasi tutte le frasi sono oramai state dette e quindi la distinzione tra frasi pubbliche e private è difficile da fare. Poi le frasi in parte casuali lascia il tempo che trova, per esempio "esempio123" o "172esempio" sono password (non frasi) che sembrano difficili ma in realtà sono facilissime da scovare con un bruteforce, in pratica l'aggiunta di un numerino non inficia il fatto di essere una parola del dizionario.

In realtà l'informazione di una frase o la casualità di una frase dovrebbe essere misurato in modo dettagliato: "esempio123" è scovabile mettendo assieme una ricerca su un dizionario di 20 mila vocaboli, più un numero tra 0 e mille, fanno 20 milioni di tentativi, né più né meno.

Idem con patate se si considerano parole casuali all'interno di frasi: 10 parole equivalgono a (20*10^3)^10

Se invece le parole non sono casuali allora è un gioco da ragazzi e i tentativi da fare sono pochi.

EDIT: ho scritto un articolo tempo fa che forse vale la pena ricordare:

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

in particolare la password: "zgrvuhstmdtg" è messa in equivalenza alla frase: "Zoe Grugniva Ruspando Velocemente Un Hash. Stava Timidamente Mangiando Del Tartufo Grigio." Non è propriamente vero ma non è nemmeno lontanissimo dalla realtà. Questo per dire che le password sono più chiare delle frasi che mettono solo molta confusione sulla loro sicurezza.


Title: Re: brainwallet
Post by: HostFat on February 16, 2016, 02:10:30 PM
Multibit HD in particolare comunque mi pare di ricordare che chieda un salt alla generazione del portafoglio.


Title: Re: brainwallet
Post by: Anon39 on February 16, 2016, 03:28:16 PM
Il problema è che quasi tutte le frasi sono oramai state dette e quindi la distinzione tra frasi pubbliche e private è difficile da fare. Poi le frasi in parte casuali lascia il tempo che trova, per esempio "esempio123" o "172esempio" sono password (non frasi) che sembrano difficili ma in realtà sono facilissime da scovare con un bruteforce, in pratica l'aggiunta di un numerino non inficia il fatto di essere una parola del dizionario.

In realtà l'informazione di una frase o la casualità di una frase dovrebbe essere misurato in modo dettagliato: "esempio123" è scovabile mettendo assieme una ricerca su un dizionario di 20 mila vocaboli, più un numero tra 0 e mille, fanno 20 milioni di tentativi, né più né meno.

Idem con patate se si considerano parole casuali all'interno di frasi: 10 parole equivalgono a (20*10^3)^10

Se invece le parole non sono casuali allora è un gioco da ragazzi e i tentativi da fare sono pochi.

EDIT: ho scritto un articolo tempo fa che forse vale la pena ricordare:

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

in particolare la password: "zgrvuhstmdtg" è messa in equivalenza alla frase: "Zoe Grugniva Ruspando Velocemente Un Hash. Stava Timidamente Mangiando Del Tartufo Grigio." Non è propriamente vero ma non è nemmeno lontanissimo dalla realtà. Questo per dire che le password sono più chiare delle frasi che mettono solo molta confusione sulla loro sicurezza.
usando però parole generate in modo completamente casuale l'entropia rimane abbastanza alta secondo me. 12 parole prese in modo casuale da un dizionario di 4mila hanno circa 1^43 combinazioni, il che rende teoricamente la frase introvabile


Title: Re: brainwallet
Post by: Sandro kensan on February 16, 2016, 04:00:17 PM
usando però parole generate in modo completamente casuale l'entropia rimane abbastanza alta secondo me. 12 parole prese in modo casuale da un dizionario di 4mila hanno circa 1^43 combinazioni, il che rende teoricamente la frase introvabile

Se le parole sono veramente casuali e non del tipo soggetto, complemento e verbo (che non è casuale) allora le possibilità sono:
(4*10^3)^12 = 16777216000000000000000000000000000000000000

Ma questo vuol dire tirare una monetina e scegliere una pagina e una riga del dizionario per scegliere una parola.

Per esempio le parole "Zoe Grugniva Ruspando Velocemente Un Hash. Stava Timidamente Mangiando Del Tartufo Grigio." non sono veramente casuali perché "Zoe" è un nome proprio di persona e sta ad inizio frase, questo è comodo per ricordare ma ne inficia la casualità. Invece la password di partenza è veramente casuale: "zgrvuhstmdtg" (si noti che ad ogni lettera corrisponde una parola).

Per esempio da un dizionario per bambini (500-1000 parole?) si può estrarre casualmente (sui generatori di numeri pseudocasuali si aprirebbe una lunghissima discussione) 10 parole:

Quote
Triangolo
Bicchiere
Valigia
Fantasma
Film
Parlare
Capra
Leone
Pantaloni
Mangiare

le quali sono veramente casuali ma la cui sequenza è difficilissima da ricordare. In tal caso non c'è una struttura sintattica che aiuti la memoria e le possibilità sono grosso modo (10^3)^10 ovvero 10^30.

EDIT:
http://www.parolecon.it/parole-casuali.php?fs=10&fs2=1&Submit=Nuova+parola
il dizionario per bambini ha 500 termini quindi sono 10^30/1024 possibilità.


Title: Re: brainwallet
Post by: pompatore on February 18, 2016, 06:59:39 PM
trezor è al sicuro da questo attacco?


Title: Re: brainwallet
Post by: redsn0w on February 18, 2016, 08:37:31 PM
trezor è al sicuro da questo attacco?


Pare di si, ma non ne sono pienamente sicuro.


Title: Re: brainwallet
Post by: ziomik on February 18, 2016, 08:47:44 PM
Non vedo perchè dovrebbe esserlo se consideriamo che anche lui ha il suo vocabolario di creazione, no?


Title: Re: brainwallet
Post by: pompatore on February 19, 2016, 04:34:04 PM
Non vedo perchè dovrebbe esserlo se consideriamo che anche lui ha il suo vocabolario di creazione, no?

e spalmare i propi btc su molti wallett ed address di trezor garantisce piu sicurezza?

cmq all fine questa appena si espanderà sarà una mazzata allucinante per i btc


Title: Re: brainwallet
Post by: Sandro kensan on February 19, 2016, 04:45:47 PM
cmq all fine questa appena si espanderà sarà una mazzata allucinante per i btc

Non credo, il problema è solo per chi si affida ai brainwallet che sono insicuri di default.


Title: Re: brainwallet
Post by: Gianluca95 on February 19, 2016, 05:11:51 PM
Che rischi si corrono per chi ha un wallet online su blockchain.info?


Title: Re: brainwallet
Post by: Bingo_bit on February 19, 2016, 07:04:12 PM
Che rischi si corrono per chi ha un wallet online su blockchain.info?
gli stessi rischi che si corrono lasciando i propri bitcoin su un exchange online .
potrebbe chiudere al improviso e tu perderesti tutti i bitcoin .


Title: Re: brainwallet
Post by: redsn0w on February 19, 2016, 07:12:57 PM
Che rischi si corrono per chi ha un wallet online su blockchain.info?
gli stessi rischi che si corrono lasciando i propri bitcoin su un exchange online .
potrebbe chiudere al improviso e tu perderesti tutti i bitcoin .


Non esattamente, se ad esempio ti sei salvato la chiave privata (o chiavi private) che hai su blockchain.info ... non perdi nulla (anche in caso di chiusura improvvisa del WebWallet).


Title: Re: brainwallet
Post by: bittaitaliana on February 19, 2016, 07:17:07 PM
Ragazzi come al solito faccio la figurta del noob, ma non ho capito una cosa, quali sarebbero i brainwallet? Quelli che hanno il seed ? Che vengono ripristinati inserendo il seed (che prende a caso parole da un dizionario ?) Quindi anche electrum ?


Title: Re: brainwallet
Post by: Sandro kensan on February 19, 2016, 08:25:55 PM
Quindi anche electrum ?

I brainwallet sono bacati di default, però se la password o la passphrase viene scelta dal pc allora si può ragionare:
https://www.reddit.com/r/Bitcoin/comments/3g9upp/are_electrum_seeds_brain_wallets_still_safe/
Quote
[–]notreddingit 14 punti 6 mesi fa

People were/are making up brainwallets with really poor choices of words. Electrum on the other hand selects 12 words randomly from a large word list, which is generally much, much safer.

[–]haakon 2 punti 6 mesi fa

Electrum 2 wallet seeds are 13 words, so even better, I suppose.


Ora il dizionario di Elecrtum è composto da:
https://bitcointalk.org/index.php?topic=351854.0
Quote
You can find the 1626-word dictionary used by Electrum here:

che supposto (non c'è ragione non l'abbiano fatto i coders di Elecrtum) la scelta delle parole casuale fa:

1626^13 ovvero 55*10^40

per provare tutti questi hash occorre una cifra in euro pari a:
166605099799742998089606242047

Quindi è abbastanza sicuro a meno di bachi nell'implementazione. Si noti che visto l'elevato numero di parole della passphrase, alcune di queste fanno da salt.


Title: Re: brainwallet
Post by: Sandro kensan on February 21, 2016, 07:11:56 PM
Questa una vecchia discussione su Electrum dove mi sembra ci sia il suo creatore a dettagliare la questione dei brainwallet:

https://bitcointalk.org/index.php?topic=51397.0

In particolare c'è la lunghezza del dizionario, la scelta casuale delle parole e il numero delle combinazioni. La discussione è del 2012.

Da noate che Electrum dice:
Quote
The seed is a 128 bits random number, generated by os.urandom()

The seed is represented as a sequence of words in order to facilitate memorization and storage, but it can as well be represented as a hexadecimal string, or as a number.

Il numero del seed in un esempio del 3ad dice:
Quote
$ mnemonic.py blank delight sanctuary demand peach sharp knife never meant
e590e7dcd80a54737e49d4f95db4fd

$ mnemonic.py e590e7dcd80a54737e49d4f95db4fd
perhaps ever trade eye creator feather tight bloom step

In pratica c'è una corrispondenza biunivoca tra il numero esadecimale e la sequenza di parole. A questo fine il dizionario è invariabile come numero e come ordine. Ovviamente il dizionario è in inglese ma nulla toglie che si crei un dizionario di sempre 1626 parole in italiano dove a ogni parola in inglese ne corrisponde una in italiano anche non come traduzione. Quel che è importante è la sequenza.

Si spera che os.urandom() da cui dipende tutta la baracca sia implementato bene e dal nome sembrerebbe una chiamata a una funzione del sistema operativo, si spera che l'entropia ci sia quando sputa fuori il suo numero casuale.

Il punto debole di questo sistema è che occorre avere sempre l'algoritmo di Electrum per convertire il numeretto e590e7dcd80a54737e49d4f95db4fd nella private key. Con le parole chiavi occorre anche avere il dizionario. In un eventuale aggiornamento dell'algoritmo è indispensabile tenersi aggiornati perché con i brainwallet non si ha la private key come nel caso di Multibit classic.