11. Security Considerations (セキュリティ考慮事項)
本仕様のすべてのセキュリティ考慮事項は、JWS [JWS] およびJWE [JWE] 仕様に由来します。したがって、実装者はこれらの仕様のセキュリティ考慮事項のセクションを注意深く読む必要があります。
11.1. Trust Decisions (信頼の決定)
JWTの内容を信頼の決定に使用する能力は、これらの内容の真正性と完全性に依存します。デジタル署名またはMACを使用してJWTを保護する場合、JWTの内容の真正性と完全性を検証できます。
ただし、JWTに署名するかMAC保護することは、JWTの内容の起源について何の保証も提供しません。署名またはMACは、署名またはMACが作成されて以降、内容が変更されていないことのみを検証できます。署名またはMACの検証は、誰が署名またはMACを作成したかを判断しません -- 署名またはMACに使用された鍵の保持者がその操作を実行したことのみを示します。
したがって、実装は、JWTの内容と署名またはMAC操作を実行した当事者との間に信頼関係を確立しなければなりません (MUST)。たとえば、公開鍵暗号を使用するJWTの場合、これには署名に使用された公開鍵の証明書チェーンを検証して署名者の身元を確認することが含まれる場合があります。
11.2. Signing and Encryption Order (署名と暗号化の順序)
署名と暗号化の両方をJWTに適用する場合、一般的には最初にJWTに署名し、次に署名されたJWTを暗号化する必要があります。これにより、攻撃者が署名を剥ぎ取って自分の署名に置き換えることを防ぎます。
JWTが複数の対象者に公開される可能性がある場合、JWTの意図された受信者を制限するために "aud" (audience) クレームを使用することが特に重要です。