EncFSは、FUSE(
Filesystem in Userspace)を利用した、自由でオープンソースの
暗号化
ファイルシステムです。LGPL
ライセンスの下で提供されており、
LinuxやmacOSなどのUnix系OSで利用できます。EncFSの最大の特徴は、特定のディレクトリを
暗号化されたファイルで保護できる点です。
EncFSの仕組み
EncFSは、
暗号化対象の「元のディレクトリ」と、復号されたファイルを表示する「マウントポイント」という2つのディレクトリを指定して使用します。元のディレクトリ内のファイルは
暗号化された状態で保存されますが、マウントポイントからは復号された状態で読み書きできます。また、EncFSには「リバースモード」という機能があり、このモードでは、元のディレクトリに平文ファイルを格納すると、マウントポイントには
暗号化されたファイルが表示されます。
ファイルの
暗号化キーは、
暗号化された状態で元のディレクトリ内に保存され、ユーザーが設定した
パスワードによって復号されます。これにより、
パスワードを知らない第三者によるファイルへのアクセスを防ぐことができます。
EncFSの主な用途
- - ホームディレクトリの暗号化: Linux環境において、eCryptfsの代替としてホームディレクトリ全体を暗号化し、個人情報を保護する。
- - クラウドストレージの暗号化: Dropbox、Google ドライブ、OneDriveなどのクラウドストレージに保存するファイルを暗号化し、クラウド上での情報漏洩リスクを低減する。
- - リムーバブルディスクの暗号化: USBメモリや外付けHDDなどのリムーバブルディスクに保存するファイルを暗号化し、紛失や盗難による情報漏洩を防ぐ。
- - クロスプラットフォームでの利用: 異なるOS間で、ディレクトリの暗号化と復号をシームレスに行う。
- - 二段階認証の追加: EncFSは、暗号化キーを暗号化されたデータとは別の場所に保存できるため、二段階認証と組み合わせることで、セキュリティを大幅に向上させることができます。例えば、暗号化キーをUSBメモリなどに保管し、パスワードとUSBメモリの両方が揃わないと復号できないようにすることが可能です。
EncFSの利点
EncFSは、他の
ファイルシステム全体を
暗号化するソフトウェア(
TrueCryptや
BitLockerなど)と比較して、以下のような利点があります。
- - ファイルシステム機能の利用: ファイルシステムの劣化検出機能や修復ツール(fsckなど)をそのまま利用できる。
- - 柔軟なストレージ管理: ファイルの増減に合わせて記憶領域が自動的に調整されるため、固定された領域を事前に確保する必要がない。
- - 位置依存性の排除: 元のディレクトリの物理的な位置に依存せず、サブディレクトリもマウントできる。
- - TRIMのサポート: SSD(ソリッドステートドライブ)を使用している場合、TRIMコマンドが有効に機能し、SSDの性能を維持できる。
- - 効率的なバックアップと同期: 暗号化ファイルと平文ファイルが1対1で対応しているため、rsyncによる差分バックアップやDropboxなどのオンラインストレージとの同期が効率的に行える。
EncFSの欠点
EncFSには、以下のような欠点も存在します。
- - メタデータ漏洩: ファイルの数、おおよそのファイルサイズ、アクセス時刻、パーミッションなどのメタ情報は、暗号化されておらず、外部から推測可能である。
- - ファイル名制限: EncFSは暗号化によりファイル名を長くするため、ファイルシステムがサポートするファイル名の長さの上限に近いファイル名は保存できない可能性がある。特に、ほとんどのファイルシステムでファイル名が255バイトに制限されているため、EncFSは最大で190バイトまでのファイル名しかサポートしない。
EncFSの安全性
2014年に実施されたセキュリティ監査では、EncFSは単一の
暗号化データが漏洩した場合は安全であるものの、異なる時間の複数の
暗号化データが漏洩した場合は安全性が低いという指摘がありました。また、EncFSはファイル改ざんを防止する機能も持つものの、重大な問題点があることが指摘されています。
EncFSでは、
Blowfish(鍵長160ビット、ブロックサイズ512ビット)またはAES(鍵長192または256ビット、ブロックサイズ1024ビット)の
暗号化アルゴリズムが利用可能です。