令和4年度 春期 情報処理安全確保支援士試験 午後II 問2 動画配信サービスのクラウド移行と各種認証方式のセキュリティ対策
学習ガイド
動画配信サービスの負荷軽減と認証基盤の刷新を目的に、システムのクラウド移行を進める事例を扱います。CDNの活用と悪用攻撃への対策をはじめ、従来のKerberos認証が抱える課題や、SAMLおよびOpenID Connectによる新たな認証連携の設計が問われます。通信フロー図や対話文から各認証方式のメッセージのやり取りを時系列で追い、トークンの発行主体と検証手順を照らし合わせながら解答を導きます。
この記事で押さえる論点
- CDN導入による負荷分散やDDoS耐性の向上とドメインフロンティングの仕組みを説明できる
- Kerberos認証におけるチケット偽造やオフライン総当たり攻撃のリスクと限界を述べられる
- SAML認証を用いたIDaaSとSaaS間のSSO連携手順および事前設定情報を説明できる
- OAuthやOpenID Connectを用いた外部サービス連携におけるトークンの役割を述べられる
出題情報
- 出題
- 2022(R4)春 情報処理安全確保支援士 午後II 問2
- 配点
- 100点満点
- 模範解答
- 公表(設問ごとに掲載)
出題趣旨・採点講評(IPA 公表)
昨今,クラウドサービスが積極的に活用されるようになってきており,クラウドサービスへの移行が増加している。クラウドサービスへの移行では,情報セキュリティについて,オンプレミスのシステムとは異なる知識と技術,運用の知見が求められる。本問では,クラウドサービスへの移行を題材として,各種認証の仕組み,認証に関するセキュリティ対策などの知識及び技術力を問う。
問2では,クラウドサービスへの移行を題材に,各種認証の仕組み,認証に関するセキュリティ対策について出題した。全体として正答率は平均的であった。
問題本文
問2 クラウドサービスへの移行に関する次の記述を読んで,設問1〜5に答えよ。
X社は,従業員500名の情報サービス会社であり,5年前から動画投稿配信サービス(以下,動画サービスという)を提供している。動画サービスは,アカウント登録した会員が動画を投稿したり,投稿された動画を閲覧して評価したりすることができるサービスである。動画サービスは,Webサーバ(以下,動画サービスを提供するWebサーバをX社動画サーバという)を用いて提供されている。X社のシステム部は,X社のシステム全てを管理している。X社のシステム構成を図1に示す。

図の説明テキスト
ネットワーク構成図が描かれている。
・インターネットがFWに接続。
・FWの内側にL3SWが接続。
・L3SWから3つのセグメントに分岐している。
- DMZ: L2SWを経由して、外部DNSサーバ、外部メールサーバ、プロキシサーバ^1)、X社動画サーバが接続。
- サーバセグメント: L2SWを経由して、FS、GrWサーバ、認証サーバ、内部DNSサーバ、内部メールサーバが接続。
- PCセグメント: L2SWを経由して、XPCが接続。
凡例・注記:
FW: ファイアウォール、L2SW: レイヤ2スイッチ、GrW: グループウェア、FS: ファイルサーバ、L3SW: レイヤ3スイッチ、XPC: 会社貸与の業務PC
注^1) 拒否リストに登録したFQDNを宛先とする通信を遮断する機能がある。
XPCには,Webブラウザ,電子メール(以下,メールという)ソフト,GrW用クライアントソフトなどが導入されている。X社の従業員の認証は,認証サーバで行われており,XPC,GrWサーバ,FS,内部メールサーバへのシングルサインオン(以下,シングルサインオンをSSOという)を実現している。
X社のシステムでは,動画サービスの人気上昇による会員の増加に伴い,X社動画サーバの負荷が高くなっており,インターネット回線もひっ迫している。
X社の経営陣は,この問題への対策と併せて,セキュリティを強化するための抜本的な対策を検討するようシステム部に指示した。システム部のCさんが担当に指名され,セキュリティサービスを提供するW社から情報処理安全確保支援士(登録セキスペ)のF氏を招き,助言を受けることになった。
〔抜本的な対策の検討〕
F氏は,X社動画サーバをクラウドサービスへ移行し,さらに,Content Delivery Network(CDN)を利用する案を図2のように提案した。

図の説明テキスト
枠内に箇条書きのテキストが記載されている。
内容:
1 X社動画サーバのクラウドサービスへの移行
コンピュータソースを柔軟に増強できるようにするため,X社動画サーバをクラウドサービス事業者のIaaSに移行する。クラウドサービス事業者が提供するFW及びIPSの利用を検討する。
2 CDNの利用
X社動画サーバの可用性を高めるため,CDNを利用する。CDNの利用によって,セキュリティ対策の効果も期待できる。
次は,図2の2についてのCさんとF氏の会話である。
Cさん:X社動画サーバでの動画配信にCDNを利用すると,どのように動画が配信されるようになりますか。
F氏 :CDNでは,インターネット上に a サーバというサーバを分散配置して,動画配信を要求した端末に最も近い a サーバから動画を配信するようにします。a サーバは,動画配信を要求されたとき,要求された動画を保持していれば代理応答し,保持していなければ動画を保持しているX社動画サーバにアクセスして動画を取得し,応答します。多くの動画配信が代理応答されるので,X社動画サーバの負荷が軽減されます。
Cさん:その仕組みによって,b 攻撃への耐性も向上しますね。X社動画サーバでの動画配信にCDNを利用するには,どのようにすればよいでしょうか。
F氏 :例えば,M社が提供しているCDNを採用した場合の利用手順は図3のようになり,動画配信時の動作は図4のようになります。

図の説明テキスト
枠内に番号付きのテキストが記載されている。
内容:
(1) M社CDNからX社動画サーバ用に割り当てられたFQDN(以下,X-CDN-M-FQDNという)が発行される。
(2) X社の外部DNSサーバのCNAMEレコードで,X社動画サーバのFQDN(以下,X-FQDNという)とX-CDN-M-FQDNとをひも付ける。

図の説明テキスト
枠囲みのテキスト。(1)から(4)までの箇条書きで、会員端末からの要求やDNS名前解決、HTTPS通信などの動作手順が説明されている。(4)の文章中に空欄「c」が2箇所含まれている。
Cさん:理解しました。CDNを悪用する攻撃というのはあるのでしょうか。
F氏 :X社動画サーバのCDN利用に関するものではありませんが,CDNを悪用する攻撃の一つにドメインフロンティング攻撃があります。X社内のインターネット利用者をFWとプロキシサーバで保護するセキュリティ対策では,注意が必要です。どのようにして攻撃が成功するか,その例を図5に示します。

図の説明テキスト
枠囲みのテキスト。(1)から(5)までの箇条書きで、マルウェア感染時の名前解決やHTTPリクエスト送信など、攻撃手順や通信の流れが説明されている。(4)の文章中に空欄「c」が含まれている。
Cさん:何か対策はあるのでしょうか。
F氏 :攻撃者サーバに割り当てられたIPアドレスを宛先とする通信をFWで拒否しても,Z-FQDNをプロキシサーバの拒否リストに登録しても,図5の(5)の通信は遮断できません。①Y-CDN-U-FQDNを名前解決したIPアドレスを宛先とする通信をFWで拒否すると,複数のWebサイトが閲覧できなくなる影響があります。通信内容を監視して遮断するなどセキュリティ強化を進めているCDN事業者もありますが,進めていない事業者もあります。X社では,FW又はプロキシサーバを,アウトバウンド通信の復号及び高機能な通信解析ができるものに替え,dとHTTPリクエスト中のcヘッダの値が一致していることを検証して,一致していなければ遮断するという対策を検討してもよいでしょう。
Cさん:分かりました。
システム部は,X社動画サーバのクラウドサービスへの移行及びCDNの利用案について経営陣に報告した。この案は経営陣に承認され,X社動画サーバの移行が開始された。
〔他のサーバのクラウドサービスへの移行案〕
X社動画サーバの移行が完了し,CDNの利用も開始された。X社動画サーバに関する課題が解決されると,経営陣は,自社が保有する他のサーバについてもクラウドサービスへの移行を検討するようシステム部に指示した。システム部では,図6に示すクラウドサービスへの移行案を作成した。

図の説明テキスト
枠内に箇条書きで移行案が記載されている。
・GrW及びメールをSaaSに移行する。SaaSに切り替え後、GrWサーバ、外部メールサーバ及び内部メールサーバは、廃止する。
・従業員の利便性を確保するために、移行後のSaaSでもSSOを実現する。
〔SSOの現状〕
X社では,Kerberos認証でSSOが実現されている。XPCからGrWサーバにアクセスする場合のKerberos認証の流れを図7に,図7中の各処理の概要を表1に示す。

図の説明テキスト
「GrWサーバ」「XPC」「認証サーバ」間のシーケンス図と「利用者」からの操作が記述されている。
- XPCから認証サーバへ「利用者IDとパスワード」を送信
- 認証サーバで「処理1」を実行
- 認証サーバからXPCへ「TGT^1)」を送信
- XPC内で「TGTを保存」を実行
(時間経過を表す波線) - 「利用者」からXPCへ「GrWサーバへのアクセス要求」
- XPCから認証サーバへ「TGT」を送信
- 認証サーバで「処理2」を実行
- 認証サーバからXPCへ「ST^2)」を送信
- XPC内で「STを保存」を実行
- XPCからGrWサーバへ「ST」を送信
- GrWサーバで「処理3」を実行
- GrWサーバからXPCへ「サービス提供」
注1) 利用者のアクセス権限を示すチケットである。認証サーバに登録されたTGT発行用アカウントのパスワードハッシュ値を鍵として暗号化されている。
注2) アクセス対象のサーバごとに発行されるチケットである。アクセス対象のサーバの管理者アカウントのパスワードハッシュ値を鍵として暗号化されている。

図の説明テキスト
| 処理名 | 処理内容 |
|---|---|
| 処理1 | 利用者 ID とパスワードが正しければ,TGT を発行する。 |
| 処理2 | TGT を復号して検証し,問題なければ,ST を発行する。 |
| 処理3 | ST を復号して検証し,問題なければ,アクセスを許可する。 |
次は,図7についてのCさんとF氏の会話である。
Cさん:Kerberos認証に対する攻撃はあるのでしょうか。
F氏:幾つかあります。二つ説明しましょう。一つ目は,TGT,STの偽造攻撃です。TGT又はSTが偽造されると,サーバが不正アクセスされて危険です。現在,TGTの偽造については,認証サーバ側での対策が進んでいます。一方,②STの偽造については,認証サーバ側で検知することができません。
Cさん:リスクがありますね。
F氏:二つ目は,サーバ管理者アカウントのパスワードを解読して不正にログインする攻撃です。XPCからSTが奪取され,不正アクセスに悪用されても,不正アクセスされる範囲は限定されます。しかし,奪取されたSTに対してサーバ管理者アカウントのパスワードの総当たり攻撃が行われ,それが成功すると,当該サーバ管理者アカウントでアクセスできるサーバが乗っ取られてしまいます。この総当たり攻撃は,③サーバ側でログイン連続失敗時のアカウントロックを有効にしていても対策になりません。
Cさん:分かりました。
〔SaaSでのSSOの実現〕
Cさんは,GrW及びメールのSaaSへの移行後のSSOの実現方法をF氏に尋ねた。次は,その際のF氏とCさんの会話である。
F氏:IDaaSの利用を提案します。多くのIDaaSでは,Kerberos認証ではなくSAML認証をサポートしています。SaaS側がSAML認証をサポートしていれば,SAML認証を用いたSSOが可能です。SAML認証の流れを図8に,図8中の各処理の概要を表2に示します。

図の説明テキスト
SAML認証の流れを示すシーケンス図。「SaaS」「XPC」「IDaaS」間の通信シーケンスが記載されている。
- XPCからSaaSへ: (1)サービス要求
- SaaS(処理1)からXPCへ: (2)SAML Request を含むリダイレクト
- XPCからIDaaSへ: (3)SAML Request を含むHTTPリクエスト
- IDaaS(処理2)からXPCへ: (4)ログイン画面応答
- XPCからIDaaSへ: (5)認証情報
- IDaaS(処理3)からXPCへ: (6)SAML Responseの送信フォーム
- XPCからSaaSへ: (7)SAML Response
- SaaS(処理4)からXPCへ: (8)サービス提供

図の説明テキスト
| 処理名 | 処理内容 |
|---|---|
| 処理 1 | ・IDaaS に認証を要求する SAML Request を生成し、エンコードする。 ・エンコード結果と IDaaS のログイン画面の URL を組み合わせて、リダイレクト先URL を生成する。 |
| 処理 2 | ・図8中の(3)の HTTP リクエスト中の e から SAML Request を取得する。 ・信頼関係が構築された SaaS からの認証要求であることを検証する。 |
| 処理 3 | ・認証処理を行う。利用者の認証が成功した場合、処理 4 で用いる SAML アサーションと、それに対するデジタル署名を含めた SAML Response の送信フォームを生成する。 |
| 処理 4 | ・SAML Response に含まれるデジタル署名を検証することで、デジタル署名が f のものであること、及び SAML アサーションの g がないことを確認する。 ・SAML アサーションの内容を検証し、サービス提供すべきかどうかを決定する。 |
Cさん:事前の準備はありますか。
F氏:IDaaSとSaaSとの間で事前に情報を共有しておく必要があります。事前に共有する情報は,SAMLアサーションで用いる属性,図8中の処理 h で用いるURL,図8中の処理 i 及び処理 j において必要なデジタル証明書などがあります。
Cさんは,F氏の提案を受け,SAML認証をサポートしているIDaaSを調査した。同時に,GrWサービス及びメールサービスを提供し,かつ,SAML認証をサポートしているSaaSを調査した。調査の結果,G社のSaaSとIDaaS(以下,G社のGrWサービスをGrW-G,メールサービスをメール-G,IDaaSをIDaaS-Gという)に移行することを経営陣に提案した。この案は経営陣に承認され,GrW-G及びメール-Gへの移行並びにIDaaS-GでのSSOの準備が開始された。
〔従業員からの要望〕
GrW-G,メール-G及びIDaaS-Gへの移行及びSSOの準備が完了し,利用が開始された3か月後に,システム部は,X社の従業員に対して,GrW-G及びメール-Gについてのヒアリングを実施した。その回答に,GrW-Gでスケジュールを管理しているが,会議の主催者が会議日程の調整をもっと簡単にできるようにしてほしいという要望があった。Cさんは,S社が提供しているスケジュール調整サービス(以下,Sサービスという)を導入し,GrW-Gと連携させることで,その要望に応えることができると考えた。Sサービスの内容を表3に示す。

図の説明テキスト
| 項番 | 項目 | 内容 |
|---|---|---|
| 1 | 概要 | SaaSで提供されており,Sサービスのスマートフォン用アプリケーションプログラム又はPCのWebブラウザから利用できる。 |
| 2 | 利用手順 | (1) 主催者は,Sサービスにアクセスする。 (2) Sサービスは,GrW-Gから主催者のスケジュールを取得し,空き時間を表示する。 (3) 主催者は,空き時間の中から会議日程の候補を複数選ぶ。 (4) Sサービスは,会議の参加予定者に,各候補に対する参加可否の回答を依頼するメールを送信する。 (5) 会議の参加予定者は,可否を回答する。 (6) Sサービスは,会議の参加予定者の各候補に対する参加可否の一覧表を主催者に示す。 (7) 主催者は,一覧表を見て会議日程を決定する。 (8) Sサービスは,会議の参加予定者に招待メールを送付し,会議日程をGrW-Gの主催者のスケジュールに登録する。 |
Cさんは,Sサービスの導入検討を進める中で,Sサービス,GrW-G及びIDaaS-Gの間の連携についてF氏に相談した。次は,その際のF氏とCさんの会話である。
F氏 :Sサービス,GrW-G及びIDaaS-Gは,OAuth 2.0をサポートしています。OAuth 2.0を利用したサービス要求からスケジュール情報の取得までの流れは,図9のようになります。

図の説明テキスト
シーケンス図。
参加するエンティティは左から順に、「利用者(従業員)の端末」、空欄「k」、空欄「l」、空欄「m」。
以下の順でメッセージが交換される:
(1) サービス要求: 端末 → k
(2) リダイレクト: k → 端末
(3) 認可要求: 端末 → l
(4) 認可同意処理: lと端末の間での双方向のやり取り
(5) リダイレクト: l → 端末
(6) 認可コード: 端末 → k
(7) トークン要求: k → l
(8) トークン応答: l → k
(9) 利用者情報の問合せ: k → m
(10) 利用者情報: m → k
図の一番下には、すべてのライフラインを横断する形で横長の空欄「n」の枠が配置されている。
Cさん:セキュリティ対策について確認すべきことはありますか。
F氏:二つあります。一つ目は,クロスサイトリクエストフォージェリ(以下,CSRFという)攻撃についてです。標的となる利用者が重要な秘密を扱う会議の主催者として日程を決定する場合を考えてみましょう。攻撃者は,GrW-Gに攻撃者のアカウントを登録し,当該GrW-Gにアクセスするための認可コードを利用者に送付します。そのときに,図9の実装にCSRF脆弱性があり,かつ,利用者のWebブラウザが攻撃者によって生成された認可コードを受け付けてしまう実装となっている場合,利用者が気付かないうちに攻撃者のアカウントで会議日程が登録されてしまいます。対策として,stateパラメータの実装が求められています。適切な実装であれば,図9中のoにおいて,stateパラメータを付与して送信し,図9中のpで送られてきたものと比較することで,攻撃を検知しているはずです。
二つ目は,利用者がSサービスへのアクセスにSサービスのスマホアプリを使う場合についてです。Sサービスのスマホアプリをインストールしたスマートフォンに,攻撃者が用意した不正なスマホアプリをインストールしてしまうと,GrW-Gにアクセスするための認可コードを,攻撃者のスマホアプリが横取りしてしまうという攻撃があります。
Cさん:二つ目の攻撃への対策にはどのようなものがありますか。
F氏 :Sサービスのスマホアプリでランダムな検証コードとその値を基にしたチャレンジコードを作成して,そのチャレンジコードを認可要求に追加し,検証コードをトークン要求に追加します。二つのコードを検証することで,検証コードを知らない攻撃者からのトークン要求を排除できます。この仕組みは,qとして標準化されています。
Cさん:分かりました。
〔企画チームからの要望〕
Cさんは,企画チームから要望を受けた。要望は,T社が運営しているメッセージ投稿サイト(以下,T社投稿サイトという)とX社動画サーバとを連携させ,T社投稿サイトの認証サーバを用いた認証機能,及びT社投稿サイトの投稿サーバへの自動投稿機能をX社動画サーバに追加したいというものだった。この要望に対応することで,T社投稿サイトのアカウントをもつ動画サービスの会員は,T社投稿サイトにログインすればX社動画サーバも利用できる。また,“動画の概要”がT社投稿サイトに自動で投稿されるようにもできる。Cさんは,T社投稿サイトとX社動画サーバの連携方法について,F氏に助言を求めた。次は,その際のF氏とCさんの会話である。
F氏 :OpenID Connect(以下,OIDCという)を用いれば,T社投稿サイトとX社動画サーバを連携できます。例えば,図10のような流れです。

図の説明テキスト
シーケンス図。
エンティティは左から順に「利用者(会員)の端末」、空欄「r」、空欄「s」、空欄「t」。
以下の通信手順が矢印で示されている。
(1) サービス要求 : 利用者の端末 → r
(2) リダイレクト : r → 利用者の端末
(3) 認証要求 : 利用者の端末 → s
(4) ログイン処理 : s ↔ 利用者の端末
(5) リダイレクト : s → 利用者の端末
(6) 認可コード : 利用者の端末 → r
(7) トークン要求 : r → s
(8) トークン応答 : s → r
(中略を示す波線)
APIを使った"動画の概要"の投稿 : r → t
F氏:認可コードフローの場合,IDトークンは,図10中のuで送付されます。IDトークンは,JSON Web Token形式で表現され,ヘッダ,ペイロード,署名の三つの部分で構成されます。署名は,ヘッダとペイロードに対して,T社投稿サイトの認証サーバの秘密鍵を使って作成します。署名アルゴリズムは,ヘッダにおいて指定します。ヘッダ,ペイロード,署名は,それぞれvでエンコードされます。
Cさん:T社投稿サイトでのセキュリティ対策について確認することはありますか。
F氏:ハイブリッドフローを用いる場合,stateパラメタのほか,nonce値を実装しているかを確認すべきです。まず,nonce値を生成し,wに含めて送信します。次に,送られてきたxに含まれるnonce値を検証することで,攻撃者によるIDトークンの不正利用を防ぐことができます。
Cさん:分かりました。
システム部は,T社投稿サイトと動画サービスとを,OIDCで連携することに決め,X社動画サーバの改修に着手した。
設問と解答・解説
本文中の a に入れる適切な字句を, 5字以内で答えよ。
模範解答
キャッシュ
採点基準
- 4点: 「キャッシュ」という語句を正しく解答できている。
- 2点: 部分的に合致する関連語句を解答している。
- 0点: 無解答、または全く異なる語句を解答している。
解説
設問解説
CDN(Content Delivery Network)の基本的な仕組みに関する問題です。
F氏の「CDNでは,インターネット上に a サーバというサーバを分散配置して,動画配信を要求した端末に最も近い a サーバから動画を配信するようにします」という発言から、分散配置されてコンテンツを一時的に保持し、オリジンサーバ(X社動画サーバ)の代理として応答を行うサーバを指していることが分かります。これは一般に キャッシュ サーバと呼ばれます。
高得点のポイント
- 正確性(内容): CDNにおいてコンテンツを保持し代理応答を行うサーバ群が「キャッシュ」サーバであることを正確に理解し解答できているか。
本文中の b に入れる適切な字句を, 英字5字以内で答えよ。
模範解答
DDoS
採点基準
- 4点: 「DDoS」と正しく解答できている。
- 2点: 部分的に合致する関連語句を解答している。
- 0点: 無解答、または全く異なる語句を解答している。
解説
設問解説
CDNの導入によって向上するセキュリティ上の耐性についての問題です。
CDNは、インターネット上の多数のキャッシュサーバでトラフィックを分散して処理するため、大量の通信を送りつけてサービスを停止させる攻撃に対して非常に有効です。この攻撃は DDoS(Distributed Denial of Service)攻撃と呼ばれます。
高得点のポイント
- 正確性(内容): CDNが大量のトラフィックを分散吸収することで耐性が向上する攻撃手法が「DDoS」攻撃であることを理解しているか。
図4中, 図5中及び本文中の c に入れる適切な字句を, 英字5字以内で答えよ。
模範解答
Host
採点基準
- 4点: 「Host」(「host」など大文字小文字の違いを含む)と正しく解答できている。
- 2点: 正答に近いが、一部の字句が誤っている、または欠けている。
- 0点: 無解答、または全く異なる語句を解答している。
解説
設問解説
HTTPリクエストにおいて接続先のFQDNを指定するヘッダに関する問題です。
図4の(4)に「RFC 7230に基づいて、HTTPリクエストの c ヘッダには、X-FQDNが指定される」とあります。また、図5の(4)のドメインフロンティング攻撃の例において、TLSの接続先と意図的に異なるFQDNを指定してCDNのエッジサーバに転送先を誤認させる目的で使われるHTTPヘッダは Host ヘッダです。
高得点のポイント
- 正確性(内容): HTTP/1.1において宛先のホスト名を指定するために必須となるヘッダが「Host」ヘッダであることを理解しているか。
本文中の下線①について, Y-CDN-U-FQDNを名前解決したIPアドレスを宛先とする通信をFWで拒否した場合に閲覧できなくなるWebサイトの範囲を, 60字以内で具体的に述べよ。
模範解答
Y-CDN-U-FQDNを名前解決したIPアドレスと同じIPアドレスをもつWebサイト
採点基準
- 2点: Y-CDN-U-FQDNの名前解決結果となるIPアドレスが、他のWebサイトでも共有されていることを理解し記述している。
- 1点: 影響範囲について言及しているが、CDNのIP共有の仕組みに関する理解の表現が不十分である。
- 0点: CDNの仕組みに関する理解が示されていない。
- 2点: 同一のIPアドレスをもつWebサイトが閲覧できなくなる旨が、論理的な帰結として明確に記述されている。
- 1点: 影響範囲についての記述はあるが、理由と結果のつながりがやや不明瞭である。
- 0点: 論理的な記述がない。
解説
設問解説
CDNのIPアドレスをFWで拒否した場合の影響範囲に関する問題です。
図5の(1)において、「あるCDN(CDN-U)が、X社内から頻繁にアクセスする他社のWebサイトの複数で利用されている」ことが示されています。
CDNでは、多数のWebサイト(FQDN)の通信を共通のエッジサーバで受け付けるため、複数のFQDNが同一のIPアドレスに名前解決されることが一般的です。
したがって、Y-CDN-U-FQDNの名前解決結果であるIPアドレスを宛先としてFWで通信を拒否すると、そのIPアドレスを共有している(同じIPアドレスをもつ)他のすべてのWebサイトへのアクセスも遮断されてしまいます。
高得点のポイント
- 知識・理解度(内容): CDNのエッジサーバのIPアドレスが単一のWebサイト専用ではなく、複数のWebサイトで共有されている事実を理解しているか。
- 論理性(構造): FWによるIPアドレスベースの遮断がもたらす影響として、「同じIPアドレスをもつWebサイト」が巻き込まれて閲覧不能になるという論理的帰結を明確に記述できているか。
本文中の d に入れる適切な字句を, 20字以内で答えよ。
模範解答
TLSの接続先サーバ名
採点基準
- 4点: 「TLSの接続先サーバ名」と過不足なく正しく解答できている。
- 2点: TLSや接続先に関する言及はあるが、表現が不正確または不完全である。
- 0点: 無解答、または全く異なる内容を解答している。
解説
設問解説
ドメインフロンティング攻撃の対策として検証すべき項目についての問題です。
ドメインフロンティング攻撃は、TLS接続時に指定するサーバ名(SNI: Server Name Indicationなど)と、暗号化されたトンネル内を通るHTTPリクエストのHostヘッダの値を意図的に不一致にすることで、CDN側に本来の宛先とは異なる攻撃者サーバへ通信を転送させる手法です。
本文中のF氏の「アウトバウンド通信の復号及び高機能な通信解析ができるものに替え、d とHTTPリクエスト中の c (Host) ヘッダの値が一致していることを検証して」という説明から、比較対象となるのは TLSの接続先サーバ名 であることが分かります。
高得点のポイント
- 正確性(内容): ドメインフロンティングの仕組み上、比較検証する対象がTLSの接続時のサーバ名情報であることを正確に抜き出し・記述できているか。
設問1(3)及び(5)は,正答率が低かった。HTTPとTLSに関する問題であったが,DNSと混同していると思われる解答が多かった。CDNを悪用したドメインフロンティング攻撃は,標的型攻撃などでもよく登場する攻撃手法なので,是非知っておいてほしい。
本文中の下線②について, 認証サーバ側では検知することができない理由を, 30字以内で述べよ。
模範解答
STは認証サーバに送られないから
採点基準
- 2点: STが認証サーバに送信されない(または対象サーバに直接送信される)という仕組みを正しく指摘している。
- 1点: 認証の仕組みに言及しているが、STの送信先に関する具体的な記述が不足している。
- 0点: STの送信先に関する理解が示されていない。
- 2点: STが認証サーバに送られないため検知できない、という因果関係が明確に記述されている。
- 1点: 因果関係がやや不明瞭である。
- 0点: 論理的な記述がない。
解説
設問解説
Kerberos認証におけるST(Service Ticket)偽造を認証サーバで検知できない理由に関する問題です。
図7のKerberos認証の流れを確認すると、XPCは認証サーバからSTを取得した後(8)、GrWサーバへのアクセス時にそのSTをGrWサーバへ直接送信し(10)、GrWサーバ自身がSTの復号と検証(処理3)を行っています。
この過程において、STは認証サーバには送られないため、認証サーバ側ではSTが偽造されたり不正利用されたりしていることを直接検知する手段がありません。
高得点のポイント
- 知識・理解度(内容): XPCから対象サーバへのアクセス時に、STが認証サーバを経由しない仕組みであることを正しく指摘できているか。
- 論理性(構造): STの検証経路(送信先)を根拠として、認証サーバが関与・検知できないという因果関係が論理的に記述できているか。
本文中の下線③について, 対策にならない理由を, 35字以内で述べよ。
模範解答
総当たり攻撃はオフラインで行われ,ログインに失敗しないから
採点基準
- 2点: 奪取されたSTに対する総当たり攻撃がオフラインで行われる攻撃であることを明記している。
- 1点: オフライン攻撃であることへの直接的な言及はないが、手元で解読されるニュアンスを含んでいる。
- 0点: オフライン攻撃であることへの理解が示されていない。
- 2点: オフラインであるためサーバ側でのログイン失敗が発生せず、アカウントロックが機能しない理由が論理的に示されている。
- 1点: 理由の説明がやや不明瞭である。
- 0点: 論理的な説明がない。
解説
設問解説
奪取されたSTに対するパスワード解読攻撃において、サーバ側のログインロックが対策にならない理由に関する問題です。
奪取されたSTにはサーバ管理者アカウントのパスワードハッシュ値を鍵として暗号化された情報が含まれており、攻撃者はこのSTを手元(オフライン環境)に持ち出し、総当たりで復号を試みることでパスワードの解読を行います。
この解読作業はオフラインで行われるため、実際のサーバに対するログイン試行(通信)は一切発生しません。したがって、サーバ側でログイン連続失敗時のアカウントロックを有効にしていても、試行自体を検知できず機能しません。
高得点のポイント
- 知識・理解度(内容): 奪取されたSTに対する総当たり攻撃がネットワーク越しではなく「オフライン」で行われる攻撃であることを明記できているか。
- 論理性(構造): オフラインでの攻撃であるがゆえに「サーバ側でログイン失敗が発生しない」ため、アカウントロックが機能しないという論理構造で説明できているか。
設問2(2)は,正答率が平均的であった。オフラインにおける総当たり攻撃の問題であったが,パスワードスプレー攻撃などパスワードに対するオンラインの攻撃手法に言及した解答も散見された。パスワードに対する攻撃手法の種類や違いについて,理解を深めてほしい。
表2中の e に入れる適切な字句を解答群の中から選び, 記号で答えよ。
模範解答
選択肢ウ: クエリ文字列
解説
設問解説
SAML認証においてIDaaSがSAML Requestを取得する場所に関する問題です。
表2の処理1において、SaaSはSAML Requestをエンコードし、「IDaaSのログイン画面のURLと組み合わせて、リダイレクト先URLを生成する」とあります。リダイレクト(HTTP GET要求など)によって遷移先URLにパラメータを渡す場合、データはURLの末尾に付加される クエリ文字列 として送信されます。したがって、IDaaSはHTTPリクエスト中のクエリ文字列からSAML Requestを取得します。
各選択肢の解説
- ア (cookie): cookieは状態管理に用いられますが、SaaSからIDaaSへのSAML Requestの伝達手段としては適しません。
- イ (HTML): リダイレクトはHTTPステータスコードとLocationヘッダで行われるため、HTMLのパースは必要ありません。
- ウ (クエリ文字列): 正解です。URLパラメータとして付加されます。
- エ (ボディ): リダイレクト(HTTP GET)には通常ボディは含まれません。
- オ (リファラ): リファラは遷移元のURLを示すものであり、意図的なパラメータ渡しには用いません。
表2中の f に入れる適切な字句を解答群の中から選び, 記号で答えよ。
模範解答
選択肢ア: IDaaS
解説
設問解説
SAML Responseのデジタル署名の検証主体に関する問題です。
表2の処理3において、利用者の認証が成功した場合に「SAMLアサーションと、それに対するデジタル署名を含めたSAML Response」を生成するのは IDaaS です。その後、XPCを経由してSaaSに渡されたSAML ResponseをSaaSが検証(処理4)する際、その署名が間違いなく認証を担った IDaaS のものであることを確認します。
各選択肢の解説
- ア (IDaaS): 正解です。署名を生成したエンティティであることを確認します。
- イ (SaaS): SaaS自身は署名の生成側ではなく、検証側です。
- ウ (XPC): XPCは単なる中継点であり、署名鍵を持っていません。
表2中の g に入れる適切な字句を, 5字以内で答えよ。
模範解答
偽造
採点基準
- 4点: 「偽造」と正しく解答できている。
- 2点: 部分的に意味の通じる関連語句を解答している。
- 0点: 無解答、または全く異なる語句を解答している。
本文中の h に入れる適切な数字を答えよ。
模範解答
1
解説
正解の根拠
表2の処理1では、SaaSがSAML Requestを生成してエンコードし、「IDaaSのログイン画面のURL」と組み合わせてリダイレクト先URLを生成します。SaaSがリダイレクト先URLを生成するためには、あらかじめIDaaSのログイン画面のURLを共有しておく必要があります。したがって、事前に共有するURLを用いる処理 h は「1」です。
模範解答
3,4
採点基準
- 6点: 「3」と「4」を順不同で一つずつ答えている。
- 3点: 「3」又は「4」のどちらか一方だけを答えている(同じ正解を二つ答えている場合を含む)。
- 0点: 「3」と「4」のどちらも答えていない(同じ誤答を二つ答えている場合を含む)。
解説
正解の根拠
SAML認証では、メッセージの改ざん防止や送信元の真正性を確認するためにデジタル署名とデジタル証明書を使用します。
表2の処理3では、IDaaSがSAML Responseにデジタル署名を付与して送信フォームを生成します。この署名生成のために、IDaaS側の秘密鍵および対応するデジタル証明書が必要です。
また、処理4では、SaaSがそのデジタル署名を検証するためにIDaaSのデジタル証明書を使用します。
したがって、デジタル証明書が必要となる処理 i,j には「3」と「4」が入ります(順不同)。
順不同で「3」と「4」の両方を答えていれば満点、どちらか一方のみを答えている場合(同じ正解を二つ書いた場合を含む)は半分、正解を一つも答えていない場合(同じ誤答を二つ書いた場合を含む)は0点となります。
図9中の k に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢ウ: Sサービス
解説
設問解説
OAuth 2.0を利用した連携フローの構成要素(エンティティ)を特定する問題です。
図9のシーケンスにおいて、利用者の端末から直接(1)サービス要求を受け付け、全体のフローを主導するクライアントアプリケーションの役割を果たしているのは、新しく導入を検討しているスケジュール調整サービスである Sサービス です。したがって、kには Sサービス が入ります。
各選択肢の解説
- ア (GrW-G): OAuth 2.0におけるリソースサーバの役割であり、最後にAPIでアクセスされる対象(m)です。
- イ (IDaaS-G): OAuth 2.0における認可サーバの役割であり、認可要求を受けてトークンを発行する対象(l)です。
- ウ (Sサービス): 正解です。OAuth 2.0のクライアントとして動作します。
図9中の l に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢イ: IDaaS-G
解説
設問解説
OAuth 2.0を利用した連携フローの構成要素(エンティティ)を特定する問題です。
図9において、クライアント(k)からリダイレクトされた端末が(3)認可要求を送信し、(4)認可同意処理を行い、(6)認可コードを発行する役割を担うのは認可サーバです。本システムにおいて認証および認可を集中管理しているのは IDaaS-G です。したがって、lには IDaaS-G が入ります。
各選択肢の解説
- ア (GrW-G): リソースサーバ(m)の役割です。
- イ (IDaaS-G): 正解です。認可サーバとして機能します。
- ウ (Sサービス): クライアント(k)の役割です。
図9中の m に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢ア: GrW-G
解説
設問解説
OAuth 2.0を利用した連携フローの構成要素(エンティティ)を特定する問題です。
図9において、クライアント(k)が認可サーバ(l)からトークンを取得した後、(9)利用者情報の問合せを行う先のシステムはリソースサーバです。本システムにおいて従業員のスケジュール情報(リソース)を保持しているのはグループウェアである GrW-G です。したがって、mには GrW-G が入ります。
各選択肢の解説
- ア (GrW-G): 正解です。保護されたリソースを保持するリソースサーバです。
- イ (IDaaS-G): 認可サーバ(l)の役割です。
- ウ (Sサービス): クライアント(k)の役割です。
図9中の n に入れる適切な流れを解答群の中から選び,記号で答えよ。
模範解答
選択肢エ: k → m:(11)スケジュール取得要求,m → k:(12)スケジュール情報
解説
正解の根拠
OAuth 2.0において、アクセストークンを取得したクライアントは、保護されたリソースを保持するリソースサーバに対して、そのアクセストークンを提示してリソースへのアクセスを要求します。
本問では、クライアントであるSサービス(k)が、認可サーバであるIDaaS-G(l)からアクセストークンを取得済みです。そして、スケジュール情報を保持しているリソースサーバはGrW-G(m)です。
したがって、アクセストークンを得たクライアントであるSサービス(k)が、リソースサーバであるGrW-G(m)に対して「(11)スケジュール取得要求」を送り、GrW-G(m)からSサービス(k)へ「(12)スケジュール情報」が返却される流れが適切です。これを示している「エ」が正解です。
各選択肢の解説
- ア: 利用者の端末から認可サーバであるIDaaS-G(l)へ直接スケジュール情報を要求する流れになっています。スケジュール情報を取得するのはSサービス(k)であり、利用者の端末が直接要求している点、および要求先が認可サーバである点が誤りです。
- イ: 利用者の端末からリソースサーバであるGrW-G(m)へ直接スケジュール情報を要求する流れになっています。スケジュール情報を取得するのはSサービス(k)であり、利用者の端末が直接要求している点が誤りです。
- ウ: Sサービス(k)からIDaaS-G(l)へ要求する流れになっています。IDaaS-Gは認可サーバであり、スケジュール情報を保持するリソースサーバではないため、要求先が認可サーバである点が誤りです。
- エ: アクセストークンを得たクライアントであるSサービス(k)が、リソースサーバであるGrW-G(m)にスケジュール情報を要求して取得する正しい流れを示しているため正解です。
本文中の o に入れる適切な通信を,図9中の(1)〜(10)から選び,番号で答えよ。
模範解答
(2)
採点基準
- 6点: 「(2)」と正しく解答できている。
- 3点: 括弧の有無など形式的な違いがあるが、該当する通信を特定できている。
- 0点: 無解答、または全く異なる番号を解答している。
解説
設問解説
CSRF(クロスサイトリクエストフォージェリ)攻撃を防ぐための state パラメータの実装に関する問題です。
OAuth 2.0のフローにおいて、クライアント(Sサービス)は認可要求を初期化する際、ランダムな state パラメータを生成してセッションに保存し、利用者の端末を認可サーバへリダイレクトさせます。図9において、Sサービスが利用者の端末にリダイレクトを指示し、その際に state を付与して送信させる通信は (2) の通信です。
高得点のポイント
- 正確性(内容): OAuth 2.0の認可コードフローにおいて、CSRF対策として
stateパラメータが付与される初期リダイレクトのステップを正しく把握できているか。
本文中の p に入れる適切な通信を,図9中の(1)〜(10)から選び,番号で答えよ。
模範解答
(6)
採点基準
- 6点: 「(6)」と正しく解答できている。
- 3点: 括弧の有無など形式的な違いがあるが、該当する通信を特定できている。
- 0点: 無解答、または全く異なる番号を解答している。
解説
設問解説
CSRF攻撃を防ぐための state パラメータの検証タイミングに関する問題です。
認可サーバ(IDaaS-G)での処理が完了すると、認可サーバは state パラメータをそのまま付与してクライアントのコールバックURLへリダイレクトします。利用者の端末からクライアント(Sサービス)へ認可コードと共に state パラメータが送り返される通信は、図9の (6) の通信です。
クライアントはこのタイミングで、受け取った state と事前に保存していた値を比較検証し、正当なフローであることを確認します。
高得点のポイント
- 正確性(内容): 認可サーバから戻ってきた
stateパラメータをクライアントが受け取り比較検証するステップを正しく把握できているか。
本文中の q に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢ウ: PKCE (Proof Key for Code Exchange)
解説
設問解説
認可コード横取り攻撃に対する対策技術の名称を問う問題です。
スマートフォンアプリ等のネイティブアプリにおいて、悪意のあるアプリがカスタムURLスキームなどを横取りして認可コードを奪う攻撃への対策として、ランダムな検証コード(code_verifier)とそのハッシュ値等によるチャレンジコード(code_challenge)を用いる仕組みは PKCE (Proof Key for Code Exchange) として標準化されています。
各選択肢の解説
- ア (ASLR): メモリアドレス空間の配置をランダム化し、バッファオーバーフロー等の攻撃を防ぐOSレベルの技術です。
- イ (EIAM): 企業内のID・アクセス管理の概念であり、特定のプロトコル拡張ではありません。
- ウ (PKCE): 正解です。RFC 7636で定義された、OAuth 2.0クライアントのためのセキュリティ拡張です。
- エ (SCIM): クラウドサービス間でID情報を自動的に同期・管理するためのプロトコルです。
設問4(3)は,正答率が低かった。OAuth 2.0のメカニズムと攻撃手法は,安全なAPIアクセスの実現のために必要な知識なのでよく理解してほしい。
図10中の r に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢オ: X社動画サーバ
解説
設問解説
OpenID Connect(OIDC)を用いた連携フローの構成要素を特定する問題です。
図10において、利用者が(1)サービス要求を行い、OIDCのクライアント(Relying Party: RP)として機能するシステムは、自動投稿機能を追加する対象である X社動画サーバ です。したがって、rには X社動画サーバ が入ります。
各選択肢の解説
- ア (IDaaS-G): X社内の認証基盤であり、T社投稿サイトとの連携には直接関与しません。
- イ (Sサービス): スケジュール調整サービスであり、このOIDC連携とは無関係です。
- ウ (T社投稿サイトの投稿サーバ): 最後にAPIでアクセスされるリソースサーバ(t)です。
- エ (T社投稿サイトの認証サーバ): OIDCの認証サーバ(OpenID Provider: OP)の役割(s)です。
- オ (X社動画サーバ): 正解です。OIDCのクライアントとして動作します。
図10中の s に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢エ: T社投稿サイトの認証サーバ
解説
設問解説
OpenID Connect(OIDC)を用いた連携フローの構成要素を特定する問題です。
図10において、クライアント(r)からリダイレクトされた端末が(3)認証要求を送信し、(4)ログイン処理を行い、最終的にIDトークンやアクセストークンを発行するOIDCのOpenID Provider(OP)の役割を担うのは、認証機能を提供する T社投稿サイトの認証サーバ です。したがって、sには T社投稿サイトの認証サーバ が入ります。
各選択肢の解説
- ア (IDaaS-G): 今回のOIDC連携の認証サーバではありません。
- イ (Sサービス): OIDC連携とは無関係です。
- ウ (T社投稿サイトの投稿サーバ): トークン取得後にアクセスされるリソースサーバ(t)です。
- エ (T社投稿サイトの認証サーバ): 正解です。認証・認可を行いトークンを発行します。
- オ (X社動画サーバ): クライアント(r)の役割です。
図10中の t に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢ウ: T社投稿サイトの投稿サーバ
解説
設問解説
OpenID Connect(OIDC)を用いた連携フローの構成要素を特定する問題です。
図10のフローの最後で、X社動画サーバ(r)がトークンを利用して「APIを使った“動画の概要”の投稿」を行う対象システムは、保護されたリソースを提供するリソースサーバです。本文の要望にある「T社投稿サイトの投稿サーバへの自動投稿機能」という記述から、tには T社投稿サイトの投稿サーバ が入ります。
各選択肢の解説
- ア (IDaaS-G): OIDC連携には関与しません。
- イ (Sサービス): OIDC連携には関与しません。
- ウ (T社投稿サイトの投稿サーバ): 正解です。APIアクセスを受けるリソースサーバです。
- エ (T社投稿サイトの認証サーバ): トークンを発行する認証サーバ(s)です。
- オ (X社動画サーバ): クライアント(r)の役割です。
本文中の u に入れる適切な通信を,図10中の(1)〜(8)から選び,番号で答えよ。
模範解答
(8)
採点基準
- 6点: 「(8)」と正しく解答できている。
- 3点: 括弧の有無など形式的な違いがあるが、該当する通信を特定できている。
- 0点: 無解答、または全く異なる番号を解答している。
解説
設問解説
OIDCの認可コードフローにおいてIDトークンが送付付されるタイミングに関する問題です。
認可コードフロー(Authorization Code Flow)では、認証サーバでの認証後、まず認可コードが発行され、フロントチャネル(ブラウザ経由)でクライアントに渡されます。その後、クライアントはバックチャネル(直接通信)でトークンエンドポイントに認可コードを提示し、アクセストークンと IDトークン を取得します。
図10において、クライアント(r)が(7)トークン要求を行い、認証サーバ(s)が応答する (8) の通信でIDトークンが送付されます。
高得点のポイント
- 正確性(内容): 認可コードフローの特徴を理解し、IDトークンがトークンエンドポイントからの応答として安全に渡されるステップを正確に特定できているか。
本文中の v に入れる適切な字句を解答群の中から選び,記号で答えよ。
模範解答
選択肢イ: base64url
解説
設問解説
JSON Web Token (JWT) のエンコード方式に関する問題です。
JWTは、ヘッダ、ペイロード、署名の3つの部分から構成され、各部分はURLセーフな文字列として扱うために base64url 方式でエンコードされ、ドット(.)で連結されます。標準のBase64とは異なり、URLで特別な意味を持つ文字(+ や /)を使用しないのが特徴です。
各選択肢の解説
- ア (base32): JWTのエンコード規格としては使用されません。
- イ (base64url): 正解です。JWTの標準仕様で定義されています。
- ウ (ROT13): 単なるアルファベットの13文字シフト暗号であり、バイナリデータのエンコードには用いません。
- エ (UTF-8): 文字エンコーディング方式であり、バイナリを印字可能文字列に変換するエンコード方式ではありません。
本文中の w に入れる適切な字句を10字以内で答えよ。
模範解答
認証要求
採点基準
- 4点: 「認証要求」と正しく解答できている。
- 2点: 部分的に合致する関連語句を解答している。
- 0点: 無解答、または全く異なる語句を解答している。
解説
設問解説
OIDCにおける nonce を用いたリプレイ攻撃対策の実装に関する問題です。
ハイブリッドフロー等において、クライアントは認証セッションとIDトークンを紐付けるためにランダムな nonce 値を生成し、認可エンドポイントへの 認証要求(図10の(3)の要求内容を含んだリダイレクト先へのアクセス)のパラメータに含めて送信します。
高得点のポイント
- 正確性(内容): OIDCのフローにおいて
nonce値が付与される最初のステップが「認証要求」であることを正確に抜き出し・記述できているか。
本文中の x に入れる適切な字句を10字以内で答えよ。
模範解答
IDトークン
採点基準
- 4点: 「IDトークン」と正しく解答できている。
- 2点: 部分的に合致する関連語句を解答している。
- 0点: 無解答、または全く異なる語句を解答している。
解説
設問解説
(設問 w の解説に続く)
クライアントから送信された nonce 値は、認証サーバによって生成される IDトークン のペイロード内のクレームとして格納されて返却されます。クライアントは、受け取ったIDトークン内の nonce 値と自身が生成・保存していた値を比較検証することで、攻撃者によるIDトークンの不正利用(リプレイ攻撃等)を防ぐことができます。
高得点のポイント
- 正確性(内容): 認証サーバから返却され、
nonceクレームを含んでおり検証対象となるデータが「IDトークン」であることを正確に抜き出し・記述できているか。
設問5(4)は,正答率が低かった。OpenID Connectのメカニズムと攻撃手法は,安全な認証基盤の実現のために必要な知識なのでよく理解してほしい。