第3章 暗号化されたファイルシステム
Red Hat Enterprise Linux 6 は、eCryptfs のテクノロジープレビュー機能である「pseudo-file system」を提供します。これは、ファイルごとにデータおよびファイル名の暗号化を提供します。「pseudo-file system」という用語は、eCryptfs にオンディスクフォーマットがないため、実際のファイルシステム上にあるファイルシステム層です。eCryptfs レイヤーは暗号化機能を提供します。
ecryptfs は、基礎となる(暗号化)ファイルシステムに書き込むファイル操作を傍受することで、バインドマウントのように機能します。eCryptfs レイヤーは、基礎となるファイルシステムのファイルのメタデータにヘッダーを追加します。このメタデータは、このファイルの暗号化と、暗号化されたファイルシステムに渡される前にファイルデータを暗号化します。必要に応じて、eCryptfs もファイル名を暗号化できます。
ecryptfs はオンディスクファイルシステムではありません。したがって、mkfs などのツールで作成する必要はありません。代わりに、eCryptfs は特別な mount コマンドを実行して開始します。eCryptfs で保護されたファイルシステムを管理するには、最初に
ecryptfs-utils
パッケージをインストールする必要があります。
3.1. ファイルシステムのマウント(暗号化済み)
eCryptfs でファイルシステムを暗号化するには、以下のコマンドを実行します。
# mount -t ecryptfs /source /destination
eCryptfs でディレクトリー階層(上記の例では
/source
)を暗号化すると、これが eCryptfs(上記の例では/destination
)で暗号化されるマウントポイントにマウントします。/destination
へのすべてのファイル操作は、基礎となる /source ファイルシステムに対して
暗号化されます。ただし、ファイル操作は eCryptfs レイヤーを通過せずに /source
を直接変更する可能性があります。これにより、不整合になる可能性があります。
Red Hat では、ほとんどの環境ではこのような理由から、
/source と /
destination
の両方の名前を同じようにすることを推奨します。以下に例を示します。
# mount -t ecryptfs /home /home
実質的には、ファイルシステムを暗号化することと、ファイルシステム 自体 にマウントすることを意味します。これを行うと、すべてのファイル操作を /home に対して
/home
が eCryptfs レイヤーを通過するのに役立ちます。
マウントおよび暗号化のプロセスで、マウント により、以下の設定が可能になります。
- 暗号化キータイプ
openssl
、tspi
、またはpassphrase
。passphrase
を選択すると、マウント が要求されます。- 暗号
aes
、blowfish
、des3_ede
、cast6
、またはcast5
。- キー bytesize
16
、32
、または24
。plaintext passthrough
- 有効または無効化。
filename encryption
- 有効または無効化。
対話型マウントの最後のステップの後に、マウント が行われ、マウントの実行がすべて表示されます。この出力は、選択した各設定と同等のコマンドラインオプションで構成されます。たとえば、
passphrase
のキー
タイプの aes
暗号、16
の鍵バイトサイズ plaintext passthrough
を無効とすると、出力は以下のようになります。filename encryption
Attempting to mount with the following options: ecryptfs_unlink_sigs ecryptfs_key_bytes=16 ecryptfs_cipher=aes ecryptfs_sig=c7fed37c0a341e19 Mounted eCryptfs
このディスプレイのオプションは直接コマンドラインに渡して、同じ設定を使用してファイルシステムを暗号化およびマウントすることができます。これを行うには、mount の -o オプションへの引数として各 オプションを使用します。以下に例を示します。
# mount -t ecryptfs /home /home -o ecryptfs_unlink_sigs \ ecryptfs_key_bytes=16 ecryptfs_cipher=aes ecryptfs_sig=c7fed37c0a341e19[2]
[2]
This is a single command split into multiple lines, to accommodate printed and PDF versions of this document. All concatenated lines — preceded by the backslash (\) — should be treated as one command, sans backslashes.