SSO(シングルサインオン)はどんな仕組み? 種類やメリット・選び方について解説 シングル サイン オン sso と は
HC

橋爪兼続
Jul 31, 2023
シングルサインオン SSOの基礎知識
近年、シングルサインオン SSOを利用するサービスやウェブサイトが多く増えてきています。SSO(シングルサインオン)を安全に利用するためには、その仕組みを知ることが重要です。この記事では、基本的な仕組みから導入によるメリット等解説いたします。導入の参考にしてみてください。

SSO(シングルサインオン)とはSingle Sign Onの略です。これは、1度のユーザー認証により、複数のシステムが利用できるようにする仕組みのことです。通常であれば、各システムでユーザを特定するためにユーザー認証を行います。一方、SSO(シングルサインオン)では、SSO(シングルサインオン)システムで認証された場合、ユーザーが適切な権限を有していると、他のシステムへのアクセスを許可をすることになります。

主な認証方式
SSO(シングルサインオン)には、主に4種類あります。代行認証方式、リバースプロキシ方式、エージェント方式、SAML認証方式です。
代行認証方式
代行認証方式は、クライアントに導入したエージェントが、システムにおけるログイン画面を監視し、ログイン画面にアクセスすると、代理で認証するという仕組みです。この方式では、システムの制限が少なく、比較的容易に導入することができます。また、エージェントが常時監視できるようにクライアントにエージェントを導入する必要性や、アカウント情報のデータベースにアクセスできる環境が必要となります。
リバースプロキシ方式
リバースプロキシ方式は、リバースプロキシサーバと呼ばれる中継サーバで認証を行い、このリバースプロキシサーバ経由で利用するシステムにアクセスすることで、SSO(シングルサインオン)を実現する方式です。この方式では、全てのアクセスがリバースプロキシサーバ経由となるため、このリバースプロキシサーバがボトルネックになる虞があります。また、リバースプロキシサーバ経由でシステムにアクセスされるように、ネットワークを構築する必要性があります。一方で、システムに直接エージェントを導入する必要が無いため、既存のシステムへの影響を与えずに検証をすることができます。
エージェント方式
エージェント方式は、各システムにそれぞれエージェントを導入し、CookieによりSSO(シングルサインオン)を実現する方式です。この方式では、リバースプロキシ方式に比べて、アクセス集中によるボトルネックが発生しづらく、ネットワークを変更する必要性がありません。
SAML方式
SAML方式は、SAMLというものを使用します。SAMLは、Security Assertion Markup Languageの略で、異なるインターネットドメイン間でユーザ認証を行うための標準規格です。この方式では、認証を行うIdP(Identity Provider)とサービスを提供するSP(Service Provider)の2つのもので構成されます。SPがSAMLに対応していれば、SAMLに対応したIdPの認証情報を利用することができます。

SSO(シングルサインオン)の変遷
分散コンピューティング環境で最初に実装されたSSO(シングルサインオン)はKerberosで、1986年にMITで開発されました。これは、認証情報を鍵管理センターで一元管理し、共通鍵を利用して認証後に認証情報としてチケットを配布し、これを利用する方式でした。
1990年代前半には、UNIXの分散環境の基盤としてOpen GroupのDCEが認証基盤の技術を確立しました。これは、LDAPとKerberosの機構を組み合わせて認証基盤を構成し、SSO(シングルサインオン)を実現しています。この技術はWindowsサーバのOSにも導入されており、現在でも利用されています。
1990年代後半からWeb環境におけるSSO(シングルサインオン)のニーズが出てきました。これに対応し、2000年頃からISVのWEB SSO(シングルサインオン)パッケージ製品が発売され、WEBでもSSOが主に企業内イントラネットを中心に利用されるようになりました。
その後、WEBサービスが充実してきたことにより、異なるドメイン間でのSSO(シングルサインオン)を実現する連携SSO(シングルサインオン)の仕様が策定され、現在に至っています。

SSO(シングルサインオン)のメリット
SSO(シングルサインオン)のメリットとしては大きく3つあります。
ログインの手間を軽減
1つめは、ログインの手間を軽減できるということです。従来は各サービスでログインすることが必要でしたが、SSO(シングルサインオン)により、一度ログインすることにより、他のサービスを利用できるようになります。
パスワードの管理が容易
2つめは、パスワードの管理が容易になることです。従来は各サービスでパスワード等が必要であったため、サービスの数だけパスワードを管理する必要がありました。これが1つで十分となります。これは、例えば従業員が退職時等でアカウント削除が必要な場合も役に立ち、1つのアカウントを削除すれば全てのサービスを利用できなくなり、アカウントの削除防止忘れにもなります。
セキュリティ対策
3つめは、セキュリティ対策として有効です。パスワードの数が多くなると、それぞれのパスワードが容易になりがちです。これが1つの場合、複雑なパスワードにすることができます。
SSO(シングルサインオン)のデメリット
SSO(シングルサインオン)のデメリットとしては大きく3つあります。
ログイン情報が漏れた際のリスク
1つめは、ログイン情報が漏れた際のリスクが大きくなることです。従来の方式では、そのサービスのみでしたが、SSO(シングルサインオン)の情報が漏れるとSSO(シングルサインオン)を利用する全てのクラウドサービスにアクセスされる恐れがあります。
SSO(シングルサインオン)のシステム停止による影響
2つめは、SSO(シングルサインオン)のシステムが停止すると、全てのシステムが利用できなくなることです。そのため、SSO(シングルサインオン)の認証するシステムをメンテナンス等で停止する際は影響が大きくなります。
利用不可のクラウドサービスがある
3つめは利用不可のweb・クラウドサービスがあると言うことです。クラウドサービスによっては特定の方式のSSO(シングルサインオン)にのみ対応しているものやSSO(シングルサインオン)に全く対応していないものもあります。したがって、クラウドサービスの種類によっては、手を加える必要性が出てきます。
SSO(シングルサインオン)導入のポイント

まずは、SSO(シングルサインオン)を導入しようとしているシステムにSSO(シングルサインオン)が利用可能か、利用可能であれば どの方式に対応しているか確認することが必要です。 対応していないのであれば、システムに手を加える事が必要になりますが、多大な費用がかかります。 また、SSO(シングルサインオン)を導入するとランニングコストも発生します。これらの費用と導入による効果を十分比較する事が重要です。

まとめ
SSO(シングルサインオン)を活用することで、セキュリティは高められますが、全てのwebサービスをSSO(シングルサインオン)で一括管理しようとすると、従業員が利用できるwebサービスが限定されます。 業務の効率化とセキュリティのバランスを鑑みて、適切なシステムを導入するようにしましょう。
その他、SAMLとOAuthの違いについてもまとめておりますのでご参考ください。


執筆者:
橋爪兼続
ライトハウスコンサルタント代表。2013年海上保安大学校本科第Ⅲ群(情報通信課程)卒業。巡視船主任通信士を歴任し、退職後、大手私鉄の鉄道運行の基幹システムの保守に従事。一般社団法人情報処理安全確保支援士会の前身団体である情報処理安全確保支援士会の発起人。情報処理安全確保支援士(第000049号)。
他の記事

