Wallet, frasi seed e modelli di custodia · Lezione 2 di 5
Frasi seed, BIP-39 e passphrase
8 min di lettura
Perché esistono i materiali di recupero
Un wallet deterministico può generare molte chiavi di firma correlate a partire da un segreto iniziale comune, consentendo un metodo di recupero compatto. Una frase seed, detta anche frase mnemonica o frase di recupero, è una sequenza di parole che rappresenta o codifica il materiale di recupero secondo uno schema specifico. Il diffuso schema BIP-39 definisce un metodo per convertire dati casuali in parole e poi derivarne un seed binario. Le parole non sono una password scelta per comodità, né uno standard universale interpretato allo stesso modo da tutti i wallet blockchain.
Il termine «seed» viene spesso usato informalmente sia per indicare le parole sia per il valore binario derivato. In una discussione tecnica rigorosa, è bene distinguere la frase mnemonica BIP-39 dal seed a 512 bit che ne risulta e dalle chiavi wallet derivate a valle. Non si tratta di una mera questione terminologica: per risolvere i problemi di un recupero non riuscito occorre sapere quale elemento si aspetta un sistema e quali convenzioni supporta la sua implementazione.
Uno standard non significa compatibilità universale
BIP-39 (codice mnemonico per la generazione di chiavi deterministiche) è ampiamente implementato, ma alcuni wallet utilizzano sistemi di backup, schemi di derivazione o strutture di account diversi. BIP-32 (wallet deterministici gerarchici) descrive un albero di chiavi correlate derivate da una radice. BIP-44 (gerarchia multi-account per wallet deterministici) propone un’organizzazione comune degli account per le implementazioni compatibili. Una frase mnemonica corretta, da sola, non riproduce sempre indirizzi identici in un altro wallet, a meno che anche la passphrase, il percorso di derivazione, la rete e le convenzioni relative agli script o agli indirizzi siano compatibili.
Come funziona BIP-39 a livello concettuale
BIP-39 parte da dati casuali generati dal computer, detti anche entropia, e aggiunge un breve checksum derivato da un hash crittografico. Divide poi i bit combinati in gruppi che indicizzano le parole di un elenco fisso di 2.048 parole. Le lunghezze di entropia ammesse variano da 128 a 256 bit, con incrementi di 32 bit, e producono frasi di 12, 15, 18, 21 o 24 parole. Le frasi di dodici e ventiquattro parole sono esempi noti, ma non sono le sole lunghezze valide previste dalla specifica. Il checksum aiuta a individuare alcuni errori di trascrizione; non garantisce che una frase sia stata creata in modo sicuro o corretto.
La frase viene elaborata da una funzione di derivazione delle chiavi basata su password, PBKDF2, con HMAC-SHA512, 2.048 iterazioni e una specifica costruzione del salt definita da BIP-39, producendo un seed a 512 bit. PBKDF2 espande la frase mnemonica e la passphrase opzionale in materiale binario standardizzato. Il seed derivato può quindi alimentare un sistema di generazione deterministica delle chiavi, come BIP-32. I dettagli dell’algoritmo sono importanti per l’interoperabilità, ma il compito più importante per chi è alle prime armi è comprendere il rapporto tra entropia, frase mnemonica, passphrase, seed e account wallet derivati.
| Bit di entropia | Bit di checksum | Parole BIP-39 |
|---|---|---|
| 128 | 4 | 12 |
| 160 | 5 | 15 |
| 192 | 6 | 18 |
| 224 | 7 | 21 |
| 256 | 8 | 24 |
La passphrase BIP-39 opzionale
BIP-39 consente di utilizzare una passphrase opzionale in aggiunta alla frase mnemonica. La passphrase viene incorporata nel processo di derivazione; non è semplicemente un PIN per accedere a un’app e non va confusa con la password usata per sbloccare un particolare dispositivo. Se non viene specificata, la passphrase è una stringa vuota. La stessa frase mnemonica combinata con passphrase diverse produce seed derivati diversi e quindi account e indirizzi potenzialmente diversi. È importante notare che BIP-39 in genere non segnala una «passphrase errata»: una passphrase diversa produce comunque un seed plausibile.
Questo comporta un serio compromesso in termini di possibilità di recupero. Un backup della frase mnemonica senza la passphrase necessaria non ripristina gli account previsti. Al contrario, registrare insieme entrambi gli elementi può ridurre il vantaggio in termini di sicurezza derivante dal tenerli separati. L’adeguatezza di una passphrase dipende dal modello di minaccia, dal rischio di errore umano e dalle procedure di recupero, non dall’affermazione che configurazioni più lunghe o complesse siano automaticamente più sicure. Per le istituzioni, la questione pertinente è come il personale autorizzato al recupero possa utilizzare e verificare le informazioni protette senza creare un’esposizione non necessaria.
Non confondere tre segreti diversi
Un PIN wallet spesso controlla l’accesso a una specifica app o a un dispositivo. Una frase mnemonica BIP-39 può consentire di ricostruire il materiale di firma in un software compatibile. Una passphrase BIP-39 modifica il seed derivato. La perdita o la modifica di ciascuno di questi elementi ha conseguenze diverse. La password reimpostabile di un account online è ancora un’altra cosa: un servizio può consentire di reimpostare l’accesso, ma ciò non significa che possa ricostruire un seed indipendente e custodito autonomamente.
Progettazione dei backup e garanzia del recupero
Il recupero è un processo, non la semplice esistenza di un foglio scritto a mano. Un piano di recupero solido valuta se esiste una registrazione leggibile; se è completa e accurata; se le persone autorizzate sanno quale standard wallet e quali convenzioni di rete si applicano; e se il recupero può essere testato in modo controllato senza esporre segreti attivi. La posizione, l’accessibilità e l’integrità di un backup sono importanti quanto le proprietà matematiche della frase mnemonica. Un backup perfetto, inaccessibile dopo un’emergenza, non costituisce una capacità di recupero efficace.
Digitare le parole di recupero in siti web non affidabili o condividerle con presunti addetti all’assistenza è una modalità comune di compromissione. Un processo di recupero legittimo dovrebbe svolgersi esclusivamente mediante software appropriato e verificato e procedure organizzative adeguate. A fini didattici, gli schemi illustrativi non contengono intenzionalmente una frase di recupero valida. Gli studenti non dovrebbero usare come credenziali di sicurezza reali le parole di esempio presenti nel materiale didattico.
Percorsi di derivazione e inventari istituzionali
Un percorso di derivazione è una descrizione strutturata della posizione di un determinato account o di una chiave all’interno di un albero di chiavi deterministico. Due sistemi possono applicare le stesse parole BIP-39 ma seguire convenzioni di percorso o rappresentazioni degli indirizzi diverse. Per un’organizzazione, ciò significa che un inventario di recupero dovrebbe conservare la famiglia wallet, le reti supportate, le convenzioni degli account e ogni altra configurazione non segreta necessaria per un ripristino autorizzato. Queste informazioni non sostituiscono i segreti effettivi protetti. Aiutano a evitare un’emergenza in cui il personale possiede la frase corretta ma non riesce a identificare gli indirizzi previsti.
Gestione di una sospetta esposizione
Se è possibile che il materiale di recupero sia stato divulgato, la questione non è se il checksum della frase mnemonica sia ancora valido, ma se qualcun altro possa ricostruire credenziali di firma utilizzabili. Le conseguenze dipendono da tutti gli elementi pertinenti, inclusi eventuali passphrase, ulteriori criteri degli account e autorità di transazione disponibili. I piani di gestione degli incidenti dovrebbero concentrarsi sulla conservazione delle prove, sulla conferma degli account interessati e sulla valutazione, da parte del personale autorizzato, di eventuali misure di protezione necessarie. La semplice modifica di un codice di sblocco dell’app normalmente non invalida una frase di recupero divulgata. Un piano di recupero dovrebbe essere provato prima che si verifichi un’emergenza, utilizzando un ambiente di test controllato e partecipanti adeguatamente autorizzati.
Cosa non garantisce il recupero
Un ripristino basato su seed può recuperare il controllo delle chiavi corrispondenti, ma non le etichette delle transazioni, le note storiche, i contatti, le bozze locali o le impostazioni degli account di terze parti memorizzati solo nell’applicazione originale. Inoltre, non garantisce che ogni rete, posizione di token o account basato su contract venga visualizzato automaticamente. Prima che i saldi diventino visibili, potrebbe essere necessario configurare l’account ripristinato con l’appropriata individuazione degli account, le impostazioni di rete o un’implementazione compatibile degli account. Il ledger in sé non viene modificato dal processo di recupero.
Un checksum non convalida che la frase appartenga alla persona che sta tentando il recupero. Né una frase valida garantisce che gli asset desiderati esistano ancora agli indirizzi derivati. Gli esaminatori e i revisori dovrebbero distinguere tra la prova della validità di una codifica BIP-39, la prova di una specifica chiave derivata e la prova del controllo su un determinato indirizzo. Si tratta di proposizioni fattuali distinte.
Standard e contesto professionale
BIP-39 specifica la creazione di frasi mnemoniche e la derivazione dei seed; BIP-32 descrive chiavi deterministiche gerarchiche; e BIP-44 descrive una convenzione organizzativa per più account. NIST SP 800-57 Part 1 Revision 5 fornisce indicazioni generali sul recupero delle chiavi crittografiche e sulla protezione durante il loro ciclo di vita. Questi documenti tecnici hanno finalità diverse: le specifiche di interoperabilità riguardano i calcoli, mentre le indicazioni di gestione riguardano la protezione e la continuità operativa.
Focus d’esame: Spiega la sequenza che va dall’entropia casuale a una frase mnemonica BIP-39 e a un’eventuale passphrase, fino a un seed derivato e a chiavi deterministiche. Sappi che BIP-39 non garantisce la compatibilità dei wallet né un recupero sicuro, e distingui le parole di recupero da un PIN dell’app o dalla password di un account online.