お問い合わせ

脆弱性?脆弱性診断?セキュリティの専門家が徹底解説セキュリティ対策の疑問
すべて解決!

セキュリティの基本から脆弱性診断の深掘りまで、このシリーズがあなたのセキュリティ対策の疑問を専門家がわかりやすく徹底的に解説し解消します。
mv-image
セキュリティの基本から脆弱性診断の深掘りまで、このシリーズがあなたのセキュリティ対策の疑問を専門家がわかりやすく徹底的に解説し解消します。
problem014

014

SSO認証は本当に安全?気を付けるべきセキュリティポイントとは?

nishizawa

西澤 拓海

2024年8月5日

近年、企業や組織でのシステム利用において、SSO(Single Sign-On)認証という言葉をよく耳にするようになりました。SSO認証は、複数のシステムやアプリケーションにアクセスする際に、一度のログインで全てのサービスを利用できるようにする仕組みです。便利な反面、セキュリティリスクも伴います。本記事では、SSO認証とは何か、どのような種類があるのか、そしてセキュリティ面で気を付けるべきポイントについて詳しく解説していきます。 

SSO(シングルサインオン)認証とは

通常、SNSやWebサービス、クラウドサービスなどを利用する際には、個別にID・パスワードを用意しログインの度に認証を受ける必要があります。
しかしSSO認証を導入することで、最初に1度ログインするだけで以降はすべてのアプリケーションにログインすることなく利用することが可能になります。また、1つのID・パスワードで複数のサービスにログインすることが可能となり、大量のID・パスワードの管理にかかるコストを低減させるとともに、利便性のためのパスワードの使いまわしによるアカウントリスト攻撃といったセキュリティリスクを減少させることができます。
テレワークやDXの浸透とともにクラウドサービスを利用する企業が増えています。それに伴いアカウント管理の手間を削減する手段として、シングルサインオンが注目を集めています。

img01

SSO認証の代表的な技術

SSO認証を実現するための技術にはいくつかの種類があります。ここでは代表的な技術であるSAMLとOIDCについて紹介します。 

SAML(Security Assertion Markup Language) 
SAMLは、XMLベースの標準規格で、主に企業向けの環境で使用されます。SAMLを利用すると、アイデンティティプロバイダー(IdP)が認証情報を管理し、サービスプロバイダー(SP)に対して認証情報を提供することで、SSO認証を実現します。攻撃例や気を付けるポイントは次の項目で詳細を説明します。

OIDC(Open ID Connect)
OIDCはSSO認証を実現するための仕組みで、OAuth 2.0を認証で使用できるように拡張したプロトコルです。利用者はOIDC提供プロバイダーに登録したID情報を使って、他のOIDC対応サイトにログインすることが可能になります。

SAML認証の仕組み

SAMLは、アイデンティティプロバイダー(IdP)とサービスプロバイダー(SP)の間で認証情報を交換する仕組みです。具体的には、ユーザーがIdPで認証を行うと、IdPは認証結果や権限情報などが含まれたSAMLアサーションを生成し、これをSPに送信します。SPはこのアサーションを受け取り、ユーザーを認証します。 
SAMLは、SPを起点とするかIdPを起点とするかによって、2パターンに分けられます。

①SPを起点とする場合

img02

②IdPを起点とする場合

img03

SAMLのセキュリティのポイント 

SAMLを使用する際には、いくつかのセキュリティリスクがあります。ここでは、代表的な攻撃例を紹介します。アイデンティティプロバイダー(IdP)とサービスプロバイダー(SP)ではこれらの攻撃を受けないように実装を行う必要があります。

・SAMLインジェクション 
SAMLアサーションには通常署名が付与されており、これを検証することで改ざんされていないことを確認しています。この署名の検証を回避することで任意のSAMLアサーションを挿入し、認証情報を改ざんする攻撃です。これにより、攻撃者が不正に認証されたユーザーとしてシステムにアクセスできる可能性があります。 

・リプレイ攻撃 
有効なSAMLアサーションを繰り返し使用して、同じ認証情報を再利用する攻撃です。通信経路上などで有効なSAMLアサーションを窃取した攻撃者が再度使用することで、 第三者に成りすますことが可能となります。 

img04・XXE (XML External Entity) 攻撃
XXEはXMLデータの入力を受け取るアプリケーションに存在する、XMLパーサの脆弱性です。XMLには、サーバ内部/外部のリソースを読み込むための構文が存在しています。この機能を悪用することで、本来アクセスすることのできないファイルやサーバの情報を取得することが可能です。
SAMLアサーションではXMLが利用されており、SAMLを使用する場合にはXXE攻撃にも注意が必要です。

ユーザ側で気を付けるべきポイント 
SAMLを利用するユーザ側で気を付けるべきポイントは以下の通りです。 

・認証情報の適切な管理 
ユーザーは、自分の認証情報を適切に管理し、他人と共有しないようにする必要があります。また、強力なパスワードを使用し、定期的に変更することが推奨されます。 

・正規のアイデンティティプロバイダーを使用 
信頼できる正規のアイデンティティプロバイダーを使用することが重要です。不正なアイデンティティプロバイダーを使用すると、認証情報が盗まれるリスクがあります。 

・セッション管理の強化 
セッションタイムアウトを適切に設定し、長時間の無操作状態が続いた場合には自動的にログアウトするように設定することが重要です。また、重要な操作を行う際には、再認証を求めることが有効です。 

まとめ

SSO認証は、多くのシステムやアプリケーションへのアクセスを簡便にする非常に便利な仕組みですが、それと同時に適切なセキュリティ対策が不可欠です。SAMLやOIDCなどの技術を理解し、セキュリティリスクを認識することで、安全にSSO認証を利用することができます。クライアント側でも、認証情報の管理や正規のプロバイダーの使用、セッション管理の強化など、基本的なセキュリティ対策を徹底することが重要です。これらのポイントを押さえ、安心してSSO認証を活用しましょう。 
ユービーセキュアでは、SAMLやOIDCを使用したSSO認証に特化した診断も行っております。
少しでも気になることがございましたら、お気軽にご相談ください。

 

お問い合わせ