HOME»情報処理安全確保支援士掲示板»令和4年春  午後Ⅱ問2  設問3(4)
投稿する

令和4年春  午後Ⅱ問2  設問3(4) [1219]

 orangekameさん(No.1) 
みなさんこんばんは。
p19の「図8中の処理i及び処理jにおいて必要なデジタル証明書などがあります」のi、jに該当する図8の処理番号を選択する部分で疑問があります。

まずIPAの回答ですが処理3と処理4となっています。
※処理3「SAMLアサーションと、それに対応するデジタル署名を含めたSAML Responseの送信フォーム生成」
※処理4「SAML Responseに含まれるデジタル署名を検証」

処理4はIDaaSが作成したデジタル署名の検証が必要であるため、デジタル証明書が必要になるのは納得できます。
しかし、処理3はデジタル署名を付与する側なので、サーバ秘密鍵が必要でありデジタル証明書は不要なのではと思ってしまいました。
一方、処理2を確認してみると「信頼関係が構築されたSaaSからの認証要求であることを検証する」と記述があるため、ここで正しいSaaSからの認証要求であることを確認するためにデジタル証明書が必要になるのではと思ってしまいました。
※IDaaSが、SaaSの認証要求を検証するイメージです。

通常のHTTPSなどでは、接続したWebサイトのデジタル証明書(サーバ証明書)は、TLSのネゴシエーションの中でサーバから提示されるので事前共有は不要ですが、SAMLの場合はSaaSとIDaaS間で事前に共有しておく必要はないのでしょうか?
※SAMLの実装をしたことがないので詳しく理解できていませんが、Googleで検索した範囲では、SaaSとIDaaS間で事前にデジタル証明書を共有しておく実装もあるようです。

少し話がずれましたが、この問題はどのように理解して回答すればよいのでしょうか?
2023.09.21 22:57
boyonboyonさん(No.2) 
勉強中の者です。私の考えたことを書かせていただきます。

処理3の初めの部分の「認証処理を行う、利用者の認証処理が成功した場合」のところで、クライアント証明書を使うんじゃないかと思ったんですが、どうでしょう。
2023.09.22 00:58
pixさん(No.3) 
SC ダイヤモンドマイスター
>しかし、処理3はデジタル署名を付与する側なので、サーバ秘密鍵が必要であり
>デジタル証明書は不要なのではと思ってしまいました。
この件に関していろいろ調べてみましたが、完全な説明には至れませんでした。
ネットでの解説でもこの点について詳しく言及しているものはありませんでした。
スレ主様の思う通り、処理3に限定するのであれば、サーバ秘密鍵があれば
デジタル証明書は不要のように感じます。

しかしそれでは解答との辻褄が合わなくなってしまいます。
そのため処理3での処理内容ではなく、一般論としてデジタル署名について
語っていると考え、デジタル署名で利用されるものという観点で
・秘密鍵
・デジタル証明書
が必要と判断しました。

稀にIPAの問題で、解答に対して確固たる説明ができない問題があります。
今回はそれに該当したのではと感じました。
2023.09.22 08:41
 orangekameさん(No.4) 
boyonboyonさん

よろしくお願いします。
私も試験に向けて勉強中です。

クライアント証明書については、私は以下のように考えます。

文中よりデジタル証明書はSaaSとIDaaS間で共有されます。
もしクライアント証明書で認証を行うならば、XPCの公開鍵のデジタル証明書をIDaaSに渡す必要があるため、「SaaSとIDaaS間で共有される」という条件と合致しません。
※処理3の認証処理は図8の(5)認証情報でXPCより渡されていますので、この部分に関してはクライアント証明書による認証でも可能かもしれません。

故に処理3については、クライアント証明書を利用するといった部分でのデジタル証明書ではないと考えています。
2023.09.22 12:15
 orangekameさん(No.5) 
pixさん

ご回答ありがとうございます。

デジタル証明書がどの部分で使われるかに主眼を置くと、処理2、処理4を選択してしまいますが、デジタル署名・検証の一連の流れで考えると処理3、処理4となりますね。
あくまでも出題者が何を求めているのかを感じながら、一般的に回答を導いたほうが良いのかもしれませんね。

今回の問題については、あまり深く追求しても意味がなさそうなので一般論として考えるようにします。

以上、よろしくおねがいします。
2023.09.22 12:20
boyonboyonさん(No.6) 
orangekameさん

おしゃるとおり、クライアント証明書はピント外れでした。

pixさんや、orangekameさんの書き込みを読ませていただき自分では、
「SaaSがデジタル証明書を持っていること」を前提にしてデジタル署名をしているのかなと思いました。

試験に向けて良い勉強になりました。

orangekameさん、残り16日です。お互いに頑張りましょう。
2023.09.22 20:35
橙色文書さん(No.7) 
処理2の信頼関係のチェックとは、リファラがカラであったり信頼関係にないFQDNであればIDaaSが認証処理を拒否するような動作かと思います。
2023.09.23 20:59
 orangekameさん(No.8) 
橙色文書さん

ご回答ありがとうございます。

リファラの確認も信頼関係のチェックに有効なのか考えましたが、リファラチェックだけではHTTPヘッダを変更できるようなツールで偽装できるため検証としては不十分なのではと思いました。
実装は色々あるようですが、SAMLリクエストにSPが署名を付与するパターンもあるそうです。

色々調べましたが私の知識では難しかったため流行りのAI(BARD)に「IdPがSAMLリクエストを受け取った際に、信頼関係が構築されたSPからのSAMLリクエストであることの確認はどのように行われますか?」と聞いてみました。

回答は下記でした。(項目だけに絞ってます。)
・SP の署名の検証
・IdP の信頼ポリシーの確認

ただし、SP の署名は実装する場合と実装しない場合が入り乱れているようです。
現時点でも署名がない実装があるようなので、出題当時であれば今より署名を付与するのが一般的でなかったかもしれません。

実際に自分で構築しないと理解が難しいと感じました。
2023.09.24 00:06
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2014-2024 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop