「Dm-crypt/ドライブの準備」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (カテゴリの修正) |
|||
(2人の利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
{{Lowercase title}} |
{{Lowercase title}} |
||
− | [[Category: |
+ | [[Category:保存データ暗号化]] |
[[Category:ファイルシステム]] |
[[Category:ファイルシステム]] |
||
[[en:Dm-crypt/Drive preparation]] |
[[en:Dm-crypt/Drive preparation]] |
||
− | [[Dm-crypt]] |
+ | [[es:Dm-crypt/Drive preparation]] |
− | |||
ドライブを暗号化する前に、ドライブ全体をランダムデータで上書きしてディスクを完全に消去するべきです。暗号攻撃や、望ましくない[[ファイルリカバリ]]がされないように、後から dm-crypt によって書き込まれたデータと判別がつかないようにするのが理想的です。もっと細かい話は[[ディスク暗号化#ディスクの準備]]を見て下さい。 |
ドライブを暗号化する前に、ドライブ全体をランダムデータで上書きしてディスクを完全に消去するべきです。暗号攻撃や、望ましくない[[ファイルリカバリ]]がされないように、後から dm-crypt によって書き込まれたデータと判別がつかないようにするのが理想的です。もっと細かい話は[[ディスク暗号化#ディスクの準備]]を見て下さい。 |
||
== ハードディスクドライブの完全消去 == |
== ハードディスクドライブの完全消去 == |
||
+ | ハードディスクドライブを完全に消去する方法を決める際は、暗号化ドライブとしてハードドライブを使用するかぎり消去は一度で十分だということを覚えておいてください。 |
||
− | In deciding which method to use for secure erasure of a hard disk drive, remember that this needs only to be performed once for as long as the drive is used as an encrypted drive. |
||
+ | {{Warning|消去する前に重要なデータはバックアップしてください。}} |
||
− | {{Warning|Make appropriate backups of valuable data prior to starting.}} |
||
+ | {{Note|大量のデータを消去する場合、完了するまで数時間から数日かかります。}} |
||
− | {{Tip|The process of filling an encrypted drive can take over a day to complete on a multi-terabyte disk. In order not to leave the machine unusable during the operation, it may be worth to do it from a system already installed on another drive, rather than from the live Arch installation system.}} |
||
+ | |||
+ | {{Tip| |
||
+ | * 数テラバイトのディスクだと暗号化ドライブを作成するのに1日以上かかることもあります。消去している間、マシンが使えなくなってしまうのを避けるために、Arch のライブインストールメディアではなく他のドライブにインストールされた環境から消去するのも良いでしょう。 |
||
+ | * [[SSD]] の場合、[[ディスクの完全消去#フラッシュメモリ|フラッシュメモリ]]のキャッシュが残らないようにするため、以下の方法よりも先に[[ソリッドステートドライブ/メモリセルの消去|メモリセルの消去]]を試みることを推奨します。}} |
||
=== 一般的な方法 === |
=== 一般的な方法 === |
||
19行目: | 22行目: | ||
=== dm-crypt 固有の方法 === |
=== dm-crypt 固有の方法 === |
||
+ | 以下の2つの方法はどちらも dm-crypt 専用の方法で、非常に高速な消去が可能でパーティションを設定した後でも実行できます。 |
||
− | The following methods are specific for dm-crypt and are mentioned complementarily, because they are very fast and can be performed after a partition setup too. |
||
+ | [https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#5-security-aspects cryptsetup FAQ] には既存の dm-crypt ボリュームをシンプルな疑似乱数生成器として使って簡単にブロックデバイスの空き領域をランダムなデータで消去する方法が載っています。ランダムなデータで消去することで使用パターンが漏洩するのを防ぐことが可能です。暗号化されたデータはランダムなデータと基本的に見分けが付きません。 |
||
− | The [https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#5-security-aspects cryptsetup FAQ] mentions a very simple procedure to use an existing dm-crypt-volume to wipe all free space accessible on the underlying block device with random data by acting as a simple pseudorandom number generator. It is also claimed to protect against disclosure of usage patterns. |
||
+ | |||
+ | ==== dm-crypt で空のディスクまたはパーティションを消去 ==== |
||
+ | |||
+ | まず、暗号化するパーティション ({{ic|sdXY}}) やディスク ({{ic|sdX}}) に一時的に暗号化コンテナを作成してください。デフォルトの暗号化パラメータを使用して {{ic|--key-file /dev/{u}random}} オプションでランダムなキーを使う例 ([[乱数生成]]を参照): |
||
+ | |||
+ | # cryptsetup open --type plain /dev/sdXY container --key-file /dev/random |
||
+ | |||
+ | 次に、コンテナが存在することを確認: |
||
− | ==== インストール前に dm-crypt で消去 ==== |
||
− | First, create a temporary encrypted container on the partition ({{ic|sdXY}}) or the full disk ({{ic|sdX}}) you want to encrypt, e.g. using default parameters |
||
− | # cryptsetup open --type plain /dev/sdXY container |
||
− | Second, check it exists |
||
{{hc|# fdisk -l|Disk /dev/mapper/container: 1000 MB, 1000277504 bytes |
{{hc|# fdisk -l|Disk /dev/mapper/container: 1000 MB, 1000277504 bytes |
||
... |
... |
||
Disk /dev/mapper/container does not contain a valid partition table}} |
Disk /dev/mapper/container does not contain a valid partition table}} |
||
+ | コンテナをゼロで埋めます。暗号が使われるため {{ic|1=if=/dev/urandom}} の使用は必須ではありません。 |
||
− | Finally, wipe it with pseudorandom (encrypted data), a use of {{ic|/dev/urandom}} is not required as the encryption cipher is used for randomness: |
||
− | {{hc|# dd <nowiki>if=/dev/zero of=/dev/mapper/container</nowiki>| |
+ | {{hc|# dd <nowiki>if=/dev/zero of=/dev/mapper/container status=progress</nowiki>| |
dd: writing to ‘/dev/mapper/container’: No space left on device}} |
dd: writing to ‘/dev/mapper/container’: No space left on device}} |
||
− | {{Note| |
||
− | * Regularly ''dd'' is used with a block size larger than default, for example {{ic|1=bs=4M}}, to gain higher throughput. Using it with dm-crypt is detrimental, because it has the same default block size of 512 bytes and the command may exit before wiping the final blocks when a larger one is used. |
||
− | * For daily operation the performance loss of disk I/O operations with dm-crypt is not adversely affected by this. If the filesystem performs 4K operations, dm-crypt will process eight blocks at a time. It is important though that the underlying partition is aligned to disk geometry correctly when it is created.}} |
||
− | 次は[[#パーティショニング|パーティショニング]]です。 |
||
+ | {{Tip| |
||
− | ==== インストール後に dm-crypt で空き領域を消去 ==== |
||
+ | * ディスクのスループットを向上させるために、''dd'' を使うときはよく {{ic|1=bs=}} オプションが使用されます。例: {{ic|1=bs=1M}}。 |
||
+ | * 操作のチェックを実行したい場合、コンテナを作成するまえにパーティションをゼロ埋めしてください。消去後、{{ic|blockdev --getsize64 ''/dev/mapper/container''}} を root で実行することでコンテナの正確なサイズを確認できます。消去が隅々まで行われたことを確認したい場合、''od'' を使うことでゼロ埋めされたセクタが上書きされているか抽出検査できます。例: {{ic|od -j ''containersize - blocksize''}}。}} |
||
+ | |||
+ | 最後に、一時コンテナを施錠: |
||
+ | |||
+ | # cryptsetup close container |
||
+ | |||
+ | システム全体を暗号化する場合、次は[[#パーティショニング|パーティショニング]]です。パーティションを暗号化する場合は [[dm-crypt/root 以外のファイルシステムの暗号化#パーティション]]に進んでください。 |
||
+ | |||
+ | ==== dm-crypt でインストール後の空き領域を消去 ==== |
||
+ | [[dm-crypt/システム全体の暗号化|インストール]]する前にハードディスクを消去するのが面倒だという場合、暗号化したシステムを起動してファイルシステムがマウントされてから同じような操作をすることもできます。ただし、ファイルシステムの領域が root ユーザー、あるいは[[ディスククォータ]]などによって限定されている場合、root ユーザーで操作しても一部のブロックデバイスに書き込みが行われずに消去が中途半端になる可能性があります。 |
||
− | The same effect can be achieved if a file is created on an encrypted partition that fills the free space of the partition completely after the system is installed, booted and filesystems mounted. That is because encrypted data is practically indistinguishable from random. |
||
+ | 消去を実行するには、暗号化コンテナの中にファイルを書き込むことでパーティションの空き領域を一時的に無くします: |
||
− | {{bc|1= |
||
− | # dd if=/dev/zero of=/file/in/container |
+ | {{hc|1=# dd if=/dev/zero of=/file/in/container status=progress| |
+ | 2=dd: writing to ‘/file/in/container’: No space left on device}} |
||
− | # rm /file/in/container}} |
||
+ | キャッシュをディスクに同期させてからファイルを消去することで空き領域が戻ります: |
||
+ | # sync |
||
+ | # rm /file/in/container |
||
+ | 作成したパーティションのブロックデバイスとファイルシステムの数だけ上記の操作を繰り返す必要があります。例えば、[[dm-crypt/システム全体の暗号化#LVM_on_LUKS|LVM on LUKS]] のセットアップであれば、全ての論理ボリュームで消去を実行する必要があります。 |
||
− | The above process has to be repeated for every partition blockdevice created. |
||
==== LUKS ヘッダーを消去 ==== |
==== LUKS ヘッダーを消去 ==== |
||
+ | dm-crypt/LUKS でフォーマットしたパーティションには使用している暗号や暗号オプションが記載されたヘッダーが含まれており、ブロックデバイスを解錠するときに {{ic|dm-mod}} から参照されます。ヘッダーの後にランダムなデータのパーティションが来ます。既にランダム化したドライブに再インストールするときやドライブを廃棄処分するときは (パソコンを売るときやディスクを交換するときなど)、わざわざディスク全体を上書きする必要はありません。パーティションのヘッダーを消去すれば十分です。 |
||
− | The partitions formatted with dm-crypt/LUKS contain a header with the cipher and crypt-options used, which is referred to {{ic|dm-mod}} when opening the blockdevice. After the header the actual random data partition starts. Hence, when re-installing on an already randomised drive, or de-commissioning one (e.g. sale of PC, switch of drives, etc.) it ''may'' be just enough to wipe the header of the partition, rather than overwriting the whole drive - which can be a lengthy process. |
||
+ | LUKS ヘッダーを消去すると PBKDF2 で暗号化された (AES) マスター鍵やソルトなども削除されます。 |
||
− | Wiping the LUKS header will delete the PBKDF2-encrypted (AES) master key, salts and so on. |
||
− | {{Note|It is crucial to write to the LUKS encrypted partition ({{ic|/dev/sda'''1'''}} in this example) and not directly to the disks device node. |
+ | {{Note|It is crucial to write to the LUKS encrypted partition ({{ic|/dev/sda'''1'''}} in this example) and not directly to the disks device node. Setups with encryption as a device-mapper layer on top of others, e.g. LVM on LUKS on RAID should then write to RAID respectively.}} |
+ | キースロットのサイズがデフォルトの256ビットのヘッダーなら、容量は 1024KB です。dm-crypt によって書き込まれる最初の 4KB も上書きすることが推奨されているため、合計で 1028KB だけ削除すれば良いことになります。バイトになおすと {{ic|1052672}} です。 |
||
− | A header with one single default 256 bit size keyslot is 1024KB in size. It is advised to also overwrite the first 4KB written by dm-crypt, so 1028KB have to be wiped. That is {{ic|1052672}} Byte. |
||
+ | オフセットがゼロの場合、以下のコマンドでヘッダーを消去できます: |
||
− | For zero offset use: |
||
− | #head -c 1052672 /dev/ |
+ | # head -c 1052672 /dev/urandom > /dev/sda1; sync |
+ | 鍵長が512ビットの場合、ヘッダーは 2MB です (例: 512ビット鍵の aes-xts-plain)。 |
||
− | For 512 bit key length (e.g. for aes-xts-plain with 512 bit key) the header is 2MB. |
||
+ | 心配であれば、10MB ほど上書きしてしまえば安全です: |
||
− | If in doubt, just be generous and overwrite the first 10MB or so. |
||
− | #dd if=/dev/ |
+ | # dd if=/dev/urandom of=/dev/sda1 bs=512 count=20480 |
{{Note|With a backup-copy of the header data can get rescued but the filesystem was likely damaged as the first encrypted sectors were overwritten. See further sections on how to make a backup of the crucial header blocks.}} |
{{Note|With a backup-copy of the header data can get rescued but the filesystem was likely damaged as the first encrypted sectors were overwritten. See further sections on how to make a backup of the crucial header blocks.}} |
||
+ | ヘッダーをランダムデータで消去すると、後はデバイスに残っているのは暗号化されたデータだけになります。SSD の場合はキャッシュの存在があるため、完全には消去されない可能性があります。万一過去にヘッダーがキャッシュされた場合、ヘッダーを消去した後でもキャッシュからアクセスできる可能性が理論上排除できません。セキュリティを完全なものにしたい場合、SSD の Secure ATA Erase を実行すると良いでしょう (詳しくは cryptsetup の [https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#5-security-aspects FAQ 5.19] を参照)。 |
||
− | When wiping the header with random data everything left on the device is encrypted data. An exception to this may occur for an SSD, because of cache blocks SSDs employ. In theory it may happen that the header was cached in these some time before and that copy may consequently be still available after wiping the original header. For strong security concerns, a secure ATA erase of the SSD should be done (procedure please see the cryptsetup [https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#5-security-aspects FAQ 5.19]). |
||
==パーティショニング== |
==パーティショニング== |
||
80行目: | 96行目: | ||
=== 物理パーティション === |
=== 物理パーティション === |
||
+ | 物理パーティションの上に暗号化レイヤーを直接配置するのが最も単純です。パーティションを作成する方法は[[パーティショニング]]を見てください。暗号化しない場合と同じく、{{ic|/boot}} 以外はルートパーティションだけあれば十分です。暗号化するパーティションと暗号化しないパーティションを分けることができ、ディスクの数に関係なく等しく動作します。後からパーティションを追加・削除することもできますが、パーティションのサイズの変更はディスクの容量によって制限されます。各パーティションの暗号化を解除するために別々のパスフレーズや鍵が必要になりますが、{{ic|crypttab}} ファイルを使うことで解錠は自動化できます。[[Dm-crypt/システム設定#crypttab]] を見てください。 |
||
− | In the simplest case, the encrypted layers can be based directly on the physical partitions; see [[パーティショニング]] for the methods to create them. Just like in an unencrypted system, a root partition is sufficient, besides another for {{ic|/boot}} as noted above. This method allows deciding which partitions to encrypt and which to leave unencrypted, and works the same regardless of the number of disks involved. It will also be possible to add or remove partitions in the future, but resizing a partition will be limited by the size of the disk that is hosting it. Finally note that separate passphrases or keys are required to open each encrypted partition, even though this can be automated during boot using the {{ic|crypttab}} file, see [[Dm-crypt/システム設定#crypttab]]. |
||
=== スタックブロックデバイス === |
=== スタックブロックデバイス === |
||
+ | もっと柔軟な構成にしたい場合、[[LVM]] や [[RAID]] などのスタックブロックデバイスと dm-crypt を共存させることができます。暗号化したコンテナを他のスタックブロックデバイスの上あるいは下に配置することが可能です: |
||
− | If more flexibility is needed, though, dm-crypt can coexist with other stacked block devices like [[LVM]] and [[RAID]]. The encrypted containers can either reside below or on top of other stacked block devices: |
||
+ | * 暗号化レイヤーの上に LVM/RAID デバイスを作成した場合、文字通り同じ暗号化パーティションのファイルシステムを追加・削除・リサイズすることが可能になります。そしてファイルシステムに必要な鍵やパスフレーズはひとつだけで足ります。物理パーティション上に存在するのは暗号化レイヤーになるため、LVM や RAID を悪用してデータを盗み出すことは不可能です。 |
||
− | * If the LVM/RAID devices are created on top of the encrypted layer, it will be possible to add, remove and resize the file systems of the same encrypted partition liberally, and only one key or passphrase will be required for all of them. Since the encrypted layer resides on a physical partition, though, it will not be possible to exploit the ability of LVM and RAID to span multiple disks. |
||
+ | * LVM/RAID デバイスの上に暗号化レイヤーを作成した場合、後でファイルシステムを再構築することができますが、暗号化レイヤーも下のデバイスにあわせて変更しなければならなくなるため、複雑性が増します。さらに、暗号化デバイスそれぞれに別々のパスフレーズや鍵が必要になります。しかしながら、複数のデバイスにまたがるように暗号化ファイルシステムを作成したい場合は唯一の選択となります。 |
||
− | * If the encrypted layer is created on top of LVM/RAID devices, it will still be possible to reorganize the file systems in the future, but with added complexity, since the encryption layers will have to be adjusted accordingly. Moreover, separate passphrases or keys will be required to open each encrypted device. This, however, is the only choice for systems that need encrypted file systems to span multiple disks. |
||
=== Btrfs のサブボリューム === |
=== Btrfs のサブボリューム === |
||
− | [[Btrfs]] の[[Btrfs#サブボリューム|サブボリューム機能]]を dm-crypt で使うこともできます。他のファイルシステムが必要ない場合 LVM を完全に置き換えることが可能です |
+ | [[Btrfs]] の[[Btrfs#サブボリューム|サブボリューム機能]]を dm-crypt で使うこともできます。他のファイルシステムが必要ない場合 LVM を完全に置き換えることが可能です。今のところ btrfs はスワップファイルをサポートしていないため [https://btrfs.wiki.kernel.org/index.php/FAQ#Does_btrfs_support_swap_files.3F]、[[スワップ]]が必要な場合は暗号化した[[dm-crypt/スワップの暗号化|スワップパーティション]]を作る必要があります。[[dm-crypt/システム全体の暗号化#Btrfs サブボリュームとスワップ]]も参照。 |
2024年6月8日 (土) 13:48時点における最新版
ドライブを暗号化する前に、ドライブ全体をランダムデータで上書きしてディスクを完全に消去するべきです。暗号攻撃や、望ましくないファイルリカバリがされないように、後から dm-crypt によって書き込まれたデータと判別がつかないようにするのが理想的です。もっと細かい話はディスク暗号化#ディスクの準備を見て下さい。
目次
ハードディスクドライブの完全消去
ハードディスクドライブを完全に消去する方法を決める際は、暗号化ドライブとしてハードドライブを使用するかぎり消去は一度で十分だということを覚えておいてください。
一般的な方法
ドライブを消去して準備する詳しい手順はディスクの完全消去を見て下さい。
dm-crypt 固有の方法
以下の2つの方法はどちらも dm-crypt 専用の方法で、非常に高速な消去が可能でパーティションを設定した後でも実行できます。
cryptsetup FAQ には既存の dm-crypt ボリュームをシンプルな疑似乱数生成器として使って簡単にブロックデバイスの空き領域をランダムなデータで消去する方法が載っています。ランダムなデータで消去することで使用パターンが漏洩するのを防ぐことが可能です。暗号化されたデータはランダムなデータと基本的に見分けが付きません。
dm-crypt で空のディスクまたはパーティションを消去
まず、暗号化するパーティション (sdXY
) やディスク (sdX
) に一時的に暗号化コンテナを作成してください。デフォルトの暗号化パラメータを使用して --key-file /dev/{u}random
オプションでランダムなキーを使う例 (乱数生成を参照):
# cryptsetup open --type plain /dev/sdXY container --key-file /dev/random
次に、コンテナが存在することを確認:
# fdisk -l
Disk /dev/mapper/container: 1000 MB, 1000277504 bytes ... Disk /dev/mapper/container does not contain a valid partition table
コンテナをゼロで埋めます。暗号が使われるため if=/dev/urandom
の使用は必須ではありません。
# dd if=/dev/zero of=/dev/mapper/container status=progress
dd: writing to ‘/dev/mapper/container’: No space left on device
最後に、一時コンテナを施錠:
# cryptsetup close container
システム全体を暗号化する場合、次はパーティショニングです。パーティションを暗号化する場合は dm-crypt/root 以外のファイルシステムの暗号化#パーティションに進んでください。
dm-crypt でインストール後の空き領域を消去
インストールする前にハードディスクを消去するのが面倒だという場合、暗号化したシステムを起動してファイルシステムがマウントされてから同じような操作をすることもできます。ただし、ファイルシステムの領域が root ユーザー、あるいはディスククォータなどによって限定されている場合、root ユーザーで操作しても一部のブロックデバイスに書き込みが行われずに消去が中途半端になる可能性があります。
消去を実行するには、暗号化コンテナの中にファイルを書き込むことでパーティションの空き領域を一時的に無くします:
# dd if=/dev/zero of=/file/in/container status=progress
dd: writing to ‘/file/in/container’: No space left on device
キャッシュをディスクに同期させてからファイルを消去することで空き領域が戻ります:
# sync # rm /file/in/container
作成したパーティションのブロックデバイスとファイルシステムの数だけ上記の操作を繰り返す必要があります。例えば、LVM on LUKS のセットアップであれば、全ての論理ボリュームで消去を実行する必要があります。
LUKS ヘッダーを消去
dm-crypt/LUKS でフォーマットしたパーティションには使用している暗号や暗号オプションが記載されたヘッダーが含まれており、ブロックデバイスを解錠するときに dm-mod
から参照されます。ヘッダーの後にランダムなデータのパーティションが来ます。既にランダム化したドライブに再インストールするときやドライブを廃棄処分するときは (パソコンを売るときやディスクを交換するときなど)、わざわざディスク全体を上書きする必要はありません。パーティションのヘッダーを消去すれば十分です。
LUKS ヘッダーを消去すると PBKDF2 で暗号化された (AES) マスター鍵やソルトなども削除されます。
キースロットのサイズがデフォルトの256ビットのヘッダーなら、容量は 1024KB です。dm-crypt によって書き込まれる最初の 4KB も上書きすることが推奨されているため、合計で 1028KB だけ削除すれば良いことになります。バイトになおすと 1052672
です。
オフセットがゼロの場合、以下のコマンドでヘッダーを消去できます:
# head -c 1052672 /dev/urandom > /dev/sda1; sync
鍵長が512ビットの場合、ヘッダーは 2MB です (例: 512ビット鍵の aes-xts-plain)。
心配であれば、10MB ほど上書きしてしまえば安全です:
# dd if=/dev/urandom of=/dev/sda1 bs=512 count=20480
ヘッダーをランダムデータで消去すると、後はデバイスに残っているのは暗号化されたデータだけになります。SSD の場合はキャッシュの存在があるため、完全には消去されない可能性があります。万一過去にヘッダーがキャッシュされた場合、ヘッダーを消去した後でもキャッシュからアクセスできる可能性が理論上排除できません。セキュリティを完全なものにしたい場合、SSD の Secure ATA Erase を実行すると良いでしょう (詳しくは cryptsetup の FAQ 5.19 を参照)。
パーティショニング
このセクションはシステム全体を暗号化する場合にのみあてはまります。ドライブを完全に上書きしたら、dm-crypt の要件を満たすように、慎重にパーティションスキームを決定する必要があります。ここで決めたことが結果的にシステムの管理に影響してきます。
ここからどんな場合でも /boot
のパーティションは暗号化されていない状態にしておく必要があります。ブートローダーは /boot
ディレクトリにアクセスする必要があり、システムをロードするために必要な initramfs や暗号化モジュールをロードします (詳しくは mkinitcpio を参照)。これがセキュリティ上問題となる場合、dm-crypt/特記事項#暗号化されていない boot パーティションのセキュア化 を見て下さい。
また、スワップ領域やサスペンドをどうするかというのも大事な点です。dm-crypt/スワップの暗号化を見て下さい。
物理パーティション
物理パーティションの上に暗号化レイヤーを直接配置するのが最も単純です。パーティションを作成する方法はパーティショニングを見てください。暗号化しない場合と同じく、/boot
以外はルートパーティションだけあれば十分です。暗号化するパーティションと暗号化しないパーティションを分けることができ、ディスクの数に関係なく等しく動作します。後からパーティションを追加・削除することもできますが、パーティションのサイズの変更はディスクの容量によって制限されます。各パーティションの暗号化を解除するために別々のパスフレーズや鍵が必要になりますが、crypttab
ファイルを使うことで解錠は自動化できます。Dm-crypt/システム設定#crypttab を見てください。
スタックブロックデバイス
もっと柔軟な構成にしたい場合、LVM や RAID などのスタックブロックデバイスと dm-crypt を共存させることができます。暗号化したコンテナを他のスタックブロックデバイスの上あるいは下に配置することが可能です:
- 暗号化レイヤーの上に LVM/RAID デバイスを作成した場合、文字通り同じ暗号化パーティションのファイルシステムを追加・削除・リサイズすることが可能になります。そしてファイルシステムに必要な鍵やパスフレーズはひとつだけで足ります。物理パーティション上に存在するのは暗号化レイヤーになるため、LVM や RAID を悪用してデータを盗み出すことは不可能です。
- LVM/RAID デバイスの上に暗号化レイヤーを作成した場合、後でファイルシステムを再構築することができますが、暗号化レイヤーも下のデバイスにあわせて変更しなければならなくなるため、複雑性が増します。さらに、暗号化デバイスそれぞれに別々のパスフレーズや鍵が必要になります。しかしながら、複数のデバイスにまたがるように暗号化ファイルシステムを作成したい場合は唯一の選択となります。
Btrfs のサブボリューム
Btrfs のサブボリューム機能を dm-crypt で使うこともできます。他のファイルシステムが必要ない場合 LVM を完全に置き換えることが可能です。今のところ btrfs はスワップファイルをサポートしていないため [1]、スワップが必要な場合は暗号化したスワップパーティションを作る必要があります。dm-crypt/システム全体の暗号化#Btrfs サブボリュームとスワップも参照。