令和6年春 午後 問1の 設問2の(3) 行間で理解すべき?

MatNopさん  
(No.1)
令和6年春 午後 問1の 設問2の(3)を解けませんでした。
理由は表3の認証APIで認証成功した者が利用者APIを使えるようになる説明がどこにも見つからず、なぜ利用者APIの問題で認証APIが関係してるのかがわかりませんでした。
私はネットワークばかりでアプリ設計にうといのですが、認証して利用者APIの流れはAPIの名前で判断すべきで「行間から理解すべきこと」でしょうか。
だいぶ読んでようやく理解できたレベルでは難しいですかね。。(自身喪失)
2025.09.19 19:48
むぐむぐさん 
SC ブロンズマイスター
(No.2)
今回の問題は認可制御の問題であり、認証APIはあまり関係ありません。

以下の流れで考えれば、問題文から導き出すことができます。
表5の下線②の左端に記載がある通り、表3の項番2が脆弱性の内容(アクセスコントロールの不備A)です。
・安全なウェブサイトの作り方 - 1.11 アクセス制御や認可制御の欠落
https://www.ipa.go.jp/security/vuln/websecurity/access-control.html

アクセスコントロールに不備があるということは、利用者APIは認証後にしか操作をできない処理であり、以下の2点が一致していない状態であることを意味します。

「誰が」操作をしようとしているのか
→ これは JWT 内の user の値によって示される。

「誰に対して」操作が許可されるべきか
→ これは利用者 API における mid の値によって示される。

この2点が突き合わせられず、不整合なまま処理が行われることが脆弱性につながります。
これを解消する方法が解答へとつながります。
2025.09.20 22:43
MatNopさん  
(No.3)
返信ありがとうございます。
この問いの回答例は
JWT内の利用者IDがmidと一致しているかを検証する処理。
と言うものでした。

問題文を読むとJWTは、認証APIが発行するとなっていました。

という事は、利用者APIの前に認証APIが走っているはずなのですが、
問題文のどこにも認証API→(認証完了)→利用者APIの流れが説明されていませんでした。

認証して利用すると言うのは、当然のことなのでいちいち説明はしないと言う事なのか。と感じたまででした。

ただ、投稿させてもらって10問くらいやって、これがIPAの問題文なんだな。と思えるようになりました笑
ご返信頂きありがとうございました!
2025.09.21 20:06

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop