ホーム
Topics
Single Sign On(SSO)
更新日:2024年3月1日
寄稿者:Mark Scapicchio、Amber Forrest
Single Sign On(SSO)とは、一度ログインするだけで、その後再度ログインしなくても複数の関連するアプリケーションやサービスにアクセスできるようにする認証スキームです。
SSOを適切に実装することで、ユーザー認証を簡素化し、ユーザー・エクスペリエンスを高め、セキュリティーも強化することができます。通常SSOは、企業のイントラネットやエクストラネット、学生向けポータル、パブリック・クラウド・サービス、およびユーザーが作業を行うために複数の異なるアプリケーション間を移動しながら作業する環境で、認証と安全なアクセスを管理するために広く利用されています。また、バンキングやEコマースといった顧客向けのWebサイトやアプリでも、サードパーティー・プロバイダーのアプリケーションを統合して、シームレスで中断のないユーザー・エクスペリエンスを実現するために使用されることも増えています。
X-Force Threat Intelligence Indexでは、サイバー攻撃やサイバー脅迫などに対して迅速に準備・対応するのに役立つ、重大な脅威に対する最新のインサイトを公開しています。
SSOは、サービス・プロバイダーと呼ばれるアプリケーション、Webサイト、サービスと、アイデンティティー・プロバイダー(IdP)と呼ばれるSSOソリューションとの間のデジタル信頼関係をベースにしています。SSOソリューションは、多くの場合、より大規模なIDおよびアクセス管理(IAM)ソリューションの一部を構成するものです。
一般的に、SSO認証は次のように機能します。
ユーザーはSSOログイン認証情報を使って、サービス・プロバイダーの1つ、または会社のイントラネットや大学の学生ポータルなどの中央ポータルにログインします。
認証が正常に完了すると、SSOソリューションにより、ユーザーのIDに関する特定の情報(ユーザー名、Eメールアドレスなど)を含む、セッション認証トークンを生成します。このトークンは、ユーザーが使用しているWebブラウザー、もしくはSSOシステムに保存されます。
ユーザーが別の信頼できるアプリケーションにアクセスしようとすると、そのアプリケーションはSSOシステムをチェックして、ユーザーがそのセッションに認証済みであるかどうかを判断します。認証済みの場合、SSOソリューションはデジタル証明書を使用して認証トークンに署名し、ユーザーはアプリケーションへのアクセスが許可されます。未認証の場合、ユーザーはログイン資格情報を再入力するように求められます。
前述のSSOプロセス(複数の関連アプリケーションのセッションへのアクセスを提供する一連のユーザー認証情報)は、simple SSOまたはpure SSOとも呼ばれます。その他の種類のSSOには、次のものがあります。
最初はログイン時にユーザー名とパスワードが必要ですが、ユーザーが新しいデバイスからログインする場合や、特に機密性の高いデータや機能にアクセスしようとする場合など、さらなるリスクが発生した場合には、追加の認証要素または新しいログインが求められます。
フェデレーテッドID管理(FIM)は、SSOのスーパーセットです。SSOは、単一の組織のドメイン内のアプリケーション間のデジタル信頼関係に基づいていますが、FIMはその関係性を組織外の信頼できるサードパーティー、ベンダー、その他のサービス・プロバイダーに拡張するものです。例えば、ログインした従業員は、追加のログインをすることなく、またはユーザー名のみを使用して、サードパーティーWebアプリケーション(SlackやWebExなど)にアクセスできるようになります。
ソーシャル・ログインにより、エンドユーザーは、一般的なソーシャル・メディア・サイトで使用するのと同じ認証情報を使用して、アプリケーションにアクセスできるようになります。サードパーティー・アプリケーション・プロバイダーにとっては、望ましくない行動(誤ったログイン、ショッピングカートの放棄など)を回避し、アプリの改善に向けた貴重な情報を提供することができます。
SSOは、複数の認証プロトコルとサービスのいずれかを使用して実装できます。
セキュリティー・アサーション・マークアップ言語(SAML)は、IDプロバイダーと複数のサービス・プロバイダーの間で暗号化された認証・承認データを交換するための、古くから使用されているオープン・スタンダード・プロトコルです。SAMLは、他のプロトコルよりもセキュリティーをより細かく制御できるため、通常は企業や政府のアプリケーション・ドメイン間におけるSSOの実装に使用されます。
オープン認証(OAuth)は、ユーザーのパスワードを共有することなく、アプリケーション間で認証データを交換するためのオープン・スタンダード・プロトコルです。OAuthにより、通常は個別のログインが必要となるアプリケーション間のやり取りを1回のログインで効率化できます。例えば、LinkedInがEメールの連絡先を検索して、新しい潜在的なネットワーク・メンバーを見つけることができます。
もう1つのオープン・スタンダード・プロトコルであるOICDは、REST APIとJSON認証トークンを使用して、Webサイトまたはアプリケーションが別のサービスプロバイダーを通じてユーザーを認証することで、ユーザーにアクセス権を付与できるようにするものです。
OAuthの上の層にあるOICDは、主にサードパーティー・アプリケーションやショッピング・カートなどへのソーシャル・ログインを実装するために使用されます。より軽量な実装であるOAuth/OIDCは、Software-as-a-Service(Saas) やクラウド・アプリケーション、モバイル・アプリ、モノのインターネット(IoT) デバイスにSSOを実装するために、SAMLを使用することがよくあります。
Lightweight Directory Access Protocol(LDAP)は、ユーザー資格情報を保存・更新するためのディレクトリと、そのディレクトリに対してユーザーを認証するプロセスを定義するものです。1993年に登場したLDAPは、ディレクトリへのアクセスをきめ細かく制御できるため、現在でも SSOを実装する多くの組織に、認証ディレクトリ・ソリューションとして使用されています。
Active Directoryフェデレーション・サービス(ADFS)は、Microsoft Windows Server上で動作し、オンプレミスとオフプレミスのアプリケーション、およびサービスのフェデレーションID管理(SSOを含む)を可能にします。ADFSは、IDプロバイダーとして、Active Directoryドメイン・サービス(ADDS)を使用します。
SSOは、ユーザーの時間を節約し、手間を省きます。例えば、一日に何度も複数のアプリケーションにログインする代わりに、SSOを使用することで、エンドユーザーは企業のイントラネットに一度ログインするだけで、必要なすべてのアプリケーションに一日中アクセスできるようになります。
さらに、ユーザーが覚えておく必要があるパスワードの数と、管理者が管理する必要があるユーザー・アカウント数を大幅に減らすことで、SSOはその他の多くのメリットを提供できます。
管理しなければならないパスワードが大量にあるユーザーは、アプリケーションごとに、同じ短くて弱いパスワード、またはそのわずかなバリエーションを使用するという危険な習慣に陥ることがよくあります。ハッカーにこれらのパスワードの1つでも解読されると、複数のアプリケーションに簡単にアクセスされてしまいます。SSOを使用することで、複数の短くて弱いパスワードを1つの長くて強力なパスワードに統合できるため、ユーザーにとっては覚えやすく、ハッカーにとっては解読がはるかに困難になります。
IBM X-Force Threat Intelligence Index 2024によると、2023年には、盗難または侵害された認証情報を使用したサイバー攻撃が前年比で71%増加しました。パスワード・マネージャー、スプレッドシートに保存されたパスワード、付箋に書かれたパスワードなどは、ハッカーの標的となったり、不適切な人がパスワードを盗んだり、偶然見つけやすくするものです。SSOにより、こういった記憶補助手段の必要性を減らす、もしくは無くすことができます。
Gartner社によると、ITヘルプデスクへの問い合わせの20〜50%は、パスワードを忘れたり、パスワードをリセットしたいというものです。ほとんどのSSOソリューションは、ヘルプデスクの支援を受けながら、ユーザー自身が簡単にパスワードをリセットできるように設計されています。
管理者は、SSOを使用することで、アカウントのプロビジョニングとアクセス許可をより簡単に、一元的に管理できるようになります。従業員が組織を退職した場合、管理者はより少ない手順で権限を削除し、ユーザー・アカウントを廃止することができます。
SSOを使用することで、個人識別情報(PII)の保護やデータ・アクセス制御に関する規制要件、セッション・タイムアウトに関する一部の規制(HIPAA など)の特定の要件を満たすことが容易になります。
SSOの主なリスクは、ユーザーの認証情報が盗難された場合、攻撃者にネットワーク上のすべて、またはほとんどのアプリケーションやリソースへのアクセスを許してしまう可能性があることです。しかし、ユーザーに長く複雑なパスワードの作成を義務付け、パスワードがどこに保存されていても、慎重に暗号化して保護することは、この最悪のシナリオを回避するうえで極めて効果的です。
さらに、ほとんどのセキュリティー専門家は、SSO実装の一部として、2要素認証(2FA)もしくは多要素認証(MFA) を推奨しています。2FAやMFAは、パスワードに加えて、少なくとも1つの認証要素(スマートフォンに送信されるコード、指紋、IDカードなど)を要求します。これらの追加の認証情報は、ハッカーが簡単に盗んだり、なりすましできないものであるため、MFAはSSOにおける認証情報の漏洩に関連するリスクを大幅に軽減できます。
オンプレミスまたはクラウドでどのユーザーが組織のデータとアプリケーションにアクセスできるかに関する決定に、詳細なコンテキスト、インテリジェンス、セキュリティーを追加します。
クラウドとオンプレミスのアプリケーションのアクセス制御を一元化
パスワードレス認証または多要素認証のオプションで、基本認証を超えてセキュリティーを強化します。