カスタマーマネージドキー
Auth0カスタマーマネージドキーを使用すると、テナントマスターキーのライフサイクルを構成し、独自の顧客提供ルートキーを持ち込んで、Auth0テナントの環境ルートキーを置き換えることができます。
カスタマーマネージドキーを使用すると、2つの方法でキーを管理することができます。
Control Your Own Key(独自のキーを制御する): キー管理エディターはAuth0 KMSでテナントマスターキーのライフサイクルをカスタマイズできます。
Bring Your Own Key(BYOK:独自のキーを持ち込む):キー管理エディターはAuth0環境ルートキーを置き換え、ラップされた独自の暗号化キーを対応するAuth0 Cloud HSM(ハードウェアセキュリティモジュール)にインポートできます。
Auth0のキーの詳細については、「Auth0のキー階層」をお読みください。
Auth0 Management APIのRekeyエンドポイントを使用してテナントマスターキーのライフサイクルを制御し、以下を行うことができます。
Control Your Own Key
以下の権限を使用して、キー管理エディターへのアクセス権を提供します。
古いテナントマスターキーを新規作成したテナントマスターキーでローテーションする。
名前空間キーを新しいテナントマスターキーでローテーションして、再暗号化する。
権限
権限 | 説明 |
---|---|
create:encryption_keys
update:encryption_keys |
ユーザーはManagement APIのRekeyエンドポイントを使用して、Auth0テナントのキー階層のローテーションと再暗号化を行うことができます。 |
Management APIのRekeyエンドポイントを使用して、テナントマスターキーをローテーションし、名前空間キーをローテーションおよび再暗号化します。
エンドポイント
テナントマスターキーのローテーション:現在アクティブなテナントマスターキーを非アクティブにし、テナントマスターキーを新規作成します。
テナントにあるすべての名前空間キーのローテーション:現在アクティブなキーを非アクティブにし、新しいキーをアクティブにします。
新しい名前空間キーは、新しい暗号化操作に使用される。
非アクティブな名前空間キーは、前に暗号化されたデータの復号に使用される。
既存の名前空間キーを新しいテナントマスターキーですべて再暗号化します。
BYOK(Bring Your Own Key)
BYOK(Bring Your Own Key)によって、キー管理エディターはラップされた暗号化キー(顧客提供ルートキー)を対応するAuth0 Cloud内のFIPS 140-2 L3 HSM(ハードウェアセキュリティモジュール)に安全にインポートできます。
BYOKでは、以下のことが可能です。
DashboardまたはManagement APIを使用して、BYOKを有効にすることができます。
デフォルトのAuth0が生成した環境ルートキーを新しい顧客提供ルートキーに置き換える。
キー階層を顧客提供ルートキーでローテーションし、再暗号化する。たとえば、新しいテナントマスターキーと新しい名前空間キーを作成して再暗号化する。
カスタマーマネージドキー操作を行うと、テナントログに以下のログイベントが追加されます。
カスタマーマネージドキーのログイベントを監視する
以下を示すsapi
イベントコード:
KMS操作が正常に行われたことを示すkms_key_management_success
イベントコード
新しい暗号化キーの作成
公開ラッピングキーの作成
暗号化キーのインポート
キーID別の暗号化キーの削除
キー階層のリキー
KMS操作が失敗したことを示すkms_key_management_failure
イベントコード
KMSキーの状態が変更されたことを示すkms_key_state_changed
イベントコード
Auth0のアプリケーションレイヤーで、Auth0はエンベロープ暗号化を使ってシークレットとデータを安全に保護します。
Auth0のキー階層
Auth0のエンベロープ暗号化階層は以下のキーで構成されており、それぞれが各自の上にあるキーを使って暗号化されます。以下のテーブルは、キー階層をまとめたものです。
キー | アルゴリズム | ストレージ |
---|---|---|
環境のルートキー | RSA 2048 OAEP(Azure上のAuth0) AES-256-GCM(AWS上のAuth0) |
FIPS 140-2 L3ハードウェアのセキュリティモジュール |
テナントのマスターキー | AES-256-GCM | Auth0 KMSデータベース |
名前空間キー | AES-256-GCM | Auth0 KMSデータベース |
データ暗号化キー | AES-256-GCM | データの隣りに保管 |
環境ルートキーは階層の上部を表し、テナントマスターキーがAuth0の外部で公開または改ざんされるのを防ぐために、テナントマスターキーをラップします。
環境ルートキー
Auth0環境ごとにAuth0環境ルートキーが個別に生成され、隣接するHSMに格納されます。HSMは、高可用性を実現した複数の地理的構成でデプロイされます。つまり、HSMはリージョン全体にまたがる深刻なインシデントが発生した場合、別のリージョンにフェイルオーバーします。
Auth0環境ルートキーはすべてのテナントにまたがって共有されます。お客様はBYOK機能を使用して、テナント専用の環境ルートキーを持つことができます。
Auth0は、以下のアルゴリズムを使用して、テナントマスターキーをAuth0 Cloudサービスプロバイダーに基づいて環境ルートキーでラップします。
Azure上で稼働するAuth0:RSA 2048 OAEP
AWS上で稼働するAuth0:AES 256 GCM
各テナントには、暗号化されたテナントマスターキーがAuth0 Key Management Serviceに格納されており、テナントは名前空間キーを暗号化します。
テナントマスターキー
テナントマスターキーの暗号化に使用するアルゴリズムはAES256 GCMです。
名前空間キーは暗号化キーを分離し、テナント内で異なる目的に使用されます。名前空間キーの数と使用については、Auth0によって内部で構成され、カスタマイズすることはできません。
名前空間キー
名前空間キーの暗号化と復号化を実行するには、テナントマスターキーにアクセスする必要があります。名前空間キーはAuth0 Key Management Serviceから絶対に離れることがなく、デベロッパーや管理者がアクセスすることはできません。
名前空間キーはAuth0 Key Management Serviceに存在し、AES256 GCMアルゴリズムで暗号化されます。
Auth0 Key Management Serviceは、後続のデータ暗号化要求に対して、異なるデータ暗号化キーを安全に生成します。Auth0 Key Management Serviceは、新しいデータ暗号化キーを定期的に発行することで、セキュリティとパフォーマンスを最適化します。
データ暗号化キー
データ暗号化キーの暗号化と復号化を実行するには、割り当てられた名前空間キーにアクセスする必要があります。データ暗号化キーをAuth0 Key Management Serviceの外部またはキー管理エディターで復号化することはできません。
データ暗号化キーはデータの横にあり、AES256 GCMアルゴリズムで暗号化されます。
データ暗号化キーはデータの横にあり、AES256 GCMアルゴリズムで暗号化されます。