【情報処理安全確保支援士試験 令和6年度 秋期 午前2 問8】【徹底解説】シングルサインオン(SSO)って何?

今回は、セキュリティ分野でよく耳にする「シングルサインオン(SSO)」について、徹底的に掘り下げていきたいと思います。言葉は聞いたことあるけど、具体的にどんな仕組みなの?どんなメリット・デメリットがあるの?といった疑問を、一緒に解決していきましょう!


情報処理安全確保支援士試験 令和6年度 秋期 午前2 問8

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

 シングルサインオン(SSO)に関する記述のうち、適切なものはどれか。

ア SAML方式では、URL形式の1人一つの利用者IDをIdP(Identity Provider)で自動生成することによって、インターネット上の複数のWebサイトにおけるSSOを実現する。

イ エージェント方式では、クライアントPCに導入したエージェントがSSOの対象システムのログイン画面を監視し、ログイン画面が表示されたら認証情報を代行入力する。

ウ 代理認証方式では、SSOの対象サーバにSSOのモジュールを組み込む必要があり、システムの改修が必要となる。

エ リバースプロキシ方式では、SSOを利用する全てのトラフィックがリバースプロキシサーバに集中する。

1. シングルサインオン(SSO)って、そもそも何?

シングルサインオン(SSO)とは、一度の認証で、複数のシステムやサービスにログインできるようになる仕組みのことです。

例えば、皆さんも普段からGmail、Googleドライブ、YouTubeなど、Googleの様々なサービスを利用しているかと思います。これらのサービスを使うたびにいちいちログイン情報を入力するのって、正直面倒ですよね?でも、Googleの場合、一度Googleアカウントにログインすれば、他のGoogleサービスにも自動的にログインできているはずです。これがまさにSSOの恩恵なんです!

2. なぜSSOが必要になったの?~背景・経緯~

昔は、利用するシステムやサービスが今ほど多くありませんでした。そのため、システムごとに異なるIDとパスワードでログインするのが一般的でした。

しかし、インターネットの普及とともに、企業内で利用するシステムやクラウドサービスが爆発的に増加しました。それに伴い、私たちユーザーは、

  • 大量のIDとパスワードを覚えなければならない
  • パスワードの使い回しによるセキュリティリスクが高まる
  • ログイン作業の手間が増え、生産性が低下する

といった課題に直面するようになりました。

このような課題を解決するために、一度の認証で複数のサービスが利用できるSSOの需要が高まり、様々な技術や方式が発展してきました。

3. SSOの仕組みってどうなってるの?主要な方式を解説!

SSOを実現するための方式はいくつかあります。代表的なものをいくつかご紹介しますね。

(1) SAML (Security Assertion Markup Language) 方式

SAMLは、異なるドメイン間で認証情報を安全にやり取りするためのXMLベースの標準規格です。

イメージとしては…

  1. ユーザーがサービスプロバイダ(SP:利用したいサービス)にアクセスします。
  2. SPはユーザーを認証プロバイダ(IdP:認証を行うサービス)にリダイレクトします。
  3. IdPでユーザーが認証を行います。
  4. 認証が成功すると、IdPはユーザーの認証情報を含んだSAMLアサーション(認証トークン)をSPに発行します。
  5. SPはこのSAMLアサーションを検証し、ユーザーのアクセスを許可します。

クラウドサービス連携でよく利用される、非常にポピュラーな方式です。

(2) エージェント方式

各Webサーバーにエージェント(ソフトウェアモジュール)を導入し、エージェントがユーザーの認証を代行する方式です。

イメージとしては…

  1. ユーザーがWebサーバーAにアクセスします。
  2. WebサーバーAに導入されたエージェントがユーザーの認証を要求します。
  3. 認証サーバーで認証が行われます。
  4. 認証が成功すると、認証サーバーは認証済みであることを示すチケットを発行します。
  5. ユーザーがWebサーバーBにアクセスする際、このチケットが提示され、再認証なしでログインできます。

社内システムなど、ある程度クローズドな環境で利用されることが多いです。

(3) リバースプロキシ方式

ユーザーとWebサーバーの間にリバースプロキシサーバーを設置し、すべての通信をリバースプロキシサーバー経由にする方式です。

イメージとしては…

  1. ユーザーがリバースプロキシサーバーにアクセスします。
  2. リバースプロキシサーバーがユーザーの認証を行います。
  3. 認証が成功すると、リバースプロキシサーバーがユーザーに代わって、目的のWebサーバーにアクセスし、コンテンツを取得してユーザーに返します。
  4. 他のWebサーバーにアクセスする場合も、リバースプロキシサーバーが認証を代行するため、SSOが実現されます。

既存システムに手を加えることなくSSOを導入できるのが大きなメリットです。

(4) 代理認証方式(フォーム認証代行方式)

クライアントPCに専用のエージェントソフトウェアを導入し、そのエージェントがWebサイトのログインフォームを検知して、保存しておいた認証情報を自動で入力してくれる方式です。

イメージとしては…

  1. ユーザーがWebサイトにアクセスし、ログインフォームが表示されます。
  2. クライアントPCのエージェントがログインフォームを検知し、あらかじめ登録しておいたIDとパスワードを自動で入力します。
  3. ユーザーは手動で入力することなくログインできます。

システム側での改修が不要なため、様々なWebサービスで手軽にSSOを実現できますが、セキュリティ面では他の方式より課題が多い場合もあります。

4. SSOのメリット・デメリットって?

メリット

  • ユーザーの利便性向上: 何度もログインする手間が省け、パスワードを覚える負担が軽減されます。
  • セキュリティの強化: パスワードの使い回しや付箋でのメモなど、セキュリティリスクの高い行動を抑制できます。多要素認証との組み合わせで、より強固な認証が可能です。
  • IT管理者の負担軽減: パスワード忘れによる問い合わせや、アカウント管理の手間が減ります。

デメリット

  • 単一障害点のリスク: SSOシステム自体が停止してしまうと、すべてのサービスにログインできなくなる可能性があります。
  • SSOシステムへの攻撃リスク: SSOシステムは認証情報の要となるため、ここが攻撃されると広範囲に被害が及ぶ可能性があります。
  • 導入コスト: SSOシステムを導入するには、初期費用や構築費用がかかる場合があります。

5. SSO導入の課題と対策

課題

  • 既存システムとの連携: 既存のレガシーシステムとの連携が難しい場合があります。
  • システムの複雑化: SSOシステムを導入することで、システムの構成が複雑になることがあります。
  • セキュリティ対策の徹底: SSOシステム自体へのセキュリティ対策が非常に重要になります。

対策

  • 段階的な導入: 全てのシステムに一斉にSSOを適用するのではなく、段階的に導入を進めることで、リスクを低減できます。
  • 冗長化・バックアップ: SSOシステムが単一障害点とならないよう、冗長化やバックアップ体制を構築します。
  • 多要素認証の併用: パスワードだけでなく、生体認証やワンタイムパスワードなどを組み合わせることで、セキュリティを強化します。
  • 定期的な監査と監視: SSOシステムのログを定期的に監視し、不審な挙動がないか確認します。

6. 今後のSSOの動向

SSOは、クラウドサービスの利用拡大やDX(デジタルトランスフォーメーション)の推進に伴い、ますます重要性が高まっています。

  • 標準化の推進: さまざまなSSO方式が乱立する中で、より相互運用性の高い標準規格の策定が進められています。
  • ゼロトラストセキュリティとの連携: ゼロトラストセキュリティモデルにおいて、SSOは認証の要として非常に重要な役割を担います。
  • パスワードレス認証との融合: 生体認証やFIDOなどのパスワードレス認証技術とSSOが融合することで、より安全で利便性の高い認証が実現されていくでしょう。

いかがでしたでしょうか?SSOは、私たちのデジタルライフをより便利に、そして安全にするための重要な技術です。情報処理安全確保支援士やネットワークスペシャリストを目指す皆さんにとって、SSOの知識は必須です!ぜひ、この記事を参考に、さらに理解を深めていただけると嬉しいです。


シングルサインオン(SSO)に関する問題解説

それでは、先ほどの記事の内容を踏まえて、以下の問題を解説していきましょう。

 シングルサインオン(SSO)に関する記述のうち、適切なものはどれか。

ア SAML方式では、URL形式の1人一つの利用者IDをIdP(Identity Provider)で自動生成することによって、インターネット上の複数のWebサイトにおけるSSOを実現する。

イ エージェント方式では、クライアントPCに導入したエージェントがSSOの対象システムのログイン画面を監視し、ログイン画面が表示されたら認証情報を代行入力する。

ウ 代理認証方式では、SSOの対象サーバにSSOのモジュールを組み込む必要があり、システムの改修が必要となる。

エ リバースプロキシ方式では、SSOを利用する全てのトラフィックがリバースプロキシサーバに集中する。


解説

一つずつ選択肢を見ていきましょう。

ア SAML方式では、URL形式の1人一つの利用者IDをIdP(Identity Provider)で自動生成することによって、インターネット上の複数のWebサイトにおけるSSOを実現する。

  • SAML方式は、IdPとSPの間で認証情報を安全にやり取りするための方式であり、URL形式の利用者IDを自動生成することによってSSOを実現するわけではありません。SAMLはXMLベースの認証アサーション(認証トークン)をやり取りすることでSSOを実現します。したがって、この記述は不適切です。

イ エージェント方式では、クライアントPCに導入したエージェントがSSOの対象システムのログイン画面を監視し、ログイン画面が表示されたら認証情報を代行入力する。

  • これは「代理認証方式(フォーム認証代行方式)」の特徴です。エージェント方式は、Webサーバーにエージェントを導入し、認証を代行する方式です。したがって、この記述は不適切です。

ウ 代理認証方式では、SSOの対象サーバにSSOのモジュールを組み込む必要があり、システムの改修が必要となる。

  • 「代理認証方式(フォーム認証代行方式)」は、クライアントPCにエージェントを導入して認証情報を代行入力するため、SSOの対象サーバー側の改修は不要です。システムの改修が必要となるのは、主にエージェント方式など、サーバー側にモジュールを組み込む方式の場合です。したがって、この記述は不適切です。

エ リバースプロキシ方式では、SSOを利用する全てのトラフィックがリバースプロキシサーバに集中する。

  • リバースプロキシ方式は、ユーザーとWebサーバーの間にリバースプロキシサーバーを配置し、すべての通信をこのリバースプロキシサーバー経由で行うことでSSOを実現します。そのため、SSOを利用する全てのトラフィックがリバースプロキシサーバーに集中します。これにより、リバースプロキシサーバーは単一障害点となるリスクや、パフォーマンス上のボトルネックとなる可能性もありますが、既存システムへの影響を最小限に抑えられるメリットもあります。したがって、この記述は適切です。

以上のことから、適切なものは となります。

note移行のお知らせ

本ブログを閲覧していただき、ありがとうございます。

皆様にお役に立てるよう本ブログにて投稿し続けてきましたが、その主旨からnoteでの掲載のほうが伝えやすいかと考え、今後はnoteでの運用に変更させて頂きます。

よろしければ、noteへのアクセスをお願いします。