シングルサインオンの仕組み~ユーザー利便性向上とセキュリティ強化を実現
schedule 2017/09/05 refresh 2023/11/09
シングルサインオンの必要性
ユーザーの利用システムが多くなると、ユーザーは個別システムごとにIDやパスワードなどの認証情報を記憶し入力作業を行わなくてはならず、利便性が低下します。
またパスワード忘れ、同一パスワードの使い回し、安易なパスワード管理、など情報セキュリティにも弊害が生じます。
また、システム管理者は、複数システムの認証情報を適切に管理する必要があり、ユーザーの増減、システムの改変・増設などにより、認証情報の管理負担が大きく、業務効率やセキュリティの低下を招くことになります。
個別情報システムの認証情報を統合し、ユーザーを統合的一元的に管理・認証・アクセス制御する仕組みの一つに、シングルサインオン(SSO:Single Sign On)があります。
シングルサインオンとは?
SSOとは、文字通り、1回の認証手続き(ログイン、ログオン、サインイン、サインオンなど)で複数の情報システムへのアクセスを可能にする機能です。
この機能を使えば、ユーザーは1種類の認証情報を記憶していればよく、操作負担の軽減、パスワード忘れなどの低減、などで業務効率とセキュリティの向上が期待されます。
管理者にとっては、単一の認証情報を管理すればよいので、バックアップや障害トラブルに迅速対応できます。また、たとえ認証情報が漏えいした場合でも、直ちにシステムへのアクセス制限をかけることができるので、セキュリティ対策でも安全になります。
シングルサインオンの仕組み
シングルサインオンを実現するためには、Webアプリケーションサーバなど情報システムを利用する際に必要なユーザーの認証情報を一元管理する、認証システムを構築します。各認証情報に対して、マスターとなる単一の認証情報を対応させます。
ユーザーのリクエストに対して、Webアプリケーションは連携している認証システムに問い合わせます。その際標準のログインメソッドで認証システムにアクセスし、ディレクトリサービスを使用して必要な認証情報を得て、アプリケーションの利用を許可します。
この仕組みにより、ユーザーはマスターとなる単一の認証情報を提供するだけで、複数のシステムを利用できることになります。
ディレクトリサービスの標準的なプロトコルは、LDAP(Lightweight Directory Access Protocol)で、代表的なものとしてOpenLDAP、Active Directory、Open Directoryなどがあります。
4種類のシングルサインオン認証方式
シングルサインオンの認証方式は、主に4種類あります。以下で、概略を説明します。
1.エージェント方式
Webアプリケーションサーバ内に、「エージェント」という認証を代行する専用ソフトウェアを導入する方式です。
2.リバースプロキシ方式
ユーザーのパソコンなどとWebアプリケーションサーバとの間に、「エージェント」を導入したリバースプロキシサーバを設置する方式です。
エージェント方式と異なり、個々のWebサーバへ「エージェント」を導入する必要はありません。
3.代理認証方式
ユーザーの代わりにIDとパスワードなどの認証情報を、Webアプリケーションやクラウドサービスの認証システムに代理送信する方式です。代行入力方式とも呼ばれます。
4.フェデレーション方式
企業やアイデンティティ・プロバイダー(IdP:Identity Provider)が管理するユーザーの認証情報と、Webアプリケーションやクラウドサービスとが連携する方式です。
「G Suite(Google Apps)」、「Microsoft365」、「Salesforce」などのクラウドサービスで採用されている方式で、ドメインが異なっていても安全に認証が行われます。
以上、SSOの仕組みと方式をご紹介しました。
企業においては、初期投資額、ランニングコスト、業務の効率化、セキュリティの確保を考慮しつつ、ユーザーの数、業務システムの数や新旧を勘案し、SSOの方式、オンプレミスかIDaaS(Identity as a Service)か、などを決定する必要があります。
(画像はイメージです)