Runbook: validator identity key rotation
How to rotate the Ed25519 identity key held in the Nitro Enclave without losing on-chain identity.
When to run this
- Scheduled rotation (recommended quarterly).
- Suspected compromise of the encrypted ciphertext blob in S3 / KMS.
- After a TEE upgrade that changes the PCR measurements (the new enclave needs the key re-wrapped under the updated KMS policy).
Procedure
- Boot a fresh enclave instance alongside the running one (blue / green) so traffic can drain.
validator-cli rotate-identity --keypair-path ~/solana/new-validator-keypair.json --confirm
-
The CLI re-wraps the keypair under the current PCR-bound KMS policy, uploads the new ciphertext, and prints the new key reference.
-
Restart the host-proxy and enclave with the new ciphertext reference.
-
Verify the sign-probe stays green for at least 5 minutes:
validator-cli stats --window 5m
- Shred the on-disk keypair file. The Marketplace process never reads it again. The only persistent copy is the KMS-wrapped ciphertext.
TODO: pending content
- Rollback procedure if Step 4 fails (link to incident response).
- Solana cluster-side reconciliation for cases where the on-chain identity must change as well.
- Coordination guidance with downstream stake delegators.