Single Sign On(SSO)

シングル・サインオンが認証を簡素化し、ユーザー・エクスペリエンスを向上させ、セキュリティを強化し、ゼロトラスト・アプローチをサポートする方法について説明します。

タブレットを見ている女性と男性の俯瞰図
シングル・サインオンとは

シングル・サインオン(SSO)とは、ユーザーが1セットのログイン・クレデンシャルを使用してセッションに1回ログインし、そのセッション中に再度ログインしなくても、複数の関連するアプリケーションやサービスに安全にアクセスできるようにする認証スキームです。 

SSOは通常、会社のイントラネットまたはエクストラネット、学生ポータル、パブリッククラウド・サービス、およびユーザーが作業を行うために複数のアプリケーション間を移動する必要があるその他の環境で認証を管理するために使用されます。 また、銀行やeコマース・サイトなどの顧客向けのWebサイトやアプリにて、サードパーティ・プロバイダーのアプリケーションをシームレスで中断のないユーザー・エクスペリエンスに組み合わせるために、使用される機会が増えています。


SSOのしくみ

シングル・サインオンは、 サービス・プロバイダーである 、信頼性の高い関連アプリケーション、Webサイト、およびサービスのグループと、 IDプロバイダーであるSSOソリューションとの間の、デジタル信頼関係に基づいています。 SSOソリューションは、多くの場合、より大規模な IAM(IDおよびアクセス管理) ソリューションの一部です。 

一般的に、SSO認証は次のように機能します。

  1. ユーザーはSSOログイン資格情報を使用して、信頼できるアプリケーションの1つに、または信頼できるすべてのアプリケーション(従業員ポータルや大学の学生向けWebサイトなど)につながる中央ポータルに、ログインします。
  2. ユーザーが正常に認証されると、SSOソリューションは、ユーザーのIDに関する特定の情報(ユーザー名、電子メールアドレスなど)を含むセッション認証トークンを生成します。 このトークンは、ユーザーのWebブラウザー、SSOサーバー、またはIAMサーバーに保存されます。
  3. ユーザーが別の信頼できるアプリケーションにアクセスしようとすると、アプリケーションはSSOまたはIAMサーバーをチェックして、ユーザーがそのセッションについてすでに認証済かどうかを判断します。 認証済みの場合、SSOソリューションは、デジタル証明書を使用して認証トークンに署名することでユーザーを検証し、ユーザーはアプリケーションへのアクセスを許可されます。 認証済みではない場合、ユーザーはログイン資格情報を再入力するように求められます。

プロセスは、いくつかの要因によって異なります。 たとえば、指定された期間アイドル状態になっているユーザーが別のアプリにアクセスしようとする際に、ログインが必要になる場合があります。 または、認証されたユーザーが特に機密情報を処理するアプリまたはサービスを試行した場合、ユーザーの携帯電話や電子メールに送信されるコードなど、追加の認証要素の入力を求められる場合があります(以下の「適応SSO」を参照)。

 


SSOのメリット

SSOはユーザーの時間と手間を明らかに節約します。 たとえば、企業ユーザーを例に挙げます。SSOを使用すると、複数のアプリケーションに1日に何度もログインしなくても、企業のイントラネットまたはエクストラネットに1回だけログインし、必要なあらゆるアプリケーションへのアクセスが1日中可能になります。

一方でSSOは、ユーザーが覚える必要のあるパスワードの数と管理者が管理する必要のあるユーザー・アカウントの数を大幅に減らすことにより、組織のセキュリティ体制を強化します。 SSOは具体的に以下を可能にします

  • パスワードの疲労を、1つの強力なパスワードによって無くします。 多くのパスワードを管理するユーザーは、同じ内容や短く弱いパスワード、またはそれらの内容をわずかに変えたパスワードを使用してしまっていることがよくあります。 ハッカーはこれらのパスワードの内の1つを解読することで、複数のアプリケーションに簡単にアクセスできてしまいます。 多くの場合においてSSOを使用することにより、短い脆弱な多数のパスワードを、長くて複雑で強力な1つのパスワードに減らすことができます。そのパスワードは、ユーザーにとっては覚えやすく、ハッカーにとっては解読が非常に困難になります。
  • 安全性の低いパスワードを保存してしまう習慣の予防に役立ちます。 SSOを使用することで、不適切な人物がパスワードを盗んだり、偶然情報を得てしまうことを容易にするもの(パスワード・マネージャー、スプレッドシートに保存されたパスワード、付箋に記録されたパスワード、およびその他記憶に必要な手段)に対する必要性を低くする、または無くすことができます。
  • ヘルプデスクへの問い合わせを大幅に減らします。 Gartner社の業界アナリストによると、ITヘルプデスクへの問い合わせの20〜50%は、忘れたパスワードやパスワードのリセットに関する内容です。 ほとんどのSSOソリューションでは、ヘルプデスクの支援を受けて、ユーザーが自分で簡単にパスワードをリセットできます。
  • ハッカーが対象にできるターゲットをより小さくします。 IBMの2021年「情報漏えいのコストに関する調査」レポートによると、情報漏えいに対する最も頻度の高い初期の攻撃ベクトルは認証情報の漏えいであり、すべての情報漏えいの20%を占めています。そして、認証情報から情報の漏えいが始まった場合の被害者の損害額は、平均で431万ドルでした。 パスワードの数が減ることにより、潜在的な攻撃ベクトルが少なくなります。
  • ユーザー・アカウントの管理、プロビジョニング、廃止の手続きを簡素化します。 SSOを使用すると、管理者は認証要件とアクセス許可をより集中的に制御できます。 また、ユーザーが組織を離れるときに、管理者が権限を削除し、ユーザー・アカウントを廃止する手順が少なくて済みます。
  • 規制コンプライアンスの簡素化を支援 SSOは、個人ID情報(PII)の保護とデータアクセス制御に関する規制要件、およびセッションのタイムアウトに関するHIPAAなどの一部の規制の特定の要件を満たしている、または容易に満たせるようにします。 

SS0のリスク

SSOの主なリスクは、ユーザーの認証情報が漏えいした場合、攻撃者にネットワーク上のすべてまたはほとんどのアプリケーションとリソースへのアクセスを、許可してしまう可能性があることです。

長くて複雑なパスワードを作成するようにユーザーに要求し、そのパスワードを保存先に関わらず慎重に暗号化して保護することは、この最悪のシナリオを防ぐために大いに役立ちます。 しかしながら、セキュリティ専門家のほとんどが、多要素認証、またはMFAにてSSOを実装することを推奨しています。 MFAでは、ユーザーはパスワードに加えて、携帯電話に送信されるコード、指紋、IDカードなどの認証要素を1つ以上提供する必要があります。 これらの追加の認証情報は、ハッカーが簡単に盗んだり偽装したりできないものであるため、MFAは、SSOの認証情報の漏えいに関連するリスクを、劇的に減らすことができます。


SSOのバリエーション

上記のSSOスキーム(複数の関連アプリケーションのセッションへのアクセスを提供する、シングル・ログインとユーザー認証情報のセット)は、単純または純粋なSSOと呼ばれることもあります。 他のタイプのSSO(またはSSOに類似した認証方法)には、次のものがあります。

  • アダプティブSSO最初はログイン時にユーザー名とパスワードが必要ですが、ユーザーが新しいデバイスからログインしたり、特に機密性の高いデータや機能にアクセスしようとしたりする場合など、追加のリスクが発生した場合は、追加の認証要素または新たなログインが必要になります。
  • フェデレーテッドSSO(より正式な名称は、フェデレーテッドID管理(FIM))は、SSOのスーパーセットです。 SSOは、単一組織のドメイン内のアプリケーション間のデジタル信頼関係に基づいていますが、FIMはその関係を、信頼できるサード・パーティ、ベンダー、および組織外の他のサービス・プロバイダーに拡大します。 例えばFIMを使用すると、ログインした従業員は追加のログインなしで、または単純なユーザー名のみのログインで、SlackやWebExなどのサード・パーティのWebアプリケーションにアクセスできます。
  • ソーシャル・ログインは、ユーザーが人気のソーシャル・メディア・サイトへのアクセスに使用するクレデンシャルと同じクレデンシャルを使用して、サード・パーティのアプリケーションにアクセスできるようにします。 ソーシャル・ログインは、ユーザーの生活をシンプルにします。 サード・パーティのアプリケーション・プロバイダーの場合、望ましくない行動(偽ログインやショッピング・カートの放棄など)を阻止し、アプリを改善するための貴重な情報を提供できます。

関連技術

SSOは、いくつかの認証プロトコルおよびサービスのいずれかを使用して実装できます。

SAML/SAML 2.0

SAML(Security Assertion Markup Language)は、IDプロバイダーと複数のサービス・プロバイダー間で暗号化された認証および承認データを交換するための、最も長い歴史を持つオープン・スタンダード・プロトコルです。 SAMLは、他のプロトコルよりもセキュリティをより細かく制御できるため、通常、企業または政府のアプリケーション・ドメイン内およびドメイン間でSSOを実装するために使用されます。

OAuth/OAuth 2.0

OAuth/OAuth 2.0(オープン認証)は、ユーザーのパスワードを公開せずにアプリケーション間の承認データを交換する、オープン・スタンダード・プロトコルです。 OAuthの使用により、シングル・ログインで、通常はそれぞれに個別のログインを必要とするアプリケーション間の対話を合理化できます。 たとえば、LinkedIn社はOAuthを利用することで、新規ネットワークの潜在的なメンバーに対して、メールの連絡先を検索することができます。

OpenID Connect(OIDC)

別のオープン・スタンダード・プロトコルであるOICDは、REST APIとJSON認証トークンを使用して、Webサイトまたはアプリケーションが別のサービス・プロバイダーを介してユーザーを認証することにより、ユーザーにアクセスを許可できるようにします。

OAuthの上に階層化されたOICDは、主にサード・パーティ・アプリケーションやショッピング・カートなどへのソーシャル・ログインを実装するために使用されます。 より軽量な実装であるOAuth/OIDCは、SaaS(サービスとしてのソフトウェア)とクラウドアプリケーション、モバイルアプリ、モノのインターネット(IoT)デバイス全体にSSOを実装するために、SAMLを使用することがよくあります。

LDAP

LDAP(Lightweight Directory Access Protocol)は、ユーザー資格情報を保存および更新するためのディレクトリと、そのディレクトリに対してユーザーを認証するためのプロセスを定義します。 1993年に導入されたLDAPは、ディレクトリへのアクセスをきめ細かく制御できるため、認証ディレクトリ・ソリューションとしてSSOを実装する多くの組織に、依然として選ばれています。

ADFS

ADFS(Active Directoryフェデレーション・サービス)はMicrosoft Windowsサーバー上で稼働して、オンプレミスおよびオフプレミスのアプリケーションとサービスでフェデレーテッドID管理(シングル・サインオンを含む)を可能にします。 ADFSは、Active Directoryドメインサービス(ADDS)をIDプロバイダーとして使用します。 


SSOとゼロトラスト・アプローチ

「ゼロトラスト」は、セキュリティに対して「決して信頼せず、常に検証する」アプローチを採用します。ユーザー、アプリケーション、またはデバイスは、ネットワークの外部、またはすでに認証済でネットワークの内部にあるのかにかかわらず、必要な次のネットワーク・リソースにアクセスする前にIDを検証する必要があります。

ネットワークが、オンプレミス・インフラストラクチャーと複数のプライベートクラウドおよびパブリッククラウドにわたって分散化していくに従い、ゼロトラスト・アプローチが不可欠となります。そのアプローチにより、ネットワークに侵入した脅威が取得するアクセス数を抑え、損害が最大限に広がることを防ぎます。

SSO(特にIAMソリューションの一部としてのSSO)は、ゼロトラスト・アプローチを実装するための、基盤となるテクノロジーとして広く見なされています。 ゼロトラストの基本的な課題は、許可されたエンドユーザーがネットワーク内を自由に移動して仕事やビジネスを遂行する能力を妨げることなく、ネットワークに侵入する攻撃者を取り締まることができるセキュリティ・アーキテクチャーを作成することです。 多要素認証、アクセスとアクセス許可の制御、ネットワークのマイクロ・セグメンテーション、その他の手法とベスト・プラクティスも組み合わせる場合、SSOは、組織がこのバランスを実現するための支援をすることができます。 

ゼロトラストの詳細はこちら

関連ソリューション

参考情報

シングル・サインオンとIBMセキュリティー

IBM Security Verifyは、従業員の近代化と消費者のデジタル変革のための、単一のidentity-as-a-service(IDaaS)ソリューションです。 Verifyの特徴は、シングル・サインオン、高度なリスク・ベースの認証、適応型アクセス管理、自動化された同意の管理などを含む、包括的なクラウドIAM機能です。