情報処理安全確保支援士 2024年 秋期 午前2 問08
問題文
シングルサインオン(SSO)に関する記述のうち、適切なものはどれか。
選択肢
ア:SAML方式ではURL形式の1人一つの利用者IDをIdPで自動生成することによってインターネット上の複数のWebサイトにおけるSSOを実現する。
イ:エージェント方式ではクライアントPCに導入したエージェントがSSOの対象システムのログイン画面を監視しログイン画面が表示されたら認証情報を代行入力する。
ウ:代理認証方式ではSSOの対象サーバにSSOのモジュールを組み込む必要がありシステムの改修が必要となる。
エ:リバースプロキシ方式ではSSOを利用する全てのトラフィックがリバースプロキシサーバに集中する。(正解)
🔒 解説は解答すると表示されます
SSO方式の特徴【午前2解説】
正解の理由
リバースプロキシ方式は、サービス群の前段にリバースプロキシサーバを配置して通信を中継・制御する方式です。クライアントが利用する全てのHTTP(S)アクセスはプロキシ経由で対象サーバへ到達するため、SSOの認証・認可やセッション管理を一元的に実施でき、結果として「SSOを利用するトラフィックが集中する」ことになります。したがって選択肢エの記述は方式の本質を正しく表しています。
解法ステップ
- 各選択肢がどのSSOアーキテクチャ(SAML、エージェント、代理認証、リバースプロキシ)に対応しているかを識別する。
- それぞれの方式の典型的な動作(どこで認証を扱うか、対象サーバの改修が要るか、トラフィック経路)を思い浮かべる。
- 各選択肢の文言がその方式の実態と整合するかを検証する。
- 整合するものを正解とする。今回、リバースプロキシは明確に「トラフィックの集中」を意味するため正しい。
選択肢別の誤答解説
- ア: SAML方式について述べているが誤り。SAMLはIdP(認証局)とSP(サービス提供者)間で「アサーション(認証情報の証明)」を交換してSSOを実現する仕組みであり、IdPがURL形式の1人一つの利用者IDを自動生成することを根拠にインターネット上の複数サイトでのSSOを実現する、という説明は不正確です。SAMLのNameIDにはさまざまなフォーマット(persistent、transient、emailAddress、urn:... など)があり、必ずしも「URL形式のIDを自動生成する」わけではありません。SSOは信頼関係とアサーションのやり取りで成立します。
- イ: 記述は「クライアントPCに導入したエージェントがログイン画面を監視して代行入力する」とあります。ブラウザ拡張やクライアント型のパスワードマネージャがフォームを検出して自動入力・自動送信する実装が存在する点では部分的に正しい説明です。しかし、試験文脈で「エージェント方式」と言う場合は一般にサーバ側にエージェント(またはモジュール)を設置して認証処理を仲介するサーバ型エージェントを指すことが多く、文意が一義的でないため“エージェント方式=常にクライアントPC上の監視型”と断定するこの記述は不適切です。つまり「監視は誤り」と言うのではなく、選択肢の記述がエージェント方式の代表的定義と整合していないため誤りと判断します。
- ウ: 「代理認証方式では対象サーバにモジュール組み込みが必要で改修が必要になる」とありますが、代理認証方式(いわゆる代行ログイン方式、SSOサーバが利用者に代わってサービスへログインする方式)は、SSOサーバが保有する資格情報でサービスへログインを行うため、対象側サーバに専用モジュールを組み込む必要がないケースが多いです(ただし、ログイン表現がサイトごとに異なるため設定やスクレイピング的な対応が必要な場合はあります)。したがって「必ず改修が必要」と断定する記述は誤りです。
よくある誤解
- 誤解1: 「エージェント方式は常にクライアント側で画面を監視する」
実際にはエージェント方式にはクライアント型(ブラウザ拡張、ローカルエージェント)とサーバ型(対象サーバやWebサーバ前段に設置するエージェント)があり、文脈によって意味が異なるため混同しやすいです。 - 誤解2: 「SAMLは必ずURL形式のIDを使う」
SAMLのNameIDは多様なフォーマットがあり、URL(URI)形式を使うこともありますが、それがSAMLの必須要件ではありません。SAMLはアサーションによる信頼関係が鍵です。 - 誤解3: 「代理認証方式=必ず対象システムの改修が必要」
代理認証は多くの場合対象システムを改修せずに外部からログインをエミュレートする方式なので、改修が不要なケースが一般的です(ただし管理上・運用上の課題があります)。
補足コラム
各方式の長所と短所(簡潔)
- サーバ型エージェント: 導入先のサーバに組み込むことで透過的にSSOを実現できるが、各サービスへのエージェント導入が必要で運用負荷や互換性の問題がある。
- クライアント型エージェント(ブラウザ拡張等): ユーザ単位で導入すれば改修不要だが、導入管理・配布が煩雑になり、BYOD環境では運用しにくい。
- 代理認証方式: 既存サービスを改修せずにSSOを実現しやすいが、SSO側で利用者の資格情報を保持するため秘密情報管理やパスワード同期の課題がある。
- リバースプロキシ方式: トラフィックを一元制御できるため導入後の運用が比較的楽だが、プロキシにトラフィックが集中するため高可用性・負荷対策が必須になる。
FAQ
Q1: リバースプロキシ方式は全通信をプロキシで復号する必要がありますか?
A1: 多くの実装ではTLS終端をプロキシで行い、認証やヘッダ改変を行いますが、エンドツーエンド暗号化を維持したい場合は別途手段(TLSパススルーや証明書の共有など)が必要です。
A1: 多くの実装ではTLS終端をプロキシで行い、認証やヘッダ改変を行いますが、エンドツーエンド暗号化を維持したい場合は別途手段(TLSパススルーや証明書の共有など)が必要です。
Q2: 代理認証方式はパスワードをSSO側で保持しますか?
A2: 多くの場合はいったん保管(または格納された資格情報を利用)してサービスへ代行ログインします。そのため資格情報管理・暗号化・ローテーションが重大な責務になります。
A2: 多くの場合はいったん保管(または格納された資格情報を利用)してサービスへ代行ログインします。そのため資格情報管理・暗号化・ローテーションが重大な責務になります。
Q3: エージェント方式とリバースプロキシのどちらが導入しやすいですか?
A3: 既存サービスを改修したくない場合はリバースプロキシが比較的導入しやすいことが多いですが、環境や要件(性能、セキュリティ、運用)により最適解は変わります。
A3: 既存サービスを改修したくない場合はリバースプロキシが比較的導入しやすいことが多いですが、環境や要件(性能、セキュリティ、運用)により最適解は変わります。
関連キーワード: SSO、SAML、リバースプロキシ、エージェント方式、代理認証方式、NameID、TLS終端、認証代行、セッション管理

\ せっかくなら /
情報処理安全確保支援士を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

