FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | キーの要約 | SYSCTL 変数 | 終了ステータス | 使用例 | 暗号化モード | データ認証 | 関連項目 | 歴史 | 作者
GELI(8)                FreeBSD システム管理者マニュアル                GELI(8)

名称
     geli -- 暗号化 GEOM クラスのための制御ユーティリティ

書式
     利用者のカーネルに GEOM_ELI をコンパイルするためには、次の行をカーネル設
     定ファイルに追加します:

           device crypto
           options GEOM_ELI

     もう一つの方法として、ブート時に GEOM_ELI モジュールをロードするために
     は、次の行を loader.conf(5) に追加します:

           geom_eli_load="YES"

     geli ユーティリティの使用法:

     geli init [-bdgPTv] [-a aalgo] [-B backupfile] [-e ealgo] [-i iterations]
           [-J newpassfile] [-K newkeyfile] [-l keylen] [-s sectorsize]
           [-V version] prov
     geli label - an alias for init
     geli attach [-dprv] [-j passfile] [-k keyfile] prov
     geli detach [-fl] prov ...
     geli stop - an alias for detach
     geli onetime [-dT] [-a aalgo] [-e ealgo] [-l keylen] [-s sectorsize] prov
     geli configure [-bBdDgGtT] prov ...
     geli setkey [-pPv] [-i iterations] [-j passfile] [-J newpassfile]
           [-k keyfile] [-K newkeyfile] [-n keyno] prov
     geli delkey [-afv] [-n keyno] prov
     geli kill [-av] [prov ...]
     geli backup [-v] prov file
     geli restore [-fv] file prov
     geli suspend [-v] -a | prov ...
     geli resume [-pv] [-j passfile] [-k keyfile] prov
     geli resize [-v] -s oldsize prov
     geli version [prov ...]
     geli clear [-v] prov ...
     geli dump [-v] prov ...
     geli list
     geli status
     geli load
     geli unload

解説
     geli ユーティリティは、GEOM プロバイダで暗号化を設定するために使用されま
     す。

     次は、最も重要な機能のリストです:

           •   利用可能な暗号ハードウェアがあるとき、crypto(9) フレームワーク
               を利用して、geli は、自動的にそれを利用します。
           •   多くの暗号アルゴリズム (現在、AES-XTS, AES-CBC, Blowfish-CBC,
               Camellia-CBC3DES-CBC) をサポートします。
           •   次のアルゴリズムの 1 つを利用して、オプションのデータ認証 (整合
               性の検証) を実行することができます: HMAC/MD5, HMAC/SHA1,
               HMAC/RIPEMD160, HMAC/SHA256, HMAC/SHA384 または HMAC/SHA512。
           •   次の最大 2 つまでの区分的なコンポーネントのユーザキーを作成する
               ことができます: プロンプトによって入力されるか、または 1 以上の
               パスファイルから読み込まれるパスフレーズ。キーファイルは、1 つ
               以上のファイルから読み込まれます。
           •   ルートパーティションの暗号化を許可します。ユーザは、ルートファ
               イルシステムをマウントする前にパスフレーズを問い合わされます。
           •   次でユーザキーのパスフレーズのコンポーネントを強化します: B.
               Kaliski, PKCS #5: Password-Based Cryptography Specification,
               Version 2.0., RFC, 2898.
           •   2 つの独立したユーザキー (例えば、"ユーザキー" と "会社キー")
               の使用を許可します。
           •   それは、速いです - geli は、セクタからセクタ (sector-to-sector)
               への簡単な暗号化を実行します。
           •   ユーザがすぐにキーの実体を破壊しなければならないなら、バック
               アップからキーを復旧することによってデータを元に戻すことができ
               るように、暗号化されたマスタキーを、バックアップして復旧するこ
               とができます。
           •   プロバイダは、最後のクローズで自動的にデタッチするために設定す
               ることができます (それで、ユーザは、ファイルシステムをアンマウ
               ントした後に忘れずにプロバイダをデタッチする必要はありません)。
           •   スワップパーティションと一時的なファイルシステムの役に立つ - ラ
               ンダムな、一時マスタキーでプロバイダをアタッチすることを許可し
               ます。
           •   データの整合性 (データ認証) の検証を可能にします。
           •   暗号化されたデバイスをサスペンド (suspend) して、レジューム
               (resume) することを許可します。

     geli への最初の引数は、実行する動作を示します:

     init       暗号化される必要があるプロバイダを初期化します。ここで、利用者
                は、使用する暗号アルゴリズム、データキーの長などをセットアップ
                することができます。最後のプロバイダのセクタは、メタデータを格
                納するために使用されます。また、init サブコマンドは、自動的に
                /var/backups/<prov>.eli ファイルにメタデータを書き込みます。以
                下で説明される restore サブコマンドでメタデータを回復すること
                ができます。

                追加オプションは、次を含みます:

                -a aalgo        与えられたアルゴリズムを使用してデータの整合性
                                の検証 (認証) を有効にします。これは、利用可能
                                な記憶域のサイズを減少させ、また、速度も遅くな
                                ります。例えば、4096 バイトのセクタで
                                HMAC/SHA256 アルゴリズムを使用するとき、最初の
                                プロバイダの記憶域の 89% が利用可能となりま
                                す。現在サポートしているアルゴリズムは、次の通
                                りです: HMAC/MD5, HMAC/SHA1, HMAC/RIPEMD160,
                                HMAC/SHA256, HMAC/SHA384HMAC/SHA512。オプ
                                ションが与えられないなら、認証されず、暗号化の
                                みです。お勧めのアルゴリズムは、HMAC/SHA256 で
                                す。

                -b              ルートパーティションがマウントされる前に、ブー
                                トの間に、このパーティションを暗号解読しようと
                                試みます。これで、暗号化されたルートパーティ
                                ションを使用することが可能となります。ブートの
                                後に取り除くことができる、CD-ROM ディスクまた
                                は USB ペンドライブであるかもしれない、/boot/
                                ディレクトリでブート可能な暗号化されていない記
                                憶域をまだ必要とします。

                -B backupfile   デフォルトの /var/backups/<prov>.eli の代わり
                                にメタデータバックアップに使用するファイル名。
                                バックアップを抑制するために、利用者は、
                                backupfile として none を使用することができま
                                す。

                -d              この暗号化されたルートファイルシステムからブー
                                トするためのパスフレーズを入力するとき、`*' 文
                                字をエコーします。これは、パスフレーズの長さを
                                見えるようにします。

                -e ealgo        使用する暗号化アルゴリズム。現在サポートされて
                                いるアルゴリズムは、次の通りです: AES-XTS,
                                AES-CBC, Blowfish-CBC, Camellia-CBC, 3DES-CBCNULL です。デフォルトの、そして、お勧めのア
                                ルゴリズムは、AES-XTS です。NULL は、暗号化さ
                                れていません。

                -g              この暗号化されたルートのファイルシステムからの
                                ブートを有効にします。ブートローダは、暗号化さ
                                れたパーティションからパスフレーズと loader(8)
                                をロードためにプロンプトを出します。

                -i iterations   ユーザキーのパスフレーズのコンポーネントを処理
                                するとき、PKCS#5v2 と共に使用する繰り返しの
                                数。このオプションが指定されないなら、geli
                                は、2 秒の暗号作業と等しい繰り返しの数を見つけ
                                ます。0 が与えられたなら、PKCS#5v2 は、使用さ
                                れません。パスフレーズのコンポーネントのすべて
                                の部分が読み込まれた後に、PKCS#5v2 処理は、一
                                度実行されます。

                -J newpassfile  ユーザキーのパスフレーズのコンポーネント (また
                                はその部分) を含むファイルを指定します。
                                newpassfile が - として与えられるなら、標準入
                                力が使用されます。(改行文字を除いた) 最初の行
                                だけが与えられたファイルから取られます。複数の
                                ファイルに渡って分割された単一のパスフレーズを
                                再構築する効果があり、複数回、この引数を指定す
                                ることができます。-P オプションと組み合わせる
                                ことはできません。

                -K newkeyfile   ユーザキーのパスフレーズのコンポーネント (また
                                はその部分) を含むファイルを指定します。
                                newkeyfile に - が与えられるなら、標準入力が使
                                用されます。複数のファイルに渡って分割された単
                                一のキーファイルを再構築する効果があり、複数
                                回、この引数を指定することができます。

                -l keylen       与えられた暗号アルゴリズムで使用するデータキー
                                の長さ。長さが指定されないなら、選択されたアル
                                ゴリズムは、そのデフォルトキーの長さを使用しま
                                す。

                                      AES-XTS
                                      128, 256

                                      AES-CBC, Camellia-CBC
                                      128, 192, 256

                                      Blowfish-CBC
                                      128 + n * 32, for n=[0..10]

                                      3DES-CBC
                                      192

                -P              ユーザキーのコンポーネントとしてパスフレーズを
                                使用しません。-J オプションと組み合わせること
                                はできません。

                -s sectorsize   復号化されたプロバイダのセクタサイズを変更しま
                                す。初期化ベクタを要求する暗号化/復号化がセク
                                タごとに行われるので、セクタサイズを増加させる
                                ことによって、性能を向上させることができます。
                                より少ない数のセクタは、より少ない計算の作業を
                                意味します。

                -T              BIO_DELETE 呼び出しを通して渡しません (すなわ
                                ち、TRIM/UNMAP)。これは、どのくらいの空間を利
                                用者が実際に使用していて、どのセクタがライブの
                                データを含んでいるかを知っていることから攻撃者
                                を阻止することができますが、また、その性能と寿
                                命を低下する利用者が再要求している空間から
                                (SSD など) 裏打ちされている格納を阻止します。
                                基本的なプロバイダは、TRIM が有効にされると
                                き、削除されたセクタを実際に取り除くかどうか分
                                からないので、それは、少しのセキュリティを追加
                                すると見なされるべきではありません。

                -V version      使用するメタデータのバージョン。このオプション
                                は、より古い FreeBSD/GELI バージョンによって使
                                用されるプロバイダを作るとき、役に立ちます。ど
                                のメタデータのバージョンがどの FreeBSD のバー
                                ジョンによってサポートされるかを見つけるために
                                は、「歴史」セクションを調べてください。メタ
                                データのより古いバージョンを使用することは、利
                                用可能な機能の数を制限することに注意してくださ
                                い。

     attach     与えられたプロバイダをアタッチします。暗号化されたマスタキー
                は、メタデータからロードされ、与えられたパスフレーズ/キーファ
                イルを使用して復号化され、新しい GEOM プロバイダは、".eli" 接
                尾辞がついた与えられたプロバイダの名前を使用して作成されます。

                追加オプションは、次を含みます:

                -d           指定されるなら、復号化されたプロバイダは、最後の
                             クローズで自動的にデタッチされます。これは、不足
                             するメモリに役に立つので、ユーザは、ファイルシス
                             テムをアンマウントした後に忘れずにプロバイダをデ
                             タッチする必要はありません。それは、プロバイダが
                             書き込みを待ってオープンされているときだけ働くの
                             で、プロバイダのファイルシステムが読み込み専用で
                             マウントされているなら、うまくいかないでしょう。
                             たぶん、より良い選択は、detach サブコマンドのため
                             の -l オプションです。

                -j passfile  ユーザキーのパスフレーズのコンポーネント (または
                             その部分) を含むファイルを指定します。詳しい情報
                             について、init サブコマンドのための -J オプション
                             の説明を参照してください。

                -k keyfile   ユーザキーのパスフレーズのコンポーネント (または
                             その部分) を含むファイルを指定します。詳細につい
                             ては、init サブコマンドのための -K オプションの説
                             明を参照してください。

                -p           ユーザキーのコンポーネントとしてパスフレーズを使
                             用しません。-j オプションと組み合わせることはでき
                             ません。

                -r           読み込み専用のプロバイダをアタッチします。それ
                             は、書き込みのためにオープンされません。

     detach     devfs エントリを削除して、メモリのマスタキーとデータキーをクリ
                アすることを意味する、与えられたプロバイダをデタッチします。

                追加オプションは、次を含みます:

                -f  強制的にデタッチします - たとえプロバイダがオープンされて
                    いてもデタッチします。

                -l  最後にクローズでデタッチされたプロバイダをマークします。こ
                    のオプションが指定されるなら、プロバイダは、それがオープン
                    されている間にデタッチされませんが、たとえ読み込みのためだ
                    けにオープンされていても、それが最後にクローズされるとき、
                    自動的にデタッチされます。

     onetime    ランダムな、一時 (短命の) マスタキーで与えられたプロバイダをア
                タッチします。コマンドは、暗号化されたスワップパーティション
                か、または一時的なファイルシステムを使用することができます。

                追加オプションは、次を含みます:

                -a aalgo       データの整合性の検証 (認証) を有効にします。詳
                               細については、init サブコマンドの説明を参照して
                               ください。

                -e ealgo       使用する暗号化アルゴリズム。詳細については、
                               init サブコマンドの説明を参照してください。

                -d             最後のクローズでデタッチします。注意: このオプ
                               ションは、プロバイダがファイルシステムをそれに
                               作成した後にデタッチするとき、一時的なファイル
                               システムには、使用可能ではありません。それは、
                               まだスワップパーティションに使用することができ
                               ます (そして、使用されるべきです)。詳細について
                               は、attach サブコマンドの説明を参照してくださ
                               い。

                -l keylen      与えられた暗号アルゴリズムで使用するデータキー
                               の長さ。詳細については、init サブコマンドの説明
                               を参照してください。

                -s sectorsize  復号化されたプロバイダのセクタサイズを変更しま
                               す。詳細については、init サブコマンドの説明を参
                               照してください。

                -T             TRIM/UNMAP passthru を無効にします。詳細につい
                               ては、init サブコマンドの説明を参照してくださ
                               い。

     configure  与えられたプロバイダの設定を変更します。

                追加のオプションは、次の通りです:

                -b  与えられたプロバイダで BOOT フラグを設定します。詳細につい
                    ては、init サブコマンドの説明を参照してください。

                -B  与えられたプロバイダから BOOT フラグを削除します。

                -d  この暗号化されたルートファイルシステムからブートするための
                    パスフレーズを入力するとき、`*' 文字をエコーします。これ
                    は、パスフレーズの長さを見えるようにします。

                -D  パスフレーズが、この暗号化されたルートファイルシステムから
                    ブートするために入力されるとき、あらゆる文字のエコーを無効
                    にします。これは、パスフレーズの長さを隠します。

                -g  この暗号化されたルートのファイルシステムからのブートを有効
                    にします。ブートローダは、暗号化されたパーティションからパ
                    スフレーズと loader(8) をロードためにプロンプトを出しま
                    す。

                -G  この暗号化されたルートパーティションからのブートを非活性化
                    します。

                -t  TRIM/UNMAP passthru を有効にします。詳細については、init
                    サブコマンドの説明を参照してください。

                -T  TRIM/UNMAP passthru を無効にします。

     setkey     新しいユーザキーで暗号化され、選択されたスロットにマスタキーの
                コピーをインストールします。選択されたスロットが存在するなら、
                既存のコピーを置き換えます。プロバイダには、それぞれ独立した
                ユーザキーで暗号化された 1 つまたは両方のスロットに格納するこ
                とができる、1 つのマスタキーがあります。init サブコマンドで、
                キー番号 0 だけが初期化されます。いつでもユーザキーを変更する
                ことができます: アタッチされたプロバイダのため、デタッチされた
                プロバイダ、またはバックアップファイルに関してです。プロバイダ
                がアタッチされているとき、ユーザは、存在するパスフレーズ/キー
                ファイルを提供する必要はありません。

                追加オプションは、次を含みます:

                -i iterations   PKCS#5v2 で使用される繰り返しの数。0 が与えら
                                れたなら、PKCS#5v2 は、使用されません。setkey
                                サブコマンドでこのオプションを使用できるように
                                するためには、1 つのキーだけが定義されなければ
                                ならなくて、そしてこのキーが変更されなければな
                                りません。

                -j passfile     現在のユーザキーのパスフレーズのコンポーネント
                                (またはその部分) を含むファイルを指定します。

                -J newpassfile  新しいユーザキーのパスフレーズのコンポーネント
                                (またはその部分) を含むファイルを指定します。

                -k keyfile      現在のユーザキーのキーファイルのコンポーネント
                                (またはその部分) を含むファイルを指定します。

                -K newkeyfile   新しいユーザキーのキーファイルのコンポーネント
                                (またはその部分) を含むファイルを指定します。

                -n keyno        変更する (0 か 1 であるかもしれない) マスタ
                                キーのコピーのインデックス数を指定します。プロ
                                バイダがアタッチされ、キー番号が与えられないな
                                ら、プロバイダをアタッチするために使用される
                                キーは、変更されます。プロバイダがデタッチさ
                                れ、(または、バックアップファイルで操作され)、
                                キー番号が与えられないなら、提供されたユーザ
                                キーのパスフレーズ/キーファイルで成功して復号
                                化された最初のマスタキーのコピーは、変更されま
                                す。

                -p              現在のユーザキーのコンポーネントとしてパスフ
                                レーズを使用しません。-j オプションと組み合わ
                                せることはできません。

                -P              新しいユーザキーのコンポーネントとしてパスフ
                                レーズを使用しません。-J オプションと組み合わ
                                せることはできません。

     delkey     選択されたマスタキーのコピーを (ランダムデータで上書きして) 破
                壊します。アタッチされたプロバイダのために破壊されたキーがある
                なら、たとえすべてのマスタキーのコピーが破壊されても、プロバイ
                ダは、デタッチされません。マスタキーがまだメモリにあるので、
                setkey サブコマンドでも救うことができます。

                追加のオプションは、次の通りです:

                -a        (-f オプションを必要としな) すべてのマスタキーのコ
                          ピーを破壊します。

                -f        強制的にキーを破壊します。このオプションは、最後のマ
                          スタキーのコピーを破壊するために必要とされます。

                -n keyno  マスタキーのコピーのインデックス数を指定します。プロ
                          バイダがアタッチされ、キー番号が与えられないなら、プ
                          ロバイダをアタッチするために使用されるキーは、破壊さ
                          れます。プロバイダがデタッチされている (るか、また
                          は、バックアップファイルで操作されている) ならキー番
                          号が与えられなければなりません。

     kill       このコマンドは、緊急事態でのみ使用されるべきです。与えられたプ
                ロバイダですべてのマスタキーのコピーを破壊して、強制的にそれを
                (それがアタッチされているなら) デタッチします。これは、間違い
                なく一方向コマンドです - 利用者にメタデータのバックアップがな
                いなら、利用者のデータは、永遠に失われます。プロバイダが -r フ
                ラグでアタッチされている場合、キーは、破壊されずに、プロバイダ
                だけがデタッチされます。

                追加のオプションは、次の通りです:

                -a  指定されるなら、すべての現在のアタッチしているプロバイダ
                    は、kill されます。

     backup     与えられたプロバイダから与えられたファイルにメタデータをバック
                アップします。

     restore    与えられたファイルから与えられたプロバイダにメタデータを復旧し
                ます。

                追加のオプションは、次の通りです:

                -f  メタデータは、正しいパーティションまたはスライスかがアタッ
                    チされていることを保証するプロバイダのサイズを含んでいま
                    す。異なったサイズがあるプロバイダにメタデータを復旧する試
                    みを行うなら、geli は、-f スイッチが使用されていないなら、
                    データを復旧することを拒否します。パーティションまたはスラ
                    イスが成長されているなら、backuprestore を通してメタ
                    データを移動する試みではなく、resize サブコマンドが、使用
                    されるべきです。

     suspend    終了するためにすべての inflight (飛行中) 要求を待つことによっ
                て、デバイスをサスペンドし、カーネルメモリから (マスタキーと
                データキーのような) すべての機密事項の情報をクリアして、resume
                サブコマンドが実行されるまで、さらなるすべての I/O 要求をブ
                ロックします。この機能は、ラップトップのために役に立ちます:
                ラップトップをサスペンドしたい、アタッチされた暗号化されたデバ
                イスをそのままにしたくないときです。暗号化されたデバイスに置か
                れたファイルシステムからオープンされた、すべてのファイルとディ
                レクトリをクローズする代わりにファイルシステムをアンマウント
                し、デバイスをデタッチし、suspend サブコマンドを使用することで
                きます。暗号化されたデバイスへのあらゆるアクセスは、マスタキー
                が resume サブコマンドを通して再びロードされるまで、ブロックさ
                れます。その結果、何かをクローズしたりアンマウントすることも必
                要はありません。suspend サブコマンドは、デバイスが onetime サ
                ブコマンドで作成されている状態で、動作しません。機密事項のデー
                タは、ファイルシステムキャッシュなどのために、暗号化されたデバ
                イスをサスペンドした後でも、メモリにまだ存在しているかもしれな
                いことに注意してください。

                追加のオプションは、次の通りです:

                -a  すべての geli デバイスをサスペンドします。

     resume     以前にサスペンドされたデバイスをレジュームします。呼び出し側
                は、このサブコマンドの実行で、デバイスをデッドロックに導く、サ
                スペンドされたデバイスをアクセスしないことを保証しなければなり
                ません。例えば、geli ユーティリティで格納されたファイルシステ
                ムを含むデバイスをサスペンドすることは、悪い考えです。

                追加のオプションは、次の通りです:

                -j passfile  ユーザキーのパスフレーズのコンポーネント (または
                             その部分) を含むファイルを指定します。詳しい情報
                             については、init サブコマンドのための -J オプショ
                             ンの説明を参照してください。

                -k keyfile   ユーザキーのキーファイルのコンポーネント (または
                             その部分) を含むファイルを指定します。詳しい情報
                             については、init サブコマンドのための -K オプショ
                             ンの説明を参照してください。

                -p           ユーザキーのコンポーネントとしてパスフレーズを使
                             用しません。-j オプションと組み合わせることはでき
                             ません。

     resize     プロバイダがリサイズされたことを geli に通知します。古いメタ
                データブロックは、プロバイダの終わりの正しい位置に移動され、プ
                ロバイダのサイズは、更新されます。

                追加のオプションは、次の通りです:

                -s oldsize  それの前にプロバイダのサイズは、リサイズされまし
                            た。

     version    引数が与えられなければ、version サブコマンドは、ELI GEOM クラ
                スのバージョンと同様に geli ユーザランドユーティリティのバー
                ジョンを印刷 (表示) します。

                GEOM プロバイダが指定されれば、version サブコマンドは、それら
                の各々によって使用されるメタデータのバージョンを印刷 (表示) し
                ます。

     clear      与えられたプロバイダのメタデータをクリアします。警告: これは、
                メタデータに格納された暗号化されたマスタキーのコピーを 0 で削
                除します。

     dump       与えられたプロバイダで保存されたメタデータをダンプします。

     list       geom(8) 参照。

     status     geom(8) 参照。

     load       geom(8) 参照。

     unload     geom(8) 参照。

     追加オプションは、次を含みます:

     -v  より冗長にします。

キーの要約
   マスタキー
     init に関して、geli ユーティリティは、プロバイダのためのランダムなマスタ
     キーを生成します。マスタキーは、プロバイダの存続期間の間に決して変化しま
     せん。プロバイダのメタデータの各コピー、アクティブまたはファイルへのバッ
     クアップは、最大 2 まで、マスタキーの独立して暗号化されたコピーを格納する
     ことができます。

   ユーザキー
     マスタキーの格納されたそれぞれのコピーは、パスフレーズおよび/またはキー
     ファイルから geli ユーティリティによって生成される、ユーザキーで暗号化さ
     れます。geli ユーティリティは、最初にコマンド行で指定された順序でキーファ
     イルのすべての部分を読み込み、次に、コマンド行で指定された順序で格納され
     たパスフレーズのすべての部分を読み込みます。パスフレーズの部分が指定され
     ないなら、システムは、パスフレーズを入力するようにユーザにプロンプトを出
     します。パスフレーズは、オプションで、PKCS#5v2 によって強化されます。ユー
     ザキーは、連結されたキーファイルとパスフレーズで計算された要約です。

   データキー
     操作中に、1 つ以上のデータキーは、確定的にマスタキーからカーネルによって
     派生され、メモリにキャッシュされます。与えられたプロバイダによって使用さ
     れるデータキーの数と方法は、GELI バージョンに依存して、プロバイダがデータ
     認証を使用するように設定されたかどうかで、派生されます。

SYSCTL 変数
     次の sysctl(8) 変数は、ELI GEOM のクラスの振る舞いを制御するために使用す
     ることができます。デフォルト値は、各変数の横に示されています。また、
     /boot/loader.conf でいくつかの変数を設定することができます。

     kern.geom.eli.version
             ELI GEOM クラスのバージョン番号。

     kern.geom.eli.debug: 0
             ELI GEOM のクラスのデバッグレベル。これは、0 から 3 (0 と 3 を含
             んで) の間の数に設定することができます。0 に設定されるなら、最小
             量のデバッグ情報が印刷 (表示) されます。3 に設定されるなら、最大
             量のデバッグ情報が印刷 (表示) されます。

     kern.geom.eli.tries: 3
             ユーザがパスフレーズを問い合わせれる回数。これは、(ルートファイル
             システムがマウントされる前に) ブート時にアタッチされるべきである
             プロバイダに使用されるだけです。0 に設定されるなら、ブート時にア
             タッチされるプロバイダは、無効にされます。この変数は、
             /boot/loader.conf に設定されるべきです。

     kern.geom.eli.overwrites: 5
             破壊されるかとき、マスタキーがランダムな値で何回上書きされるかを
             指定します。この操作の後で、それは、0 で満たされます。

     kern.geom.eli.visible_passphrase: 0
             1 に設定されるなら、(ルートファイルシステムがマウントされる前に)
             ブート時に入力パスフレーズは、目に見えるようになります。この代わ
             りとして、入力されたパスフレーズがログに記録され、dmesg(8) を通し
             て人目にさらされるので慎重に使用されるべきです。この変数は、
             /boot/loader.conf に設定されるべきです。

     kern.geom.eli.threads: 0
             いくつのカーネルスレッドがソフトウェア暗号をするために使用される
             べきであるかを指定します。目的は、SMP システムに関する性能を増強
             することです。0 に設定されるなら、CPU にバインドされたスレッド
             は、アクティブな CPU ごとに開始されます。

     kern.geom.eli.batch: 0
             1 に設定されるなら、バッチング (batching) を使用することによっ
             て、暗号操作を高速化することができます。バッチングは、1 つの割り
             込みのための暗号要求のグループで応答による割り込みの数を減少しま
             す。暗号カードとドライバは、この機能をサポートしなければなりませ
             ん。

     kern.geom.eli.key_cache_limit: 8192
             どのくらいのデータキーをキャッシュするかを指定します。デフォルト
             の制限 (8192 のキー) によって、512 バイトのセクタがある 4TB のプ
             ロバイダのためのすべてのキーをキャッシュすることができ、1MB のメ
             モリを持ち回ります。

     kern.geom.eli.key_cache_hits
             データキーを何回検索したかと、それが既にキャッシュにあるかを報告
             します。この sysctl は、kern.geom.eli.key_cache_limit.  で指定さ
             れた制限より少数のデータキーを必要とするプロバイダに対して更新さ
             れません。

     kern.geom.eli.key_cache_misses
             データキーを何回検索したかと、それがキャッシュにないかを報告しま
             す。この sysctl は、kern.geom.eli.key_cache_limit で指定された制
             限より少数のデータキーを必要とするプロバイダに対して更新されませ
             ん。

終了ステータス
     終了ステータスは、成功すれば 0 で、コマンドが失敗するなら 1 です。

使用例
     ユーザのペンドライブでファイルからのパスフレーズとランダムデータで暗号化
     されるプロバイダを初期化します。4kB セクタサイズを使用します。プロバイダ
     をアタッチし、ファイルシステムを作成して、それをマウントします。作業を行
     います。プロバイダをアンマウントして、それをデタッチします:

           # dd if=/dev/random of=/mnt/pendrive/da2.key bs=64 count=1
           # geli init -s 4096 -K /mnt/pendrive/da2.key /dev/da2
           Enter new passphrase:
           Reenter new passphrase:
           # geli attach -k /mnt/pendrive/da2.key /dev/da2
           Enter passphrase:
           # dd if=/dev/random of=/dev/da2.eli bs=1m
           # newfs /dev/da2.eli
           # mount /dev/da2.eli /mnt/secret
           ...
           # umount /mnt/secret
           # geli detach da2.eli

     暗号化されたプロバイダを作成しますが、2 つのユーザキーを使用します: 1 つ
     は、利用者の従業員のためと、1 つは、(従業員が "偶然に" 彼のパスフレーズを
     忘れても、悲劇がないように) 会社のセキュリティ担当責任者として利用者のた
     めです:

           # geli init /dev/da2
           Enter new passphrase:   (利用者のパスフレーズを入力)
           Enter new passphrase:   (セキュリティ担当責任者のパスフレーズを入力)
           Reenter new passphrase:
           # geli setkey -n 1 /dev/da2
           Enter passphrase:       (セキュリティ担当責任者のパスフレーズを入力)
           Enter new passphrase:   (利用者の従業員が彼のパスフレーズを入力 ...)
           Reenter new passphrase: (... 二度目)

     利用者は、利用者の会社でのセキュリティ担当責任者です。ユーザによって使用
     される暗号化されたプロバイダを作成しますが、ユーザが彼らのパスフレーズを
     忘れることがあるので、利用者自身のランダムキーとともにマスタキーをバック
     アップします:

           # dd if=/dev/random of=/mnt/pendrive/keys/`hostname` bs=64 count=1
           # geli init -P -K /mnt/pendrive/keys/`hostname` /dev/ada0s1e
           # geli backup /dev/ada0s1e /mnt/pendrive/backups/`hostname`
           (暗号化されたマスタキーは、これによって再暗号化されるので、
           キー番号 0 を使用します)
           # geli setkey -n 0 -k /mnt/pendrive/keys/`hostname` /dev/ada0s1e
           (ユーザは、彼のパスフレーズを入力することができます);
           Enter new passphrase:
           Reenter new passphrase:

     暗号化されたスワップパーティションのセットアップ:

           # dd if=/dev/random of=/dev/ada0s1b bs=1m
           # geli onetime -d -e 3des ada0s1b
           # swapon /dev/ada0s1b.eli

     下記の例は、どのようにブート時に (ルートファイルシステムがマウントされる
     前に) アタッチされる 2 つのプロバイダを設定するかを示します。それらのひと
     つは、パスフレーズと 3 つのキーファイルの部分を使用して、もうひとつは、1
     つの部分のキーファイルだけを使用しています:

           # dd if=/dev/random of=/dev/da0 bs=1m
           # dd if=/dev/random of=/boot/keys/da0.key0 bs=32k count=1
           # dd if=/dev/random of=/boot/keys/da0.key1 bs=32k count=1
           # dd if=/dev/random of=/boot/keys/da0.key2 bs=32k count=1
           # geli init -b -K /boot/keys/da0.key0 -K /boot/keys/da0.key1 -K /boot/keys/da0.key2 da0
           Enter new passphrase:
           Reenter new passphrase:
           # dd if=/dev/random of=/dev/da1s3a bs=1m
           # dd if=/dev/random of=/boot/keys/da1s3a.key bs=128k count=1
           # geli init -b -P -K /boot/keys/da1s3a.key da1s3a

     プロバイダは、初期化され、今、/boot/loader.conf に、これらの行を加えなけ
     ればなりません:

           geli_da0_keyfile0_load="YES"
           geli_da0_keyfile0_type="da0:geli_keyfile0"
           geli_da0_keyfile0_name="/boot/keys/da0.key0"
           geli_da0_keyfile1_load="YES"
           geli_da0_keyfile1_type="da0:geli_keyfile1"
           geli_da0_keyfile1_name="/boot/keys/da0.key1"
           geli_da0_keyfile2_load="YES"
           geli_da0_keyfile2_type="da0:geli_keyfile2"
           geli_da0_keyfile2_name="/boot/keys/da0.key2"

           geli_da1s3a_keyfile0_load="YES"
           geli_da1s3a_keyfile0_type="da1s3a:geli_keyfile0"
           geli_da1s3a_keyfile0_name="/boot/keys/da1s3a.key"

     1 つの keyfile だけがあるなら、インデックスは、省略されます:

           geli_da1s3a_keyfile_load="YES"
           geli_da1s3a_keyfile_type="da1s3a:geli_keyfile"
           geli_da1s3a_keyfile_name="/boot/keys/da1s3a.key"

     暗号化だけではなく、HMAC/SHA256 を使用してデータの整合性の検証も設定しま
     す。

           # geli init -a hmac/sha256 -s 4096 /dev/da0
           Enter new passphrase:
           Reenter new passphrase:
           # geli attach /dev/da0
           Enter passphrase:
           # dd if=/dev/random of=/dev/da0.eli bs=1m
           # newfs /dev/da0.eli
           # mount /dev/da0.eli /mnt/secret

     geli は、デフォルトで、メタデータを /var/backups/<prov>.eli ファイルに書
     き込みます。メタデータが、何らかの方法で (例えば、偶然の上書きで) 失われ
     るなら、それを回復することができます。次の状況を考えてます:

           # geli init /dev/da0
           Enter new passphrase:
           Reenter new passphrase:

           /var/backups/da0.eli で、メタデータのバックアップを見つける
           ことができ、次のコマンドで回復することができます:

                   # geli restore /var/backups/da0.eli /dev/da0

           # geli clear /dev/da0
           # geli attach /dev/da0
           geli: Cannot read metadata from /dev/da0: Invalid argument.
           # geli restore /var/backups/da0.eli /dev/da0
           # geli attach /dev/da0
           Enter passphrase:

     暗号化されたファイルシステムが拡張されるなら、メタデータを移動して、更新
     する必要があります:

           # gpart create -s GPT ada0
           # gpart add -s 1g -t freebsd-ufs -i 1 ada0
           # geli init -K keyfile -P ada0p1
           # gpart resize -s 2g -i 1 ada0
           # geli resize -s 1g ada0p1
           # geli attach -k keyfile -p ada0p1

     2 つのファイルに分けられたパスフレーズでプロバイダを初期化します。それら
     の 2 つのファイルを使用するか、または geli のプロンプトでパスフレーズとし
     て ``foobar'' を入力することによって、プロバイダにアタッチすることができ
     ます:

           # echo foo > da0.pass0
           # echo bar > da0.pass1
           # geli init -J da0.pass0 -J da0.pass1 da0
           # geli attach -j da0.pass0 -j da0.pass1 da0
           # geli detach da0
           # geli attach da0
           Enter passphrase: foobar

     ラップトップですべての geli デバイスをサスペンドし、ラップトップをサスペ
     ンドし、次に、ラップトップをレジュームした後に、デバイスを 1 つずつレ
     ジュームします:

           # geli suspend -a
           # zzz
           <利用者のラップトップをレジュームする>
           # geli resume -p -k keyfile gpt/secret
           # geli resume gpt/private
           Enter passphrase:

暗号化モード
     geli は、2 つの暗号化モードをサポートします: 予測できない IV と共に IEEE
     P1619CBC として標準化された XTSgeli によって使用される CBC モード
     は、モード ESSIV とよく似ています。

データ認証
     geli は、認証アルゴリズムが指定されるとき、データの整合性を検証することが
     できます。データの改変/変更が検出されるとき、geli は、少しもデータも返し
     ませんが、代わりに、エラー (EINVAL) を返します。改変されたデータのオフ
     セットとサイズは、コンソールに印刷 (表示) されます。利用者のデータの保護
     を提供する geli が、どの攻撃に対抗するか知ることは、重要です。データがそ
     の場で変更されるか、または変更なしでディスク上の 1 つの場所から別の場所ま
     でコピーされるなら、geli は、そのような変更を検出することができはずです。
     攻撃者が暗号化されたデータを思い出すことができるなら、将来、彼は、予告な
     しで所有しているデータで変更を上書きすることができます。言い換えれば、
     geli は、反復攻撃に対して利用者のデータを保護しません。

     すべてのセクタとそれらの対応するチェックサムが適切に一貫した状態に初期化
     されることを確実にするために、最初の使用の前にすべてのプロバイダに書き込
     むことをお勧めします。はじめてプロバイダがアタッチされる直前で、このよう
     に初期化される前に生じる、データ認証エラーを安全に無視することができま
     す。

関連項目
     crypto(4), gbde(4), geom(4), loader.conf(5), gbde(8), geom(8), crypto(9)

歴史
     geli ユーティリティは、FreeBSD 6.0 で登場しました。Camellia ブロック暗号
     のサポートは、FreeBSD 7.0 で Yoshisato Yanagisawa によって実装されまし
     た。

     与えられた FreeBSD バージョンによってサポートされる最も大きい GELI メタ
     データのバージョンは、次の通りです:

           FreeBSD    GELI
           version    version

           6.0        0
           6.1        0
           6.2        3
           6.3        3
           6.4        3

           7.0        3
           7.1        3
           7.2        3
           7.3        3
           7.4        3

           8.0        3
           8.1        3
           8.2        5

           9.0        6

           10.0       7

作者
     Pawel Jakub Dawidek <pjd@FreeBSD.org>

FreeBSD 11.2                  September 17, 2017                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索