「Gocryptfs」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎使用方法: 情報を更新)
(→‎使用方法: ノーマルモードの使用例を翻訳して追加)
34行目: 34行目:
 
}}
 
}}
   
=== リバモード使 ===
+
=== マルモード使用例 ===
  +
  +
暗号化されたデータを保存するための {{ic|cipher}} ディレクトリと、復号化されたデータにアクセスするための {{ic|plain}} ディレクトリを作成します。次に、gocryptfs 初期化を実行して暗号化をセットアップします。
  +
{{bc|
  +
$ mkdir cipher plain
  +
$ gocryptfs -init cipher
  +
Choose a password for protecting your files.
  +
Password:
  +
[...]
  +
}}
  +
  +
暗号化されたディレクトリ {{ic|cipher}} を開いて、{{ic|plain}} からアクセスするには:
  +
{{bc|
  +
$ gocryptfs cipher plain
  +
Password:
  +
Decrypting master key
  +
Filesystem mounted and ready
  +
}}
  +
  +
これで、動作する gocryptfs が {{ic|cipher}} に保存され、{{ic|plain}} にマウントされたはずです。これを確認するには、{{ic|plain}} ディレクトリに空のファイルを作成します。このファイルは暗号化されて {{ic|cipher}} ディレクトリに表示されます。
  +
{{bc|1=
  +
$ touch plain/test.txt
  +
$ ls cipher
  +
gocryptfs.conf gocryptfs.diriv ZSuIZVzYDy5-TbhWKY-ciA==
  +
}}
  +
  +
=== リバースモードの使用例 ===
   
 
ファイルベースの暗号化を使うのに適している用途としてバックアップの暗号化があります。FUSE ベースのファイルシステムは標準ツールでバックアップ先として使うことができます。例えば gocryptfs で暗号化された FUSE マウントポイントは [[Samba]]/[[NFS]] 共有を直接作成したり [[Dropbox]] に保存したり、[[rsync]] でリモートホストと同期したり、あるいは単純にリモートのバックアップストレージにコピーすることが可能です。
 
ファイルベースの暗号化を使うのに適している用途としてバックアップの暗号化があります。FUSE ベースのファイルシステムは標準ツールでバックアップ先として使うことができます。例えば gocryptfs で暗号化された FUSE マウントポイントは [[Samba]]/[[NFS]] 共有を直接作成したり [[Dropbox]] に保存したり、[[rsync]] でリモートホストと同期したり、あるいは単純にリモートのバックアップストレージにコピーすることが可能です。

2024年1月31日 (水) 05:34時点における版

関連記事

公式ウェブサイト より:

gocryptfs は FUSE ファイルシステムとして実装されているファイルベースの暗号化を使用します。gocryptfs 内のファイルはハードディスクでは暗号化されたファイルとして保存されます。特徴: Scrypt パスワードハッシュ化、全てのファイル内容の GCM 暗号化、ディレクトリごとの IV によるファイル名の EME ワイドブロック暗号化。

機能やベンチマークなど詳しくは gocryptfs のプロジェクトホームページを見てください。他の暗号化方法はディスク暗号化#比較表EncFS を見てください。

インストール

gocryptfs または gocryptfs-gitAUR パッケージをインストールしてください。

FUSE ファイルシステムとして、gocryptfs はユーザーが設定することができ、設定ファイルはユーザーのディレクトリパスに保存されます。

使用方法

最初に gocryptfs(1) を参照してください。

警告:
  • 認証付き暗号 の設計目標を満たすために gocryptfs は AES-EME 暗号化モードを実装しています (ファイル名だけで中身は範囲外)。このモードは広く使われているわけではありませんが、データの完全な保護を提供し、他の暗号化手法では使えない特徴となっています。
  • 詳しくはセキュリティ監査の結果に関するプロジェクトの バグレポート を参照してください。
ヒント:
  • gocryptfs -speed を実行して、利用可能な暗号化モードのスループットをテストします。自動選択では、システムで利用可能な最速のモードが選択されます。
  • 初めて使用する場合は、gocryptfs の Best-Practices を確認してください。
  • ディレクトリの暗号化の初期化時に、マスターキーは、gocryptfs.conf ファイルに暗号的にラップされる前に出力されます。緊急時の復元手順については、Recreate configuration using the masterkey を参照してください。
  • -fido2 オプションを使用すると、U2F ハードウェアトークンを使用して暗号化されたデータを初期化してマウントできるようになります。PIN 入力などのトークン機能は現在切り替えることができず、トークンモデルによって異なる場合があることに注意してください。

ノーマルモードの使用例

暗号化されたデータを保存するための cipher ディレクトリと、復号化されたデータにアクセスするための plain ディレクトリを作成します。次に、gocryptfs 初期化を実行して暗号化をセットアップします。

$ mkdir cipher plain
$ gocryptfs -init cipher
Choose a password for protecting your files.
Password:
[...]

暗号化されたディレクトリ cipher を開いて、plain からアクセスするには:

$ gocryptfs cipher plain
Password: 
Decrypting master key
Filesystem mounted and ready

これで、動作する gocryptfs が cipher に保存され、plain にマウントされたはずです。これを確認するには、plain ディレクトリに空のファイルを作成します。このファイルは暗号化されて cipher ディレクトリに表示されます。

$ touch plain/test.txt
$ ls cipher
  gocryptfs.conf  gocryptfs.diriv  ZSuIZVzYDy5-TbhWKY-ciA==

リバースモードの使用例

ファイルベースの暗号化を使うのに適している用途としてバックアップの暗号化があります。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)