Glossario / Wallet e custodia
Brain wallet
- Che cos'è il brain wallet?
- Il brain wallet trasforma una frase memorizzata direttamente in una chiave privata calcolandone l'hash, un modello che i ricercatori hanno svuotato su larga scala e che nessun wallet ancora mantenuto offre.
L'attrattiva era ovvia: memorizzare una frase, attraversare una frontiera senza portare nulla, ricreare il wallet dall'altra parte. Il difetto era altrettanto semplice, perché le persone scelgono frasi indovinabili e un attaccante può provare candidati offline gratuitamente. Uno studio accademico del 2016 ha individuato 884 brain wallet che detenevano 1.806 bitcoin tra il 2011 e il 2015, e tutti tranne 21 erano stati svuotati.
Come funziona
Stato: i brain wallet sono stati abbandonati dopo la comparsa di strumenti pubblici di cracking nel 2015, e nessun wallet ancora mantenuto offre l'opzione. Le frasi di recupero generate dal dispositivo li hanno sostituiti del tutto.
La costruzione è una riga di codice. Prendi la frase, applica SHA-256, e tratta i 32 byte risultanti come una chiave privata. Non c'è salt, nessuna componente casuale e nessuna lentezza deliberata. La stessa frase produce quindi la stessa chiave per ogni persona sulla terra a cui venga in mente, il che trasforma un segreto in un problema di ricerca.
Gli attaccanti lo sfruttano direttamente. Costruiscono un elenco di ogni indirizzo che abbia mai avuto un saldo, lo caricano in una struttura dati veloce per verificare l'appartenenza, poi calcolano l'hash di frasi candidate a milioni: testi di canzoni, versetti delle Scritture, citazioni di film, password da vecchi archivi di violazioni e ogni stringa in cui quelle fonti possono essere permutate. Ogni hash viene confrontato con l'elenco degli indirizzi in microsecondi. Ryan Castellucci ha dimostrato l'attacco al DEF CON 23 ad agosto 2015 e ha pubblicato brainflayer, lo strumento che ha reso la tecnica routine. Lo stesso gruppo di ricerca ha contato circa una dozzina di svuotatori concorrenti in ascolto di nuovi depositi, ed è per questo che un brain wallet con fondi veniva in genere svuotato entro un giorno e spesso entro pochi minuti.
La scelta umana della frase è la parte che non si può correggere. Anche una frase che credi originale occupa uno spazio di ricerca molto più piccolo del 2 elevato a 256 che una chiave casuale occupa, e all'attaccante servono solo le frasi che le persone scelgono davvero.
Dove lo vedi
I brain wallet sono un fenomeno storico, ma l'idea continua a tornare sotto nomi nuovi, quindi vale la pena riconoscerla. WarpWallet, pubblicato da Keybase nel 2014, ha tentato di salvare il concetto con scrypt e PBKDF2 più un indirizzo email come salt, il che aumenta il costo per tentativo senza cambiare il fatto che l'input lo ha scelto un umano.
La confusione che resta riguarda la memorizzazione di una vera frase di recupero. Dodici parole generate da un wallet hardware portano 128 bit di entropia della macchina e restano solide che tu le memorizzi o no. Una frase che hai inventato porta l'entropia che la tua immaginazione contiene, che è molto inferiore a quanto sembra. Se un sito, un'app o uno strumento per un "custom vanity seed" ti chiede di digitare una frase che hai pensato tu e in cambio ti promette un wallet, chiudilo.
Brain wallet vs passphrase
Un brain wallet è l'intero segreto; una passphrase BIP-39 è un fattore aggiuntivo sovrapposto a parole generate dalla macchina. Questa differenza decide l'attacco. Per forzare un brain wallet, a un avversario bastano una wordlist e l'elettricità, perché gli indirizzi sono pubblici. Per forzare una passphrase l'avversario deve già avere le tue parole di recupero, il che significa che l'attacco inizia solo dopo una compromissione fisica. Un input umano debole è pericoloso in entrambi i casi, ma solo uno dei due è esposto all'intera internet dal momento in cui riceve fondi.