R4春 午後2 問2  設問3  (4)のijについて

ゆーぼさん  
(No.1)
お世話になっております。
表記設問について、公式回答では3/4(順不同)となっておりますが、
3にIdP側の証明書が必要な理由がわかりません。

処理3はあくまでもSAML Responseに署名を付加する処理であり、
証明書の対となる秘密鍵自体が存在していれば可能な物ではないかと思います。

よって、処理2において、SAML Requestの正当性をIdP側で検証する際に、
SP側の秘密鍵で作成し付与された署名をSP側の証明書(事前共有済み)で検証するのが正しいのではないかと思いました。(解答としては2/4)

SAML Requestの正当性の検証方法は署名の検証以外にも、
リクエスト内のIssuerやDestinationの値を見る方法もありますが、
前者の方法が一般的で多数派である認識です。

よろしくお願いいたします。
2024.09.20 09:01
こんな感じかなぁさん 
(No.2)
厳密に書くと私も頭がついていけないので、柔らかい言葉を選んで書かせていただきます。
秘密鍵は、暗号化されたデータを解読するための「鍵」です。持っている人だけがその鍵を使ってデータを読み取ることができます。
証明書は、「この秘密鍵が信頼できるもので、本物だ」ということを第三者が保証するためのデジタルな「証明書」です。
秘密鍵自体があれば、データの暗号化や解読はできます。でも、問題は「その秘密鍵が本当に正当な持ち主のものかどうか」を、他の人がどうやって確認するかという点です。誰かが秘密鍵を持っていても、それが本当に正当な相手のものなのか、偽物の鍵なのか、他の人にはわかりません。
ここでやはり証明書の出番になります。証明書には、信頼できる機関(認証局、CA)がその秘密鍵が正しい持ち主に属していることを保証するデジタルサインが含まれています。このサインによって、その秘密鍵が正当なものであることを確認できるのです。
証明書があることで、相手はその秘密鍵を使ってやり取りする相手が本当に信頼できる人物やサーバーであることを確信できます。そうじゃないと、誰がその秘密鍵を持っているか確認できず、安全な通信が成り立ちません。
2024.09.20 16:55
こんな感じかなぁさん 
(No.3)
サービスプロバイダー(SP)の証明書は、SP側が正当なサーバーであることを証明するために使われますが、IdP(アイデンティティプロバイダー)から送られる認証情報が本物であることを保証するためには、「IdPの証明書」が必要です。SPの証明書では、IdPが送ってきた情報の正当性を確認することはできません。気難しいようです。
2024.09.20 17:04
pixさん 
SC ダイヤモンドマイスター
(No.4)
この問題はあまり考えすぎないほうがよいのかもしれません。
理由として以下の2つが適当と思われます。

1.証明書(公開鍵証明書)と秘密鍵はペアであり、切り離せない
    一般的にこの2つはセットで存在するという前提です。

2.証明書(公開鍵証明書)と秘密鍵がペアで存在しないとミドルウェアが起動しない。
    ApacheなどのWebサーバはこの2つがそろっていないと起動しません。
    IdPを構成するミドルウェアも同様と考えられます。
    逆に秘密鍵だけで起動するミドルウェアは悪意ある攻撃者の
    改造ミドルウェアと考えられます。
2024.09.20 20:01
ゆーぼさん  
(No.5)
こんな感じかなぁ様、pix様  ご回答いただきありがとうございます。
いつもお世話になっております。

証明書と秘密鍵を1セットとして扱う観点で見ると、
確かに3でも正答として成り立ちますね。
(2はあくまで検証に使われることが"多い"だけで絶対的かと言われるとそうでもないですね。)

ありがとうございます。
2024.09.21 15:02

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop