Firma singola o calcolo multipartitico

Wallet MPC e firma singola a confronto: dove esiste la chiave intera, che cosa accade a un dispositivo compromesso e come cambia il ripristino del backup.

Tessere di un puzzle di cartone sparse su un tavolo con alcune giĆ  incastrate fra loro

In uno schema a firma singola esiste un momento, per quanto breve, in cui la chiave privata è intera dentro un dispositivo. In uno schema a calcolo multipartitico quel momento non esiste mai: la chiave non viene ricomposta né alla creazione né alla firma, in nessun punto del processo.

È una differenza tecnica precisa e produce conseguenze molto concrete quando un dispositivo finisce nelle mani sbagliate, quando una persona non è più raggiungibile, quando serve dimostrare a un terzo chi ha autorizzato che cosa. Non è una differenza di comodità.

Il confronto che segue misura i due approcci sugli stessi criteri: dove sta il segreto, che cosa accade a un dispositivo compromesso, come si ripristina tutto e che garanzie restano in un contesto familiare o aziendale. Nessuno dei due è migliore in assoluto, e le condizioni in cui uno prevale sull’altro si possono elencare.

Dove sta il segreto nei due schemi

  • Firma singola. Una chiave privata completa, custodita in un solo luogo, che produce da sola una firma valida.
  • Calcolo multipartitico. Più quote indipendenti, ciascuna inutile da sola, che collaborano senza mai formare la chiave intera.
  • Sulla catena non si vede la differenza. Entrambi producono una firma identica: il registro non distingue i due casi.
  • La compromissione ha esiti opposti. Un dispositivo perduto compromette tutto nel primo caso, una quota sola nel secondo.
  • Il ripristino è il punto debole del secondo. Non esiste una frase di recupero unica da conservare, e le procedure dipendono da chi ha scritto il programma.

Una chiave sola: dove vive e che cosa la espone

Nello schema tradizionale una frase di recupero genera una chiave privata, e da quella chiave discende l’indirizzo. La chiave esiste come oggetto intero: si trova nella memoria del dispositivo, o nell’elemento sicuro di un apparecchio dedicato, e ogni firma la utilizza per intero.

L’esposizione è concentrata in tre punti. Il momento della generazione, che deve avvenire con una fonte di casualità adeguata. Il luogo di custodia della frase di recupero, che è una copia della chiave in forma leggibile. E l’istante della firma, in cui il segreto viene usato su un dispositivo che potrebbe essere compromesso.

Il vantaggio è la semplicità, e non va sottovalutata. Uno schema comprensibile fino in fondo produce meno errori umani di uno schema sofisticato applicato male, e la gran parte delle perdite documentate nasce da errori umani e non da rotture crittografiche. Vale la pena ricordarlo prima di aggiungere complessità a qualunque impostazione già funzionante.

Che cos’è un wallet MPC e come si divide il segreto

Tre lucchetti metallici agganciati alla stessa catena appoggiata su una superficie grigia
W.carter / CC BY-SA 4.0

Un wallet MPC applica il calcolo multipartitico alla generazione e all’uso di una chiave. Alla creazione, due o più partecipanti eseguono un protocollo al termine del quale ciascuno possiede una quota, e insieme le quote corrispondono a una chiave privata che nessuno ha mai visto e che non è mai stata scritta da nessuna parte.

La proprietà che conta è questa: le quote non sono frammenti da rimettere insieme. Non è come tagliare un foglio in tre parti, perché in quel caso ricomporlo produrrebbe il segreto originale. Qui il segreto non viene ricomposto neppure al momento della firma: ciascuna quota produce un contributo parziale, e i contributi si combinano nel risultato finale.

Da questa proprietà discende il numero che definisce lo schema: la soglia. Uno schema a due su tre richiede due quote su tre per firmare, e resta sicuro finché l’avversario ne controlla al massimo una. La soglia si sceglie all’inizio e vincola tutto il resto, dalla gestione ordinaria alle procedure di emergenza. I fondamenti teorici di questi protocolli sono pubblicati negli archivi della associazione internazionale per la ricerca crittografica.

La firma distribuita: che cosa viaggia fra i dispositivi

Durante una firma i dispositivi si scambiano più giri di messaggi. Nessuno di quei messaggi contiene la quota di chi lo invia, e nessuno contiene informazioni sufficienti a ricavarla: sono valori derivati, costruiti in modo che l’osservatore non impari nulla di utile.

Il risultato è una firma ordinaria. Chi la legge sul registro vede esattamente quello che vedrebbe per un indirizzo controllato da una persona sola, con la stessa lunghezza e lo stesso costo di verifica. Non compare alcuna traccia del fatto che due o tre dispositivi abbiano collaborato.

Questo produce due effetti pratici. Il primo è che la commissione di rete non aumenta con il numero di partecipanti, il che su schemi con molte quote è un risparmio consistente. Il secondo è che nessun osservatore esterno può dedurre la struttura di controllo di quell’indirizzo, il che è un vantaggio di riservatezza e, allo stesso tempo, un limite in termini di verificabilità.

Che cosa succede se un dispositivo viene compromesso

Nel caso della firma singola l’esito è netto: chi ottiene la chiave o la frase di recupero ottiene il controllo completo, immediatamente e in modo irreversibile. L’unica risposta possibile è spostare i fondi su un indirizzo generato da un segreto nuovo, e la corsa si vince o si perde in pochi minuti.

Nel calcolo multipartitico con soglia due su tre, una quota compromessa non permette di firmare nulla. L’avversario ha in mano un valore che da solo non produce alcuna firma valida e che non rivela il segreto complessivo. Il sistema continua a funzionare e resta il tempo per reagire con ordine.

La reazione corretta non consiste nel trasferire tutto altrove ma nel rigenerare le quote, procedura descritta nella sezione seguente. Va detto anche il limite: la protezione vale finché le quote compromesse restano sotto la soglia. Due dispositivi su tre presi dallo stesso attacco riportano la situazione al caso precedente, e questo rende la diversificazione dei dispositivi e degli ambienti la parte decisiva dell’impostazione.

Il rinnovo delle quote, la difesa che la firma singola non ha

La proprietà più interessante di questi protocolli si chiama rinnovo proattivo. I partecipanti eseguono periodicamente una procedura che sostituisce tutte le quote con quote nuove, lasciando invariata la chiave complessiva e quindi l’indirizzo e il saldo.

La conseguenza è che le quote vecchie diventano inutili. Un avversario che ne avesse sottratta una in silenzio, aspettando di ottenerne una seconda, si ritrova con un valore che non serve più a niente, e deve ricominciare da capo. Il tempo a sua disposizione non è più illimitato: è la distanza fra due rinnovi.

Nello schema a chiave singola non esiste nulla di equivalente. Cambiare chiave significa cambiare indirizzo, quindi spostare i fondi con una transazione, pagare la commissione, aggiornare tutti i riferimenti e ricominciare da zero la storia di quell’indirizzo. È una differenza di natura, non di grado, e pesa molto in contesti dove la stessa impostazione deve durare anni.

I due schemi sulla stessa riga

Criterio Firma singola Calcolo multipartitico
Esistenza della chiave intera Sì, in un dispositivo Mai, in nessun momento
Effetto di un dispositivo compromesso Controllo totale perduto Nessuno, sotto la soglia
Rinnovo del segreto senza cambiare indirizzo Non possibile Previsto dal protocollo
Visibilità sul registro Firma ordinaria Firma ordinaria, indistinguibile
Costo della commissione di rete Base Base, indipendente dalle quote
Backup Una frase di recupero standard Procedura specifica del programma usato
Verificabilità della regola da parte di terzi Non applicabile Nessuna, la regola resta fuori catena
Portabilità verso un altro programma Alta, formati condivisi Bassa, dipende dall’implementazione

Le ultime due righe contengono il prezzo del calcolo multipartitico e vanno lette con attenzione. La regola di soglia non è scritta sul registro: esiste solo nel programma che coordina le quote. Se quel programma smette di essere manutenuto, o se il fornitore cessa l’attività, restano le quote e serve un modo per usarle.

Dove il calcolo multipartitico si distingue dalla firma multipla

Esiste un terzo schema, quello in cui la catena stessa richiede più firme distinte per autorizzare una spesa. È una soluzione diversa e va tenuta separata, perché risolve un problema simile con strumenti opposti.

Nella firma multipla la regola è pubblica e applicata dal protocollo. Chiunque può verificare che quell’indirizzo richiede due firme su tre, le chiavi sono indipendenti e generate separatamente, e il ripristino usa formati aperti che qualunque programma compatibile sa interpretare. In compenso la transazione è più grande, costa di più e rivela la struttura di controllo.

Nel calcolo multipartitico la regola è privata e applicata dal programma. Non si vede, non costa nulla in più e funziona anche su reti che non prevedono alcun meccanismo di firma multipla, il che è il suo vantaggio più concreto. La scelta fra i due dipende quindi da una domanda precisa: serve che la regola sia verificabile da terzi, oppure serve che sia invisibile e portabile fra reti diverse.

Backup e ripristino: il punto in cui i due divergono di più

Nello schema a chiave singola il backup è una frase di dodici o ventiquattro parole, in un formato che decine di programmi diversi sanno leggere. Si prova su un dispositivo pulito, si verifica il primo indirizzo generato e si è certi che funzionerà anche fra dieci anni.

Nel calcolo multipartitico non c’è nulla di equivalente. Ogni quota va conservata secondo le indicazioni del programma che l’ha generata, spesso in forma cifrata e legata a un identificatore. Alcune implementazioni prevedono una procedura di esportazione che ricompone una chiave utilizzabile altrove; altre no, e in quel caso la dipendenza dal fornitore è totale.

La verifica da fare prima di adottare uno schema di questo tipo è quindi una sola, e va fatta con un importo minimo: eseguire un ripristino completo partendo dal materiale di backup, su dispositivi diversi da quelli originali, e controllare che l’indirizzo ottenuto sia lo stesso. Se la procedura non è documentata o non è eseguibile senza il supporto del fornitore, quel limite va messo in conto insieme a tutto il resto di quello che si conserva.

In famiglia e in azienda: due esigenze diverse

Tavolo da riunione in legno con sedie vuote disposte intorno e blocchi per appunti

In ambito familiare il problema principale non è l’attacco esterno ma l’indisponibilità di una persona. Uno schema a soglia risolve bene il caso in cui uno dei titolari non sia raggiungibile, purché le quote siano state distribuite fra persone e luoghi che non spariscono insieme e purché esistano istruzioni scritte comprensibili a chi non ha competenze tecniche.

Il punto delicato è proprio quello: le istruzioni. Uno schema tecnicamente impeccabile di cui una sola persona conosce il funzionamento è più fragile di una chiave singola documentata bene, perché il rischio si sposta dalla crittografia alla trasmissione della conoscenza. Vale lo stesso principio che consiglia di non concentrare tutto in un unico punto, applicato alle informazioni invece che agli importi.

In ambito aziendale prevalgono altre esigenze: separazione dei compiti, soglie diverse per importi diversi, registro di chi ha autorizzato cosa. Il calcolo multipartitico le soddisfa tutte tramite il programma di coordinamento, che può imporre politiche molto articolate. Resta però il fatto che quelle politiche non sono verificabili sulla catena: chi deve dimostrare a un revisore che una spesa è stata autorizzata da due persone distinte deve produrre i registri del programma, non un dato pubblico. Quando la dimostrazione verso terzi è un requisito, la firma multipla ha un vantaggio che nessuna comodità compensa.

Le sette verifiche prima di adottare uno dei due

  1. Chiedi dove esiste la chiave intera e in quale istante: se la risposta è vaga, lo schema non è quello che dichiara di essere.
  2. Verifica se il protocollo di firma è documentato pubblicamente e se l’implementazione è stata sottoposta a revisione indipendente pubblicata per intero.
  3. Esegui un ripristino completo su dispositivi nuovi, con un importo simbolico, prima di trasferire qualunque cosa.
  4. Accerta se esiste una procedura di uscita che permetta di usare le quote con un programma diverso da quello del fornitore.
  5. Definisci la soglia in funzione del caso peggiore realistico, non del caso più comodo: due su tre e tre su cinque hanno implicazioni molto diverse.
  6. Distribuisci le quote su dispositivi, luoghi e persone che non possono essere compromessi dallo stesso evento.
  7. Scrivi le istruzioni di emergenza in linguaggio comprensibile a chi non ha competenze tecniche, e falle provare almeno una volta.

Il quarto punto è quello che quasi nessuno verifica e che si rivela decisivo dopo anni. Le raccomandazioni generali sulla riduzione della dipendenza da un singolo fornitore, pubblicate dall’agenzia europea per la cibersicurezza, valgono qui più che altrove, perché il materiale custodito non ha alternative se il programma che lo interpreta scompare.

Domande frequenti

Un wallet MPC è più sicuro di un dispositivo hardware?

Risolve un problema diverso. Il dispositivo hardware protegge la chiave dall’estrazione su una macchina compromessa; lo schema a soglia elimina l’esistenza stessa della chiave intera e tollera la compromissione di un dispositivo. Le due difese si possono combinare, e nelle impostazioni più solide le quote risiedono proprio su dispositivi dedicati.

Se perdo una quota perdo l’accesso ai fondi?

Non necessariamente. Dipende dalla soglia: con due su tre, perdere una quota lascia il sistema pienamente operativo, e la procedura corretta è rigenerare l’insieme delle quote per tornare alla configurazione iniziale. Con due su due, invece, la perdita di una quota è definitiva quanto la perdita di una chiave singola.

Il registro mostra che sto usando uno schema a soglia?

No, e questa è una caratteristica del metodo. La firma prodotta è identica a quella di un indirizzo controllato da una persona sola, quindi nessun osservatore esterno può dedurre la struttura di controllo. Il rovescio è che nemmeno un revisore può verificarla senza accedere ai registri del programma.

Posso passare da una chiave singola a uno schema a soglia mantenendo l’indirizzo?

No. Le quote generano una chiave nuova e quindi un indirizzo nuovo. Il passaggio richiede una transazione di trasferimento e l’aggiornamento di tutti i riferimenti, comprese le autorizzazioni concesse in precedenza, che restano legate al vecchio indirizzo e vanno gestite separatamente.

Ogni quanto ha senso rinnovare le quote?

Dipende dal contesto, e la scelta ragionevole nasce da una domanda: quanto tempo si è disposti a lasciare a un avversario che avesse già ottenuto una quota in silenzio. Per un uso personale un rinnovo annuale è una scelta ragionevole; in ambito aziendale si tende a legarlo agli eventi, come l’uscita di una persona con accesso a un dispositivo.

La differenza fra i due schemi si riduce a una sola domanda: se un dispositivo cade in mano a qualcun altro stanotte, che cosa succede domani mattina. Le risposte sono opposte, e tutto il resto del confronto discende da lì.

Si occupa di sicurezza applicativa e di modelli di custodia per patrimoni digitali. Analizza attacchi reali e procedure di ripristino, con attenzione a ciò che accade quando qualcosa va storto. Consiglia sempre di provare il backup prima di averne bisogno.
12