/ Documentation / Desktop GUI / Managing keyslots

Managing keyslots

Add, revoke and rotate keyslots, upgrade the header format, deniable keyslots, TPM storage root key pinning.

The Keyslots view is where you add backup keys, revoke compromised ones, rotate the master volume key and upgrade the header format. Reach it with the Keyslots button in the Browser view; < Back returns to the Browser.

The slot list

A LUKSbox vault holds up to 8 keyslots. Each slot is independent: any active slot can unlock the vault, revoking one doesn't affect the others.

At the top, the view shows the vault cipher (set at create time, the same for every slot) and the header format. Then each slot has a card:

Keyslots view: Slot 0 tagged hybrid-pq-fido2 (768), Slot 1 passphrase with its Argon2id parameters, Slot 2 fido2 (wrap) with its credential id, each with a Revoke button, and empty slots 3 to 7
The Keyslots view of a vault with three slots in use.

Header format v3

Under the cipher line, the view shows the vault's header format (0.6.0+):

With header format v3, every keyslot change (add, revoke, update, rotate) bumps a header generation that the rollback-detection anchor records. Opening the vault with its anchor then refuses an older header, for example a backup taken before a revoke, which would otherwise bring the revoked credential back. Keep the anchor on separate trusted storage.

Upgrade header to v3 is one-way: LUKSbox versions before 0.6.0 can no longer open the vault afterwards. New vaults get header format v3 by default (see Creating a vault). The CLI equivalents are luksbox upgrade-header and luksbox deniable-upgrade-header.

Add a keyslot

Under ADD KEYSLOT there is one button per kind:

Each button opens a dialog for what that kind needs: the new passphrase and its Argon2id strength, the FIDO2 PIN and touches, the .kyber seed file path and its passphrase, the TPM PIN. The vault is already unlocked, so no existing credential is asked again. Buttons that need hardware check it first (FIDO2 key plugged in, TPM reachable) so you get the error before typing anything. FIDO2-direct slots can only be made when the vault is created.

This is the standard way to add a backup. Best practice for high-value vaults:

TPM storage root key pinning

On Linux and Windows, above the TPM buttons (and in the Create form when a TPM kind is selected), the checkbox Pin the TPM storage root key in new TPM keyslots (0.6.0+, off by default) makes every new TPM keyslot record the TPM's storage root key (SRK). Unlock then refuses to run if the TPM reports a different key, which defeats an active TPM-bus interposer substituting the key to read the unsealed secret.

The CLI equivalent is the global --tpm-pin-srk flag (or LUKSBOX_TPM_PIN_SRK=1); the wizard asks before the first new TPM keyslot of a session.

Revoke a keyslot

Click Revoke on the slot. The dialog Revoke keyslot #N? explains what happens; Revoke this keyslot confirms:

If you suspect a keyslot was actively compromised (someone copied your .lbx AND has your YubiKey AND your PIN, say), follow the revoke with Rotate master key below. That generates a fresh MVK and re-encrypts every chunk under it. With header format v3 and an anchor, a copy of the header taken before the revoke can no longer bring the slot back.

Revoking the last active keyslot locks you out for good. The GUI lets you do it, but the dialog warns in red and its button reads Yes, lock me out permanently. Enroll the new credential first, then revoke the old one.

Rotate the master key

Rotate master key..., under ROTATE, is available when every slot in use is a passphrase slot. The dialog asks for the passphrase of each passphrase slot and the Argon2id strength for the new wraps, then:

  1. Generates a fresh random MVK
  2. Re-encrypts EVERY file chunk under keys derived from the new MVK
  3. Re-wraps every keyslot under the new MVK, with fresh salts
  4. Commits atomically: with an inline header the work goes to a <vault>.rotating temp file that is renamed over the original at the end, so a crash before that leaves the original intact

After rotation, any previously-extracted MVK is useless against the vault. Use this:

For other vaults the button shows Rotate master key (use CLI), disabled, with the reason: FIDO2 (wrap) slots need luksbox rotate-mvk or the wizard; TPM and Secure Enclave slots must be revoked, the key rotated with luksbox rotate-mvk, then re-enrolled; hybrid-PQ vaults cannot be rotated yet, and FIDO2-direct vaults not at all (their master key comes from the authenticator: recreate the vault).

Deniable vaults

A deniable vault has no slot list: an unused slot is random bytes and each used one is sealed under its own passphrase, which is the point of a deniable vault. The view shows a Deniable keyslots section instead (0.6.0+):

Adding a keyslot to a deniable vault works with the same buttons; the dialog also asks for the new credential's envelope passphrase, its Argon2id strength and a target slot number. Write the number down: you need it to revoke that credential later. Secure Enclave keyslots cannot be added to a deniable vault.

Tips

Next