Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第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 レイヤーを通過するのに役立ちます。
マウントおよび暗号化のプロセスで、マウント により、以下の設定が可能になります。
暗号化キータイプ
openssltspi、または passphrasepassphrase を選択すると、マウント が要求されます。
暗号
aesblowfishdes3_edecast6、または cast5
キー bytesize
1632、または 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.