このページで分かること
- シングルサインオンとは?
- シングルサインオンの仕組み
- シングルサインオンのメリット
- シングルサインオンのセキュリティの注意点
- セキュリティ課題に対応した製品
シングルサインオンとは?
シングルサインオンとは、一度の認証で複数のシステムやアプリケーションにログインする仕組みです。また、シングルサインオン(Single Sign On)の頭文字をとって"SSO"とも呼びます。
シングルサインオン(SSO)は、ID・パスワードの入力や管理の手間を省き、セキュリティを強化することが可能です。
組織の活動では多くのアプリケーションが利用されており、シングルサインオンを導入している企業が増加しています。
一般的なユーザーも40%以上がアカウントを6つ以上管理しているのが現状です
(「2018年度情報セキュリティの脅威に対する意識調査」報告書より)。
シングルサインオンの仕組み
仕組みの種類
シングルサインオンの方式にはいくつか種類があります。
環境にあったシングルサインオンを採用してください。
エージェント方式
Webサーバーにエージェントをインストールします。エージェントモジュールが認証サーバーに問い合わせを代理で行います。小規模向けの方法です。
メリット:アプリケーションに応じて幅広くカスタマイズが可能です。
デメリット:エージェントの管理が必要、またセキュリティはアプリケーションと同レベルです。リバースプロキシ方式
リバースプロキシがアプリケーションのフロントエンドとなり、認証サーバーへの問い合わせをアプリケーションの代わりに行います。
メリット:アプリケーションへのリクエストは必ずリバースプロキシを経由するのでセキュリティが向上します。
デメリット:ネットワークのトラフィック量が多いと認証が遅くなります。代理認証方式
ユーザーに代わってIDとパスワードを認証サーバーに送信します。トークンを利用する方法もあります。
メリット:アプリケーションの設定変更が不必要であり、権限レベルで管理するため柔軟な利用が可能です。
デメリット:IDとパスワードを送信する場合は盗聴されるリスクがあります。透過型方式
複数の認証方式を統合します。ユーザーが認証要求された場合に認証情報を自動挿入し、Webサーバーへ送付します。
メリット:代理認証方式やエージェント方式を選択できます。
デメリット:シングルサインオン用のサーバーが必要になります。また初期投資が高額になる傾向にあります。フェデレーション方式
SAML(Security Assertion Markup Language)やOpenID Connect等の標準プロトコルを活用し、サービス間でパスワードの受け渡しをすることなく認証を実現します。Microsoft 365、G Suite、Salesforce、Zohoなど多くのクラウドサービスが対応しています。
メリット:プロトコルに対応しているクラウドサービスであれば簡単に追加できます。
デメリット:標準プロトコルに対応していないサービスには適用できません。
代表的なフェデレーション方式について
代表的なシングルサインオン方式の1つ、フェデレーション方式をご紹介します。フェデレーション方式ではクライアント、認証情報を提供するIdentitey Provider(IdP)、サービスを提供するService Provider(SP)が登場します。
上記はSPからシングルサインオンが開始されるSPフローとなります。この他にIdPにアクセスして開始されるSPフローもあります。
多くのフェデレーション方式では標準規格として「SAML」が採用されています。
SAMLではXMLをベースとしており、通信はHTTPSで行われます。
SAML認証については合わせてこちらもご覧ください。
シングルサインオンのメリット
生産性の向上
認証回数が一度きりとなるため、ユーザーが毎回ログインを試行する時間が削減できます。また利用するパスワードも1つに減るためパスワード管理の工数も削減されます。煩わしさがなくなることにより作業に集中でき、生産性向上に繋がります。
セキュリティの向上
アカウントを複数管理する必要がないため、管理の煩雑化を防止できます。従来であればメモ帳にパスワードを書いたり、推測しやすいパスワードが使いまわされたりしていましたが、そのような運用が不要となるため、ソーシャルエンジニアリングのリスクが低減されます。
管理工数の削減
シングルサインオンを利用すると各アプリケーションごとにパスワードを管理する必要がなくなります。そのためパスワードの整合性を取る、有効期限を確認するなどの棚卸作業が減ります。管理するパスワードの数が減るので漏洩のリスクも減ります。
シングルサインオンのセキュリティの注意点
シングルサインオンは便利ですが、利便性とセキュリティはトレードオフです。
便利さにばかり注目しがちですがセキュリティについていくつか押さえておきましょう。
設定するパスワードが脆弱な場合
シングルサインオンは便利ですが、そもそも設定しているパスワードが脆弱な場合は漏洩リスクが高まります。ここで言う脆弱とは「推測しやすい」、「一般的によく使われている」、「キーボードの配置をなぞっている」、「文字数が少ない?短い」特徴を持ったパスワードを指します。
例:taro1234、password、Zaq12wsx
パスワードさえ分かればログインできてしまう
シングルサインオンでは1組の資格情報を利用してログインしますが、多くの場合、IDとパスワードが利用されます。パスワードは一般的ですが、ユーザーの記憶を頼りにした文字列であるため、忘れてしまったり、盗聴される可能性があり、セキュリティリスクは小さくありません。
安全性の低い認証方法を採用する場合
シングルサインオンの方式の中には、ツールがパスワードを記憶しておき、ログイン時にユーザーに代わりに入力する代理認証を採用しているものもあります。その場合、パスワードが平文で通信されていたり、ブラウザーにパスワードが記憶されていたり、利便性と引き換えにセキュリティが脅かされている場合があります。