RFC 8725 Quiz (JA)

JSON Web Token Best Current Practices

0 / 0

参照(URL)

Q1: RFC 8725をdesign reviewで参照する主な目的はどれですか

単一選択
**判断のポイント:** JWT BCPの役割を, 近いが別のsecurity機能やpolicy判断から切り分けます. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: JWTを置き換える新しいtoken formatを作ることはRFC 8725の中心目的ではありません. 近い設計では関係しても, このRFCが直接解く判断ではありません. - B: 既知のJWT implementation/deployment failureに対してJWT acceptance ruleをレビューすることがこのRFCを読む主な理由です. 実装やreviewではここから入力, 検証, 境界を確認します. - C: signed token内にあるだけでunprofiled claimを安全にすることは範囲外です. RFC 8725だけで上位policyや別protocolの責務までは決まりません.

Q2: RFC 8725を使うときに明示すべき境界はどれですか. 該当するものをすべて選んでください

複数選択
**判断のポイント:** JWT BCPは部品です. 受理条件, authorization, deployment例外は明示する必要があります. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: このendpointで受理するtoken kindとclaimを定めるprofileはRFC本文だけでは決まりません. relying applicationが何を成功とするかを指定します. - B: local acceptance policyを省略すると, validな形式を誤ったcontextで受理できます. これはRFCの境界を越えています. - C: claim処理前にallowed algorithmとkeyをissuerおよびtoken kindへ紐付けるは実装reviewで残すべき境界です. 入力元とscopeを確認しないと誤受理につながります. - D: RFC参照は安全性の必要条件になり得ますが, deployment設定, 鍵, trust, failure handlingまで自動では保証しません.

Q3: JWT BCPを使うprofileを作るとき, 最初に仕様へ書くべきことはどれですか

単一選択
**判断のポイント:** profileはJWT BCPの使い方を実装間で同じにするためのcontractです. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: 入力byteやcontextを自由にすると, 実装ごとに別の値を検証してしまいます. - B: human-readable textは説明には使えますが, validationのstable inputにするとlocaleや文言変更で壊れます. - C: ここでは, explicit typing, token kind分離, short lifetime, 曖昧でないissuer/audience valueを使うことが必要です. producer側の規則が明確なら, verifierは同じ条件で検証できます.

Q4: もっとも相互運用性を壊しやすい実装はどれですか

単一選択
**判断のポイント:** 相互運用性の問題は, 同じwire dataを違う意味で処理したときに表面化します. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: あるissuerやtoken classのtokenを別contextで受理することは検証対象やmeaningをずらします. その結果, 実装間で成功条件が合わなくなります. - B: BCP 14を要件へ限定することは, 仕様の曖昧さを減らす側の行動です. - C: unsupported extensionの扱いを文書化することは, 実装差を減らすために有効です.

Q5: verifierがJWT BCPに関係する入力を受け取ったとき, 重要なvalidation stepはどれですか

単一選択
検証対象をpolicy decisionへ渡す前に入力と境界を確認する流れ.
生成側 JWT BCP evidence / data 検証側 受理判断
**判断のポイント:** JWT BCPは受信経路だけでなく, 定義されたinputとscopeで検証される必要があります. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: HTTPSはtransport保護には有効ですが, JWT BCPの個別validationを置き換えません. - B: claim処理前にallowed algorithmとkeyをissuerおよびtoken kindへ紐付けるが中心です. これによりwell-formedな入力と受理可能な入力を分けられます. - C: filenameやpathはrouting hintにはなりますが, identityやsecurity proofとしては不足します.

Q6: RFC 8725だけでは保証されず, applicationまたはdeployment policyで決めるものはどれですか. 該当するものをすべて選んでください

複数選択
**判断のポイント:** 仕様が処理規則を定義しても, どの結果を受理するかは別のpolicy判断です. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: algorithm verification, key selection, issuer/audience check, typing, claim validationはRFC 8725が直接扱う中核です. policyではなくmechanism側の内容です. - B: このendpointで受理するtoken kindとclaimを定めるprofileはapplicationまたはdeploymentが決める受理条件です. - C: well-formed syntaxやalgorithm処理はRFCが定義する側です. ただし成功結果の意味は別途決めます. - D: keyをissuerへどうscopeしrotationするかはlocal policyです. 運用とthreat modelに合わせて明文化します.

Q7: security reviewで中心に置くべき失敗モードはどれですか

単一選択
**判断のポイント:** security reviewでは, mechanismを入れた事実よりも, 誤った条件で受理する経路を見ます. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: performanceは重要な場合がありますが, cacheでsecurity propertyを代替する判断は危険です. - B: 新しいlibraryは有利ですが, local policy, input, threat modelのreviewは残ります. - C: algorithm confusion, cross-JWT confusion, weak key, wrong audience tokenの受理が中心的な失敗モードです. 攻撃者はここを使ってcontextやtrustをずらします.

Q8: 近い仕様との関係としてもっとも正確なのはどれですか

単一選択
**判断のポイント:** 隣接仕様は置き換え関係ではなく, layerや責務の違いとして読むのが安全です. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: RFC 7519はJWTを定義し, RFC 8725は現代deploymentでの安全な使い方を説明するという読み方が責務分担を壊しません. - B: obsolete関係はRFC本文で明示されるものです. 近いconceptだから置き換えとは限りません. - C: JWT BCPはprotocol compositionのreviewで意味を持ちます. 無関係として扱うと境界を見落とします.

Q9: JWT BCPへ依存する前に確認すべきreview questionはどれですか. 該当するものをすべて選んでください

複数選択
**判断のポイント:** review questionは, 実装者が同じ成功/失敗境界を再現できるかを確認するために使います. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: input, context, validation rule, rejection behaviorの明記は, 実装差を減らす直接的なcheckです. - B: RFC番号だけではlocal semanticsは決まりません. profileやpolicyで補う必要があります. - C: unknown valueをsuccessにすると, extensionや攻撃入力を誤って受理できます. - D: API gateway, authorization server, serviceが複数sourceのJWTを検証する場面は現実のreview対象です. ここで成功条件を固定すると誤用を減らせます.

Q10: validationが失敗したとき, もっとも安全な解釈はどれですか

単一選択
**判断のポイント:** validation失敗は, その入力を根拠にした判断を止める信号です. **関連キーワード:** - **algorithm confusion**: alg解釈の取り違え - **audience**: tokenの宛先 - **explicit typing**: token kindの明示 **選択肢:** - A: warningへ下げて受理するとfail openになります. 攻撃入力でも成功経路へ入れます. - B: そのsecurityまたはpolicy decisionには使えないと扱うのが安全です. 必要なら明示的なfallback policyを別に定義します. - C: authorizationは重要ですが, 壊れたvalidation inputを自動修復するものではありません.