web-dev-qa-db-ja.com

LUKS暗号化を削除する方法?

次のコマンドを使用して、ホームディレクトリのLUKS暗号化を削除してみました。

cryptsetup luksRemoveKey /dev/mapper/luks-3fd5-235-26-2625-2456f-4353fgdgd

しかし、それは私に言ってエラーを与えます:

デバイス/ dev/mapper/luks-3fd5-235-26-2625-2456f-4353fgdgdは有効なLUKSデバイスではありません。

困惑して、私は以下を試しました:

cryptsetup status luks-3fd5-235-26-2625-2456f-4353fgdgd

そしてそれは言う:

/dev/mapper/luks-3fd5-235-26-2625-2456f-4353fgdgd is active and is in use.
type: LUKS1
cipher: ...

暗号化されたデバイスはアクティブですが、有効ではないようです。ここで何が悪いのでしょうか?

12
  • バックアップ
  • 再フォーマット
  • 戻す

cryptsetup luksRemoveKeyは、暗号化キーが複数ある場合にのみ削除します。暗号化はまだそこにあります。

Fedora Installation_Guide セクションC.5.3はluksRemoveKeyの仕組みを説明しています。

内容を保持しながら暗号化を削除することは「不可能」であるということは、単なる知識に基づく推測です。私はそれを2つのことに基づいています:

  • LUKSコンテナーにはファイルシステムまたはLVMまたはwhateverが上にあるため、暗号化レイヤーを削除するだけでその上に保存されているデータの意味、これは単に利用できません。また、LUKSボリュームの一部を復号化された対応する部分で上書きしても、残りのLUKSコンテンツが壊れないことが要件であり、それが可能かどうかはわかりません。
  • これを実装すると、LUKSの目的から可能な限り離れた問題が解決されます。誰かが「意味のある」何かの代わりに時間をかけてそれを実行することはほとんどありません。
14
MattBianco

まず、LUKSパーティションからパスフレーズを削除するときは、次のように、それが存在するディスクパーティションを指定する必要があります。

cryptsetup luksRemoveKey /dev/sda2

また、LUKSで暗号化されたデバイスからのステータスが必要な場合は、以前と同じようにLUKS名を参照する必要があります。

しかし、luksRemoveKeyはパスフレーズの1つだけを削除します(最後のパスフレーズは削除しません)。完全に復号化する場合は、cryptsetup-reencryptを使用する必要があります。

cryptsetup-reencrypt --decrypt /dev/sda2
5
pepa65