カスタマーマネージドキー

Auth0カスタマーマネージドキーを使用すると、テナントマスターキーのライフサイクルを構成し、独自の顧客提供ルートキーを持ち込んで、Auth0テナントの環境ルートキーを置き換えることができます。

カスタマーマネージドキーを使用すると、2つの方法でキーを管理することができます。

  • Control Your Own Key(独自のキーを制御する): キー管理エディターはAuth0 KMSでテナントマスターキーのライフサイクルをカスタマイズできます。

  • Bring Your Own Key(BYOK:独自のキーを持ち込む):キー管理エディターはAuth0環境ルートキーを置き換え、ラップされた独自の暗号化キーを対応するAuth0 Cloud HSM(ハードウェアセキュリティモジュール)にインポートできます。

Auth0のキーの詳細については、「Auth0のキー階層」をお読みください。

Auth0 Management APIRekeyエンドポイントを使用してテナントマスターキーのライフサイクルを制御し、以下を行うことができます。

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アルゴリズムで暗号化されます。