Per proteggere le riserve di Bitcoin istituzionali senza creare un singolo punto di compromissione, puoi distribuire le chiavi di firma tra enclave isolate dall'hardware utilizzando il calcolo multipartitico di Google Cloud . Questo documento mette a confronto Cloud Key Management Service (Cloud KMS) e Cloud HSM con il calcolo multipartitico, valuta entrambi i modelli di sicurezza per la custodia di Bitcoin e presenta una topologia di riferimento.
Quando sposti la custodia di Bitcoin nel cloud, scegli tra due architetture di gestione delle chiavi:
- Moduli di sicurezza hardware (HSM) a chiave singola: Cloud KMS e Cloud HSM gestiscono le chiavi di crittografia statiche all'interno dei confini fisici degli HSM.
- Firma con soglia distribuita: il calcolo multipartitico distribuisce le condivisioni delle chiavi in ambienti Trusted Execution Environment (TEE) isolati dall'hardware supportati da chiavi root of trust HSM.
Cloud KMS e Cloud HSM supportano la crittografia envelope aziendale e l'infrastruttura a chiave pubblica web. Tuttavia, non sono stati progettati per le primitive di custodia di Bitcoin, come la derivazione delle chiavi gerarchiche deterministiche (HD) secondo la proposta di miglioramento di Bitcoin 32 (BIP32), la firma Schnorr BIP340 e la governance multi-party granulare.
Le principali sfide della custodia di Bitcoin basata su cloud
La tabella seguente riassume tre sfide principali che si incontrano quando si valutano i servizi di gestione delle chiavi cloud standard per la custodia di Bitcoin e il modo in cui il calcolo multipartitico risponde a ciascun requisito.
| Requisito | Limitazione in Cloud KMS e Cloud HSM | In che modo il calcolo multipartitico soddisfa questo requisito |
|---|---|---|
| Derivazione delle chiavi BIP32 |
Le partizioni Cloud HSM multi-tenant sono progettate per la gestione statica e piatta delle chiavi, come la crittografia envelope aziendale. Per preservare la sicurezza a livello di hypervisor negli ambienti cloud condivisi, i provider cloud non consentono moduli firmware HSM personalizzati, pertanto Cloud HSM non può calcolare i percorsi di derivazione BIP32 in modo nativo. A causa di questo vincolo, Cloud KMS richiede architetture di chiavi piatte. Le applicazioni devono monitorare risorse di chiavi discrete o derivare chiavi secondarie nella memoria host non criptata. |
Il calcolo multipartitico utilizza l'omomorfismo lineare del programma di span monotono DKLS23 per calcolare localmente i percorsi di derivazione BIP32 non sottoposti ad aumento della protezione. Ogni nodo calcola in modo indipendente l'offset scalare pubblico ( Nei portafogli a chiave singola, la compromissione di una chiave pubblica estesa principale ( |
| Single point of compromise |
La chiave privata completa si trova all'interno di un unico confine HSM fisico. Una credenziale di autorizzazione compromessa o una minaccia interna espone l'intero wallet. |
La chiave privata completa non esiste in testo non crittografato in nessuna singola posizione. Le condivisioni delle chiavi sono distribuite matematicamente tra nodi di computing indipendenti. |
| Agilità degli algoritmi (Schnorr e Taproot) |
I cicli dell'hardware HSM fisico sono lenti. L'aggiunta del supporto per le curve ellittiche o gli schemi di firma come BIP340 Schnorr sulla curva |
Le operazioni di crittografia vengono eseguite all'interno di enclave di Confidential VM isolate dall'hardware, il che consente al calcolo multipartitico di adottare gli aggiornamenti del protocollo senza modificare il confine fisico dell'HSM. |
Confronta Cloud KMS e il calcolo multipartitico
Quando progetti l'infrastruttura di firma degli asset digitali su Google Cloud, puoi valutare il modello HSM a chiave singola rispetto al modello a soglia distribuita.
Modello Cloud KMS e Cloud HSM con chiave singola
In un deployment di Cloud KMS, Cloud HSM genera una chiave di firma asimmetrica che utilizza l'algoritmo EC_SIGN_SECP256K1_SHA256 direttamente all'interno di un HSM fisico convalidato FIPS 140-2 livello 3. La figura seguente mostra come un livello di applicazione interagisce con Cloud HSM durante la derivazione delle chiavi secondarie:
Questa architettura fornisce la convalida FIPS 140-2 di livello 3 gestita e produce firme ECDSA (Elliptic Curve Digital Signature Algorithm) secp256k1 normalizzate con S bassa accettate dalla rete Bitcoin. Tuttavia, introduce due limitazioni architetturali per la custodia di Bitcoin:
- Frammentazione della gestione delle chiavi: poiché Cloud HSM non può calcolare i percorsi di derivazione BIP32, la tua applicazione deve monitorare milioni di ID risorsa
CryptoKeydiscreti in Cloud KMS, rimuovendo i workflow di recupero con root singola. - Rischio di esposizione della memoria: per eseguire la derivazione con protezione avanzata, l'applicazione deve esportare il seed root nella memoria host, il che interrompe il perimetro di sicurezza dell'hardware.
Modello di soglia di calcolo multipartitico distribuito
Il calcolo multipartitico implementa un'estensione con protezione avanzata del protocollo ECDSA con soglia DKLS23. Anziché generare una singola chiave completa, i nodi indipendenti in esecuzione all'interno di Confidential Space su enclave criptate con hardware AMD SEV-SNP generano e conservano condivisioni di chiavi matematiche. Per saperne di più sul protocollo, consulta Background crittografico DKLS23.
La figura seguente mostra come il calcolo multipartitico distribuisce la firma tra i nodi TEE supportati da chiavi di crittografia delle chiavi HSM indipendenti:
Questo modello di soglia distribuita offre tre vantaggi principali in termini di sicurezza:
- Nessuna chiave privata completa: nessun singolo dispositivo fisico, enclave o operatore detiene la chiave privata completa.
- Radice di attendibilità basata su hardware: le condivisioni delle chiavi vengono crittografate at-rest con chiavi di crittografia delle chiavi (KEK) protette da partizioni Cloud HSM FIPS 140-2 livello 3 o HSM on-premise esterni connessi tramite Cloud External Key Manager.
- Decrittografia basata sull'attestazione: Cloud KMS esegue l'unwrapping delle condivisioni delle chiavi nella memoria dell'enclave solo quando una quota di attestazione hardware conferma che il nodo esegue immagini container di calcolo multipartitico verificate e non manomesse.
Meccanismi crittografici per BIP32 e Taproot
Quando valuti la firma con soglia per la custodia di Bitcoin, verifica che il protocollo supporti la derivazione gerarchica degli indirizzi e l'ottimizzazione di Taproot senza aggiungere round di rete tra nodi.
Derivazione additiva BIP32 non rinforzata
BIP32 definisce la derivazione della chiave privata secondaria non rinforzata come addizione scalare modulare:
\[ k_{\text{child} } = (k_{\text{par} } + \text{parse}_{256}(I_L)) \bmod n \]
Poiché il calcolo multipartitico utilizza uno schema di condivisione segreta lineare basato su programmi di span monotoni, i nodi partecipanti derivano le condivisioni delle chiavi secondarie localmente con zero round di comunicazione di rete. La figura seguente illustra questo flusso di derivazione locale zero-round:
Modifica della chiave Taproot BIP341
Questa proprietà lineare supporta anche l'ottimizzazione della chiave Taproot BIP341 senza modificare la distribuzione della condivisione della chiave sottostante:
\[ Q = P + t \cdot G \quad \text{where} \quad t = H_{\text{TapTweak} }(P \parallel \text{MerkleRoot}) \]
Prima di partecipare alla cerimonia di firma della soglia, un nodo partecipante applica l'aggiustamento scalare (t) direttamente alla propria condivisione della chiave locale. Questa funzionalità ti consente di interagire con alberi di script Taproot, Ordinals e Discreet Log Contracts senza rigenerare o ricondividere le chiavi.
Confronto dell'architettura
La tabella seguente mette a confronto Cloud KMS e Cloud HSM con il calcolo multipartitico in base alle dimensioni principali della custodia.
| Dimensione architettonica | Cloud KMS e Cloud HSM | Multi-party Compute |
|---|---|---|
| Primitive crittografiche | ECDSA a firma singola sulla curva secp256k1 |
ECDSA a soglia (DKLS23) e Digital Signature Algorithm (EdDSA) basato sulle curve di Edwards a soglia sulla curva Ed25519, estensibile a Schnorr a soglia sulla curva secp256k1 |
| Confine dell'hardware | Scheda HSM PCIe fisica | Enclave Confidential Space AMD SEV-SNP ancorate a una radice di attendibilità di Cloud HSM |
| Supporto del wallet HD BIP32 | Gestione manuale di chiavi Cloud KMS distinte | Modifica della condivisione della chiave additiva locale senza round |
| Protezione con chiave fisica | FIPS 140-2 Livello 3 | FIPS 140-2 livello 3 per le KEK residenti in HSM che eseguono il wrapping delle condivisioni di chiavi |
| Latenza di firma (p95) | 20-50 ms | Meno di 1000 ms (meno di un secondo) tra regioni distribuite |
| Ambito interessato da una violazione delle credenziali | Esposizione completa della chiave se le credenziali del chiamante o le policy di Identity and Access Management (IAM) sono compromesse | Nessuna firma non autorizzata, a meno che un utente malintenzionato non comprometta contemporaneamente una soglia di enclave e KEK indipendenti |
| Funzioni di audit | Cloud Audit Logs | Cloud Audit Logs e log di attestazione hardware di Key Access Justifications |
Evoluzione da BIP32 alla gestione delle chiavi di soglia
Quando progetti una piattaforma di custodia di asset digitali interna, distingui tra gli standard di derivazione creati per i singoli wallet hardware e la gestione delle chiavi distribuite progettata per la governance istituzionale. Sebbene BIP32 sia ampiamente utilizzato per il monitoraggio degli indirizzi, fare affidamento sugli alberi di derivazione BIP32 per la sicurezza all'interno di un'architettura di calcolo multipartitico (MPC) è ridondante e può aggiungere complessità operativa.
Contesto storico dei wallet BIP32 con seed singolo
BIP32 è stato progettato in base ai vincoli dell'autocustodia individuale prima che la crittografia a soglia e le enclave hardware diventassero ampiamente disponibili:
- Dipendenza dal seed principale: la custodia iniziale di Bitcoin si basava sulla protezione fisica di una singola frase mnemonica leggibile di 12 o 24 parole.
- Recupero con un singolo backup: i wallet HD BIP32 consentono a un individuo di eseguire il backup di una seed phrase e di derivare in modo deterministico gli indirizzi su più account.
- Single point of failure: il seed mnemonico principale rappresenta un single point of failure totale. Se un malintenzionato compromette questa frase o il backup fisico, tutte le chiavi private secondarie derivate di tutti gli account vengono esposte.
La figura seguente illustra come la compromissione di un singolo seed radice espone ogni account secondario derivato:
Rimuovi il seed radice con la firma di soglia
In un'architettura cloud istituzionale Zero Trust, non è necessario un seed mnemonico radice leggibile. Il calcolo multipartitico elimina completamente la chiave privata root centrale. Poiché non esiste una chiave privata completa in testo non crittografato su un singolo computer o supporto di backup, non è necessario il recupero dell'indirizzo con una singola frase. Invece di derivare un albero di chiavi da un secret, il calcolo multipartitico distribuisce condivisioni di chiavi indipendenti in enclave isolate dal punto di vista crittografico.
Confronta i percorsi di derivazione BIP32 nel calcolo multipartitico
Se la tua integrazione richiede la compatibilità con BIP32 per i tracker di indirizzi esterni o i workflow di contabilità, confronta i due percorsi di implementazione tecnica nella tabella seguente.
| Percorso di implementazione | Meccanismo crittografico | Profilo di sicurezza ed esposizione | Latenza e prestazioni di firma |
|---|---|---|---|
| BIP32 non rinforzato con calcolo multipartitico |
Modifiche additive locali:
Ogni nodo calcola l'offset scalare pubblico ( |
|
|
| BIP32 con protezione avanzata e calcolo multipartitico |
Interactive multi-party |
|
|
Consigli per la custodia istituzionale
Il calcolo multipartitico supporta la derivazione additiva BIP32 non con protezione avanzata per la compatibilità con i sistemi esistenti e i tracker di indirizzi esterni. Per la custodia istituzionale dedicata, valuta la possibilità di passare a chiavi di soglia indipendenti gestite direttamente nel calcolo multipartitico:
- Elimina le dipendenze da una singola radice: genera, ruota ed esegui il backup di condivisioni di chiavi indipendenti all'interno di enclave isolate anziché derivare le chiavi come offset matematici da una singola chiave radice.
- Aumenta l'agilità degli algoritmi: disaccoppia il livello di orchestrazione dai percorsi di derivazione BIP32 specifici di Bitcoin in modo da poter adottare schemi di firma non ECDSA, come lo schema di firma
Ed25519per le reti di smart contract, in un unico modello di governance. - Riduci la complessità della firma: gestisci chiavi di soglia discrete per semplificare le ricerche nel database, mantenere concise le richieste di transazione e ridurre al minimo la latenza della firma.