※令和3年度春期の情報処理安全確保支援士試験(SC)の解答は、本記事作成時点(2021年5月1日時点)で公開されていないため、筆者の解答例となります。そのため、解答が間違っている可能性があります。
※本記事は問題を解いた考え方と解答を記載していますので、事前に令和3年度春期の情報処理安全確保支援士試験(SC)の午後一を解いてからご確認ください。
令和3年度春期の情報処理安全確保支援士試験(SC)の午後問題
令和3年度春期の情報処理安全確保支援士試験(SC)の午後問題は以下の3つあります。
それぞれの問題について、解説を記載しました。
情報処理安全確保支援士試験(問1 認証システムの開発)
問1は認証システムの開発に関する記載を通して、以下の内容に関する知識を問う問題でした。
(a) AAAのAuthentication(認証)Authorization(認可)、Accounting(アカウンティング)
(b) 認証においてのセキュリティの脅威
設問1では、多要素認証やOAuthに関する知識を問う問題です。
設問2では、認証においてのセキュリティの脅威として、クロスサイトリクエストフォージェリへの対策に関する問題です。
設問3では、他の認証サービスと連携する際の問題点に関する問題です。
設問4では、OAuthの動作に関する問題です。
情報処理安全確保支援士試験(問1の設問1の解答)
(1)
脆弱性診断の結果、多要素認証にするほうがよい旨のアドバイスがあったが、その対処が課題との記載があります。
おそらく、Sサービスに認証モジュール(S認証モジュール)の機能を追加するのが大変であると思われます。
そこで、Tサービスには多要素認証の機能がありますので、「S認証モジュールの代わりにTサービスでID連携」することになりました。
そのため、Sサービスに認証モジュールを追加する必要がないという利点を記載すればいいです。
本文中の以下の箇所に記載されています。
【解答例】
多要素認証の実装をSサービス側に用意しなくてよい。
(2)
Sサービスの認証モジュールを利用する代わりにTサービスとのID連携する際の欠点を可用性の観点で答える問題です。
今までSサービスのみで動作していましたが、Tサービスの認証を利用する場合はTサービスが停止してしまった場合、認証ができなくなるという欠点があります。
【解答例】
Tサービスが停止した場合、Sサービスの認証ができなくなる。
(3)
OAuthの認証の流れを選択式の穴埋め問題です。
【文章1】
「図2のシーケンスにおいて、(a)は、(b)が提供するリソースにアクセスできる。」という記載から、提供するのはサービスですので、(b)は「ウ 利用者」ではないです。
今までの文章から推測すると、以下のいづれかの文字が入ると思われます。
[パターン1]
「(a) 利用者」が、「(b) Sサービス」が提供するリソース(ファイル共有サービス)にアクセスできる
[パターン2]
「(a) 利用者」が、「(b) Tサービス」が提供するリソース(認証機能)にアクセスできる
[パターン3]
「(a) Sサービス」が、「(b) Tサービス」が提供するリソース(認証機能)にアクセスできる
【文章2】
「図3のうち、どの権限を要求するかは、(a)の実装者が決定する。」という記載から、(a)の実装者という文章から「ウ 利用者」ではなく、(a)は「ア Sサービス」か「イ Tサービス」です。
上記の【文章1】と【文章2】の内容から、【文章1】の[パターン3]が入りますので、以下の内容が入ります。
・(a) Sサービス
・(b) Tサービス
・(c) 利用者
また、「それは、(c)が、図3に示す権限を(a)に与えるからである。」という記載から、権限を与えれれるのは「Sサービス」か「利用者」ですので、(a)は「Sサービス」か「利用者」です。
今回選択した「(a) Sサービス」と「(c) 利用者」を入れても違和感のない文章になります。
【解答】
a:ア Sサービス
b:イ Tサービス
c:ウ 利用者
(4)
権限を確認する通信を選択する必要があります。
問題文の図3の中で、利用者からTサービスに権限を確認している通信は「(え)認証、権限の付与の確認」です。
【解答】
α:(え)認証、権限の付与の確認
情報処理安全確保支援士試験(問1の設問2の解答)
(1)
図2と図4を比較すると、以下の内容を選択すると処理の流れが一致します。
【解答】
(d) :「ウ 認可コード」
(e) :「ア アクセストークンの要求」
(2)
図4を確認したところ、利用者から認証情報を送った旨の記載がなく、攻撃者が「認可の要求」や「認証」を行っています。
そのため、攻撃者のアカウントで認証して、利用者に攻撃者のアカウントを渡してファイルのアップロードを行っています。
【解答】
アップロード:攻撃者
ダウンロード:攻撃者
(3)
図4を確認したところ、攻撃者が取得した認可コードを利用者が気づかずに使っていることで攻撃が成功しています。
「Sサービスから認可の要求を送った機器」と「Sサービスに認可コードを送った機器」が同じであることを確認したら、攻撃者による認証は成功しない。
そのため、図2の「(い) 認可の要求」を送るときに、ランダムな値であるstateの値を送り、「(か) 認可コード」にて送られてきたstateの値を比較して、一致しているか確認します。
【解答】
(β):(い) 認可の要求
(γ):(か) 認可コード
情報処理安全確保支援士試験(問1の設問3の解答)
(1)
以下に図2や問題文中に「Sサービス:Tサービスでのアカウント名を要求する。」という記載があります。
そのため、「(エ) 利用者のアカウント名、電子メールアドレスなど登録情報を取得する権限」は必須の機能となります。
参考までに、(ア)と(イ)はSサービスにて実現できる機能ですので、Tサービスを利用する必要はありません。
【解答】
(エ) 利用者のアカウント名、電子メールアドレスなど登録情報を取得する権限
(2)
新規登録のS会員のみTサービスにて認証するようにしていますので、新規登録のS会員はS認証モジュールに登録されていません。
そのため、TサービスとのID連携が停止すると、S認証モジュールでは認証できません。
【解答】
S認証モジュールに利用者IDが登録されていない新規登録のS会員
情報処理安全確保支援士試験(問1の設問4の解答)
(1)
OAuth認証の動作に関する問題です。「アクセストークン」を用いて認証するということがキーワードになるかと思います。
【解答】
Tサービスにて利用者認証が成功した時に発行されるアクセストークンを用いて、Sサービスは認証をする。