メニュー

シングル・サインオンとフェデレーション:認証システムの基礎知識7

認証システムの基礎知識

更新日:2020年3月18日(初回投稿)
著者:アルテア・セキュリティ・コンサルティング 代表 二木 真明

前回は、主要な認証方式と組み合わせて使う補完的な認証方式について解説しました。今回は、1回の認証で複数のシステムへのアクセスを可能とするシングル・サインオンと、管理運営主体の異なるサービス間でIDや認証の相互連携を行うフェデレーションについて解説します。

今すぐ、技術資料をダウンロードする!(ログイン)

1. シングル・サインオンとその仕組み

企業などの組織では、さまざまなシステムが稼働しています。これらは、全てが同時に稼働し始めたものではなく、後に必要に応じて追加されたものも少なくありません。重要な情報を扱う企業システムでは、確実なID管理や認証とアクセス制御が必要なのは当然のことです。しかし、これらの仕組みをシステムごとに実装していては管理が繁雑化する上、システムごとにログインが必要になるなど、使う側にとっても不便が生じます。とりわけ近年、ビジネス環境の変化が激しくなるにつれ、情報システムは環境への迅速な対応を迫られており、新たなシステムの追加や変更が頻繁に行われるようになっています。このような状況で、ID管理や認証を個別に行っていたのでは、システムの運用が成り立たなくなってしまいます。

こうした問題を解決するための方策が、シングル・サインオンによるID管理と認証の一本化です。シングル・サインオン環境では、利用者は認証を1回受けるだけで、自由にシステム間を移動できます。システムは、それ自身が認証やID管理を行うのではなく、シングル・サインオンを提供する認証システムと連携して、ユーザーのアクセスを許可します。シングル・サインオンの流れを、図1に示します。

図1:シングル・サインオンの流れ

図1:シングル・サインオンの流れ

ユーザーが各システムにアクセスすると、システムはユーザーをいったん認証システムに送り、そこで認証を受けさせます。認証が完了すると、ユーザーは認証済みとしてシステムに戻され、システムではそのIDに決められた権限を与え、アクセスを許可します。認証システムは、送られたユーザーが認証済みかどうかを判断し、認証済みでなければ改めて認証画面を表示し、認証を受けさせます。このような仕組みにより、ユーザーはログアウトするか、一定時間を経過するまで、複数のシステムを自由に行き来できることになります。

旧来のクライアント・サーバ型のシステムでは、こうしたシングル・サインオンの実現には、使用する認証システム製品(シングル・サインオン製品)に固有のプラグインなどが必要となり、製品への依存が強くなりがちでした。一方、近年主流となっているWebアプリケーション主体のシステムでは、こうしたシングル・サインオンのための認証情報連携の方法が、SAML(Security Assertion Markup Language)のようなかたちで標準化されています。このため、さまざまな製品間で互換性があるほか、オープンソースのツールを使用したシングル・サインオン環境の構築も、比較的容易に行えます。

このシングル・サインオンにおいて重要なのが、認証機能(サービス)の堅固さと、認証情報を受け渡す際のデータの安全性です。シングル・サインオンでは、1回の認証で全システムへのアクセスが可能となるため、万一この認証が破られるようなことがあれば、全システムが危険にさらされてしまいます。これは、シングル・サインオンの大きなデメリットのひとつとして、よく語られる問題です。しかし、この指摘は必ずしも正しいわけではありません。重要なシステムが複数あり、それぞれに強固な認証を構築するコストと、認証を統合してそれを強固にするコストでは、多くの場合、後者の方が低くなります。逆の言い方をすれば、認証の強化に、より多くのコストをかけられることになります。十分に強固な多要素認証などの認証方式と、高いセキュリティが確保されたシングル・サインオン環境の組み合わせは、利便性と安全性を両立させるのに適した手段でもあるのです。

こうしたシングル・サインオンは、クラウドサービスにも拡張することができます。例えば、自社システムの認証ポータルで1回認証を受ければ、社内システムだけでなく、クラウド事業者から提供される契約済みサービスも、追加認証なしで利用できるようになります。多くのビジネス向けクラウドサービス(主にアプリケーションを提供するSaaS: Software as a Service)では、SAMLや後述するOpenID Connectといった標準的な方式での認証・ID連携をサポートしています。こうした方式をサポートする認証システムであれば、クラウドサービスに対しても、社内システム同様のシングル・サインオンを実現できるのです。

認証システムは、認証済みであることを証明するためのアサーション(少量のデータに電子署名したもの)を、利用者のWebブラウザに返します。利用者側のブラウザは、サービスへのリクエストにこのアサーションを添付することで、認証済みであることをサービスに示します。サービス側は、あらかじめ登録してある認証システムの公開鍵(証明書)を使用して電子署名を検証し、アサーションが正当なものであることを確認します。この仕組みは前述のように標準化されており、自社システム、クラウドサービスを問わず使用できます(図2)。

図2:クラウドとの認証連携

図2:クラウドとの認証連携

2. ID・認証連携(フェデレーション)とクラウド

保管用PDFに掲載中。ぜひ、下記よりダウンロードして、ご覧ください。

  • セミナー3月
  • カタログバナー
  • 販促_無料出展

ピックアップ記事

tags

  • 特集バナー0323_01
  • 特集バナー0323_02
  • 特集バナー0323_03
  • 特集バナー0323_04
  • 特集バナー0323_05
  • 特集バナー0316_01
  • 特集バナー0316_02
  • 特集バナー0316_03
  • 特集バナー0316_04
  • 基礎知識一覧