最後の一個を消すとどうなるんだろう。
cryptsetup luksRemoveKey /dev/sdg
luksRemoveKey でHDDを安全に消去するに等しいですね。luksの暗号化ストレージは、鍵がないとアクセスできません。鍵を消せば全てアクセス不能になり、アクセス不能とは消したに等しい。
takuya@:~$ sudo cryptsetup luksRemoveKey /dev/sdg 削除するキーのパスフレーズを入力してください: WARNING! ======== これは最後のキースロットです。このキーがなくなるとデバイスは使用不能になります。 Are you sure? (Type 'yes' in capital letters): 操作は中止されました。キースロットは消去されていません。

luksKillSlot の場合
1つしか無い鍵を、luksKillSlotで、killslot してやる。
sudo cryptsetup luksKillSlot /dev/nvme1n1 0

同じように鍵データを消すことができる。
最後のカギを消去=HDDの消去。
鍵を消せばもう二度とアクセスできません。
HDDを物理的に消去せずともデータを誰かに読まれる可能性はなくなります。
うっかり消した場合。
luksHeaderBackupしていれば、復旧が可能です。
キースロットが空っぽ
takuya@:~$ sudo cryptsetup luksDump /dev/sdg
LUKS header information
(略
Data segments:
0: crypt
offset: 16777216 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes]
Keyslots:
Tokens:
Digests:
(略
luks の キー状態を保存する
sudo cryptsetup luksHeaderBackup /dev/sda3 --header-backup-file sda3.luks.header.dump
luks の crypted ディスクの先頭情報(鍵ファイルのハッシュ値やフォーマット情報)をバックアップする
ファイルサイズは意外に多い
$ sudo ls -lh sda3.luks.header.dump -r-------- 1 root root 16M Oct 13 00:05 sda3.luks.header.dump
header をリストアする
takuya@:~$ sudo cryptsetup luksHeaderRestore /dev/sdg --header-backup-file=sdg.header.dump WARNING! ======== デバイス /dev/sdg 既に LUKS2 ヘッダがあります。ヘッダを置き換えると既にあるキースロットを破壊します。 Are you sure? (Type 'yes' in capital letters): YES
ヘッダが戻る。
ヘッダが戻ると使える。
takuya@:~$ sudo cryptsetup luksDump /dev/sdg
LUKS header information
(略
Data segments:
0: crypt
offset: 16777216 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes]
Keyslots:
0: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2i
Time cost: 5
Memory: 1048576
Threads: 4
Salt: 14 08 04 8e 97 f3 64 7b cb eb 6c 3e 33 e2 ed 0c
73 9f 4b 60 92 e7 5a 3e 89 d9 44 5b 7b 3b ee 11
AF stripes: 4000
AF hash: sha256
Area offset:32768 [bytes]
Area length:258048 [bytes]
Digest ID: 0
Tokens:
Digests:
(略
最後のカギを消去する前に
鍵を替えておく。
どうしても心配なら
鍵を変更だけでも不安なら、re-encrypt で鍵を替えて再暗号化。マスターキーが変更される。
takuya@:~$ sudo cryptsetup-reencrypt /dev/sdg キースロット 0 のパスフレーズを入力してください: Progress: 0.0%, ETA 782:17, 1264 MiB written, speed 81.3 MiB/s
reencrypt ができるってことは、マスターキーをkeyslotの鍵で暗号化して、データはマスターキーってことですかね。
ちゃんと仕様を見てないけど、マスターキーがあって、そのキーを複製し、暗号化してキースロットにおいてるんだと思う。
2023-11-30
killslot で検索にかからないのでキーワードを追加
2025-10-13
headerdump を書いてなかったので追加