シングルサインオン(SSO)とは
シングルサインオン(SSO)とは、1回のID・パスワード入力(認証)を行うだけで、連携している複数の異なるWebサービスやシステムに自動的にログインできる仕組みのことです。通常、サービスごとに異なるパスワードを覚えて入力する必要がありますが、SSOを導入することでその手間を大幅に削減できます。
ユーザーにとっては、多くのパスワードを管理するストレスから解放され、ログイン作業がスムーズになるというメリットがあります。また、管理者にとっても、パスワードを忘れたユーザーからの問い合わせ対応が減るほか、社員のアカウントの利用状況を一元管理しやすくなるという利点があります。一方で、もしSSOのマスターパスワードが漏洩してしまうと、連携しているすべてのサービスへ不正に侵入されてしまうリスクがあるため、多要素認証(MFA)などと組み合わせてセキュリティを強化することが重要です。
具体例
企業で働く社員が、朝出社した際に会社のポータルサイトにログインすると、その後は個別にログインし直すことなく、以下のような複数のツールをシームレスに利用できるケースが挙げられます。
- メールシステム(OutlookやGmail)
- チャットツール(SlackしMicrosoft Teams)
- 人事・経費精算システム
もう少し詳しく
シングルサインオン(SSO)を実現する代表的な技術方式には、「クッキー(Cookie)を使った方式(エージェント方式やリバースプロキシ方式)」や、標準規格に基づいた「フェデレーション方式」などがあります。
クッキーを使用する方式では、認証サーバーがユーザーのブラウザにログイン済みの証拠となるトークン(クッキー)を書き込み、他のWebシステムはそのクッキーを確認することで認証をパスさせます。しかし、この方式は同一ドメイン内に構築されたシステム間でしか利用できないという制限があります。
この問題を解消するために登場したのがフェデレーション方式です。これは、クラウドサービスなどの異なるドメイン間でも安全に認証情報を連携するための仕組みで、SAML(Security Assertion Markup Language)やOpenID Connect(OIDC)といったプロトコルが標準的に使われています。ユーザーが最初に認証プロバイダ(IdP: Identity Provider)で認証を済ませると、IdPが署名付きの認証トークンを発行し、各サービスプロバイダ(SP: Service Provider)がそのトークンを検証することでログインを許可します。
試験でのポイント
試験では、シングルサインオンのメリット・デメリットや、フェデレーション方式における「IdP(認証情報を提供する側)」と「SP(サービスを利用させる側)」の役割の違いについて問われます。また、SSOを導入することのセキュリティ上のリスクとして「単一障害点(SPOF: Single Point of Failure)」になる点が重要視されます。マスターアカウントのログイン情報が流出した場合、連携するすべてのシステムへ不正アクセスされる二次被害(なりすまし)が発生するため、SSOの認証口には多要素認証やアクセス元IPアドレス制限などを重ねて導入することが推奨されます。
関連する用語
関連する用語には、クラウドサービスを含めたアカウント情報やアクセス権限を一元的に管理する「ID管理(アイデンティティ管理)」や、外部システムと安全に連携して認証やリソースの認可を行うためのフレームワークである「OAuth 2.0」、および認証と認可を両方カバーする「SAML」や「OpenID Connect」が挙げられます。