gocryptfs
公式ウェブサイト より:
- gocryptfs は FUSE ファイルシステムとして実装されているファイルベースの暗号化を使用します。gocryptfs 内のファイルはハードディスクでは暗号化されたファイルとして保存されます。特徴: Scrypt パスワードハッシュ化、全てのファイル内容の GCM 暗号化、ディレクトリごとの IV によるファイル名の EME ワイドブロック暗号化。
機能やベンチマークなど詳しくは gocryptfs のプロジェクトホームページを見てください。他の暗号化方法はディスク暗号化#比較表や EncFS を見てください。
インストール
gocryptfsAUR または gocryptfs-gitAUR パッケージをインストールしてください。
FUSE ファイルシステムとして、gocryptfs はユーザーが設定することができ、設定ファイルはユーザーのディレクトリパスに保存されます。
使用方法
最初に gocryptfs(1) を参照してください。
リバースモードを使う
ファイルベースの暗号化を使うのに適している用途としてバックアップの暗号化があります。FUSE ベースのファイルシステムは標準ツールでバックアップ先として使うことができます。例えば gocryptfs で暗号化された FUSE マウントポイントは Samba/NFS 共有を直接作成したり Dropbox に保存したり、rsync でリモートホストと同期したり、あるいは単純にリモートのバックアップストレージにコピーすることが可能です。
暗号化バックアップを作成する際は gocryptfs の リバースモード が特に有用です。バックアップを行うマシンに追加のストレージ容量を必要としません。
以下は archie ユーザーで /home/archie
のバックアップを作成する例です。
まず archie で暗号化されたビューとして空ディレクトリを作成します:
$ mkdir /tmp/crypt.archie
そしてホームディレクトリの暗号化ビューを作成:
/home/archie
$ gocryptfs -reverse /home/archie /tmp/crypt.archie Password: Decrypting master key Your master key is: ... Filesystem mounted and ready. $
暗号化されたディレクトリのバックアップを作成します。単純にローカルコピーを作成します:
$ cp -a /tmp/crypt.archie /tmp/backup.archie
暗号化ディレクトリはユーザーセッションの間、マウントし続けることができます。手動でアンマウントするには:
$ fusermount -u /tmp/crypt.archie $ rmdir /tmp/crypt.archie
暗号化されたバックアップからリストアするには、gocryptfs のノーマルモードを使って平文ビューをマウントします:
$ mkdir /tmp/restore.archie $ gocryptfs /tmp/backup.archie /tmp/restore.archie Password: Decrypting master key ... Filesystem mounted and ready. $
これで必要なファイルをリストアできます。
参照
- A first security audit of gocryptfs
- RFC5297 Synthetic Initialization Vector (SIV) Authenticated Encryption Using the Advanced Encryption Standard (AES)