Hardened derivation

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Esiste un caso speciale di derivazione delle chiavi, chiamata Hardened derivation. Un rapido promemoria: la funzione di derivazione ha due input, la chiave estesa e l'indice, che è un intero a 32 bit. Possiamo dividere questo spazio di 32 bit in due metà, sopra e sotto 231. È possibile ricavare chiavi private in entrambe le metà, ma solo la metà inferiore può essere utilizzata per ricavare chiavi pubbliche, ottenute mescolando la chiave privata del genitore nella formula se l'indice è superiore a 231.

Le chiavi private derivate con un indice della metà superiore sono chiamate chiavi Hardened e nel percorso di derivazione (la stringa di indici che viene utilizzata per la derivazione) sono indicate con il simbolo di primo ('), relativo a 231.

Esistono due possibili tipi di derivazione BIP32, Hardened o non-Hardened.

Nella notazione del percorso BIP32 standard, la Hardened derivation a un livello particolare è indicata da un apostrofo. Ad esempio, per i primi tre livelli viene utilizzato il seguente esempio di derivazione hardened, mentre per gli ultimi due livelli viene utilizzata la derivazione non hardened:

m / 44' / 0' / 1' / 1 / 33

Con le chiavi non-hardened, puoi provare che una chiave pubblica figlio è collegata a una chiave pubblica principale utilizzando solo le chiavi pubbliche.

Puoi anche derivare chiavi figlie pubbliche da una chiave padre pubblica, che abilita i wallet di sola visualizzazione. Con le chiavi figlio rafforzate, non è possibile dimostrare che una chiave pubblica figlio sia collegata a una chiave pubblica padre. Per motivi di sicurezza, l'utilizzo di hardened key è più sicuro, ma esistono casi d'uso per l'utilizzo di non-hardened key. Una chiave pubblica estesa padre insieme a una chiave privata figlio non protetta possono esporre la chiave privata padre. Ciò significa che le chiavi pubbliche estese devono essere trattate con maggiore attenzione rispetto alle normali chiavi pubbliche. È anche il motivo dell'esistenza di hardened key e del motivo per cui vengono utilizzate per il livello di account nell'albero. In questo modo, una perdita di chiavi private specifiche dell'account (o inferiori) non rischia mai di compromettere il master o altri account.


aggiornato il 2022-07-18