> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Auth0 Dashboard での署名アルゴリズムと、その設定に関する推奨事項について説明します。

# 署名アルゴリズム

<Tooltip tip="署名アルゴリズム: トークンが改ざんされていないことを保証するために、トークンへデジタル署名する際に使用するアルゴリズムです。" cta="用語集を表示" href="/ja/docs/glossary?term=Signing+algorithms">署名アルゴリズム</Tooltip>は、アプリケーションまたは API 向けに発行されるトークンに署名するためのアルゴリズムです。署名は [JSON Web Token (JWT) ](/ja/docs/secure/tokens/json-web-tokens) の一部であり、トークンの送信者が名乗っている本人であること、およびメッセージが伝送中に変更されていないことを検証するために使用されます。

次の署名アルゴリズムから選択できます。

* **RS256 (RSA Signature with SHA-256)**: 非対称アルゴリズムです。つまり、鍵は 2 つあり、1 つは公開鍵、もう 1 つは秘密として保持する必要がある秘密鍵です。Auth0 は署名の生成に使用する秘密鍵を保持し、<Tooltip tip="JSON Web Token (JWT): 2 者間で claims を安全に表現するために使用される標準的な IDトークン 形式（多くの場合は アクセストークン の形式でもあります）。" cta="用語集を表示" href="/ja/docs/glossary?term=JWT">JWT</Tooltip> の利用者は、Auth0 が提供するメタデータ エンドポイントから公開鍵を取得して JWT 署名を検証します。
* **HS256 (HMAC with SHA-256)**: 対称アルゴリズムです。つまり、秘密として保持する必要がある鍵は 1 つだけで、その鍵を 2 者間で共有します。同じ鍵を署名の生成と検証の両方に使用するため、鍵が漏えいしないよう十分に注意する必要があります。この秘密鍵 (またはシークレット) は、アプリケーション (<Tooltip tip="クライアントシークレット: クライアント（アプリケーション）が認可サーバーに対して認証を行うために使用するシークレットです。クライアントと認可サーバーのみが知るべきものであり、推測されないよう十分にランダムである必要があります。" cta="用語集を表示" href="/ja/docs/glossary?term=client+secret">クライアントシークレット</Tooltip>) または API (署名シークレット) を登録し、HS256 署名アルゴリズムを選択したときに作成されます。
* **PS256 (RSA Signature with SHA-256)**: 非対称アルゴリズムです。つまり、鍵は 2 つあり、1 つは公開鍵、もう 1 つは秘密として保持する必要がある秘密鍵です。Auth0 は署名の生成に使用する秘密鍵を保持し、JWT の利用者は、Auth0 が提供するメタデータ エンドポイントから公開鍵を取得して JWT 署名を検証します。RS256 とは異なり、同じ JWT ヘッダーとペイロードでも、署名は毎回異なります。

最も安全で、かつ推奨される方法は RS256 を使用することです。理由は次のとおりです。

* RS256 では、秘密鍵の保持者 (Auth0) のみがトークンに署名でき、公開鍵を使って誰でもトークンが有効かどうかを確認できます。
* RS256 では、秘密鍵が漏えいした場合でも、新しいシークレットを使うためにアプリケーションや API を再デプロイすることなく、鍵のローテーションを実施できます (HS256 を使用している場合は再デプロイが必要です) 。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Okta または OpenID Connect (OIDC) の Enterprise 接続で Private Key JWT 認証を設定している場合は、[追加の署名アルゴリズム](/ja/docs/authenticate/enterprise-connections/private-key-jwt-client-auth#configure-private-key-jwt-client-authentication) を選択する必要があることがあります。
</Callout>

<div id="learn-more">
  ## 詳細情報
</div>

* [JSON Web Token](/ja/docs/secure/tokens/json-web-tokens)
* [アプリケーションの署名アルゴリズムを変更](/ja/docs/get-started/applications/change-application-signing-algorithms)
* [署名鍵](/ja/docs/get-started/tenant-settings/signing-keys)
* [署名鍵をローテーション](/ja/docs/get-started/tenant-settings/signing-keys/rotate-signing-keys)
* [署名鍵の失効](/ja/docs/get-started/tenant-settings/signing-keys/revoke-signing-keys)
* [署名証明書を表示](/ja/docs/get-started/tenant-settings/signing-keys/view-signing-certificates)
