zfs key –c コマンドを使用して、暗号化されたファイルシステムのラッピング鍵を変更できます。ブート時にファイルシステムの鍵 (zfs key –l) を明示的に読み込むか、ファイルシステム (zfs mount filesystem) をマウントすることによって、既存のラッピング鍵を最初に読み込んでいる必要があります。例:
# zfs key -c tank/home/darren Enter new passphrase for 'tank/home/darren': xxxxxxxx Enter again: xxxxxxxx
次の例では、ラッピング鍵が変更され、ラッピング鍵がファイルから取得されることを指定するように keysource プロパティー値が変更されます。
# zfs key -c -o keysource=raw,file:///media/stick/key tank/home/darren
暗号化されたファイルシステムのデータ暗号化鍵は、zfs key –K コマンドを使用して変更できますが、新しい暗号化鍵は新しく書き込むデータにのみ使用されます。この機能は、データ暗号化鍵の制限時間に関する NIST 800-57 ガイドラインを遵守するために使用できます。例:
# zfs key -K tank/home/darren
上記の例では、データ暗号化鍵は表示されず、ユーザーが直接管理することもできません。さらに、鍵変更操作を実行するには keychange の委任が必要です。
次の暗号化アルゴリズムを使用できます。
aes-128-ccm, aes-192-ccm, aes-256-ccm
aes-128-gcm, aes-192-gcm, aes-256-gcm
ZFS keysource プロパティーは、ファイルシステムのデータ暗号化鍵をラップする鍵の形式と場所を指定します。例:
# zfs get keysource tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren keysource passphrase,prompt local
ZFS rekeydate プロパティーは、前回の zfs key –K 操作の日付を特定します。例:
# zfs get rekeydate tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren rekeydate Wed Jul 25 16:54 2012 local
暗号化したファイルシステムの creation プロパティーと rekeydate プロパティーの値が同じであれば、zfs key –K 操作でファイルシステムの鍵が再入力されていることは決してありません。
ZFS 暗号化鍵は、集中管理の場所が必要な場合、ローカルシステムとリモートのどちらかで、ユーザーのニーズに応じて、さまざまな方法で管理できます。
ローカル – 上記の例は、ラッピング鍵がパスフレーズプロンプトまたはローカルシステム上のファイルに格納されている未処理の鍵のどちらにもなり得ることを示しています。
リモート – 鍵情報をリモートで格納するには、Oracle Key Manager のような集中管理された鍵管理システムを使用するか、http または https URI での単純な GET リクエストをサポートする Web サービスを使用します。PKCS#11 トークンを使用すれば、Oracle Solaris システムで Oracle Key Manager の鍵情報にアクセスできます。
ZFS 暗号化鍵の管理の詳細は、次を参照してください http://www.oracle.com/technetwork/articles/servers-storage-admin/manage-zfs-encryption-1715034.html
Oracle Key Manager を使用した鍵情報の管理については、次を参照してください。
http://docs.oracle.com/cd/E24472_02/
鍵操作を委任するための次のアクセス権に関する説明を確認してください。
zfs key –l コマンドと zfs key –u コマンドを使用してファイルシステム鍵をロードまたはアンロードする場合、key アクセス権が必要になります。多くの場合、mount アクセス権も必要になります。
zfs key –c コマンドと zfs key –K コマンドを使用してファイルシステム鍵を変更する場合、keychange アクセス権が必要になります。
鍵の使用 (ロードまたはアンロード) と鍵の変更に、別々のアクセス権を委任することを検討してください。これにより 2 人鍵操作モデルを使用できます。たとえば、どのユーザーが鍵を使用でき、どのユーザーが鍵を変更できるかを決めます。または、鍵の変更には両方のユーザーが同席する必要があります。このモデルを使用すると、キーエスクローシステムを構築することもできます。