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

# 署名アルゴリズム

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

署名アルゴリズムとは、アプリケーションまたはAPIに対して発行されたトークンに署名するアルゴリズムです。署名は[JSON Webトークン（JWT）](/docs/ja-jp/secure/tokens/json-web-tokens)の一部で、トークンの送信者が自称のとおりであることを検証し、メッセージが途中で変更されていないことを保証するために使用されます。

署名アルゴリズムは以下から選べます。

* **RS256（SHA-256を持つRSA署名）** ：公開鍵暗号方式で、公開鍵と秘密鍵の2つがあり、後者は秘密にしておかなくてはなりません。署名の生成に使う秘密鍵は、Auth0が持っていて、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-3" href="/docs/ja-jp/glossary?term=json-web-token" tip="JSON Web Token（JWT）: 二者間のクレームを安全に表現するために使用される標準IDトークン形式（および多くの場合、アクセストークン形式）。" cta="用語集の表示">JWT</Tooltip>のコンシューマーは、Auth0が提供するメタデータエンドポイントから公開鍵を取得しJWT署名の検証に使用します。
* **HS256（SHA-256を持つHMAC）** ：共通鍵暗号方式で、非公開の秘密鍵が1つあるのみです。両当事者がこの鍵を共有します。同じ鍵が署名の生成と検証に使用されるので、鍵が解読されないように細心の注意を払う必要があります。この秘密鍵（シークレット）は、アプリケーション（クライアントシークレット）またはAPI（署名シークレット）を登録してHS256署名アルゴリズムを選択すると作成されます。
* **PS256（SHA-256を持つRSA署名）** ：公開鍵暗号方式で、公開鍵と秘密鍵の2つがあり、後者は秘密にしておかなくてはなりません。署名の生成に使う秘密鍵は、Auth0が持っていて、JWTのコンシューマーは、Auth0が提供するメタデータエンドポイントから公開鍵を取得しJWT署名の検証に使用します。RS256とは異なり、同じJWTヘッダーとペイロードは毎回異なる署名を生成します。

最も安全で、当社が推奨するのはRS256の使用です。理由は：

* RS256では、秘密鍵の所有者（Auth0）のみがトークンに署名できる一方、誰でも公開鍵を使ってトークンの有効性を確認できます。
* RS256では、秘密鍵が解読されたとしても、新しいシークレットでアプリケーションやAPIをデプロイし直すことなく、鍵のローテーションを実施できます（HS256では再デプロイが必要）。

トラブルシューティングのヘルプが必要な場合は、「[無効なトークンエラーのトラブルシューティング](/docs/ja-jp/troubleshoot/basic-issues/invalid-token-errors)」を参照してください。

## もっと詳しく

* [JSON Webトークン](/docs/ja-jp/secure/tokens/json-web-tokens)
* [アプリケーションの署名アルゴリズムを変更する](/docs/ja-jp/get-started/applications/change-application-signing-algorithms)
* [署名鍵](/docs/ja-jp/get-started/tenant-settings/signing-keys)
* [署名鍵をローテーションする](/docs/ja-jp/get-started/tenant-settings/signing-keys/rotate-signing-keys)
* [署名鍵を取り消す](/docs/ja-jp/get-started/tenant-settings/signing-keys/revoke-signing-keys)
* [署名証明書を確認する](/docs/ja-jp/get-started/tenant-settings/signing-keys/view-signing-certificates)
