最後の一個を消すとどうなるんだろう。
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: (略
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
ちゃんと仕様を見てないけど、マスターキーがあって、そのキーを複製し、暗号化してキースロットにおいてるんだと思う。
2023-11-30
killslot で検索にかからないのでキーワードを追加