令和3年度 春期 午後1 問1 認証システムの開発

Uncategorized

設問1
(1)
多要素認証の実装をSサービス側に用意しなくてよい。(25字)
S社の課題とは、前回の脆弱性診断でS認証モジュール認証方式を多要素認証にした方が良い という内容
技術的な課題なのかは不明だが、TサービスとのID連携を利用することで
Sサービス側で多要素認証の機能を実装しなくても、新規登録のS会員に対して
多要素認証に対応したサービスを提供できる。

(2)
Tサービスの障害時にSサービスを利用出来ない。(23字)
TサービスのID連携により、Tサービスに通信障害等の不具合が発生しTサービスを利用できない場合
Sサービスを利用できなくなってしまう という可用性の面での欠点がある。

(3)
a:ア(Sサービス)
b:イ(Tサービス)
c:ウ(利用者)
個人的に b から考えた方が楽だった
問題文から b はリソースを提供するらしいが、図1を見ると
提供の主体となっているのはTサービスのみなので、b はイ(Tサービス)となる
そしてそのリソースの提供を受けるのはア(Sサービス)となる
ウ(利用者)は図2のシーケンス図の処理(え)で権限の内容とそれらの付与の有無を確認する

(4)
α : (え)
上記の通り(え)にて権限の内容を確認している

設問2
(1)
d:ウ
e:ア
図2のシーケンス図を見ながらだと分かりやすい
攻撃者は自身が取得した認可コード(ウ)を利用者に渡す
利用者はその認可コードでアクセストークンの要求(ア)をする。


(2)
どちらも攻撃者
図4のシーケンスの通り、認証/認可を行っているのは攻撃者であるため
アップロード/ダウンロード共に攻撃者のアカウントによって行われる

(3)
β:
γ:
stateパラメタは利用者/Sサービス間でセッションの正当性を確認する為に利用される
(い)のタイミングでstateパラメタを付与し、(か)でその内容を検証する
実現するにはこのタイミングしかない

設問3
(1)
(エ)
SサービスはTサービスとのID連携によって、T-IDをSサービスに登録する
その為、(エ)の権限があれば十分と考えられる

(2)
S認証モジュールに利用者IDとパスワードを登録していないS会員(31字)
Tサービスに深刻な脆弱性が発見された場合、TサービスとのID連携を一時的に停止し
S認証モジュールによる認証を行う事にする とのこと
そうすると「S認証モジュールに利用者IDとパスワードを登録していないS会員」
要はTサービスのアカウントでSサービスを利用しているS会員はSサービスを利用できない

設問4
Tサービスで認証されたS会員のT-IDが、Sサービス内に登録されていることを確認する。(43字)
図2の注記に答えがほぼ書いてある
TサービスとのID連携により、SサービスにT-IDを登録する
Sサービスでは、S会員のT-IDがSサービス内に登録されているかを確認することで認証を行う。


感想
OAuthの知識が必要そうでそんなことは無い問題
文章をよく読めば解ける問題の典型例
だがOAuthは別でも問われているので、この問題でその流れを学ぶといいと思う。

コメント

タイトルとURLをコピーしました