【情報処理安全確保支援士試験 令和4年度 春期 午後2 問2 No.3】

情報処理安全確保支援士試験 令和4年度 春期 午後2 問2

【出典:情報処理安全確保支援士試験 令和4年度 春期 午後2 問2(一部、加工あり)】

[SaaSでのSSOの実現]
 Cさんは、GrW及びメールのSaaSへの移行後のSSOの実現方法をF氏に尋ねた。次は、その際のF氏とCさんの会話である。

F氏:IDaaSの利用を提案します。多くのIDaaSでは、Kerberos認証ではなくSAML認証をサポートしています。SaaS側がSAML認証をサポートしていれば、SAML認証を用いたSSOが可能です。SAML認証の流れを図8に、図8中の各処理の概要を表2に示します。

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をIDasS-Gという)に移行することを経営陣に提案した。この案は経営陣に承認され、GrW-G及びメール-Gへの移行並びにIDaaS-GでのSSOの準備が開始された。

e:クエリ文字

図8中の⑶のHTTPリクエスト中の(e)からSAML Requestを取得する。
 これは知識問題です。
 ⑶のSAML Requestを含むHTTPリクエストでは、リダイレクト先URLとして「http://(IDaaSのログイン画面のURL) ?SAMLRequest=(SAML Requestのエンコード)」というように、SAML RequestがURLの末尾にクエリ文字列で付加されるようになっています。
 なお、SAML Requestをエンコードするのは、SAML RequestにはURLで使えない「<」などの文字や改行があるからです。

f:IDaaS、g:偽造

SAML Responseに含まれるデジタル署名を検証することで、デジタル署名が(f)のものであること、及び、SAMLアサーションの(g)がないことを確認する。
 デジタル署名は、なりすましや改ざんへの対策です。
 そして、デジタル署名を生成するのは、処理3「利用者の認証が成功した場合、処理4で用いるSAMLアサーションと、それに対するデジタル署名を含めたSAML Responseの送信フォームを生成する。」とあるようにIDaaSです。
 したがって、デジタル署名の検証では、デジタル署名がIDaaSのものであることを確認します。
 また、SAMLアサーションとは認証済みであることやIDaaSの識別子などの情報のことであり、これらの情報を改ざんによってあたかも認証済みであるように見せるという攻撃に対して、SAMLアサーションの偽造(改ざん)がないことを確認します。

h:1、i:3、j:4

事前に共有する情報は、SAMLアサーションで用いる属性、図8中の処理(h)で用いるURL、図8中の処理(i)及び処理(j)において必要なデジタル証明書などがあります。
 表2の中で「URL」を用いるのは、処理1「エンコード結果とIDaaSのログイン画面のURLを組み合わせ、リダイレクト先URLを生成する。」です。
 同じくデジタル署名は、処理3「利用者の認証が成功した場合、処理4で用いるSAMLアサーションと、それに対するデジタル署名を含めたSAML Responseの送信フォームを生成する。」と、処理4「SAML Responseに含まれるデジタル署名を検証することで、デジタル署名がIDaaSのものであること、及び、SAMLアサーションの偽造がないことを確認する。」です。
 処理3でデジタル署名を作成し、処理4でデジタル署名を検証するために、デジタル証明書を使用するということです。