EncFS
EncFSは、FUSEベースの暗号化ファイルシステムを実装したフリーソフトウェア(LGPL)である。任意のディレクトリを、暗号化したファイルの格納場所とすることができる。
開発元 | Valient Gough |
---|---|
最新版 |
1.9.5
/ 2018年4月28日 |
リポジトリ | |
対応OS | Linux, FreeBSD, Mac OS X[1] Microsoft Windows (EncFS4Winy)[2], Android[3] |
種別 | 暗号ソフトウェア/ディスクドライブ仮想化ソフト |
ライセンス | LGPL |
公式サイト | EncFS home |
EncFSは、元のディレクトリとマウントポイントの2つのディレクトリを指定し、元のディレクトリをマウントポイントに関連付ける。元のディレクトリではファイル名と内容が暗号化された状態で保存されるが、マウントポイントでは、元のディレクトリのファイルが復号された状態で読み取ることができる。逆に、元のディレクトリに通常のファイルを格納し、マウントポイントで暗号化されたファイルを提供する「リバースモード」も存在する。
ファイルの暗号化キーは、暗号化された状態で元のディレクトリに格納され、パスワードを使用してこのキーを復号できる。したがって、パスワードを用いてファイルを保護することができる。
よくある使用例
編集この節には独自研究が含まれているおそれがあります。 |
- Linuxにおいて、eCryptfsの代替ソフトウェアとしてホームディレクトリを暗号化する。
- クラウドストレージ(Dropbox、Google ドライブ、OneDriveなど)に保存するファイルとディレクトリを暗号化する。
- リムーバブルディスク上のファイルやディレクトリのポータブルな暗号化手段として利用する。
- クロスプラットフォームなディレクトリの暗号化メカニズムとして利用する。
- 二段階認証(2FA)を追加してストレージのセキュリティを高める。EncFSボリュームのキーは暗号化した元ディレクトリの外に保存され、実際の暗号化データとは物理的に離れた場所に保管できるため、二段階認証を加えることで安全性が大幅に向上する。たとえば、EncFSはユニークなボリュームキーを実際の暗号化データとは別の場所に保管できるため、USBフラッシュドライブ、ネットマウントディスク、光学ディスク、クラウドストレージなどに保管することができる[4]。さらに、そのボリュームキー自体にパスワードを設定することも可能である。
利点
編集この節には独自研究が含まれているおそれがあります。 |
EncFSは、ファイルの配置やディレクトリ構成をそのままの状態にして暗号化を行うことができるため、ファイルシステム自体を暗号化する他のソフトウェア(TrueCryptやBitLocker等)とは、以下のような異なる利点がある。
- ファイルシステムが持つ、記憶装置の劣化を検出する機能を利用できる。
- ファイルサイズの増大、縮小、削除に応じて記憶装置の空きスペースが調整されるので、固定した記憶領域をあらかじめ確保する必要がない。
- 元のディレクトリの物理的な位置に依存しない。また、元のディレクトリのサブディレクトリもマウントすることができる。
- fsck等のファイルシステム修復ツールが利用できる。
- SSDを使用した場合TRIMが有効に機能する。
- 暗号化されたファイルと平文ファイルが一対一で対応しているため、rsyncによる差分バックアップやDropbox、Google ドライブなどのオンラインストレージとの同期が効率的に行える。
欠点
編集この節には独自研究が含まれているおそれがあります。 |
- ファイルの数、おおよそのファイルのサイズ、アクセス時刻、パーミッション等のファイルのメタ情報は、復号できなくても分かってしまう。
非常に長いファイル名をサポートしない
編集暗号化により、EncFSが暗号化したファイルのファイル名は通常は元のファイルより長くなる。そのため、ファイルシステムがサポートするファイル名の長さの制限に近い、長いファイル名のファイルの場合、EncFSはファイルを保存することができない。ほとんどのファイルシステムではファイル名が255バイトに制限されているため、その場合、EncFSは最大で190バイトまでのファイル名しかサポートしない[5][6]。
安全性
編集2014年2月にTaylor Hornbyよるセキュリティ監査が行われた[7]。このレポートでは、「EncFSは1つの暗号化データが攻撃者に渡った場合はおそらく安全であろう。しかし、異なる時間の2つ以上の暗号化データが攻撃者に渡った場合は安全ではない。EncFSはファイルの悪意ある改ざんを防ごうとしているが、その機能に重大な問題がある」と報告されている。
暗号化方式
編集Blowfish(鍵長160ビット、ブロックサイズ512ビット)またはAES(鍵長192または256ビット、ブロックサイズ1024ビット)が利用可能である。
脚注
編集出典
編集- ^ http://www.arg0.net/
- ^ “encfs4winy - EncFS4Winy ファイル暗号化”. 20 September 2015閲覧。
- ^ “Cryptonite”. 21 September 2015閲覧。
- ^ Gough, Valient (2016年12月26日). “ENVIRONMENT VARIABLES” (英語). GitHub. 2017年5月7日閲覧。
- ^ “Issue #7 - alternative filename storage for very long filenames”. github.com (2014年8月22日). 2016年1月27日閲覧。 “Long filenames can exceed the filesystem limits after encryption & encoding.”
- ^ “Manpage for enfs.1”. manpages.ubuntu.com. Ubuntu. 2016年1月27日閲覧。 “If your underlying filesystem limits you to N characters in a filename, then EncFS will limit you to approximately 3*(N-2)/4. For example if the host filesystem limits to 256 characters, then EncFS will be limited to 190 character filenames. This is because encrypted filenames are always longer than plaintext filenames.”
- ^ “EncFS Security Audit”. 20 September 2015閲覧。