システムのセキュリティを担保するための方法として、適切なアカウント管理を行なうことは基本と言えます。
そのため、システムやWebアプリケーションへのログイン情報は使い回しをせず、堅牢なパスワードを設定することをルール化していることも多いでしょう。
このような対策は安全なアカウント(ユーザー認証情報)管理として有効ですが、複数アカウントの認証要素を管理・利用する負担は大きくなってしまいます。
安全かつ負担の少ないログイン処理(ユーザー認証)を実現する方法として、シングルサインオンが挙げられます。
この記事では、シングルサインオンの基礎知識とメリット、安全性を高める方法を解説します。
シングルサインオン(SSO)とは
一度の認証作業で、複数のWebアプリケーションやシステムへのログインが行える仕組みをシングルサインオンと呼びます。
ログインが必要なサービスを利用する場合、通常はサービス毎にユーザー認証情報が存在しており、それぞれにログインを行なう必要があります。
シングルサインオンは、一度の認証作業で複数のWebアプリケーションやサービスを利用できるようにすることができます。
シングルサインオンを実現する方式は複数存在します。以下、代表的な方式とその仕組みを紹介します。
エージェント方式
Webサービスで利用され、サーバー側にエージェントを導入する方式です。
例として、シングルサインオンが設定されたサービスAとサービスBの個別サービスへログインする場合で解説します。
1.ユーザーがサービスAへアクセスし、ログイン作業を行なう
2.サービスAのエージェントがログイン情報を認証サーバーへ書き込む
3.ユーザーがサービスBへアクセスする
4.エージェントが認証サーバーを確認し、サービスAにログイン済みであることを確認
それによりサービスBへのログイン処理はスキップ
5.ユーザーにログインが求められず、サービスBの利用画面が表示される
Webサービスがエージェントに対応している必要があるほか、個別にエージェントの導入が必要となる点に注意が必要です。
代行認証方式
クライアントPCにエージェントを導入する方式です。
シングルサインオンに対応したログイン画面をクライアントPCで表示した際、エージェントがログイン画面を検知して代理でログイン情報を入力します。
クライアントPC内で認証処理が完結するため比較的導入しやすく、ログイン対象の制限も少なくなります。
リバースプロキシ方式
WebサーバーとクライアントPCの間にリバースプロキシと呼ばれるサーバーを配置する方式です。
例として、シングルサインオンが設定されたサービスAとサービスBの個別サービスへログインする場合で解説します。
ユーザーがサービスAへアクセスする際、通信の経路としてはクライアントPC->リバースプロキシ->サービスAとなります。
1.ユーザーがリバースプロキシを経由してサービスAへアクセスし、ログインを行なう
2.サービスAにログイン済みである情報をリバースプロキシが生成し、クライアントPCへ送信
3.ユーザーがリバースプロキシを経由してサービスBへアクセス
4.サービスAへのログインが完了している情報を利用し、サービスBへのログイン処理がスキップされる
SAML(フェデレーション)方式
異なるベンダーのクラウドサービスでもシングルサインオンで利用可能となる方式です。
SAML(Security Assertion Markup Language)とは、ログイン情報や付与される権限を取り扱うためのプロトコル(形式)です。
ログイン情報を各クラウドサービスで共有するためのシステムとして、IdP(Identity Provider)と呼ばれる認証管理システムが必要となります。
例として、シングルサインオンが設定されたクラウドサービスAとクラウドサービスBの個別サービスへログインする場合で解説します。
1.ユーザーがサービスAへアクセスする
2.サービスAがIdPに対し、認証要求(SAML形式)を送信する。
3.IdPが認証要求を受け付け、ユーザーへログイン画面を表示する。
4.ユーザーがIdPから表示されたログイン画面でログイン作業を行なう
5.IdPがログイン情報を認証し、サービスAへ認証情報(SAML形式)を送信する
6.サービスAが認証情報を確認し、ログイン処理を自動的に実行
7.ユーザーの画面にサービスAのログイン後の画面が表示される
複数のクラウドサービスやシステムに手動でログインを行なうことは、ログイン作業やアカウント情報の管理など、多くの手間が掛かります。
シングルサインオンによりログインに関する手間が大きく削減されます。
SAML方式についてこちらで詳しく解説しています。
▶︎ 柔軟なシングルサインオンを実現するSAMLとは?仕組みやメリット・デメリットを徹底解説!
シングルサインオン(SSO)のメリット
シングルサインオンを導入することで、多くのメリットを享受できます。
ユーザー認証の手間を削減
通常、複数のシステムを利用する場合にはそれぞれ個別にログイン作業を行ないます。
ログインに使用するアカウント情報はセキュリティの観点から統一されていないことが一般的です。
セキュリティの観点では必要なルールですが、ログイン情報の認証をする作業者は複数のユーザー認証情報を入力する必要があり、手間や負担が増加します。
また、打ち間違いやパスワード忘れにより、パスワードリセット等の作業が必要となる場合もあるでしょう。
シングルサインオンであればこのような状態を回避し、1回のユーザー認証で複数のシステムやWebアプリケーションを利用することができます。
アカウント管理のシンプル化
仮に全てのシステムがシングルサインオンに対応した場合、利用者が管理するべきアカウントは一つになります。
実際には様々な制約により全てが対応していないケースも多いですが、管理するべきアカウントの数が削減されることは間違いないでしょう。
使い回しの防止や複雑なパスワードの設定は、システム利用者の大きな負担となっていますが、アカウントの数が減ればその分負担も減ると考えられます。
セキュリティリスクの削減
複雑なパスワードの設定は、ルールとして存在していてもユーザーによっては疎かになってしまうケースもあります。
パスワードの文字列は、管理者でも確認することはできません。
そのため、システム的なパスワードの複雑性チェック以外は本人の裁量に任されていることが一般的です。
管理するアカウントとログイン作業が削減されれば、複雑なパスワードを設定する抵抗も薄れると考えられます。
また、パスワード以外の要素で認証を行なう2要素認証やワンタイムパスワードの導入を行なうことも有効なアプローチです。
ログインの手間は増えますが、セキュリティの強度は増加し、ログイン回数が少ないため実質的な工数への影響は少ないと考えられます。
セキュリティ向上と負担の削減を両立できるシングルサインオンは、今後さらに利用が拡大すると考えられます。
SSOのメリット・デメリットはこちらで詳しく解説していますので、あわせてご覧ください。
▶︎ シングルサインオン(SSO)のメリット・デメリットとは?特性を理解して有効活用するために。
シングルサインオン(SSO)サービスの選定方法
クラウドやWebアプリケーションと連携する場合、外部のシングルサインオンサービスを利用することも一般的です。
様々なサービスが存在していますが、どのような基準で選定すれば良いのでしょうか。
コスト(費用)
サービスによって、最低利用ユーザー数やユーザーごとの単価は異なります。
自社の利用環境にマッチしたサービスでなければ、効果に対してコストが高額になってしまう恐れもあるでしょう。
シングルサインオンを導入する目的を明確にし、受けられる恩恵とコストのバランスを意識しましょう。
ID管理の容易さ
日常的に複雑なオペレーションが発生してしまう、専門知識が多く要求されるなどの問題がないかを確認します。
高機能なサービスを使いこなすことができれば、利便性を大きく高めます。しかし、自社の情報担当者がスムーズに運用できなければ期待した効果を得ることは難しいでしょう。
対応サービス
検討中のシングルサインオンサービスが、利用しているクラウドサービスやWebアプリケーションに対応していることを確認しましょう。
未対応の場合は従来の認証方法を継続することになるため、現在利用しているサービスの洗い出しを行なうことも重要です。
シングルサインオンを導入する上で自社が求める効果はなにかを明確にし、可能な限り満たす製品を選定しましょう。
より詳しいSSOの選定ポイントはこちらをご覧ください。
▶︎ シングルサインオン(SSO)を導入するポイントを解説!自社にマッチしたシステムを選択しよう。
シングルサインオン(SSO)の安全性を高める顔認証
顔認証システムで認証の手間を極力無くすことで、スムーズな業務遂行の実現に繋がります。
シングルサインオンであっても、初回のログインは手作業でIDとパスワードを入力する必要があります。
パスワード情報は情報漏洩が起こった場合に不正アクセスの被害に直結するケースが多く、シングルサインオンではその不正アクセスで複数のサービスを不正利用されるリスクも考えられます。
そのリスクに対処するためには、顔認証によるシングルサインオンが有効です。
顔認証に利用する顔情報は偽装が困難であり、第三者が不正アクセスに利用されるリスクが低いと言えるためです。
また、入力の手間自体も削減されるため業務効率化にも繋がります。
顔認証シングルサインオンの導入事例
株式会社イオンファンタジーでは顔認証シングルサインオンを導入し、セキュリティ強化と利便性向上を同時に実現しました。
これまで社内システムへのログインはID・パスワードによる認証や静脈認証など、システムごとに異なる方法で行っており、複数のパスワードを運用することによるセキュリティ上のリスクや業務非効率が課題となっていました。同一ID・パスワードで複数のシステムにログインできるシングルサインオンの仕組みを、顔認証によって行うことで、課題解決につながっています。
こちらの記事でも、シングルサインオンの活用事例を紹介しています。
▶︎ シングルサインオン(SSO)の例を紹介!ログインの手間を大きく減らす効果とは?
シングルサインオン(SSO)を理解し、安全なサービス利用を
現代では様々なクラウドサービスやWebアプリケーションを活用・連携し、効率的な業務遂行を実現しています。
しかし、利用するサービスの多さやそれに伴うアカウントの増加は、実際にサービスを利用する担当者の負担となっているケースもあるでしょう。
シングルサインオンでは、ユーザー認証作業の削減により作業者の負担を軽減することが可能です。
顔認証によるログインであれば、さらに負担を軽減することも期待できるでしょう。
また、パスワード忘れやロックへの対応を行なう情報システム部門においても、工数の削減を期待することができます。
社内システムや利用クラウドサービスが増加している場合は、シングルサインオンの導入を検討することで課題解決の糸口となるかもしれません。