Szarny.io

There should be one-- and preferably only one --obvious way to do it.

情報処理安全確保支援士試験 平成29年春期 午後Ⅰ問3 解説

解説

設問1

解答 接続元IPアドレスがF社のグローバルIPアドレスではないこと

F社で利用しているクラウドサービスではログイン記録として,アクセス日時・利用者ID・接続元IPアドレス・接続先URLが記録されている,と書いてあります.
これらの記録の中で,F社内からのログインとF社外からのログインによって違いが出るのは接続元IPアドレスです.すなわち,接続元IPアドレスがF社以外のものであれば,F社外からログインが行われていると考えられます.

設問2

a ウ (SP)
b エ (利用者端末のWebブラウザ)
c ア (IdP)
d イ (LDAPサーバ)

まず,bからaにサービス要求が発生していることから,bは利用者端末であり,aはそれに応答するクラウドサービスのサーバ(SP)であると推測できます.次に,(6)(7)より,dで認証処理が行われていることが分かります.実際の認証処理を行うのはLDAPサーバですので,dがLDAPサーバだと分かります.最後に,cはリダイレクトを受けてログイン画面を応答したり,SAML Responseの転送を行ったりしています.これは,IDプロバイダの動作であるため,cがIdPであると分かります.

e 処理1
f 処理4

(2)でリダイレクト指示が行われ,(3)でWebブラウザがIdPに対してログイン画面を要求しています.そのログイン画面を要求するには,そのページのURLが指定されている必要があるため,この動作より手前でURLが生成されている必要があります.よって,URLの生成と送出は処理1で行われると考えられます.

IdPのディジタル証明書を用いるのは,SAML Responseが信頼できるIdPによって作成されたものかどうか確認する必要があるからです.それを確認するフェーズは処理4です.

どちらも表1を参照することで,詳しい処理を確認することができます.

g ウ(クエリ文字列)

処理1の処理内容に,SAML RequestをエンコードしたものをURLと組み合わせて,リダイレクト先URLを生成すると書いてあります.
つまり,処理1において https://hogehoge.com/piyopiyo.xxx?saml_request=[エンコードされたSAML Request] のようなURLが生成されていると考えられます.とするならば,SAML RequestはURL中のクエリ文字列から取得することができます.

h IdP
i 改ざん

SAML Responseに含まれるディジタル署名を検証するのは,それが信頼できる者によって生成されたことを確認するためです.SAML Responseを生成するのはもちろんIdPです.
また,ディジタル署名SAML Responseのハッシュ値をIdPの秘密鍵によって署名したものですが,このデータは改ざんが行われると全く異なった値になります.つまり,ディジタル署名を検証することで改ざんの有無を確認することができます.

(5) 認証に関する情報を利用者端末のWebブラウザが中継するから

そのままですが,IdPが信頼できるなら,それが生成したSAML認証情報をWebブラウザが中継すれば,IdPが社内ネットワークに設置されたとしても連携は成立します.

設問3

交通費精算サービス
番号 (3)
理由 社外からIdPへの通信がファイアウォールによって遮断されるから
グループウェアサービス
番号 (1)
理由 クラウドサービス側で接続元IPアドレスの制限が行われているから

交通費精算サービスに関しては,クラウドサービスに対する(1)のサービス要求は成功します.しかし,(3)のログイン画面要求においては,社内に存在するIdPにアクセスする必要があります.問題文の最初に社外からのアクセスはFWによって禁止される旨の記述がされているので,社外からのログインは失敗します.

グループウェアサービスに関しては,そもそも接続元IPアドレスが制限されているので,(1)のクラウドサービスに対するサービス要求の時点で拒否されます.