私の目標は、緊急時にキーファイルを使用してメディアを簡単に破棄し、システムを起動できないようにすることです。潜在的なアドバイザーがシステムの正しいパスワードを知っている場合でも同様です。このキーファイルを安全な場所に保存し、重大な状況が発生した後に復元します。コマンド# cryptsetup luksAddKey /dev/<device>
を使用してキーファイルを追加しようとしましたが、目的を達成できませんでした。 cryptsetupには、キーファイルとパスワードの両方が必要です。システムが提供されている場合は起動しません。 cryptsetupでこれをどのように達成できますか?
detachedLUKSヘッダーを作成できます:separateであるLUKSヘッダーメタデータ)このデータの直前ではなく、LUKSで保護されたデータから。 USBキーなどの外部デバイスに置くだけで、設定が完了します。外部デバイスが破壊された場合(バックアップが利用できない場合)、キースロットのパスワードを知っていてもデータを回復する方法はありません。
から LUKS EXTENSION :
デタッチされたヘッダーを指定するには、
--header
パラメーターをすべてのLUKSコマンドで使用でき、常に位置パラメーターよりも優先されます。
明らかな致命的なミスを回避するために(おそらくデータ部分でも同じ)、直接ではなく、検出されたメタデータ(以下を参照)を使用してこのデバイスを常に参照する必要があります(例:/dev/sdb
)。したがって、たとえば、挿入してls
で表示したときに、このように識別されたUSBキーがあると仮定します。
lrwxrwxrwx. 1 root root 9 Feb 17 10:46 /dev/disk/by-id/usb-SomeBrand_SOMESERIAL -> ../../sdb
次のように、デタッチされたヘッダーを使用してLUKSパーティションを作成します。
cryptsetup luksFormat /dev/datadevice --header /dev/disk/by-id/usb-SomeBrand_SOMESERIAL --verify-passphrase
メタデータ(パスワードで保護されたマスターキーを含む)をUSBデバイスに保存します。もちろん、代わりにUSBキーでファイルシステムをパーティション分割してフォーマットし、ヘッダーをこのファイルシステム上のファイルにすることもできます。この例では、依存関係を最小限に抑えようとしています。おそらくどのインストーラーでもサポートされていないため、インストール時に何らかの方法で手動でこれを行う必要があります。
現在、少なくとも1つの違いがあります。この場合、デフォルトではデータの前にスペースがないため、/dev/datadevice
はLUKSとしても検出できません。これは、良い(ステルス)または悪い(自動スクリプト)可能性があります。ロックを解除するのに苦労します)。パラメータを設定して通常のヘッドルーム(--align-payload 4096
(通常は通常のLUKSでcryptsetup luksDump /dev/... | grep ^Payload
を使用することで目撃されます))を取得してから、最初に偽の(後で使用されない)LUKSヘッダーを作成することができます。本当に必要な場合は検出の。
次に、対応する情報を/etc/crypttab
に入力できます。
myluksprotecteddata /dev/somedevice none luks,header=/dev/disk/by-id/usb-SomeBrand_SOMESERIAL
および/またはcryptsetupコマンド(--header=/dev/disk/by-id/usb-SomeBrand_SOMESERIAL
を追加するだけ)オプションを使用して直接ロックを解除します。
警告:特に起動に関して、systemdとの互換性は保証されていません。