【情報処理安全確保支援士試験 令和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ベースの標準規格です。
イメージとしては…
- ユーザーがサービスプロバイダ(SP:利用したいサービス)にアクセスします。
- SPはユーザーを認証プロバイダ(IdP:認証を行うサービス)にリダイレクトします。
- IdPでユーザーが認証を行います。
- 認証が成功すると、IdPはユーザーの認証情報を含んだSAMLアサーション(認証トークン)をSPに発行します。
- SPはこのSAMLアサーションを検証し、ユーザーのアクセスを許可します。
クラウドサービス連携でよく利用される、非常にポピュラーな方式です。
(2) エージェント方式
各Webサーバーにエージェント(ソフトウェアモジュール)を導入し、エージェントがユーザーの認証を代行する方式です。
イメージとしては…
- ユーザーがWebサーバーAにアクセスします。
- WebサーバーAに導入されたエージェントがユーザーの認証を要求します。
- 認証サーバーで認証が行われます。
- 認証が成功すると、認証サーバーは認証済みであることを示すチケットを発行します。
- ユーザーがWebサーバーBにアクセスする際、このチケットが提示され、再認証なしでログインできます。
社内システムなど、ある程度クローズドな環境で利用されることが多いです。
(3) リバースプロキシ方式
ユーザーとWebサーバーの間にリバースプロキシサーバーを設置し、すべての通信をリバースプロキシサーバー経由にする方式です。
イメージとしては…
- ユーザーがリバースプロキシサーバーにアクセスします。
- リバースプロキシサーバーがユーザーの認証を行います。
- 認証が成功すると、リバースプロキシサーバーがユーザーに代わって、目的のWebサーバーにアクセスし、コンテンツを取得してユーザーに返します。
- 他のWebサーバーにアクセスする場合も、リバースプロキシサーバーが認証を代行するため、SSOが実現されます。
既存システムに手を加えることなくSSOを導入できるのが大きなメリットです。
(4) 代理認証方式(フォーム認証代行方式)
クライアントPCに専用のエージェントソフトウェアを導入し、そのエージェントがWebサイトのログインフォームを検知して、保存しておいた認証情報を自動で入力してくれる方式です。
イメージとしては…
- ユーザーがWebサイトにアクセスし、ログインフォームが表示されます。
- クライアントPCのエージェントがログインフォームを検知し、あらかじめ登録しておいたIDとパスワードを自動で入力します。
- ユーザーは手動で入力することなくログインできます。
システム側での改修が不要なため、様々な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を利用する全てのトラフィックがリバースプロキシサーバーに集中します。これにより、リバースプロキシサーバーは単一障害点となるリスクや、パフォーマンス上のボトルネックとなる可能性もありますが、既存システムへの影響を最小限に抑えられるメリットもあります。したがって、この記述は適切です。
以上のことから、適切なものは エ となります。