以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付し、その繰り返しの説明は省略する。以下、シングルサインオンをSSOと略す場合がある。サービスプロバイダをSPと略す場合がある。アイデンティティプロバイダをIdPと略す場合がある。
(実施の形態1)
図1〜図3を用いて、本発明の実施の形態1の認証システムについて説明する。
[認証システム]
図1は、実施の形態1の認証システムの構成を示す。実施の形態1の認証システムは、複数のユーザ端末1と、SPサーバ2と、IdPサーバ3とがネットワーク40に接続される構成である。
ユーザ端末1は、ネットワーク40上のサービスとして、SPサーバ2により提供されるサービスを利用する。その際、ユーザ端末1は、SPサーバ2及びIdPサーバ3と、SSOに関する通信を行う。SPサーバ2及びIdPサーバ3は、ユーザ端末1に関するSSOの認証を行う。以下、この認証を、SSO認証と称する場合がある。SSO認証における認証情報は、SAMLの形式で記述され、HTTPの通信で授受される。
ネットワーク40は、LANやインターネット等の通信網である。ユーザ端末1とSPサーバ2との間、及びユーザ端末1とIdPサーバ3との間は、TCP/IP、HTTP等のプロトコルに基づいて通信が行われる。SPサーバ2とIdPサーバ3は、SSOに関する連係として、直接的な通信ではなく、ユーザ端末1のリダイレクトを介した間接的な通信を行う。
なお、ネットワーク40は、複数のネットワークの接続により構成されてもよい。例えば、ネットワーク40は、ユーザ端末1を含むLAN、SPサーバ2を含むLAN、IdPサーバ3を含むLAN、等の接続により構成されてもよい。
複数のユーザとして、ユーザ9a,9b等がいる。複数のユーザは、ネットワーク40を利用する社員等である。ユーザには、予め、SSO認証用の認証情報としてアカウントが割り当てられる。例えば、ユーザ9aのアカウントをA1、ユーザ9bのアカウントをA2、等とする。
ユーザ端末1は、SSOのサービス利用者である。ユーザ端末1は、ユーザが使用するPCやスマートフォン等の各種の端末装置である。複数のユーザ端末1として、ユーザ9aのユーザ端末1a、ユーザ9bのユーザ端末1b、等がある。ユーザ端末1は、プロセッサ、メモリ、通信インタフェース装置、入力装置、表示装置、等のハードウェアを備え、OS、Webブラウザ等のソフトウェアを備える。ユーザ端末1は、通信のためのMACアドレスを有する。ユーザ端末1aのMACアドレスをMa、ユーザ端末1bのMACアドレスをMb、等とする。
SPサーバ2は、SSOのサービスプロバイダであるサーバ装置である。SPサーバ2は、SPサービス21、Webコンテンツ22、情報保持サービス23、及び情報保持部24を有する。情報保持部24には、SSO前情報25が格納される。SPサーバ2は、プロセッサ、メモリ、通信インタフェース装置等のハードウェアを備え、当該ハードウェアに基づいてソフトウェア処理により実現されるサービスとして、SPサービス21及び情報保持サービス23を有する。
SPサービス21のサービスは、第1に、IdPサービス31に対するSSO認証クライアントとしてのサービスである。SPサービス21は、ユーザ端末1のSSO認証のために、ユーザ端末1のリダイレクトを介して、IdPサービス31と連係する。
SPサービス21のサービスは、第2に、ユーザ端末1に対してWebコンテンツ22を提供するサービスである。このサービスは、Webコンテンツ22の検索を含む。SPサービス21は、Webコンテンツ22を管理する。
なお、Webコンテンツ22は、SPサーバ2の内部に限らず、SPサーバ2の外部に存在してもよい。例えば、ネットワーク40上のWebサーバにWebコンテンツ22が保持されてもよい。
実施の形態1では、SPサーバ2は、情報保持サービス23を有し、SPサービス21と情報保持サービス23が連係する。情報保持サービス23は、情報保持部24にSSO前情報25を管理する。情報保持部24は、メモリ、ストレージ、またはDB等の記憶手段により構成される。
SSO前情報25は、SSOの前後での状況を継続して把握可能とするための情報である。SSO前情報25は、ユーザ端末1のSSO認証の前における、ユーザ端末1とSPサーバ2との通信セッション情報である。特に、SSO前情報25は、ユーザ端末1からのSPサーバ2へのHTTP要求における、GETまたはPOSTメソッドのパラメータ値である。実施の形態1では、SSO前情報25は、HTTP要求のパラメータ値に格納された、Webコンテンツ22に関する検索キー情報を含む。
SPサーバ2は、所定のIPアドレスを持ち、当該IPアドレスに関係付けられたURL「URL2」を公開する。SPサーバ2は、当該URLにより外部からのアクセスを受け付ける。ユーザ端末1は、「URL2」を宛先としてSPサーバ2へアクセスする。
IdPサーバ3は、SSOのアイデンティティプロバイダであるサーバ装置である。IdPサーバ3は、IdPサービス31、及びSSO認証DB32を有する。IdPサーバ3は、プロセッサ、メモリ、通信インタフェース装置等のハードウェアを備え、当該ハードウェアに基づいてソフトウェア処理により実現されるサービスとして、IdPサービス31を提供する。IdPサービス31は、ユーザ端末1からのSSOのアクセスに対し、SSO認証DB32を参照してSSO認証を行う。
SSO認証DB32は、SSO認証用の認証情報33が登録及び管理されるデータベースである。例えば、管理者90は、予め、SSO認証DB32に認証情報33を設定する。図1のSSO認証DB32は、初期設定として、認証情報33に、正規の複数のユーザのアカウントとして、アカウントA1,A2等が設定されている。
IdPサーバ3は、所定のIPアドレスを持ち、当該IPアドレスに関係付けられたURL「URL3」を公開する。IdPサーバ3は、当該URLにより外部からのアクセスを受け付ける。ユーザ端末1は、「URL3」を宛先としてIdPサーバ3へアクセスする。
[認証DB]
図2の(a)は、SSO認証DB32の構成例である表を示す。この表は、「認証情報」列を有する。「認証情報」列は、認証情報33と対応し、複数のユーザのアカウントが設定されている。アカウントは、例えばユーザIDとパスワードとの組合せにより構成される。本例では、第1行は、ユーザ9aのアカウントA1が設定されており、ユーザIDが「IDa」、パスワードが「PWa」である。
[SSO前情報]
図2の(b)は、情報保持部24に保持されるSSO前情報25の構成例である表を示す。この表は、列として、「日時」、「端末MACアドレス」、「HTTP要求パラメータ値」がある。「日時」列には、当該行のSSO前情報を保存した日時が格納される。「端末MACアドレス」列には、通信セッションにおけるユーザ端末1の識別情報及びアドレス情報として、MACアドレスが格納される。
「HTTP要求パラメータ値」列には、HTTP要求のGETまたはPOSTメソッドのパラメータ値が格納される。パラメータ値として、検索キー情報を「KEY」で示す。本例では、第1行のSSO前情報は、MACアドレス「Ma」を持つユーザ端末1aとの通信セッション情報であり、HTTP要求のパラメータ値の検索キー情報が「KEY1」であることを示す。
[通信処理シーケンス]
図3は、図1の実施の形態1の認証システムにおける、SSOの通信手順を含む、通信処理シーケンスを示す。S1等はステップを表す。概要として、通信手順201は、S1〜S6に対応し、SSO前情報25の保存を含む、SSO認証の前の通信手順を示す。通信手順202は、S7〜S15に対応し、SSO認証の主な通信手順を示す。通信手順203は、S16〜S20に対応し、SSO前情報25の取得を含む、SSO認証の後の通信手順を示す。以下、図2のステップS1〜S20について、例を用いて説明する。
(S1,S2) S1で、ユーザ9aは、SPサーバ2のSPサービス21によるサービスを利用する際、ユーザ端末1aからSPサーバ2へアクセスする操作を行う。操作に従い、ユーザ端末1aは、公開されている「URL2」を宛先としてSPサーバ2へアクセスする。ユーザ端末1aは、図示しないスイッチ等の機器を通じてネットワーク40に接続し、ネットワーク40を通じて、最初、SPサーバ2へアクセスする。ユーザ端末1aとSPサーバ2は、HTTPの通信を行う。ユーザ端末1aは、SPサーバ2へHTTP要求を送信する。本例では、このHTTP要求は、GETまたはPOSTメソッドのパラメータ値として、Webコンテンツ22に関する検索キー情報を含む。
(S3,S4) S3で、SPサーバ2のSPサービス21は、S2のユーザ端末1aからのHTTP要求によるSSOのアクセスを受ける。SPサーバ2は、当該アクセスを受けると、ユーザ端末1aがSSO認証前の未認証状態である場合、SSO認証を開始する前に、ユーザ端末1aとの通信セッション情報を、SSO前情報25として保存する。そのために、SPサーバ2は、S2のHTTP要求のパラメータ値を、保存対象のSSO前情報とし、情報保持サービス23と連係する。S4で、SPサービス21は、情報保持サービス23へ、保存の要求、及び保存対象のSSO前情報を送信する。
本例では、保存対象のSSO前情報は、HTTP要求における送信元のユーザ端末1aのMACアドレス「Ma」、及びHTTP要求のGETメソッドのパラメータ値である検索キー情報「KEY1」を含む。
(S5,S6) S5で、情報保持サービス23は、S4の要求、及び保存対象のSSO前情報を受け取る。情報保持サービス23は、受け取ったSSO前情報を、情報保持部24にSSO前情報25として保存し、以後、保持する。これにより、SSO前情報25として、図2の(b)の第1行の例のような情報が格納される。S6で、情報保持サービス23は、保存した旨の応答をSPサービス21へ送信する。
(S7,S8) S7で、SPサーバ2のSPサービス21は、S6の応答を受けて、SSO前情報25の保存済みを認識する。これにより、SPサービス21は、以降のSSO認証の通信手順を開始する。SPサービス21は、SSO認証のために、ユーザ端末1aをIdPサーバ3へリダイレクトさせる。その際、S7で、SPサービス21は、IdPサーバ2の「URL3」を含むリダイレクト指示を、ユーザ端末1aへ送信する。ユーザ端末1aは、S7の指示に従い、S8で、「URL3」を宛先としてIdPサーバ3へアクセスする。
なお、SPサーバ2では、S7のリダイレクトにより、最初にS3で受信していたHTTP要求のパラメータ値を含む通信セッション情報が失われる。しかしながら、それと同じ内容の情報がSSO前情報25として保持される。
(S9〜S12) S9で、IdPサーバ3は、S8のユーザ端末1aからのSSOのアクセスを受けると、ユーザ端末1aがSSO認証前であるため、SSO認証用のSSO認証ページをユーザ端末1aへ送信する。S10で、ユーザ端末1aは、受信したSSO認証ページによるSSO認証画面を表示する。SSO認証画面は、SSO認証用の認証情報の入力をユーザに促すメッセージ等の情報を含む。S11で、ユーザ9aは、SSO認証画面で、認証情報である自分のアカウントA1を入力する。S12で、ユーザ端末1aは、入力された認証情報、及びSSO認証要求を、IdPサーバ3へ送信する。
(S13〜S15) S13で、IdPサーバ3は、S12のユーザ端末1aからのSSO認証要求及び認証情報を受信すると、SSO認証DB32を参照してSSO認証を行う。IdPサーバ3は、ユーザ端末1から入力された認証情報が、SSO認証DB32に設定されている認証情報33の1つに一致する場合、SSO認証の結果を成功とし、不一致、すなわち設定されていない場合、結果を失敗とする。本例では、入力されたアカウントA1がSSO認証DB32に設定されているので、SSO認証の結果が成功となる。この時点で、ユーザ9aのユーザ端末1aは、SSO認証済み状態となる。
IdPサーバ3は、S13のSSO認証の結果が成功である場合、SSO認証の成功及びSSO認証済み状態を表す認証結果情報を、ユーザ端末1aへ提供し、ユーザ端末1aをSPサーバ2へリダイレクトさせる。その際、S14で、IdPサーバ3は、SPサーバ2の「URL2」を含むリダイレクト指示、及び認証結果情報を、ユーザ端末1aへ送信する。S15で、ユーザ端末1aは、S14の指示に従い、「URL2」を宛先としてSPサーバ2へアクセスし、認証結果情報を送信する。
(S16〜S19) S16で、SPサーバ2のSPサービス21は、S15のユーザ端末1aからのアクセスを受けて、認証結果情報を受信し、ユーザ端末1aのSSO認証の成功及びSSO認証済み状態を認識する。SPサービス21は、ユーザ端末1aのSSO認証の成功後、S17で、情報保持サービス23に、SSO前情報25の取得を要求する。この取得対象のSSO前情報25は、通信手順201でSSO認証前に保存しておいた情報である。情報保持サービス23は、S17の要求に対し、S18で、情報保持部24を参照し、要求されているSSO前情報25を読み出す。本例では、情報保持サービス23は、日時またはMACアドレスの情報をキーとして、図2の(b)の第1行の検索キー情報「KEY1」を含むSSO前情報25を読み出す。S19で、情報保持サービス23は、そのSSO前情報25及び応答を、SPサービス21へ送信する。
(S20) S20で、SPサービス21は、S19で取得したSSO前情報25の内容に応じたサービスをユーザ端末1aへ提供する。本例では、SPサービス21は、SSO前情報25の検索キー情報「KEY1」を用いてWebコンテンツ22を検索し、その検索結果情報を含むWebページを構成し、ユーザ端末1aへ送信する。ユーザ端末1aは、検索結果情報を含むWebページを受信し、Webページによる画面を表示する。これにより、ユーザ端末1aは、SSO認証後、すぐに、Webコンテンツ22の検索結果情報を得ることができる。
[効果等]
以上のように、実施の形態1の認証システムによれば、SSO前情報に応じたサービスを、ユーザ端末1へ提供することができる。実施の形態1の認証システムでは、ユーザ端末1のSSO認証の際、SPサーバ2は、リダイレクトにより失われるSSO前情報を、情報保持サービス23により保持しておく。SPサーバ2は、ユーザ端末1のSSO認証の成功後、SSO前情報を情報保持サービス23により取得する。これにより、SPサーバ2は、SSO前情報の内容に応じたサービス、すなわちSSO前のユーザ端末1の状況に応じたサービスを、ユーザ端末1へ提供することができる。
実施の形態1の変形例の認証システムとして以下が挙げられる。SPサーバ2が提供するサービスは、Webコンテンツ22の検索に限らず、他のサービスも可能である。
また、SSO認証DB32は、IdPサーバ3及びネットワーク40に接続される他の装置に保持されていてもよい。その場合、IdPサーバ3は、その装置のSSO認証DB32を参照してSSO認証を行う。
また、情報保持サービス23は、情報保持部24に保存したSSO前情報25を、保存の日時から所定の期間が経過するまで保持し、当該期間の経過後に削除してもよい。この場合、情報保持部24の容量が節約できる。
[変形例]
実施の形態1の変形例の認証システムとして以下としてもよい。この変形例では、情報保持サービス23は、SPサーバ2内ではなく、ユーザ端末1内にSSO前情報を保存する。情報保持サービス23は、保存対象のSSO前情報を、ユーザ端末1内に退避させる形で保持させる。
この変形例における通信手順の例は以下である。ユーザ9aは、ユーザ端末1aからSPサーバ2へアクセスする。SPサーバ2のSPサービス21は、ユーザ端末1aからのHTTP要求によるSSOのアクセスを受ける。SPサービス21は、HTTP要求に含まれるパラメータ値を取得する。SPサービス21は、SSO認証の前に、当該HTTP要求のパラメータ値を、SSO前情報として保存する。保存対象のSSO前情報は、例えば検索キー情報「KEY1」を含む。SPサービス21は、保存の要求、及び保存対象のSSO前情報を、情報保持サービス23へ送信する。情報保持サービス23は、SPサービス21からの保存の要求、及び保存対象のSSO前情報を受け取り、そのSSO前情報を、ユーザ端末1aへ送信し、ユーザ端末1a内に保存させる。情報保持サービス23は、SSO前情報を保存した旨の応答をSPサービス21へ送信する。
また、SPサービス21は、ユーザ端末1aのSSO認証の成功後、SSO前情報の取得を情報保持サービス23へ要求する。情報保持サービス23は、SPサービス21からの取得の要求に従い、ユーザ端末1aへアクセスし、SSO前情報を要求する。ユーザ端末1aは、要求されたSSO前情報を情報保持サービス23へ送信する。情報保持サービス23は、受信したSSO前情報を取得し、取得したSSO前情報及び応答をSPサービス21へ送信する。SPサービス21は、取得したSSO前情報の内容に応じたサービスをユーザ端末1aへ提供する。
(実施の形態2)
図4及び図5を用いて、本発明の実施の形態2の認証システムについて説明する。以下、実施の形態2の認証システムにおける実施の形態1とは異なる構成について説明する。
[認証システム]
図4は、実施の形態2の認証システムの構成を示す。実施の形態2の認証システムは、複数のユーザ端末1と、SPサーバ2と、情報保持サーバ4と、IdPサーバ3とが、ネットワーク40に接続される構成である。
実施の形態2では、SPサーバ2のSPサービス21と、情報保持サーバ4の情報保持サービス41とで分離されており、両者が連係する。SPサーバ2は、SPサービス21、及びWebコンテンツ22を有する。情報保持サーバ4は、情報保持サービス41、及び情報保持部42を有する。情報保持部42には、SSO前情報43が格納される。情報保持サーバ4は、IPアドレスに対応したURL「URL4」を有し、「URL4」を予め公開する。
[通信処理シーケンス]
図5は、図4の実施の形態2の認証システムにおける、SSOの通信手順を含む、通信処理シーケンスを示す。概要として、通信手順501は、S21〜S25に対応し、SSO前情報43の保存を含む、SSO前の通信手順を示す。通信手順502は、S26〜S35に対応し、SSO認証の主な通信手順を示す。通信手順503は、S36〜S39に対応し、SSO前情報43の取得を含む、SSO後の通信手順を示す。以下、図5のステップS21〜S39について、例を用いて説明する。
(S21,S22) S21で、ユーザ9aは、SPサーバ2のサービスを利用する際、ユーザ端末1aからSPサーバ2へアクセスする操作を行う。操作に従い、S22で、ユーザ端末1aは、SPサーバ2ではなく、「URL4」を宛先として情報保持サーバ4へアクセスする。実施の形態2では、ユーザ端末1は、最初に情報保持サーバ4へアクセスし、次にSPサービス21へアクセスする。S22のアクセスは、SSO前情報43の保存のためであり、HTTP要求によるアクセスである。S22のアクセスは、例えば以下の方式で実現される。予め、SPサーバ2の「URL2」に関係付けられた形で情報保持サーバ4の「URL4」が公開されている。ユーザ端末1は、「URL2」に関係付けられた「URL4」を取得する。ユーザ端末1aは、宛先として「URL2」が指定された場合、「URL4」を宛先としてアクセスする。
(S23〜S25) S23で、情報保持サーバ4の情報保持サービス41は、S22のユーザ端末1aからのアクセスを受ける。情報保持サービス41は、S22のユーザ端末1aとの通信セッション情報であるHTTP要求のパラメータ値を、情報保持部42にSSO前情報43として保存し、以後、保持する。本例では、保存されるSSO前情報43は、実施の形態1と同様に、ユーザ端末1aのMACアドレス「Ma」、及びWebコンテンツ22に関する検索キー情報「KEY1」を含む。
情報保持サービス41は、S23でSSO前情報43を保存した後、S24で、ユーザ端末1aをSPサーバ2へリダイレクトさせる。その際、情報保持サービス41は、SPサーバ2の「URL2」を含むリダイレクト指示、及びSSO前情報43の保存済みの旨の情報を、ユーザ端末1aへ送信する。S25で、ユーザ端末1aは、S24の指示に従い、S25で、「URL2」を宛先としてSPサーバ2へアクセスする。S25のアクセスは、HTTP要求によるアクセスであり、SSO前情報43の保存済みの旨の情報を含む。実施の形態2では、SPサーバ2と情報保持サーバ4は、ユーザ端末1のリダイレクトを介して連係する。
(S26〜S33) S26で、SPサーバ2のSPサービス21は、S25のユーザ端末1aからのアクセスを受け、受信した情報から、SSO前情報43の保存済みの状態を認識する。これにより、SPサービス21は、以降のSSO認証の主な通信手順を開始する。S26〜S33の通信手順は、実施の形態1の図3のS7〜S13の通信手順と同様である。
(S34,S35) S34で、IdPサーバ3は、S33のSSO認証の結果が成功である場合、SSO認証の成功及びSSO認証済み状態を表す認証結果情報を、ユーザ端末1aへ提供し、ユーザ端末1aをSPサーバ2へリダイレクトさせる。ここで、実施の形態2では、IdPサーバ3は、ユーザ端末1aをSPサーバ2へリダイレクトさせる前に、情報保持サーバ4へリダイレクトさせる。その際、S34で、IdPサーバ3は、「URL4」を含むリダイレクト指示、及び認証結果情報を、ユーザ端末1aへ送信する。ユーザ端末1aは、S34の指示に従い、S35で、「URL4」を宛先として情報保持サーバ4へアクセスする。
(S36〜S38) S36で、情報保持サーバ4の情報保持サービス41は、S35のユーザ端末1aからのアクセスを受ける。情報保持サービス41は、情報保持部42を参照し、日時やユーザ端末1aのMACアドレス「Ma」をキーとして、SSO前情報43を読み出す。このSSO前情報43は、通信手順501でSSO認証前に保存しておいた情報である。S37で、情報保持サービス41は、そのSSO前情報43をユーザ端末1aへ提供し、ユーザ端末1aをSPサーバ2へリダイレクトさせる。その際、情報保持サービス41は、「URL2」を含むリダイレクト指示、及びSSO前情報43を、ユーザ端末1aへ送信する。ユーザ端末1aは、S37の指示を受信すると、S38で、「URL2」を宛先としてSPサーバ2へアクセスし、認証結果情報及びSSO前情報43を送信する。なお、これらの認証結果情報及びSSO前情報43は、例えばHTTP要求のパラメータ値に格納された形で送信される。
(S39) S39で、SPサーバ2のSPサービス21は、S38のユーザ端末1aからのアクセスを受け、ユーザ端末1aから認証結果情報及びSSO前情報43を受信する。SPサービス21は、認証結果情報から、ユーザ端末1aのSSO認証の成功及びSSO認証済み状態を認識する。SPサービス21は、取得したSSO前情報43に応じたサービスとして、Webコンテンツ22の検索結果情報を、ユーザ端末1aへ提供する。
[効果等]
以上のように、実施の形態2の認証システムによれば、実施の形態1と同様の効果が得られる。
実施の形態2の変形例として、以下としてもよい。図5の通信処理シーケンスにおいて、通信手順501は、実施の形態1の図3の通信手順201と同様としてもよい。また、通信手順503は、実施の形態1の図3の通信手順203と同様としてもよい。すなわち、ユーザ端末1は、先にSPサーバ2へアクセスし、次にSPサーバ2から情報保持サーバ4へアクセスしてもよい。
(実施の形態3)
図6〜図10を用いて、本発明の実施の形態3の認証システムについて説明する。実施の形態3の認証システムは、SSO前情報の保存や取得、SSO前情報に応じたサービスの提供、等の基本的な仕組みについては、実施の形態1と同様である。実施の形態3の認証システムでは、認証として、SSO認証と、RADIUS認証とを有する。実施の形態3では、ユーザ端末1がネットワーク40へログインする際に、SSO認証及びRADIUS認証が行われる。
[認証システム]
図6は、実施の形態3の認証システムの構成を示す。実施の形態3の認証システムは、複数のユーザ端末1、複数の認証スイッチ6、認証サーバ7、SPサーバ2、IdPサーバ3、及びアカウント管理サーバ8がネットワーク40に接続される構成である。
ネットワーク40上、認証スイッチ6、SPサーバ2、IdPサーバ3、認証サーバ7、アカウント管理サーバ8等の装置間では、TCP/IP、HTTP等のプロトコルで通信が行われる。なお、ネットワーク40は、認証スイッチ6を含むLAN、SPサーバ2を含むLAN、等の接続により構成されてもよい。
ユーザ端末1と認証スイッチ6は、所定の通信インタフェース、例えばイーサネット(登録商標)で接続される。この接続は、有線接続でもよいし、無線接続でもよい。無線接続の場合、以下である。ネットワーク40は、無線LANを含む。認証スイッチ6には、無線LANアクセスポイント装置が接続される。ユーザ端末1は、無線通信機能を持つ携帯端末であり、無線LANアクセスポイント装置との無線接続を通じて、認証スイッチ6に接続する。あるいは、認証スイッチ6は、無線LANアクセスポイント機能を備えてもよい。
ユーザ端末1は、ネットワーク40へログインしてサービスを利用する際、認証スイッチ6へアクセスし、認証スイッチ6との接続を通じてネットワーク40に接続する。ユーザ端末1は、SSO認証のために、認証スイッチ6を通じてSPサーバ2やIdPサーバ3へアクセスする。SPサーバ2とIdPサーバ3は、実施の形態1と同様に、ユーザ端末1のリダイレクトを介して、SSO認証のために連係する。ユーザ端末1からネットワーク40上のSPサーバ2やIdPサーバ3へアクセスする際には、必ず認証スイッチ6を通じたアクセスである。
認証スイッチ6は、レイヤ2及びレイヤ3のスイッチ機能を備えると共に、認証サーバ7との連係での通信に基づいてRADIUS認証を行う機能を備える認証機器である。認証スイッチ6は、ネットワーク40のエッジに接続されるノードであり、ユーザ端末1をネットワーク40へ接続する。ネットワーク40に接続される複数の認証スイッチ6として、認証スイッチ6a,6b等がある。
認証スイッチ6は、RADIUS認証クライアントであり、認証サーバ7は、RADIUS認証サーバである。ユーザ端末1がネットワーク40へログインする際、認証スイッチ6と認証サーバ7との間では、RADIUSプロトコルに基づいたクライアントサーバ通信により、RADIUS認証の処理が行われる。認証スイッチ6は、RADIUS認証の成功に応じて、ユーザ端末1がネットワーク40へログインすることを許可する。
また、認証スイッチ6は、MACアドレスを用いた接続制限を行う機能を有する。接続制限は、ユーザ端末1がネットワーク40へ接続することに関する制限及び制御である。認証スイッチ6は、RADIUS認証の結果に応じて、接続制限を行う。
認証スイッチ6は、IPアドレス及び当該IPアドレスに関係付けられたURLを有する。このURLは、RADIUS認証用のURLとして予め公開される。ユーザ端末1は、当該URLを宛先として認証スイッチ6へアクセスする。認証スイッチ6aのIPアドレスをIPa、認証スイッチ6bのIPアドレスをIPb、等とする。
認証サーバ7は、RADIUS認証を行う機能を備えるサーバ装置である。認証サーバ7は、DB52を保持する。DB52は、RADIUS認証用の認証情報を格納するRADIUS認証DBである。DB52には、RADIUS認証用の認証情報として、正規の複数のユーザの認証情報が登録されている。この認証情報は、例えば、ユーザID及びパスワードの組合せによるアカウントである。なお、RADIUS認証用の認証情報は、SSO認証用の認証情報とは別の情報である。認証サーバ7は、認証スイッチ6からの認証要求に対し、DB52を参照してRADIUS認証を行い、RADIUS認証の結果を表す認証応答を認証スイッチ6へ送信する。
認証サーバ7は、所定のIPアドレスを有し、当該IPアドレスに関係付けられたURL「URL7」を公開する。各認証スイッチ6は、「URL7」を宛先として認証サーバ7へアクセスする。
SPサーバ2は、実施の形態1と同様のサービスプロバイダサーバである。SPサーバ2は、SPサービス71、管理情報72、情報保持サービス73、及び情報保持部74を有する。情報保持部74にはSSO前情報75が格納される。
実施の形態3では、SPサーバ2のSPサービス71は、以下のサービスを提供する。SPサービス71のサービスは、第1に、IdPサービス81に対するSSO認証クライアントとしてのサービスである。
SPサービス71のサービスは、第2に、ユーザ端末1のSSO認証の成功後に、認証スイッチ6及び認証サーバ7でのRADIUS認証を必ず成功させる情報を提供するサービスである。この情報を、説明上、認証成功情報と称する。認証成功情報は、RADIUS認証用の認証情報として特定のパラメータ値を含む情報である。特定のパラメータ値は、認証サーバ7でのRADIUS認証を必ず成功させるパラメータ値である。認証成功情報は、SSO前にユーザ端末1がアクセスしていた認証スイッチ6でのRADIUS認証を成功させる情報である。認証成功情報は、その認証スイッチ6でのRADIUS認証の形式を含む、その認証スイッチ6の種類に応じた情報である。
SPサービス71は、サービスの提供のために、管理情報72を管理する。管理情報72には、複数の認証スイッチ6における認証スイッチ6の種類に応じた認証成功情報が格納されている。
情報保持サービス73は、情報保持部74に、SSO前情報75を保持する。実施の形態3では、SSO前情報75は、認証スイッチ6を通じたユーザ端末1とSPサーバ2との通信セッション情報におけるHTTP要求のパラメータ値を含む。SSO前情報75は、HTTP要求のパラメータ値に格納される、認証スイッチ6のIPアドレス及び種類の情報を含む。
IdPサーバ3は、実施の形態1と同様にアイデンティティプロバイダサーバである。IdPサーバ3は、SSO認証を行うIdPサービス81を有する。実施の形態3では、SSO認証用の認証情報は、アカウント管理サーバ8のDB51に管理されている。IdPサーバ3は、SSO認証の際、アカウント管理サーバ8との連係の通信に基づいて、SSO認証を行う。
IdPサービス81は、SPサーバ2からのリダイレクトによる、ユーザ端末1からのSSOのアクセスを受ける。IdPサービス81は、SSO認証ページをユーザ端末1へ提供し、ユーザ端末1から入力されたSSO認証用の認証情報を受信する。IdPサービス81は、アカウント管理サーバ8へアクセスし、そのDB51の認証情報を参照し、SSO認証を行う。IdPサービス81は、SSO認証の認証結果情報を、ユーザ端末1へ提供し、ユーザ端末1をSPサーバ2へリダイレクトさせる。
アカウント管理サーバ8は、アカウント管理機能を備えるサーバ装置であり、DB51を保持する。アカウント管理機能は、複数のユーザのアカウントを含む情報を一元管理する機能である。DB51は、SSO認証用の認証情報を格納するSSO認証DBである。DB51には、認証情報であるアカウントとして、正規の複数のユーザのアカウントが設定されている。アカウント管理サーバ8は、Active Directory、Open LDAP(Lightweight Directory Access Protocol)、等の技術を用いて構成可能である。
アカウント管理サーバ8は、管理者を含む外部に対するインタフェースとして設定画面を提供する。管理者は、端末からアカウント管理サーバ8へアクセスし、設定画面を表示する。設定画面は、DB51の認証情報の内容を表示する。管理者は、設定画面で、認証情報の設定や確認が可能である。例えば、管理者は、予め初期設定として、DB51にアカウントA1,A2等を設定する。
アカウント管理サーバ8は、所定のIPアドレスを持ち、当該IPアドレスに関係付けられたURL「URL8」を公開する。IdPサーバ3は、「URL8」を宛先としてアカウント管理サーバ8へアクセスする。
SSO認証とRADIUS認証とにおける基本的な制御の順序としては、まず、ユーザ端末1、SPサーバ2、及びIdPサーバ3間の通信に基づいて、SSO認証が行われる。この際、ユーザは、SSO認証画面でSSO認証用の認証情報を入力する操作を行う。SSO認証の成功後、次に、ユーザ端末1、認証スイッチ6、及び認証サーバ7間の通信に基づいて、RADIUS認証が行われる。SPサーバ2は、SPサービス71として、当該RADIUS認証を成功させる。この際、ユーザは、RADIUS認証画面でRADIUS認証用の認証情報を入力する操作が不要であり、すぐにネットワーク40へログインできる。
[認証スイッチ、認証サーバ、SPサーバ]
図7は、実施の形態3における認証スイッチ6、認証サーバ7、及びSPサーバ2の詳しい構成を示す。
認証スイッチ6は、プロセッサ、メモリ、通信インタフェース装置等のハードウェアを備え、当該ハードウェアに基づいてソフトウェア処理またはハードウェア処理により実現される処理部として、RADIUS認証クライアント部61、接続制限部62、及びSSOリダイレクト部63を有する。
RADIUS認証クライアント部61は、RADIUS認証クライアントとしての処理を行う。RADIUS認証クライアント部61は、認証サーバ7のRADIUS認証サーバ部701と通信し、RADIUS認証の処理を行う。RADIUS認証クライアント部61は、ユーザ端末1からのアクセスに対し、RADIUS認証ページをユーザ端末1へ提供し、RADIUS認証ページによるRADIUS認証画面を表示させる。RADIUS認証クライアント部61は、ユーザ端末1からRADIUS認証画面で入力された認証情報を受け取る。RADIUS認証クライアント部61は、認証要求及び認証情報を、RADIUS認証サーバ部701へ送信し、RADIUS認証サーバ部701から認証応答を受信する。
また、RADIUS認証クライアント部61は、ユーザ端末1から認証情報として認証成功情報77を受信した場合、認証要求及び認証成功情報77を、RADIUS認証サーバ部701へ送信する。RADIUS認証クライアント部61は、認証応答から、RADIUS認証が成功である場合、ユーザ端末1がネットワーク40へ接続することを許可する。
接続制限部62は、接続制限の管理のためのリスト64を保持する。リスト64は、接続許可MACアドレスリスト表である。接続制限部62は、RADIUS認証が成功の場合、ユーザ端末1によるネットワーク40への接続を許可するため、リスト64において、ユーザ端末1のMACアドレスを接続許可MACアドレスとして登録する。接続制限部62は、ユーザ端末1によるネットワーク40への接続を不許可にする場合、リスト64において、ユーザ端末1の接続許可MACアドレスを削除する。
SSOリダイレクト部63は、ユーザ端末1からのアクセスを受けた場合、ユーザ端末1がSSO認証前の状態である場合、当該ユーザ端末1のSSO認証、及びSSO前情報の保存のために、ユーザ端末1をSPサーバ2へリダイレクトさせる。SSOリダイレクト部63は、SPサーバ2のURLを含むリダイレクト指示をユーザ端末1へ送信する。
更に、SSOリダイレクト部63は、SSO前情報の保存に係わる機能を有する。SSOリダイレクト部63は、ユーザ端末1をSPサーバ2へリダイレクトさせる際、HTTP要求のパラメータ値に、自身のIPアドレス及び種類を含む情報を書き込む。このIPアドレスは、SSO前にユーザ端末1がアクセスしていた認証スイッチ6を示す。この種類は、認証スイッチ6でのRADIUS認証の形式を含む種類を示す。
認証サーバ7は、プロセッサ、メモリ、通信インタフェース装置等のハードウェアを備え、当該ハードウェアに基づいてソフトウェア処理またはハードウェア処理により実現される処理部として、RADIUS認証サーバ部701を有する。
RADIUS認証サーバ部701は、認証スイッチ6のRADIUS認証クライアント部61からの認証要求及び認証情報を受信する。RADIUS認証サーバ部701は、DB52に設定されているRADIUS認証情報702を参照して、RADIUS認証を行う。RADIUS認証サーバ部701は、ユーザ端末1からの認証情報と、DB52のRADIUS認証情報702に登録されている認証情報とが一致する場合、RADIUS認証の結果を成功とし、不一致である場合、失敗とする。
また、RADIUS認証サーバ部701は、RADIUS認証クライアント部61から、認証情報として、認証成功情報77に基づいた特定のパラメータ値を受け取った場合、RADIUS認証の結果を成功とする。RADIUS認証サーバ部701は、RADIUS認証の結果を表す認証応答を、RADIUS認証クライアント部61へ送信する。
SPサーバ2は、SPサービス71において、SSOリダイレクト部71Aと、情報提供部71Bとを有する。管理情報72は、認証成功情報77を含む。
SSOリダイレクト部71Aは、ユーザ端末1からSSOのアクセスを受けた場合、ユーザ端末1がSSO認証前の状態である場合には、情報保持サービス73へSSO前情報の保存を要求する。その際、SSOリダイレクト部71Aは、ユーザ端末1からのHTTP要求のパラメータ値に書き込まれている、認証スイッチ6のIPアドレス及び種類を含む情報を、保存対象のSSO前情報とする。
SSOリダイレクト部71Aは、SSO前情報75の保存後、SSO認証のために、ユーザ端末1をIdPサーバ3へリダイレクトさせる。SSOリダイレクト部71Aは、IdPサーバ3のURLを含むリダイレクト指示をユーザ端末1へ送信する。
情報保持サービス73は、SSOリダイレクト部71Aから、保存の要求を受信した場合、保存対象のSSO前情報を、情報保持部74にSSO前情報75として保存する。情報保持サービス73は、SSO前情報75の保存後、SPサービス71へ応答を送信する。また、情報保持サービス73は、情報提供部71Bから、取得の要求を受信した場合、取得対象のSSO前情報75を情報保持部74から読み出し、情報提供部71BへSSO前情報75及び応答を送信する。
情報提供部71Bは、IdPサーバ3からのリダイレクトによる、ユーザ端末1からのSSOのアクセスを受ける。情報提供部71Bは、認証結果情報から、ユーザ端末1のSSO認証が成功である場合、情報保持サービス73に要求して、SSO前情報75を取得する。情報提供部71Bは、取得したSSO前情報75から、SSO認証前にユーザ端末1がアクセスしていた認証スイッチ6のIPアドレス及び種類を認識できる。
情報提供部71Bは、取得したSSO前情報75に基づいて、管理情報72を参照し、RADIUS認証を成功させる対象の認証スイッチ6に関係付けられた認証成功情報77を読み出す。この認証成功情報77は、SSO認証前にユーザ端末1がアクセスしていた認証スイッチ6及びその種類に応じた認証成功情報77である。情報提供部71Bは、読み出した認証成功情報77及び認証スイッチIPアドレスを含む情報を、ユーザ端末1へ送信する。
[SSO前情報]
図8の(a)は、実施の形態3におけるSSO前情報75の構成例である表を示す。この表は、列として、「日時」、「認証スイッチIPアドレス」、「認証スイッチ種類」がある。「日時」列には、当該行のSSO前情報75を保存した日時が格納される。「認証スイッチIPアドレス」列には、通信セッションの相手のユーザ端末1がアクセスした認証スイッチ6の識別情報及びアドレス情報として、IPアドレスが格納される。「認証スイッチ種類」列には、認証スイッチ6の種類を表す情報が格納される。
本例では、第1行のSSO前情報75は、IPアドレス「IPa」を持つ認証スイッチ6aを通じたユーザ端末1aとのセッション情報であり、認証スイッチ6aの種類が「Ka」であることを示す。
[管理情報]
図8の(b)は、管理情報72の構成例である表を示す。この表は、列として、「認証スイッチIPアドレス」、「種類」、「RADIUS認証パラメータ形式」、「認証成功情報」がある。「認証スイッチIPアドレス」列には、ネットワーク40に接続される複数の各々の認証スイッチ6の識別情報及びアドレス情報として、IPアドレスが格納されている。「種類」列には、複数の各々の認証スイッチ6の種類を表す情報が格納されている。「種類」は、認証スイッチ6のメーカや型式、認証方式、受け付けるコマンド、等の違いに応じた種類である。「RADIUS認証パラメータ形式」列には、「種類」のうちの1つの情報として、認証スイッチ6でのRADIUS認証で受け付ける認証情報のパラメータの形式を表す情報が格納されている。「認証成功情報」列には、認証スイッチ6の種類に応じた認証成功情報77が格納されている。
本例では、第1行は、IPアドレス「IPa」を持つ認証スイッチ6aに関する情報であり、種類が「Ka」であり、認証成功情報が「Na」である。種類「Ka」に対応したRADIUS認証用のパラメータの形式は、ユーザIDが[id]であり、パスワードが[pw]である。認証成功情報「Na」は、認証スイッチ6a及び認証サーバ7でのRADIUS認証を成功させる情報である。認証成功情報「Na」において、RADIUS認証用のパラメータ値は、[id]=“success_user”、[pw]=“success_pass”である。このパラメータ値は、認証サーバ7でのRADIUS認証の結果を成功にさせる特定のパラメータ値である。
同様に、第2行は、IPアドレス「IPb」を持つ認証スイッチ6bに関する情報であり、種類が「Kb」であり、認証成功情報が「Nb」である。種類「Kb」に対応したRADIUS認証用のパラメータの形式は、ユーザIDが[name]であり、パスワードが[pass]である。認証成功情報「Nb」は、認証スイッチ6b及び認証サーバ7でのRADIUS認証を成功させる情報である。認証成功情報「Nb」において、RADIUS認証用のパラメータ値は、[name]=“success_user”、[pass]=“success_pass”である。
実施の形態3では、ネットワーク40に接続される複数の認証スイッチ6として、異なる種類の装置を含む。実施の形態3では、認証スイッチ6aは、種類「Ka」の装置であり、認証スイッチ6bは、種類「Kb」の装置である。認証スイッチ6aと認証スイッチ6bは、認証方式としてRADIUS認証を行う点は共通であるが、RADIUS認証のパラメータの形式が異なる。認証スイッチ6aは、第1行に示す形式のパラメータ値を受信した場合には受け付けてRADIUS認証を行うが、この形式ではない場合には受け付けない。同様に、認証スイッチ6bは、第2行に示す形式のパラメータ値を受信した場合には受け付けてRADIUS認証を行うが、この形式ではない場合には受け付けない。
[通信処理シーケンス]
図9は、図6の実施の形態3の認証システムにおける、SSOを含む通信処理シーケンスを示す。概要として、通信手順801は、S41〜S46に対応し、SSO前情報75の保存を含む、SSO認証前の通信手順を示す。通信手順802は、S47〜S57に対応し、SSO認証の主な通信手順を示す。通信手順803は、S58〜S64に対応し、SSO前情報75の取得を含む、SSO認証後の通信手順を示す。以下、図9のステップS41〜S64について、例を用いて説明する。
(S41,S42) S41で、ユーザ9aは、ネットワーク40へログインしてサービスを利用する際、ユーザ端末1aからネットワーク40へアクセスする操作を行う。操作に従い、S42で、ユーザ端末1aは、所定のURLを宛先として例えば認証スイッチ6aへアクセスする。
(S43,S44) S43で、認証スイッチ6aは、S42のユーザ端末1aからのアクセスを受ける。認証スイッチ6aは、RADIUS認証を行う前に、SSO認証のために、S43で、ユーザ端末1aをSPサーバ2へリダイレクトさせる。その際、認証スイッチ6aは、SPサーバ2の「URL2」を含むリダイレクト指示を、ユーザ端末1aへ送信する。ユーザ端末1aは、S43の指示に従い、S44で、「URL2」を宛先としてSPサーバ2へアクセスする。
また、S43でリダイレクトさせる際、認証スイッチ6aは、SPサーバ2へのHTTP要求のGETメソッドのパラメータ値に、自身のIPアドレス「IPa」及び種類「Ka」を含む情報を書き込む。ユーザ端末1aは、S44で、当該HTTP要求をSPサーバ2へ送信する。この情報は、SSO前情報75の保存のための情報であり、SSO前にユーザ端末1がアクセスしていた認証スイッチ6が、IPアドレス「IPa」及び種類「Ka」を持つ認証スイッチ6aであることを示す情報である。このHTTP要求は、IPアドレス「IPa」及び種類「Ka」を持つ認証スイッチ6aを通じたHTTP要求を示す。なお、HTTP要求のパラメータ値として、例えば、[switch_IPaddress]=IPa、[kind]=Ka、である。
(S45,S46) S45で、SPサーバ2のSPサービス71は、S44のユーザ端末1aからのHTTP要求によるSSOのアクセスを受ける。SPサービス71は、ユーザ端末1aとの通信セッション情報として、S44のHTTP要求に含まれるパラメータ値を取得する。SPサービス71は、SSO認証の開始にあたり、SSO認証前の通信セッション情報におけるHTTP要求のパラメータ値を、SSO前情報75として保存する。本例では、保存対象のSSO前情報は、当該HTTP要求のパラメータ値における、認証スイッチ6aのIPアドレス「IPa」及びその種類「Ka」を含む情報である。SPサービス71は、保存の要求、及び保存対象のSSO前情報を、情報保持サービス73へ送信する。
S46で、情報保持サービス73は、SPサービス71からの保存の要求、及び保存対象のSSO前情報を受け取り、そのSSO前情報を情報保持部74にSSO前情報75として保存し、以後、保持する。情報保持サービス73は、保存した旨の応答をSPサービス71へ送信する。
(S47,S48) SPサーバ2のSPサービス71は、S46のSSO前情報75の保存後、S47で、SSO認証の主な通信手順を開始する。SPサービス71は、SSO認証のために、ユーザ端末1aをIdPサーバ3へリダイレクトさせる。その際、SPサービス71は、IdPサーバ3の「URL3」を含むリダイレクト指示を、ユーザ端末1aへ送信する。ユーザ端末1aは、S47の指示に従い、S48で、「URL3」を宛先としてIdPサーバ3へアクセスする。
(S50〜S53) S50で、IdPサーバ3のIdPサービス81は、S48のユーザ端末1aからのSSOのアクセスを受ける。IdPサービス81は、ユーザ端末1aがSSO認証前の状態であるため、SSO認証用のSSO認証ページをユーザ端末1aへ送信する。S51で、ユーザ端末1aは、SSO認証ページを受信し、SSO認証ページによるSSO認証画面を表示する。SSO認証画面は、SSO認証用の認証情報の入力をユーザに促すメッセージ等の情報を含む。認証情報は、ユーザのアカウントであるユーザID及びパスワードである。S52で、ユーザ9aは、SSO認証画面で、認証情報として自分のアカウントA1を入力する。S53で、ユーザ端末1aは、入力されたアカウントA1、及びSSO認証要求を、IdPサーバ3へ送信する。
(S54,S55) S54で、IdPサーバ3のIdPサービス81は、S53のユーザ端末1aからのSSO認証要求、及び認証情報であるアカウントA1を受信する。S55で、IdPサービス81は、SSO認証のため、アカウント管理サーバ8へアクセスし、そのDB51の認証情報を参照する。IdPサービス81は、ユーザにより入力されたアカウントと、DB51に登録されているアカウントとが一致する場合、SSO認証の結果を成功とし、不一致である場合、失敗とする。本例では、入力されたアカウントA1とDB51に登録されているアカウントA1とが一致するので、SSO認証の結果が成功となる。この時点で、ユーザ9aのユーザ端末1aは、SSO認証済み状態となる。
(S56,S57) IdPサービス81は、S55のSSO認証の結果が成功である場合、S56で、SSO認証の成功及びSSO認証済み状態を表す認証結果情報を、ユーザ端末1aへ提供し、ユーザ端末1aをSPサーバ2へリダイレクトさせる。その際、IdPサーバ3は、SPサーバ2の「URL2」を含むリダイレクト指示、及び認証結果情報を、ユーザ端末1aへ送信する。ユーザ端末1aは、S56の指示に従い、S57で、「URL2」を宛先としてSPサーバ2へアクセスし、認証結果情報を送信する。
(S58,S59) S58で、SPサーバ2のSPサービス71は、IdPサーバ3からのリダイレクトによる、S57のユーザ端末1aからのSSOのアクセスを受ける。SPサービス71は、受信した認証結果情報から、ユーザ端末1aのSSO認証の成功及びSSO認証済み状態を認識する。SPサービス71は、ユーザ端末1aのSSO認証の成功後、SSO前情報75の取得を情報保持サービス73に要求する。
S59で、情報保持サービス73は、SPサービス71からの取得の要求に対し、情報保持部74を参照し、要求されているSSO前情報75を読み出し、SSO前情報75及び応答を、SPサービス71へ送信する。情報保持サービス73は、日時や認証スイッチIPアドレスをキーに、SSO前情報75を検索する。本例では、SSO前情報75として、図8の(a)の第1行のような情報{IPa,Ka}が取得される。
(S60) SPサーバ2のSPサービス71は、S59のSSO前情報75を取得し、そのSSO前情報75の内容から、SSO認証前にユーザ端末1がアクセスしていた認証スイッチ6のIPアドレス及びその種類を認識する。SPサービス71は、その認証スイッチ6及び種類に応じて、異なる認証成功情報77を使い分けて、ユーザ端末1へ提供する。SPサービス71は、SSO前情報75の認証スイッチIPアドレス及び種類に応じた認証成功情報77を管理情報72から読み出す。
本例では、SPサービス71は、SSO認証前にユーザ端末1aがアクセスしていた「IPa」を持つ認証スイッチ6a及びその種類「Ka」を認識する。SPサービス71は、図8の(b)の管理情報72の第1行から、認証スイッチ6aのIPアドレス「IPa」及び種類「Ka」に応じた認証成功情報「Na」を読み出す。
SPサービス71は、認証スイッチIPアドレス「IPa」及び認証成功情報「Na」を含む指示を、ユーザ端末1aへ送信する。この指示は、ユーザ端末1aから「IPa」」を持つ認証スイッチ6aへ認証成功情報「Na」と共にアクセスさせる指示である。
(S61〜S64) S61で、ユーザ端末1aは、S60の認証成功情報77を含む指示を受信する。ユーザ端末1aは、指示に従い、自動的に、IPアドレス「IPa」を宛先として認証スイッチ6aへアクセスすると共に、認証成功情報「Na」を認証スイッチ6aに渡す。この際、ユーザ9aは、RADIUS認証用の認証情報を入力する操作が不要である。
S62で、認証スイッチ6aは、ユーザ端末1aからの認証成功情報「Na」を受け取ると、認証サーバ7との通信に基づいて、図10のように、RADIUS認証を行う。認証サーバ7は、認証スイッチ6aからの認証成功情報「Na」を受け取ると、RADIUS認証の結果を成功とし、成功を表す応答を認証スイッチ6aへ送信する。認証スイッチ6aは、応答から、RADIUS認証の成功を認識し、ユーザ端末1aがネットワーク40へ接続することを許可する。S63で、認証スイッチ6aは、接続を許可する旨の情報をユーザ端末1aへ送信する。これにより、S64で、ユーザ端末1aは、ネットワーク40へのログインが許可された状態となる。この状態で、ユーザ端末1aは、認証スイッチ6aを通じて、ネットワーク40上のサービス、例えば図示しないWebサーバ等へアクセスし、利用可能である。
[RADIUS認証の通信手順]
図10は、図9のS62に対応した、認証スイッチ6aと認証サーバ7との間におけるRADIUS認証の通信手順を示す。S62は、S62−1〜S62−3を含む。S61で、認証スイッチ6aは、ユーザ端末1からの認証成功情報「Na」におけるRADIUS認証用のパラメータ値として、図8の(b)の第1行に示す、[id]=“success_user”、[pw]=“success_pass”を受信している。
S62−1で、認証スイッチ6aは、認証成功情報「Na」のRADIUS認証用のパラメータ値を含む、認証要求を、認証サーバ7へ送信する。この際、認証スイッチ6aは、認証成功情報「Na」のRADIUS認証用のパラメータ値を、認証サーバ7で受け付ける形式へ変換してから、認証サーバ7へ送信する。本例では、S62−1で送信されるRADIUS認証用のパラメータ値は、[user]=“success_user”、[password]=“success_pass”である。
S62−2で、認証サーバ7は、認証スイッチ6aから受信した認証要求、及びRADIUS認証用のパラメータ値に従い、DB52を参照してRADIUS認証を行う。認証サーバ7は、受信したRADIUS認証用のパラメータ値が、認証成功情報77による特定のパラメータ値である場合、RADIUS認証の結果を成功とする。認証サーバ7は、受信したRADIUS認証用のパラメータ値が、認証成功情報77による特定のパラメータ値ではない場合、そのパラメータ値により、DB52を参照して、RADIUS認証を行う。
S62−3で、認証サーバ7は、RADIUS認証の結果である成功または失敗を表す認証応答を、認証スイッチ6aへ送信する。
なお、認証スイッチ6aは、RADIUS認証が成功の場合、ユーザ端末1aの接続を許可するため、ユーザ端末1aのMACアドレスを接続許可MACアドレスとしてリスト64に登録する。認証スイッチ6aは、ユーザ端末1からのアクセスを受けた場合、そのユーザ端末1からのフレームの送信元MACアドレス、及びリスト64を確認する。認証スイッチ6aは、リスト64に、その送信元MACアドレスが接続許可MACアドレスとして登録されている場合、そのユーザ端末1による接続を許可し、登録されていない場合、接続を不許可とし、フレームを破棄する。
[効果等]
以上のように、実施の形態3の認証システムによれば、SSO後、SSO前情報に応じたサービスをユーザ端末1へ提供することができる。実施の形態3では、SSO認証の成功により、RADIUS認証の手続きが簡略化される。SPサービス71は、SSO認証の成功後、SSO認証前にユーザ端末1がアクセスしていた認証スイッチ6及びその種類に応じた認証成功情報77を提供する。認証成功情報77により、認証スイッチ6及び認証サーバ7でのRADIUS認証が成功になる。ユーザは、RADIUS認証の際、認証情報を入力する手間が無く、すぐにネットワーク40へログインしてサービスを利用できる。
実施の形態3の変形例として、以下が挙げられる。SSO認証及びRADIUS認証は、ユーザID及びパスワードの組合せによる認証に限らず、他の方式の認証も適用可能である。また、認証スイッチ6と認証サーバ7との間の認証は、RADIUS認証に限らず、他の方式の認証も適用可能である。
また、アカウント管理サーバ8が無い構成でもよい。その場合、IdPサーバ3は、SSO認証DBを保持する。IdPサーバ3は、そのSSO認証DBを参照してSSO認証を行う。また、認証サーバ7のRADIUS認証用のDB52は、認証サーバ7内ではなく、ネットワーク40に接続される所定の装置内に存在してもよい。
認証スイッチ6及び認証サーバ7は、RADIUS認証として、所定のアプリケーションのサービスへのログインのための認証を行ってもよい。所定のアプリケーションは、例えば社員が共通で使用するアプリケーションである。SPサーバ2は、サービスとして、そのアプリケーションへのログインのための認証を成功させる認証成功情報を提供する。これにより、ユーザ端末1は、SSO認証後、アプリケーションのサービスへすぐにログインできる。
また、変形例として、認証サーバ7とSPサーバ2は、1台のサーバ装置で実現されてもよい。言い換えると、SPサーバ2に認証サーバ7の機能を統合した構成としてもよい。1台に統合されたSPサーバは、SPサービス、情報保持サービス、及びRADIUS認証サーバとしてのサービス等を提供する。特に、SPサービスは、実施の形態3のサービスに加え、更に、RADIUS認証サーバとしての認証を行う認証サービスを提供する。
この変形例の認証システムは、以下のような構成を有する。SPサーバは、サービスとして、認証スイッチとの通信に基づいてユーザ端末がネットワークへ接続する際の認証を行う認証サービスを有する。SPサーバは、SSO前情報の内容に応じたサービスとして、認証スイッチ及び認証サービスでの認証を成功させる認証成功情報を、ユーザ端末へ提供し、ユーザ端末を認証成功情報と共に認証スイッチへアクセスさせる。認証サービスは、認証スイッチから、認証要求、及び認証成功情報を受信した場合、認証を成功とし、当該認証の成功を表す認証応答を認証スイッチへ送信する。
認証スイッチは、ユーザ端末からアクセスを受けた場合、ユーザ端末をSPサーバへリダイレクトさせる。認証スイッチは、ユーザ端末から認証のためのアクセスを受けて、認証成功情報を受信した場合、認証要求、及び認証成功情報を、SPサーバの認証サービスへ送信する。認証スイッチは、認証サービスから認証の成功を表す認証応答を受信した場合、ユーザ端末がネットワークへ接続することを許可する。
[第1の変形例]
図11及び図12を用いて、実施の形態3の第1の変形例の認証システムについて説明する。以下、第1の変形例の構成について、実施の形態3の構成とは異なる部分について説明する。
図11は、第1の変形例の認証システムにおける、ユーザ端末1a、認証スイッチ6a、及びSPサーバ2間における、SSO前情報の保存、取得、及びサービス提供等の通信処理の例を示す。第1の変形例では、情報保持サービス73は、SPサーバ2や他のサーバ内ではなく、ユーザ端末1内に、SSO前情報を保存する。情報保持サービス73は、保存対象のSSO前情報を、Cookieファイル15に出力し、Cookieファイル15をユーザ端末1内に退避させる形で保持させる。Cookieファイル15は、ユーザ端末1とSPサーバ2の通信セッションで使用される情報である。
第1の変形例における、SSO前情報の保存を含む、SSO認証の前の通信手順の例は以下である。ユーザ9aは、ネットワーク40へログインしてサービスを利用する際、ユーザ端末1aから認証スイッチ6aへアクセスする。認証スイッチ6aは、RADIUS認証を行う前に、SSO認証のために、ユーザ端末1aをSPサーバ2へリダイレクトさせる。その際、認証スイッチ6aは、SPサーバ2へのHTTP要求のGETメソッドのパラメータ値に、自身のIPアドレス「IPa」及び種類「Ka」を含む情報を書き込む。
SPサーバ2のSPサービス71は、ユーザ端末1aからのHTTP要求によるSSOのアクセスを受ける。SPサービス71は、HTTP要求に含まれるパラメータ値を取得する。SPサービス71は、SSO認証の前に、当該HTTP要求のパラメータ値を、SSO前情報として保存する。SPサービス71は、保存の要求、及び保存対象のSSO前情報を、情報保持サービス73へ送信する。
情報保持サービス73は、SPサービス71からの保存の要求、及び保存対象のSSO前情報を受け取り、そのSSO前情報を、ユーザ端末1aとのCookieファイル15に出力する。情報保持サービス73は、Cookieファイル15のうち、特定のパラメータ値に、SSO前情報を書き込む。
特定のパラメータは、例えば認証スイッチ情報を表すパラメータである「switch_info」として設けられる。また、そのうち、例えば認証スイッチ6のIPアドレスのパラメータを[Switch_IPaddress]、認証スイッチ6の種類のパラメータを[Switch_Kind]、とする。情報保持サービス73は、例えば[Switch_IPaddress]=IPa、[Switch_Kind]=Ka、のように書き込む。
情報保持サービス73は、そのCookieファイル15をユーザ端末1aに送信し、ユーザ端末1a内の情報保持部14に保存させる。ユーザ端末1aは、そのCookieファイル15を情報保持部14に保存する。情報保持部14は、メモリ等の記憶手段により構成される。情報保持サービス73は、保存した旨の応答をSPサービス71へ送信する。
SSO前情報の取得を含む、SSO認証の後の通信手順の例は以下である。SPサービス71は、ユーザ端末1aのSSO認証の成功後、SSO前情報の取得を情報保持サービス73へ要求する。情報保持サービス73は、SPサービス71からの取得の要求に従い、ユーザ端末1aへアクセスし、情報保持部14に保持されているCookieファイル15を要求する。ユーザ端末1aは、要求されたCookieファイル15を情報保持サービス73へ送信する。情報保持サービス73は、受信したCookieファイル15から、特定のパラメータ値に書き込まれているSSO前情報を取得し、取得したSSO前情報及び応答をSPサービス71へ送信する。
SPサービス71は、取得したSSO前情報の内容に応じたサービスとして、認証成功情報77をユーザ端末1aへ提供する。SPサービス71は、管理情報72に、複数の各々の認証スイッチ6の種類に応じた認証成功情報77として、認証成功情報「Na」,「Nb」等を保持している。SPサービス71は、取得したSSO前情報から、SSO前にユーザ端末1aがアクセスしていた認証スイッチ6a及びその種類「Ka」を認識する。SPサービス71は、サービスとして、認証スイッチ6a及び認証サーバ7でのRADIUS認証を成功させる認証成功情報「Na」を提供する。SPサービス71は、管理情報72から、認証スイッチ6aの種類「Ka」に応じた認証成功情報「Na」を読み出す。
SPサービス71は、ユーザ端末1aに認証成功情報「Na」を提供する際、認証成功情報「Na」を含むRADIUS認証ページ16を提供する。このRADIUS認証ページ16は、Cookieファイル15のSSO前情報に応じてユーザ端末1aでの表示内容及び機能を動的に変化させるWebページにより構成される。
ユーザ端末1aは、SPサービス71から認証スイッチ6aを通じてRADIUS認証ページ16を受信し、受信したRADIUS認証ページ16によるRADIUS認証画面17を表示する。RADIUS認証画面17は、RADIUS認証用の認証情報であるアカウントの入力をユーザに促す情報が含まれている。本例では、RADIUS認証画面17は、アカウントの入力欄に、認証成功情報「Na」に基づいたRADIUS認証用のパラメータ値がセットされた状態で表示される。すなわち、ユーザIDの入力欄には、“success_user”のような特定の値が入力済みであり、パスワードの入力欄には、“success_pass”のような特定の値が入力済みである。ユーザ9aは、そのRADIUS認証画面17を見て、実行を示すOKボタンを押す。これにより、ユーザ端末1aから認証スイッチ6aへ、認証成功情報「Na」として、RADIUS認証用のパラメータ値が渡される。
図12は、RADIUS認証の際の通信処理の例として、図11のRADIUS認証画面17に基づいて、ユーザ端末1から認証スイッチ6へアクセスし、認証スイッチ6から認証サーバ7へ認証要求を行う例を示す。
図12の(a)は、ユーザ9aのユーザ端末1aが認証スイッチ6aへアクセスする例である。ユーザ9aは、図11のRADIUS認証画面17と同じであるRADIUS認証画面17aで、OKボタンを押す。ユーザ端末1aは、認証成功情報「Na」として、RADIUS認証用のパラメータ値を、認証スイッチ6aへ送信する。このパラメータ値は、[id]=“success_user”、[pw]=“success_pass”である。
認証スイッチ6aは、受信したRADIUS認証用のパラメータ値が、正しい形式のパラメータ値である場合には受け取る。正しい形式は、図8の(b)の「RADIUS認証パラメータ形式」の通りである。認証スイッチ6aは、受け取ったRADIUS認証用のパラメータ値を、認証サーバ7で受け付ける所定の形式に変換する。所定の形式として、ユーザIDが[user]、パスワードが[password]である。すなわち、変換後のパラメータ値は、[user]=“success_user”、[password]=“success_pass”である。認証スイッチ6aは、認証要求、及びそのRADIUS認証用のパラメータ値を、認証サーバ7へ送信する。
認証サーバ7は、受信した認証情報が所定の形式のRADIUS認証用のパラメータ値である場合には受け取る。認証サーバ7は、受け取ったパラメータ値が、特に、認証成功情報77による特定のパラメータ値である場合、RADIUS認証の結果を成功にする。
図12の(b)は、ユーザ9bのユーザ端末1bが認証スイッチ6bへアクセスする例である。ユーザ9bは、認証成功情報「Nb」に基づいたRADIUS認証画面17bでOKボタンを押す。ユーザ端末1bは、認証成功情報「Nb」によるRADIUS認証用のパラメータ値を、認証スイッチ6bへ送信する。このパラメータ値は、種類「Kb」に対応した、[name]=“success_user”、[pass]=“success_pass”を含む。認証スイッチ6bは、受け取ったRADIUS認証用のパラメータ値を、認証サーバ7で受け付ける所定の形式に変換し、認証要求、及びそのRADIUS認証用のパラメータ値を、認証サーバ7へ送信する。変換後のパラメータ値は、[user]=“success_user”、[password]=“success_pass”である。認証サーバ7は、受け取ったRADIUS認証用のパラメータ値が、特に、認証成功情報77による特定のパラメータ値である場合、RADIUS認証の結果を成功にする。
上記のように、第1の変形例では、SPサービスとして、ユーザ端末1がアクセスした認証スイッチ6の種類に応じたRADIUS認証画面を提供し、ユーザによるRADIUS認証用の認証情報の入力を省略させることができる。
[第2の変形例]
実施の形態3の第2の変形例の認証システムについて説明する。第2の変形例では、実施の形態3の図9の通信処理シーケンスにおいて、通信手順801及び通信手順803を、実施の形態2の図5の通信手順501及び通信手順503と同様の通信手順とする。また、第2の変形例では、実施の形態2の図4と同様に、SPサーバ2と情報保持サーバ4とで分離されている。ユーザ端末1は、先に情報保持サーバ4の情報保持サービスへアクセスし、次にSPサーバ2のSPサービスへアクセスする。情報保持サービスは、SSO前情報を保存した後、ユーザ端末1をSPサービスへリダイレクトさせる。その他は、実施の形態3の構成と同様である。
第2の変形例における通信手順の例は以下である。ユーザ9aは、ユーザ端末1aから認証スイッチ6aへアクセスする。認証スイッチ6aは、ユーザ端末1aがSSO認証前の場合、SSO認証のため、情報保持サーバ4へアクセスする。また、その際、認証スイッチ6aは、HTTP要求のパラメータ値に、ユーザ端末1aがアクセスした認証スイッチ6aのIPアドレス「IPa」及びその種類「Ka」を含む情報を書き込む。情報保持サーバ4は、認証スイッチ6aからのアクセスを受けると、HTTP要求のパラメータ値を保存対象のSSO前情報として情報保持部に保存する。情報保持サーバ4は、SSO前情報の保存後、ユーザ端末1aをSPサービス21へリダイレクトさせる。
SPサーバ2は、ユーザ端末1aからのアクセスを受けると、SSO認証の通信手順を開始する。以降、図9のS47〜S55と同様の通信手順が行われる。IdPサーバ3は、SSO認証の成功の場合、認証結果情報を提供し、ユーザ端末1aを情報保持サーバ4へリダイレクトさせる。情報保持サーバ4は、ユーザ端末1aからのアクセスを受けると、情報保持部を参照してSSO前情報を読み出し、SSO前情報をユーザ端末1aへ提供し、ユーザ端末1aをSPサーバ2へリダイレクトさせる。SPサーバ2は、ユーザ端末1aからのアクセスを受け、認証結果情報及びSSO前情報を受信する。SPサーバ2は、ユーザ端末1aのSSO認証の成功後、SSO前情報に応じたサービスとして、認証スイッチ6aでのRADIUS認証を成功させる認証成功情報「Na」をユーザ端末1aへ提供する。
[第3の変形例]
実施の形態3の第3の変形例の認証システムについて説明する。第3の変形例では、SPサーバ2は、認証成功情報77として、ワンタイムパスワードを提供する。ワンタイムパスワードとは、1回限りで有効な認証情報である。このワンタイムパスワードは、認証スイッチ6及び認証サーバ7でのRADIUS認証の方式に対応したワンタイムパスワードである。認証スイッチ6及び認証サーバ7は、ワンタイムパスワードを用いたRADIUS認証を行う。
SPサーバ2は、ユーザ端末1のSSO認証の成功後、サービスとして、認証スイッチ6及び認証サーバ7でのRADIUS認証を成功させるワンタイムパスワードをユーザ端末1へ提供する。ユーザ端末1は、認証スイッチ6へアクセスし、そのワンタイムパスワードを認証スイッチ6へ渡す。認証スイッチ6は、ユーザ端末1から受け取ったワンタイムパスワード及び認証要求を認証サーバ7へ送信する。認証サーバ7は、認証スイッチ6から受信したワンタイムパスワードを用いてRADIUS認証を行い、そのRADIUS認証の結果が成功になる。
第3の変形例は、RADIUS認証用の認証情報としてワンタイムパスワードとすることにより、セキュリティをより高めることができる。
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。