Ruota la chiave branch attiva - AWS SDK di crittografia del database

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ruota la chiave branch attiva

Può esserci una sola versione attiva per ogni chiave di ramo alla volta. In genere, ogni versione attiva della chiave di filiale viene utilizzata per soddisfare più richieste. Tuttavia, è possibile controllare la misura in cui le chiavi di ramo attive vengono riutilizzate e determinare la frequenza con cui la chiave di ramo attiva viene ruotata.

Le chiavi branch non vengono utilizzate per crittografare le chiavi di dati in testo semplice. Vengono utilizzate per derivare le chiavi di wrapping univoche che crittografano le chiavi di dati in testo non crittografato. Il processo di derivazione della chiave di wrapping produce una chiave di wrapping unica da 32 byte con 28 byte di casualità. Ciò significa che una chiave branch può derivare più di 79 ottilioni, o 2 96, chiavi di wrapping uniche prima che si verifichi l'usura crittografica. Anche se questo rischio di esaurimento è bassissimo, potrebbe essere necessario ruotare le chiavi di filiale attive a causa di regole aziendali/contrattuali o norme governative.

La versione attiva della chiave di filiale rimane attiva finché non viene ruotata. Le versioni precedenti della chiave branch attiva non verranno utilizzate per eseguire operazioni di crittografia e non potranno essere utilizzate per derivare nuove chiavi di wrapping, ma possono comunque essere interrogate e fornire chiavi di wrapping per decrittografare le chiavi di dati che crittografavano mentre erano attive.

avvertimento

L'eliminazione delle chiavi di filiale negli ambienti di test è irreversibile. Non è possibile recuperare le chiavi branch eliminate. Quando si eliminano e si ricreano le chiavi di filiale con lo stesso ID in ambienti di test, possono verificarsi i seguenti problemi:

  • I materiali dei test precedenti potrebbero rimanere nella cache

  • Alcuni host o thread di test potrebbero crittografare i dati utilizzando chiavi branch eliminate

  • I dati crittografati con rami eliminati non possono essere decrittografati

Per evitare errori di crittografia nei test di integrazione:

  • Reimposta il riferimento gerarchico del portachiavi prima di creare nuove chiavi di filiale OPPURE

  • Usa una chiave IDs di filiale unica per ogni test

Autorizzazioni richieste

Per ruotare le chiavi branch, hai bisogno delle ReEncrypt autorizzazioni kms: GenerateDataKeyWithoutPlaintext e kms: sulla chiave KMS specificata nelle azioni del tuo key store.

Ruota una chiave branch attiva

Usa l'VersionKeyoperazione per ruotare la chiave branch attiva. Quando si ruota la chiave di ramo attiva, viene creata una nuova chiave di ramo per sostituire la versione precedente. Non branch-key-id cambia quando si ruota la chiave di ramo attiva. È necessario specificare la chiave branch-key-id che identifica la chiave di ramo attiva corrente quando si chiama. VersionKey

Java
keystore.VersionKey( VersionKeyInput.builder() .branchKeyIdentifier("branch-key-id") .build() );
C# / .NET
keystore.VersionKey(new VersionKeyInput{BranchKeyIdentifier = branchKeyId});
Rust
keystore.version_key() .branch_key_identifier(branch_key_id) .send() .await?;