戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

情報処理安全確保支援士 2020年 秋期 午後201


百貨店における Webサイトの統合に関する次の記述を読んで、設問1~5に答えよ。

   C社は、半年ほど前に旧A社と旧B社が合併してできた会社である。旧B社が存続会社となり、旧A社の事業を承継した上で、C社に改称した。C社は、旧A社の10店舗の百貨店(以下、A百貨店という)と、旧B社の5店舗の百貨店(以下、B百貨店という)を運営している。  C社は、旧A社が発行していたクレジットカードの会員向け Webサイト(以下、サイトPという)、A百貨店の取扱商品を販売するオンラインストア Webサイト(以下、サイトQという)、及び旧B社のポイントカードを保有する会員向け Webサイト(以下、サイトRという)を運営している。  合併後、旧A社クレジットカードのB百貨店での利用を促進したり、旧B社ポイントカードのA百貨店での利用を可能にしたりするなど、両社の顧客サービスの融合に力を入れている。表1は、サイトP、Q、Rの概要である。
情報処理安全確保支援士試験(令和2年度 午後2 問01 表01)
〔機器の集約と運用作業の効率化〕  C社では、運用作業を効率化するために、別々の場所に設置されていた各サイトを構成する機器を1か所のデータセンタに集約するとともに、これらの機器を管理する。Web管理課を新設した。機器集約後のネットワーク構成は図1のとおりである。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図01)
 サイトP、Q、Rは、それぞれ独立して運営されている。いずれのサイトも、アカウント情報はサイトごとに設置したLDAPサーバのユーザエントリとして管理しており、ログイン時の認証には、各LDAPサーバのユーザエントリ内の利用者IDとパスワードを利用している。   〔サイト間でのアカウントの共通利用〕  C社では経営戦略の一環として、三つのサイトで収集した情報から顧客の購買傾向を分析することにした。そこで、サイトP、Q、Rでクロス分析などの手法を用いて購買傾向を分析する上で、各サイト間で同一の顧客を特定するために、サイトP、Q、R相互間でのアカウントの共通利用を実現することにした。  アカウントの共通利用では、次の三つの利用方法のいずれかを各顧客に選択してもらうことにした。
 (1)サイトPのアカウントを親アカウントとし、サイトQ,Rのアカウントを子アカウントとして、子アカウントを親アカウントに紐付ける。主に旧A社の顧客向けである。  (2)サイトRのアカウントを親アカウントとし、サイトP,Qのアカウントを子アカウントとして、子アカウントを親アカウントに紐付ける。主に旧B社の顧客向けである。  (3)アカウントの共通利用をしない。
 顧客がアカウントの紐付けを設定すれば、子アカウントの代わりに親アカウントを用いて各サイトにログインできる。   〔アカウントの共通利用の設計〕  Web管理課のJ主任は、アカウントの共通利用の設計を任された。J主任は、アカウントの共通利用を実現するために、次の四つを行うことにした。  (1)サイトP、Q、Rのログイン処理を変更する。  (2)LDAP-P、LDAP-Rで管理するアカウント情報に、紐付け情報を保存する。具体的には、LDAP-PのユーザエントリにsiteQid、siteRid属性を追加して、当該アカウントに紐付けた子アカウントの利用者IDを保存する。LDAP-Rのユーザエントリには、sitePid、siteQid属性を追加する。    なお、紐付け前のsitePid、siteQid、siteRidには、空文字列が設定される。  (3)Web-P、Web-RのWebアプリケーションプログラム(以下、WebアプリケーションプログラムをWebアプリという)に、アカウントの紐付け機能を追加する。    サイトPのアカウントを親アカウントとし、サイトQのアカウントを子アカウントとして紐付けるときのサイトPの画面と処理内容は図2のとおりである。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図02)
 (4)FW-P、Q、Rのルールに対して必要な変更を行う。例えば、変更後のFW-Pのルールは、表2のようにする。
情報処理安全確保支援士試験(令和2年度 午後2 問01 表02)   〔個人情報の取扱い〕  J主任は、C社の法務担当のMさんに、アカウントの共通利用について説明し、個人情報の取扱いの観点から問題がないかどうか相談した。Mさんは、合併前後の個人情報の利用目的の内容について確認した。  確認後、Mさんは、アカウントの共通利用には、顧客に対して利用目的の変更を通知して、同意を得る必要があると指摘した。  指摘を受け、J主任は、顧客がアカウントの共通利用を選択したときに、個人情報の利用目的の変更を通知するとともに、変更後の利用目的を明示して同意を得る機能を加えることにした。   〔コードレビュー〕  アカウントの共通利用の設計を終えたJ主任は、サイトPのWebアプリの改修に着手した。  図3及び図4は、サイトPのアカウントにサイトQのアカウントを紐付ける場合のサイトP上での紐付け処理のJavaソースコードである。  利用者が、サイトPにログイン後、図2の画面を操作し、“紐付け”ボタンをクリックした場合、図4の行番号101のsiteIDにサイトの識別文字列として“siteQ”が代入された状態で図4のコードの実行が開始される。図4のコードが正常に終了したら、紐付けが完了したことを表示する。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図03-01)
情報処理安全確保支援士試験(令和2年度 午後2 問01 図03-02)
情報処理安全確保支援士試験(令和2年度 午後2 問01 図04-01)
情報処理安全確保支援士試験(令和2年度 午後2 問01 図04-02)
 J主任は、情報処理安全確保支援士(登録セキスペ)のK主任とともにコードレビューを実施した。K主任は、次のような特定の状況では、サイトPのある利用者のアカウントに、サイトQの他人のアカウントが紐付いてしまうと指摘した。
 J主任は、情報処理安全確保支援士(登録セキスペ)のK主任とともにコードレビューを実施した。K主任は、次のような特定の状況では、サイトPのある利用者のアカウントに、サイトQの他人のアカウントが紐付いてしまうと指摘した。  (1)図2で、サイトQの利用者ID欄に誤った利用者IDを入力する。  (2)図4のコードが呼び出され、cに誤った利用者IDが代入されたまま、dが呼び出される。  (3)何らかの理由で、d中の図3中の行番号efが発生し、結果としてdが再試行される。  (4)dが3回試行され、全て同じくfが発生すると、gの値はtrueなので、図4中の行番号hに進み、紐付けが行われる。    K主任は、図3中の32行目前後に着目し、iという修正案を提示した。   〔サイトRでのインシデント〕  リリースに向けて準備を進めていたところ、インシデント発生の報告があった。発端は、ある顧客からの指摘で、その内容は、“サイトRのキャンペーン応募履歴を見たら、3月のキャンペーンに応募したことになっているが、身に覚えがない。3月にはサイトRに一度もアクセスしていないはずだ。”というものであった。  J主任が、サイトRのアクセスログを確認したところ、次のことが分かった。  ・3月30日に、当該顧客のアカウントでキャンペーンに応募していた。  ・応募の直前にパスワード失念時の処理を実行し、パスワードを電子メール(以下、メールという)で未登録のメールアドレスに送信した記録がある。  ・3月25日から3月31日に掛けて、サイトRへの通信量が増加傾向にあった。
 図5は、サイトRのパスワード失念時の操作画面である。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図05)
 J主任は、攻撃者がパスワード失念時の処理を悪用して、会員番号及び誕生日を総当たりで入力し、たまたま合致した当該顧客のアカウントを乗っ取ったものと判断した。J主任は、このインシデントについてWeb管理課のL課長に報告した。L課長は旧A社出身で、この報告でサイトRのパスワード失念時の操作を初めて知った。次は、その報告の時のL課長とJ主任の会話である。    L課長:サイトRのパスワード失念時の処理には、三つの問題があるね。一つ目は、本人であることを確認するための情報が少なすぎるという問題だ。そこは後で解決するとしよう。二つ目は、パスワードそのものをメールで送るという問題だ。三つ目は、jという問題だ。二つ目と三つ目の問題の解決には、kように改修すべきだ。この方法では、一部の利用者はパスワード失念時にログインできなくなるが、その場合はコールセンタで対応することにしよう。  J主任:はい。分かりました。  L課長:サイトRでは、攻撃者がアカウントを乗っ取ったとしても、あまり経済的利益を得られないので、今回のような被害で済んだと考えられるが、直ちに改修を完了させてほしい。もしもこれらの問題に気付かずにアカウントの共通利用を提供していたら、①利用者に更に大きな被害が発生するところだった。アカウントの共通利用の設計、及びリリースまでのスケジュールも見直してほしい。   〔アカウントの共通利用の設計の見直し〕  J主任は、次のように全面的に設計を見直し、承認を得た。  ・サイトSを立ち上げ、新たにサイトSのアカウントを発行して管理する。  ・アカウントの共通利用に当たり、アカウントの紐付け時とサイトP、Q、Rへのログイン時には、SAMLプロトコルのWeb BrowserSSOProfileを用いる。サイトSが、IdP(Identity Provider)となり、サイトP、Q、Rは、SP(Service Provider)となる。  ・サイトQには、サイトQのアカウントでも、サイトQのアカウントと紐付けたサイトSのアカウントでもログインできる。サイトP、Rも同様である。    図6は、Web BrowserSSOProfileの基本的な通信の流れである。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図06)
 図7は、紐付け済みのサイトSのアカウントでサイトQにログインするときの画面遷移図である。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図07)
 図8は、サイトQのアカウントとサイトSのアカウントを紐付けるときの画面遷移図である。
情報処理安全確保支援士試験(令和2年度 午後2 問01 図08)
〔見直し後のアカウント共通利用の提供開始〕  C社は、サイトP、Q、Rの改修とサイトSの開発を完了して、アカウント共通利用の提供を開始し、順調に運用を続けた。サイトP、Q、Rのアカウントの廃止、及びサイトSのアカウントへの統合を目指している。この統合が実現すれば、図7の(あ)や、図8の(え)、(お)などの画面は不要となり、より使いやすいサイトを実現できる。

設問1

表2中のabに入れる適切な字句を答えよ。

模範解答

a:LDAP-P、LDAP-Q、LDAP-R b:LDAP

解説

解答の論理構成

  1. 【問題文】には、“変更後のFW-Pのルールは、表2のようにする。”とあり、表2のabは“Web-P ➜ 他サイトのLDAPサーバへ認証問い合わせ”を許可する新設ルールである。
  2. 図2の処理説明では
     “(i) Web-PのWebアプリが、LDAP-Qに問合せて…認証を行う。”
     と明記され、図3のsiteQAuthメソッドも LDAP-Q/LDAP-R への通信を想定している。
  3. さらに、Web-P は従来から自サイトの認証にも LDAP-P を使用している(ログイン時の認証は“各LDAPサーバのユーザエントリ内の利用者IDとパスワードを利用している。”)。
  4. よって、Web-P から到達すべき宛先は “LDAP-P、LDAP-Q、LDAP-R” の三つ、通信プロトコルは LDAP で統一される。
  5. 以上より
     a “LDAP-P、LDAP-Q、LDAP-R”
     b “LDAP”
     が妥当となる。

誤りやすいポイント

  • 「自サイトなので FW-P を通らない」と誤解し、“LDAP-P” を除外してしまう。実際には“LDAP-P、FW-P、Web-P”が一列配置されており、横並びでもファイアウォールを経由する構成である。
  • “プロトコル: TCP” と答えてしまうケース。表2 の他項目で“LDAP”と明示的に書かれているため、同じ粒度で“LDAP”と記載するのが適切である。
  • “宛先”欄を IP アドレスレンジで答えようとするミス。設問は字句(機器名)を問うており、機器名で記載する必要がある。

FAQ

Q: Web-P が LDAP-P にアクセスするルールは既存ではないのですか?
A: 旧構成ではサイト間通信が禁止されており、Web-P ➜ LDAP-P の通信も個別に許可する必要があります。そのため新ルールで“LDAP-P”も含めています。
Q: プロトコルは“389/TCP”と書いても正しいですか?
A: 表2 に合わせた解答は“LDAP”というサービス名です。ポート番号のみでは設計書の粒度と一致しません。
Q: “LDAPS”にすべきでは?
A: 本問題では LDAP の暗号化有無に触れておらず、元表2 も“LDAP”表記のため、解答もそれに合わせます。

関連キーワード: LDAP, ファイアウォール、認証連携、アクセス制御、ルール設定

設問2

[個人情報の取扱い〕について、旧A社と旧B社の合併によるC社への事業承継に伴って取得した個人情報の取扱いに関し、個人情報保護法に定められている禁止事項は何か。70字以内で述べよ。

模範解答

本人の同意を得ないで、承継前における当該個人情報の利用目的の達成に必要な範囲を超えて、当該個人情報を取り扱ってはならない。

解説

解答の論理構成

  • 【問題文】では、合併後に「サイトP、Q、Rでクロス分析などの手法を用いて購買傾向を分析」するために、三サイト間でアカウントを共通利用すると説明しています。
  • しかし法務担当の M さんは「アカウントの共通利用には、顧客に対して利用目的の変更を通知して、同意を得る必要がある」と指摘しました。
  • これは、旧A社・旧B社が取得していた個人情報を C 社が新たな分析目的で利用する行為が、承継前の「利用目的の達成に必要な範囲」を超える恐れがあるためです。
  • 個人情報保護法は、本人の同意を得ないまま「利用目的の達成に必要な範囲を超えて」個人情報を取り扱うことを禁止しています。
  • よって、禁止事項は「本人の同意を得ないで、承継前における当該個人情報の利用目的の達成に必要な範囲を超えて、当該個人情報を取り扱うこと」と導けます。

誤りやすいポイント

  • 「第三者提供の禁止」と混同し、利用目的の範囲を超えた内部利用も同意が必要である点を見落とす。
  • 事業承継=同一事業体と解釈し、利用目的の再確認や同意取得を不要と考えてしまう。
  • 「利用目的の変更を通知」だけで足りると誤解し、本人同意(オプトイン)まで求められることを忘れる。

FAQ

Q: 事業承継の場合でも同意が必要なのですか?
A: 旧会社で取得した目的を超えて新会社が利用する場合は、新たな利用目的として本人の同意が必要です。
Q: 目的変更の通知を出せば利用できますか?
A: 通知だけでは不十分です。利用目的が変わる場合は「本人の同意」を得なければ取り扱えません。
Q: 共同利用のスキームにすれば同意は不要ですか?
A: 共同利用でも目的外利用は認められません。共同利用要件を満たすと共に、範囲を超える場合は同意が必要です。

関連キーワード: 個人情報、利用目的、本人同意、事業承継、オプトイン

設問3〔コードレビュー〕について、(1)〜(3)に答えよ。

(1)本文中のcdfgに入れる適切な字句を、解答群の中から選び、記号で答えよ。
解答群  ア:idPair.checkChild()  イ:idPair.childChecked  ウ:idPair.childID  エ:idPair.childPW  オ:idPair.childSite  カ:idPair.makeLink()  キ:idPair.parentID  ク:idPair.siteQAuth()  ケ:NamingException  コ:return ERROR_ID_OR_PW  サ:return NO_ERROR

模範解答

c:ウ d:ア f:ケ g:イ

解説

解答の論理構成

  1. 図4の生成部分
    【問題文】「図4の行番号101のsiteIDにサイトの識別文字列として“siteQ”が代入された状態で図4のコードの実行が開始される。」
    行番号101のコンストラクタ呼出し
    AccountLink idPair = new AccountLink(siteID, userID, userPassword, loginId);
    ここで userID が childID に格納されるため、誤った利用者IDは idPair.childID に残ります。
    c=「idPair.childID」(ウ)
  2. 認証チェック呼出し
    【問題文】「図4のコードが呼び出され、cに誤った利用者IDが代入されたまま、dが呼び出される。」
    図4 行番号106
    java result = idPair.checkChild();
    認証チェックを行うメソッド呼出しそのものが d です。
    d=「idPair.checkChild()」(ア)
  3. 例外発生箇所
    【問題文】「何らかの理由で、d中の図3中の行番号efが発生し…」
    図3 行番号32
    java throw e;
    行番号26〜32ではLDAP認証に失敗した際 NamingException を送出します。
    f=「NamingException」(ケ)
  4. フラグの状態
    【問題文】「dが3回試行され、全て同じくfが発生すると、gの値はtrueなので、図4中の行番号hに進み、紐付けが行われる。」
    checkChild() 内で認証に成功した場合のみ childChecked = true; に設定されるはずですが、例外時は書き換わらず前回値が残存します。フラグ名は図3 行番号2「boolean childChecked」。
    g=「idPair.childChecked」(イ)
以上より
c:ウ d:ア f:ケ g:イ

誤りやすいポイント

  • コンストラクタのパラメータとクラス内フィールドの対応を取り違え、idPair.childSite などを選んでしまう。
  • 図4のループ内で例外処理後にフラグがリセットされない点に気付かず、idPair.checkChild() が再実行されるたびに毎回 false になると誤解する。
  • 例外型を Exception と広く捉え、特定の NamingException に絞れない。
  • フラグ変数 childChecked の初期化位置(コンストラクタで false)と更新箇所(認証成功時のみ true)を見落とし、値が保持される危険性を想像できない。

FAQ

Q: idPair.makeLink() が d ではないのですか?
A: いいえ。makeLink() は実際の紐付け処理を行うメソッドで、問題文では「dが呼び出される」→認証チェックと明記されています。認証チェックは checkChild() です。
Q: なぜ childChecked が true のまま残るのですか?
A: 例外発生時は checkChild() 内で childChecked を変更せずに NamingException を投げます。ループ外で初期化もされないため、前回の成功値が保持されます。
Q: 例外処理をしてもループは最大3回で終わりますか?
A: 図4 行番号103 の for 文が retryCount < 4 なので計3回です。3回とも例外になればブレークせず終了し、続くフラグ判定に移ります。

関連キーワード: LDAP認証、例外処理、リトライ制御、フラグ管理、変数スコープ

設問3〔コードレビュー〕について、(1)〜(3)に答えよ。

(2)本文中のehに入れる適切な図3又は図4中の行番号を、解答群の中から選び、記号で答えよ。

模範解答

e:ウ h:キ

解説

解答の論理構成

  1. “何らかの理由で、d中の図3中の行番号efが発生”
    – 図3を見ると catch (NamingException e) { の直後、行番号32で throw e; が実行されます。ここが NamingException を発生(再スロー)させる箇所であり、外側の再試行ロジックに制御が戻るポイントです。したがって
    – e = 図3 行番号32 → 解答群で該当する記号は “ウ”。
  2. “図4中の行番号hに進み、紐付けが行われる。”
    – 図4では idPair.makeLink(); が実際に LDAP へ紐付けを書き込む処理です。これは行番号117に位置しています。
    – よって h = 図4 行番号117 → 解答群で該当する記号は “キ”。
  3. なぜ誤った利用者IDでも紐付くのか
    – 行番号19で childChecked = childSite.equals("siteQ") … により サイト識別文字列だけで childChecked が true になる。
    – 行番号32で NamingException が発生し再試行しても、childChecked は true のまま維持。
    – 3回の再試行後、図4 行番号113の if (!idPair.childChecked) が false となり、行番号117 idPair.makeLink() に到達してしまう。
    – この一連の流れが設問本文の説明と一致するため、上記行番号の選択が妥当と結論付けられます。

誤りやすいポイント

  • 例外が投げられる“場所”と“原因”の混同
    NamingException は行番号26の siteQAuth 呼び出し内部で起きるものと思い込みやすいが、再スローされる行番号32が指定箇所。
  • childChecked の更新タイミング
    認証未完了でも行番号19で true になるため、ループ後の判定条件を見落とすと誤答に結び付く。
  • 行番号117と116の取り違え
    紐付けそのものは 117 行目、116 行目は try ブロック開始。処理主体の行を正確に把握する必要がある。

FAQ

Q: 例外が起きても childChecked が true のままなのはなぜですか?
A: 行番号19で “サイト識別文字列が正当か” だけを判定し true にしているため、その後に認証失敗や例外が発生しても上書きされません。
Q: ループが 3 回で打ち切られる理由は?
A: 図4 行番号103 の retryCount < 4 が条件です。1 〜 3 回の試行後に抜ける設計になっています。
Q: 再試行回数を増やせば安全になりますか?
A: 回数を増やしても本質的な問題(childChecked が誤って true になるロジック)は変わりません。例外発生時には childChecked を false に戻す、またはループ終了後に再認証する設計が必要です。

関連キーワード: 例外処理、LDAP, 再試行制御、フラグ管理、認証ロジック

設問3〔コードレビュー〕について、(1)〜(3)に答えよ。

(3)本文中のiに入れる適切な処理内容を50字以内で具体的に述べよ。

模範解答

i:NamingExceptionを投げる前に、childCheckedをfalseにする

解説

解答の論理構成

  • 【問題文】には、誤った利用者 ID を入力し、d=checkChild() が 3 回再試行されても、 “gの値はtrueなので、図4中の行番号hに進み、紐付けが行われる。” とあります。
    ここで g は childChecked、h は idPair.makeLink() 直前の判定です。
  • childChecked が誤って true のままになる原因は、図3の 26〜32 行にある try‐catch ブロックです。
    32 行で NamingException を発生させて catch へ伝搬する際、childChecked を false に戻す処理が存在しません
26: if (siteQAuth(childID, childPW) == NO_ERROR) { 27: childChecked = true; ... 32: throw e;
  • そのため、最初の認証で childChecked = true になった直後に NamingException が投げられると、 ループを抜けても childChecked は true のまま保持され、誤った ID でも紐付けが成立します。
  • よって、32 行目前後で “i” として求められる修正は
    “NamingException を投げる前に childChecked = false を設定する” ことになります。
    これにより、例外発生時は必ず childChecked == false となり、図4の
    if (!idPair.childChecked) { return AccountLink.ERROR_LINK_FAILED; } が働いて紐付け処理を中断できます。

誤りやすいポイント

  • 例外処理=エラー終了と短絡し、フラグ変数の状態遷移を見落とす。
  • checkChild() から返される戻り値だけを注視し、メンバ変数 childChecked の副作用を確認しない。
  • 32 行目の throw e; を「再スローだから問題ない」と考え、例外発生時にフラグをリセットする必要性に気付かない。

FAQ

Q: ループを 3 回回しているのに、なぜ誤紐付けが起こるのですか?
A: いずれの試行でも NamingException が発生すると、戻り値の判定は行われず childChecked が以前の値のまま残ります。その結果、ループ後のフラグ判定に失敗します。
Q: childChecked を false にする以外の対策はありますか?
A: 例外発生時に戻り値でエラーを伝え、フラグに依存しない方法もありますが、既存コードを最小変更で修正するならフラグのリセットが妥当です。
Q: 例外を握り潰して ERROR_ID_OR_PW を返す方法では駄目でしょうか?
A: LDAP 接続障害などの真正エラーと認証失敗を区別できなくなるため、業務要件的に好ましくありません。例外は上位へ投げつつ、フラグだけリセットするのが適切です。

関連キーワード: 例外処理、フラグ管理、再試行制御、認証フロー、入力検証

設問4〔サイトRでのインシデント〕について、(1)〜(3)に答えよ。

(1)本文中のjに入れる適切な内容を40字以内で述べよ。

模範解答

j:パスワードを、本人以外のメールアドレスに送ることができる

解説

解答の論理構成

  • 問題文には、インシデント調査の結果として
    “パスワードを電子メール…で未登録のメールアドレスに送信した記録がある。”
    と明記されています。この時点で“登録済み以外のアドレスへ送信できる”仕様が判明します。
  • 会話シーンで L課長は
    “二つ目は、パスワードそのものをメールで送るという問題だ。三つ目は、jという問題だ。”
    と述べています。二つ目が「平文パスワードを送信」であるため、三つ目は“送信先メールアドレスの適切な制限がない”ことだと導けます。
  • 図5の画面には“新たなメールアドレスに現在のパスワードをメールで送信”ボタンが存在し、本人確認を経ずに第三者が自由なアドレスを指定できる設計になっています。
  • 以上から j に入る内容は
    “パスワードを、本人以外のメールアドレスに送ることができる”
    が適切となります。

誤りやすいポイント

  • 「本人確認情報が少なすぎる」をそのまま入れてしまう
    → それは会話中で“一つ目”と明示されており、j ではありません。
  • 「メールを暗号化していない」を挙げてしまう
    → 二つ目の“パスワードそのものをメールで送る”に内包される別論点であり、三つ目とは異なります。
  • 画面仕様から“新規メールアドレス入力”の危険性を見落とす
    → 未登録アドレス可という仕様に気付けないと誤答になりがちです。

FAQ

Q: “本人以外のメールアドレス”とは具体的に何を指しますか?
A: 利用者がアカウント登録時に設定していないメールアドレス、つまり攻撃者が自由に入力できる外部アドレスのことです。
Q: 既登録アドレスへの送信も危険なのでは?
A: 平文送信自体は二つ目の問題です。三つ目は“宛先が本人かどうか確認できない”という別軸のリスクとして指摘されています。
Q: この対策としては何が推奨されますか?
A: パスワード送信を廃止し、登録済みアドレスへワンタイム URL を送って再設定させる方式が一般的です。

関連キーワード: パスワードリセット、ワンタイムURL, メール認証、なりすまし、入力値検証

設問4〔サイトRでのインシデント〕について、(1)〜(3)に答えよ。

(2)本文中のkに入れる適切な内容を40字以内で述べよ。

模範解答

k:パスワードリセットのURLを、登録済みメールアドレスだけに送る

解説

解答の論理構成

  1. 【問題文】には、“二つ目は、パスワードそのものをメールで送るという問題だ。三つ目は、jという問題だ。二つ目と三つ目の問題の解決には、kように改修すべきだ。”とあります。
  2. 二つ目の問題「パスワードそのものをメールで送る」は、漏えいリスクが高く、現行の安全指針では推奨されません。
  3. 三つ目の問題(j)は、図5の“新たなメールアドレスに現在のパスワードをメールで送信”機能から読み取れる“登録済み以外のメールアドレスへも送信できてしまう”点です。
  4. これら二つの問題を同時に解決する改修方法としては、 ・パスワード自体を送らない(リセット URL 方式)
    ・送信先を「登録済みメールアドレスのみに限定」
    が不可欠です。
  5. したがって k には「パスワードリセットのURLを、登録済みメールアドレスだけに送る」が入ります。

誤りやすいポイント

  • 「パスワード再発行メールを送る」とだけ書くと、“送信先制限”が抜け落ち減点対象になります。
  • 「ワンタイムパスワードを送る」とすると、結局“未登録メールアドレスにも送れる”問題を解決していません。
  • リセット URL 方式の主眼は“パスワードを平文で送らない”ことであり、単に暗号化通信を挙げると論点がずれます。

FAQ

Q: 平文でなくハッシュ化して送れば良いのでは?
A: 受信者がハッシュを元に戻せないためログインできず、実運用になりません。安全に再設定できるリセット URL 方式が一般的です。
Q: 登録メールアドレスを忘れた利用者はどうするのですか?
A: 【問題文】にあるとおり “その場合はコールセンタで対応する” 運用で補完します。
Q: リセット URL に有効期限は必要ですか?
A: はい。トークンの使い回し防止のため短い有効期限とワンタイム利用の実装が推奨されます。

関連キーワード: パスワードリセット、リセットトークン、メール認証、乗っ取り対策、リスク低減

設問4〔サイトRでのインシデント〕について、(1)〜(3)に答えよ。

(3)本文中の下線①について、更に大きな被害とは何か。具体的な被害を二つ挙げ、それぞれ30字以内で述べよ。

模範解答

①:サイトPでポイントが不正に利用される。 ②:サイトQでA百貨店の商品が不正に購入される。

解説

解答の論理構成

  1. インシデントで明らかになった事実
    • 攻撃者はサイトRのパスワード失念機能を悪用し、ある顧客のアカウントを乗っ取った(本文「攻撃者がパスワード失念時の処理を悪用して…当該顧客のアカウントを乗っ取った」)。
  2. 予定していたアカウント共通利用の仕様
    • 「顧客がアカウントの紐付けを設定すれば、子アカウントの代わりに親アカウントを用いて各サイトにログインできる。」
  3. 設問の下線①の文脈
    • L課長は「もしもこれらの問題に気付かずにアカウントの共通利用を提供していたら、①利用者に更に大きな被害が発生するところだった」と発言。
    • つまり、乗っ取られたサイトRアカウントが親または子として紐付けられると、攻撃者はサイトP・Qにもログインできる。
  4. 各サイトで想定される被害
    • サイトPの機能には「クレジットカード利用ポイントの残高確認、商品又は他社のポイントとの交換申請」がある。
      → 攻撃者がポイントを不正交換・利用できる。
    • サイトQの機能には「A 百貨店の商品購入」がある。
      → 攻撃者が商品の不正購入を行える。
  5. 以上から、下線①で指す「更に大きな被害」は
    ① サイトPでポイントを不正に利用される被害
    ② サイトQで商品を不正に購入される被害
    となる。

誤りやすいポイント

  • サイトPを「クレジットカード明細閲覧サイト」とだけ捉え、ポイント交換機能の存在を見落とす。
  • 「更に大きな被害」を抽象的に答え、具体的なサイト名・被害内容を示さない。
  • サイトR自体の被害(キャンペーン応募)を再度挙げてしまい、設問の趣旨とずれる。

FAQ

Q: どうしてサイトRの被害よりサイトP・Qの被害が「更に大きい」のですか?
A: サイトPはポイント、サイトQは商品購入という金銭価値が直接絡む機能を持つため、攻撃者の経済的利益や利用者の損失が大きいからです。
Q: 紐付け設定をしていない利用者も被害に遭いますか?
A: いいえ。紐付けを行っていない場合、サイトRの資格情報だけではサイトP・Qにログインできません。
Q: 攻撃者はサイトPで直接クレジットカードを不正利用できますか?
A: サイトPは利用明細閲覧サイトで決済機能はありませんが、ポイント交換で外部サービスにポイントを移すなどの不正が可能です。

関連キーワード: SSO, アカウント乗っ取り、認証連携、資格情報再利用、不正ポイント交換

設問5〔アカウントの共通利用の設計の見直し〕について、(1)〜(3)に答えよ。

(1)利用者の操作によって、図7のとおりに画面が遷移した場合、(い)(う)の画面は、図6の(1)〜(4)のどの時点で表示されるか。それぞれ、(1)〜(4)の記号で答えよ。

模範解答

(い):(2) (う):(4)

解説

解答の論理構成

  1. 画面(い)の位置付け
    • 図7の(い)は、利用者が「サイトSのIDでログインはこちら」を選択した結果表示される IdP(サイトS)のログインフォームです。
    • 図6では、IdPとの「認証のための通信」を示す部分に“(2)→─── 双方向矢印:「認証のための通信」”と記載されています。
    • よって、IdPで資格情報を入力する(い)の画面は、図6の「(2)」のタイミングに該当します。
  2. 画面(う)の位置付け
    • 図7の(う)には“ログインしました。ようこそ、サイトQへ”とあり、認証完了後に SP(サイトQ)が保護リソースを返す場面で表示されます。
    • 図6では、IdP からの認証応答を受け取った後に SP がリソースを返却する段階を“(4)→───◀ 「認証応答に基づいたSPのリソース」”と示しています。
    • したがって、SP がトップメニューを表示する(う)の画面は、図6の「(4)」に相当します。
  3. 以上より
    • (い):図6の(2)
    • (う):図6の(4)

誤りやすいポイント

  • IdP と SP を混同し、図6の「(3) IdP から SP への認証応答転送」をログイン完了画面と誤解する。実際の画面表示は(4)のリソース返却時です。
  • 図7(い)を「ユーザが認証要求を SP から転送された直後の画面」と考え、(1)と回答するミス。フォーム表示は既に IdP 上なので(2)です。
  • SAML の一連の流れを「リダイレクト=(3)」のように単純化し、画面表示のタイミングを見落とす。

FAQ

Q: IdP の画面が表示される時点は必ず図6の(2)と考えて良いですか?
A: はい。図6の“(2)→─── 双方向矢印:「認証のための通信」”は利用者と IdP 間の資格情報入力・認証処理全体を指し、IdP のログインフォームはその最初の表示に当たります。
Q: 図6の(3)はブラウザで何か画面が出るのですか?
A: (3)は IdP が発行した SAML 署名付きの認証応答をブラウザが SP に転送する通信フェーズであり、通常は画面遷移が自動的に行われるため、利用者可視の画面はほとんどありません。
Q: SP がリソースを返す(4)の後に追加のリダイレクトが起きても、画面(う)は(4)に分類されますか?
A: はい。認証が完了し、SP の通常セッションでページを返している状態なので、図6で定義された(4)の段階に含めて考えます。

関連キーワード: SAML, Web Browser SSO, IdP, SP, 認証フロー

設問5〔アカウントの共通利用の設計の見直し〕について、(1)〜(3)に答えよ。

(2)利用者の操作によって、図7のとおりに画面が遷移した場合、(あ)(い)(う)の各画面では、どのサーバから送られたHTMLを表示するか。それぞれ、“SP”、“IdP”のいずれかを示せ。

模範解答

(あ):SP (い):IdP (う):SP

解説

解答の論理構成

  1. 【問題文】で、アカウント共通利用は“「SAMLプロトコルのWeb Browser SSO Profile」を用いる。サイトSが、IdP(Identity Provider)となり、サイトP、Q、Rは、SP(Service Provider)となる。”と明示されています。
  2. 同じく【問題文】には“図6は、Web Browser SSO Profileの基本的な通信の流れである。”とあります。図6の流れを要約すると
    (1) 利用者が“SPのリソースへのアクセス要求”→SPは“IdPへの認証要求”をブラウザに転送
    (2) ブラウザはIdPへ遷移し認証
    (3) IdPは“認証応答”をブラウザ経由でSPへ返却
    (4) SPは認証後のリソースを返却
    というステップになります。
  3. 図7の画面と図6のステップを対応づけます。
    ・(あ) 画面は“サイトQのIDでログイン”というSP独自のログイン画面で、ここで“サイトSのIDでのログインはこちら”リンクを押すとIdP連携に進みます。これは“(1) SPのリソースへのアクセス要求”で返されるHTMLなので送信元はSP。
    ・(い) 画面はIdP(サイトS)のログイン画面です。図6の“(2) IdPでの認証のための通信”に相当し、送信元はIdP。
    ・(う) 画面は“ログインしました。ようこそ、サイトQへ”とSPであるサイトQのトップメニューを表示しています。これは図6の“(4) 認証応答に基づいたSPのリソース”に該当するため送信元はSP。
  4. 従って解答は
    (あ):SP
    (い):IdP
    (う):SP

誤りやすいポイント

  • 「リンクをクリックした直後もまだSPの画面」と勘違いし、(い)をSPと答えてしまう。実際にはリンク遷移でIdPにリダイレクトされている。
  • 認証成功後の“ようこそ、サイトQへ”を「IdPからのメッセージ」と誤認する。SAMLでは最終的なHTMLはSPが生成する点に注意。
  • 図7だけを見て判断し、図6のSAMLフローと結び付けないため送信元を取り違える。

FAQ

Q: SPのログイン画面にIdPへのリンクがあるのはなぜですか?
A: ユーザに「自サイトのIDでログインするか、IdP経由でSSOするか」を選ばせるためです。どちらを選んでも最終的な認証結果はSPが検証します。
Q: IdPで認証した後、なぜ再度SPに戻る必要があるのですか?
A: IdPは“認証情報を担保するSAMLレスポンス”を発行するだけで、保護リソースの提供主体はSPだからです。レスポンスを受け取ったSPが正当性を検証し、初めてリソースを返却します。
Q: SP‐IdP間の通信は常にブラウザ経由ですか?
A: Web Browser SSO Profileでは基本的にブラウザリダイレクト/POSTでメッセージを中継します。バックチャネル(SOAP等)を使う別プロファイルも存在しますが、本設問はブラウザプロファイルです。

関連キーワード: SAML, IdP, SP, シングルサインオン、リダイレクト

設問5〔アカウントの共通利用の設計の見直し〕について、(1)〜(3)に答えよ。

(3)利用者の操作によって、図8の(え)(お)(か)(き)(く)(け)の順に画面が遷移した場合、(え)(か)(き)(く)の各画面では、どのサーバから送られたHTMLを表示するか。それぞれ、“SP”、“IdP”のいずれかを示せ。

模範解答

(え):SP (か):IdP (き):IdP (く):SP

解説

解答の論理構成

  1. 役割の前提を確認
    • 【問題文】には
      “サイトSが、IdP(Identity Provider)となり、サイトP、Q、Rは、SP(Service Provider)となる。”
      とあり、画面を出す主体は IdP か SP のいずれかだけです。
  2. (え) の画面
    • 【図8】(え) には
      “楕円形ボタン『サイトQのIDでログイン』”
      と明示されています。ログイン対象が “サイトQ” であるため、HTML を返すのは “サイトQ = SP” です。
  3. (か) の画面
    • (え) から “サイトSのIDでのログインはこちら” のリンクをたどると (か) が表示されます。
    • (か) にはサイト名の記載がなく、ボタンも単に “ログイン”。これは共通認証基盤である IdP のログイン画面と読み取れます。したがって送り手は “IdP” です。
  4. (き) の画面
    • (か) から “アカウントを作成する” をたどると (き) に遷移します。
    • (き) は
      “『ID』、『パスワード』…『アカウントを作成』”
      と、IdP 側で新規アカウントを発行する機能そのものです。よって “IdP” が HTML を返します。
  5. (く) の画面
    • (き) で IdP に新規アカウントを作成後、SP 側に戻り
      “『サイトQのアカウント “[ ]” と、サイトSのアカウント “[ ]” を紐付けました。』”
      という完了メッセージを表示します。ここで主語になっているのは “サイトQ”、すなわち SP です。
  6. 以上より
    (え):SP
    (か):IdP
    (き):IdP
    (く):SP

誤りやすいポイント

  • 画面デザインが似ているため、(か) を SP と誤認しやすい。リンク遷移先の文言を手掛かりに IdP へのリダイレクトであることを見抜く必要があります。
  • “アカウント作成”=IdP 機能という鉄則を忘れて (き) を SP と答えてしまう。
  • “紐付け完了”メッセージに両方のサイト名が出てくるので混乱し、(く) を IdP としてしまう。メッセージ作成主体がどちらかを冷静に判断することが大切です。

FAQ

Q: IdP の画面か SP の画面かを素早く見分けるコツはありますか?
A: ログイン対象が単一サイト名なら SP、サイト名が出ず “ログイン” や “アカウント作成” といった共通機能なら IdP と判断するのが有効です。
Q: (お) や (け) の画面も問われることはありますか?
A: 設問で指定がなければ不要ですが、遷移全体を理解しておくと SP↔IdP の戻り場所を確実に追跡できます。
Q: SAML を使う場合でも SP 側ログイン画面は残るのですか?
A: 【問題文】のとおり “サイトQには、サイトQのアカウントでも、サイトQのアカウントと紐付けたサイトSのアカウントでもログインできる” ため、従来型の SP ログイン画面も併存します。

関連キーワード: SAML, SSO, Identity Provider, Service Provider, 認証連携
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について