Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
第3章 暗号化されたファイルシステム
Red Hat Enterprise Linux 6 では eCryptfs のテクノロジープレビューを提供します。これは「擬似ファイルシステム」とも呼ばれ、ファイルごとにデータやファイル名の暗号化を提供します。eCryptfs にはオンディスク形式がないことから「擬似ファイルシステム」と呼ばれていますが、eCryptfs は実際のファイルシステムの上部に置かれるファイルシステム層です。eCryptfs 層により暗号化機能が提供されます。
eCryptfs は Bind マウントのように機能し、基礎となる (暗合化された) ファイルシステムに書き込みを行うファイル動作をインターセプトします。eCryptfs 層は基礎となるファイルシステム内のファイルのメタデータにヘッダーを追加します。このメタデータはファイルの暗号を表し、eCryptfs はファイルデータが暗号化されたファイルシステムに渡される前にそのデータを暗号化します。eCryptfs はオプションでファイル名を暗号化することもできます。
eCryptfs はオンディスクのファイルシステムではないため、
mkfs
などのツールで作成する必要がありません。代わりに eCryptfs は特殊なマウントコマンドを発行すると開始されます。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
に対して行われる すべての ファイル操作が eCryptfs 層を通過することになります。
マウントおよび暗号化の処理時に、
mount
により次の設定を行うことができます。
- 暗号化キーのタイプ
openssl
、tspi
、またはpassphrase
のいずれかになります。passphrase
を選択すると、mount
によりパスフレーズの入力が求められます。- 暗号
aes
、blowfish
、des3_ede
、cast6
、またはcast5
のいずれかになります。- キーのバイトサイズ
16
、32
、または24
のいずれかになります。plaintext passthrough
- 有効化または無効化の設定。
filename encryption
- 有効化または無効化の設定。
インタラクティブなマウントの最後のステップを終了後、
mount
は選択されたすべての内容を表示してからマウントを実行します。出力は選択した各設定を示すコマンドラインのオプションで構成されます。たとえば、/home
をマウントする際にキータイプに 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]
このコマンドは改行なしの 1 行のコマンドになります。印刷版または PDF 版で表示する制限上、複数行で表されることがあります。複数行を連結している場合には (バックスラッシュ「\」が前に付く)、バックスラッシュを除いた 1 つのコマンドとして扱ってください。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。